Applikation zum seriellen Com-Server:
S7 meets Com-Server
Neben der administrativen Kommunikation (Programmdownload, Monitoring, etc.) mit der Steuerung, besteht häufig auch die Notwendigkeit aus dem laufenden Steuerungsprogramm heraus Informationen an ein serielles Gerät zu senden (z.B. Großdisplay) oder auch von dort zu empfangen (z.B. Waage). Sind diese Geräte über einen Com-Server in das Netzwerk integriert stellt sich die Frage:
Wie kann ich aus meinem S7-Prozeß über TCP/IP- oder auch UDP/IP-Ethernet kommunizieren?
Das nachfolgende, von Wellbrock Systemtechnik GmbH erstellte Beispiel, erläutert die Schritte innerhalb der S7-Projektierung, die notwendig sind um einen solchen Kommunikationskanal zu einem Com-Server aufzubauen und Daten auszutauschen.
Die (wenigen) Einstellungen des Com-Servers
Sollte der Com-Server nicht bereits mit einer IP-Adresse und u.U. auch mit Subnetmask und Gateway in das Netzwerk integriert sein, muß dieses zunächst erfolgen. Die Konfiguration dieser Basisparameter kann der jedem Gerät beiliegenden Kurzanleitung entnommen werden.
Erfolgt die Verbindung über TCP/IP, müssen jetzt noch über den Telnetkonfigurationsport des Com-Servers (telnet [IP-Adresse] 1111) die seriellen Parameter Baudrate, Anzahl der Datenbits, Parität und Flußkontrolle konform zum angeschlossenen Gerät eingestellt werden. Details hierzu finden Sie im Referenzhandbuch.
Wird mit verbindungslosen UDP-Datagrammen gearbeitet werden, benötigt der Com-Server noch die IP-Adresse und UDP-Portnummer der Simatic-CP, an welche er vom seriellen Gerät empfangene Daten senden soll. Mit Hilfe der Telnetkonfiguration werden diese Parameter in folgendem Menüzweig eingestellt:
Setup Port 0 -> TCP/IP Mode -> UDP Client -> Server Port
Setup Port 0 -> TCP/IP Mode -> UDP Client -> Server IP
Die S7 Konfiguration
1.) Öffnen Sie ein vorhandenes oder neues S7-Projekt. Im Hardwaremanager fügen Sie den entsprechenden CP (bei einer S7-400 z.B. CP443-1) ein. WICHTIG: Die Bestellnummer muß exakt übereinstimmen!
2.) Für den CP eine passende IP-Adresse und Subnet-Mask vergeben
(hier: 192.168.0.220 und 255.255.255.0) und mit einem vorhandenen Netz
(hier Ethernet(1)) verbinden oder über die Taste "Neu..."
neues Netzwerk benennen (nur den Namen vergeben, die S7-Subnet-ID sollte
nicht verändert werden).
3.) Nachdem die Hardwarekonfiguration gespeichert und zur SPS übertragen wurde, kann im Simatic-Manager über einen Doppelklick auf das soeben verbundene Netzwerk (hier: Ethernet(1)) das Konfigurationstool "NetPro" gestartet werden.
4.) Der Com-Server kann jetzt als "Andere Station" der Netzwerkkonfiguration hinzugefügt werden.
5.) Die "Andere Station" wird nun mit der rechten Maustaste angeklickt um die Objekteigenschaften einzustellen.
6.) Unter der Karteikarte "Allgemein" kann nun ein eindeutiger Name für die Station vergeben werden (z.B. "WuT_Com").
7.) Auf der Karteikarte "Schnittstellen" wird über die Taste "Neu..." eine neue Schnittstelle ("Ind. Ethernet") eingefügt.
8.) Nun muß die MAC-Adresse exakt wie auf dem Com-Server aufgedruckt eingetragen werden. Die IP-Adresse und Subnet-Mask muß ebenfalls genau mit der Com-Server Konfiguration übereinstimmen. Als letztes wird dasselbe Subnetz wie das des CPs ausgewählt und die Auswahl mit "OK" bestätigt.
9.) Im Übersichtsbild von NetPro die CPU des SPS-Racks anklicken (hier: CPU 412-1) und in der nun sichtbaren Verbindungsliste unten links am Bildschirm auf eine leere Zeile doppelklicken.
10.) Für die neue Verbindung nun den Verbindungspartner auswählen (hier: WuT_Com) und den gewünschten Verbindungstyp (UDP oder TCP) auswählen. Anmerkung: Dies ist in der SPS die einzige Stelle, an der für UDP und TCP andere Einstellungen gestroffen werden müssen. Das gesamte Handling für UPD und TCP wird dann vom CP übernommen; die Auswertung kann über das Status-Wort des FC5 erfolgen.
11.) Nach dem Klicken auf "OK" erscheint ein neues Fenster, in dem die Parameter der soeben erstellten Verbindung angezeigt werden. Auf der Karte "Allgemein" sind auf der rechten Seite die für das spätere SPS-Programm wichtigen Daten für die Anparametrierung des FC5 abzulesen (hier: ID=1; LADDR=0FFE).
12.) Auf der Karte "Adressen" können die IP-Adressen verglichen werden und ggf. die Port-Nummern an die im Com-Server eingestellten Werte angepasst werden.
13.) Nach dem Abspeichern der Konfiguration und dem Laden in die SPS ist die Projektierung der Ethernet-Verbindung abgeschlossen.
14.) Für die Erstellung des SPS-Programms muß für
den Datenversand an den Com-Server zunächst die Standard-Funktion
"FC5" aus der "Simatic_Net_CP"-Bibliothek in das Projekt
kopiert werden. Dies geschieht im "Simatic-Manager" über
"Datei / Öffnen.. / Bibliotheken". Analog hierzu muß
für den Datenempfang vom Com-Server die Standard-Funktion "FC6"
verwendet werden.
15.) Per Drag&Drop kann nun der passende FC5 (je nach CPU-Typ CP300 oder CP400) ins eigene Projekt kopiert werden.
16.) Für die zu sendenden Daten wird außerdem ein Datenbaustein benötigt (z.B. DB5).
17.) Die Länge des Datenbausteins sowie das Datenformat sind von der jeweiligen Anwendung abhängig. Wichtig für das Beispielprojekt ist nur, dass der Baustein lang genug ist.
18.) In einem geeigneten Programmbaustein (hier: OB1) muß nun noch der FC5 aufgerufen werden. Wichtig ist dabei vor allem, dass die Parameter für ID und LADDR exakt wie in NetPro (s.o.) abzulesen eingegeben werde. Das Beispiel zeigt eine Anwendung für zyklisches Senden. Soll ereignisgesteuert gesendet werden, so sind statt der beiden Zeilen für "ständiges Schreiben" die beiden letzten Programmzeilen zu aktivieren.
Nach dem Übertragen aller Bausteine und Konfigurationen in die SPS ist die Kommunikation einsatzbereit. Das obige Beispiel sendet dann zyklisch die ersten 10 Byte aus DB5 an den Com-Server.