7.1.9 Prozessdaten erstellen und Register definieren................20 7.1.10 Variablen erzeugen und Prozessdaten zuordnen ................23 7.1.11 Diagnose- und Kontrollvariablen erzeugen und Prozessdaten zuordnen.......... 23 7.1.12 Zyklischen Task für die Aktualisierungszeit der Modbus-Register definieren........25 2 / 32 8294_de_03 PHOENIX CONTACT...
Seite 3
................. 29 Allgemeine Beispiele ............................ 29 Konkrete Fallbeispiele zu den allgemeinen Beispielen im Kapitel 9.1 ............30 9.2.1 Beispiel 1: Lesender Zugriff des Modbus/TCP-Clients ..................30 9.2.2 Beispiel 2: Schreibender Zugriff des Modbus/TCP-Clients................. 31 3 / 32 8294_de_03 PHOENIX CONTACT...
Anwenderhandbuch „Installation und Betrieb der Inline-Controller UM DE ILC 1X1 – – ILC 131 ETH, ILC 151 ETH, ILC 171 ETH 2TX, ILC 191 ETH 2TX, ILC 131 ETH/XC und ILC 151 ETH/XC“ Anwenderhandbuch „Installation und Betrieb der Inline-Controller UM DE ILC 191 ME/X –...
Server in einem Ethernet-Netzwerk. TCP-Client und Modbus/TCP-Server erfolgt nach Be- darf. Hierfür steht in PC Worx der Funktionsbaustein In den Steuerungen von Phoenix Contact (s. „Bestelldaten“ „MB_ASYNC_RW“ (siehe hierzu Kapitel 5.2) zur Verfü- auf Seite 4) ist hierzu die Modbus/TCP-Client-Funktion inte- gung, der auf der Client-Seite verwendet wird.
Variablen erzeugen und Prozessdaten zuordnen Diagnose- und Kontroll- variablen erzeugen und Prozessdaten zuordnen Projekt kompilieren ONLINE Modbus/TCP-Server konfigurieren Projekt senden und Kaltstart durchführen Betrieb (Ende) 8294 001 Bild 1 Ablauf zum Erstellen des Modbus-Projekts 6 / 32 8294_de_03 PHOENIX CONTACT...
• Geben Sie Ihrem Projekt einen eindeutigen und aussa- Sie ihn über das Menü „Ansicht, Gerätekatalog“ ein. gekräftigen Namen und speichern Sie es. • Öffnen Sie den Gerätekatalog „Phoenix Contact, Gene- ric, Device“. 5.1.2 Projektinformationen angeben • Wählen Sie das „Generic Modbus Device“ aus.
• Wählen Sie im Fenster „Gerätedetails“ die Registerkar- Aufdruck am jeweiligen Gerät. Sie beginnt bei Geräten von te „Modbus-Einstellungen“. Phoenix Contact mit „00.a0.45.“. • Ändern Sie entsprechend Ihrer Anforderungen die Die Eingabe der MAC-Adresse ist optional und nicht zwin- Modbus-Einstellungen.
Funktionscode angewendet werden soll. Den Speicherbereich des Prozessdatums finden Sie in der Dokumentation des Gerätes, das als Modbus/TCP- Server verwendet wird. Im Beispiel soll ein 16-Bit-Wort aus einem internen Re- 9 / 32 8294_de_03 PHOENIX CONTACT...
Bei der Verknüpfung einer Prozessvariable des gestellt. Datentyps Array [] of (D)WORD kann es zu einer gedrehten Byte-Reihenfolge kommen. Weitere Informationen hierzu finden Sie im Kapitel 9. Bild 6 Alle verwendeten Prozessdaten den Variablen zugeordnet 10 / 32 8294_de_03 PHOENIX CONTACT...
Die Diagnose- und Kontrollstruktur ist im Arbeits- schreibenden Zugriffen bereich IEC-Programmierung im Projektbaum- InternalError1 Wird intern von Fenster unter „Datentypen, sys_flag_types“ de- Phoenix Contact verwendet klariert. InternalError2 Wird intern von Für jedes „Generic Modbus Device“ stellt PC Worx eine Di- Phoenix Contact verwendet agnose- und Kontrollstruktur zur Verfügung, mit der sich...
Betätigen Sie den Schalter „Senden“ im linken Bereich. ILB ETH 24 DI16 DIO16-2TX) alle erforderlichen Konfi- gurationen (zum Beispiel Einstellen von IP-Adresse und Prozessdaten-Watchdog) vor. Die Informationen zur Konfiguration und Inbetriebnahme des Geräts finden Sie in der zugehörigen Dokumentation. 12 / 32 8294_de_03 PHOENIX CONTACT...
Bestätigen Sie Ihre Einstellungen per Mausklick auf die Schaltfläche „OK“. • Öffnen Sie im Variablenarbeitsblatt per Rechtsklick das Kontextmenü des Funktionsbausteins. • Wählen Sie den Eintrag „Update FB/FU“. Nach dem Update wird der alte Baustein (Eingang „Ser- verID“ angezeigt). 13 / 32 8294_de_03 PHOENIX CONTACT...
Startadresse des Speichers, ab der Daten ausgelesen werden sollen. WriteStartAddr WORD Startadresse, ab der Daten auf den Speicher geschrieben werden sollen. MaxReadCount Anzahl der zu lesenden Bits oder Register. WriteCount Anzahl der zu schreibenden Bits oder Register. 14 / 32 8294_de_03 PHOENIX CONTACT...
WriteBuffer ist zu klein. Verringern Sie die Anzahl der Elemente für WriteCount oder vergrö- ßern Sie den WriteBuffer. 0x010A 0000 ReadBuffer ist zu groß. Zum Definieren der Größe des Zwischenspeichers siehe Kapi- tel 5.5 „Größe des ReadBuffers / WriteBuffers festlegen“ . 15 / 32 8294_de_03 PHOENIX CONTACT...
Bild 10 Anlegen der Variable MB_DIAG.IP (1) • Setzen Sie einen Punkt hinter den ausgewählten Na- men und wählen Sie in der sich öffnenden Liste den Eintrag „IP“. Bild 12 Anlegen der Variable MB_DIAG.IP (3) 16 / 32 8294_de_03 PHOENIX CONTACT...
Anlegen einer Variable • Definieren Sie wie in Bild 14 dargestellt die gewünsch- ten Datentypen und deren Größe. • Bestätigen Sie Ihre Eingaben mit „OK“. Dem Eingangs-/Ausgangsparameter „ReadBuffer“ ist nun die Variable „Read_Buffer_1“ zugewiesen. 17 / 32 8294_de_03 PHOENIX CONTACT...
Über ein Gateway ist der Betrieb von unterlagerten Modbus/RTU-Teilnehmern möglich. Hierzu müssen in PC Worx alle Modbus/TCP- und Modbus/RTU-Teilnehmer sowie das Gateway im Fenster „Busaufbau“ dargestellt wer- den (siehe Bild 17). Bild 17 Busaufbau mit Modbus/TCP-Teilnehmern und unterlagerten Modbus/RTU-Teilnehmern 18 / 32 8294_de_03 PHOENIX CONTACT...
• Falls der Gerätekatalog nicht eingeblendet ist, blenden Sie ihn über das Menü „Ansicht, Gerätekatalog“ ein. konfigurieren • Öffnen Sie den Gerätekatalog „Phoenix Contact, Gene- ric, Server“. Ab der Firmware-Version 4.40 können Controller • Fügen Sie den Controller als generischen des Typs ILC 1X1 auch als Modbus/TCP-Server Modbus/TCP-Server ein, indem Sie „Modbus Server“...
Sie auf der Client- und auf der Server-Seite Register für die Registeradresse (Default-Wert: 1000) schreibenden und lesenden Zugriffe definieren. Hierfür Ein schreibender Zugriff des Modbus/TCP-Clients auf das müssen Sie entsprechende Prozessdaten erstellen. Bit 0 dieser Registeradresse setzt mit steigender Flanke 20 / 32 8294_de_03 PHOENIX CONTACT...
Seite 21
0000 ... ffff Laufzeit (eCLR) Read Discrete Inputs FC02 0000 ... ffff Read/Write Coils FC01/FC05/FC15 0000 ... ffff Bild 22 Datenrichtung bei interner und externer Kom- munikation des Modbus/TCP-Servers (ILC 1X1 ab FW 4.40) 21 / 32 8294_de_03 PHOENIX CONTACT...
Seite 22
Bild 26 Datentyp des definierten Registers für den ent-Seite entsprechen (WORD-Array WORD- Modbus-Client im Arbeitsbereich Prozessda- Array oder WORD WORD). tenzuordnung Ist dies nicht der Fall, kommt es zu einer gedreh- ten Byte-Reihenfolge. 22 / 32 8294_de_03 PHOENIX CONTACT...
Flags Mit einer steigenden Flanke lers an Bit 0 werden alle Parame- ConnectedClients Anzahl der aktuell verbunde- ter der Diagnosestrukturen nen Modbus-Clients zurückgesetzt. LastExceptionRegister Register, in dem die letzte Ausnahme (Exception) aufge- treten ist 23 / 32 8294_de_03 PHOENIX CONTACT...
Seite 24
Wechseln Sie in den Arbeitsbereich Prozessdatenzu- ordnung und nehmen Sie die Zuordnung von Prozess- daten zu den Kontroll- und Diagnosevariablen vor, wie im Kapitel 5.1.10 auf Seite 10 beschrieben. Das Ergebnis der Prozessdatenzuordnung ist in Bild 31 dar- gestellt. 24 / 32 8294_de_03 PHOENIX CONTACT...
• Legen Sie ein neues Projekt an und wählen Sie als Con- 191 ME/AN (Modbus Device)“ bei gedrückter linker troller den ILC 131 ETH aus, siehe hierzu Kapitel 5.1.1. Maustaste in das Fenster „Busaufbau“ rechts neben Projektinformationen angeben das Symbol MODBUS, bis das Symbol „Einfügen in un- tergeordneter Ebene“...
(hier: ILC 131 ETH) und Modbus/ Im Beispiel soll der Controller ILC 191 ME/AN als TCP-Server (hier: ILC 191 ME/AN) erforderlich. Modbus/TCP-Server in Bezug auf den ILC 131 ETH fungie- ren. • Stellen Sie sicher, dass Sie sich im Arbeitsbereich Bus- Daher müssen Sie den Controller als generischen Modbus/...
8.15 Prozessdaten erstellen und Modbus-Funkti- gleichzeitig als Modbus/TCP-Server (in Bezug onscode zuweisen auf den Controller ILC 131 ETH) und • Erstellen Sie für das spezifische Modbus-Device des Modbus/TCP-Client (in Bezug auf das Energie- Controllers ILC 191 ME/AN und für das „Generic Mod- messgerät EEM-MA400) betrieben werden (sie-...
WORD Beispiel 3 Prozessvariable des Datentyps WORD, Einstellung „Bytes vertauschen“ gleich „ja“. PxC Client/Server Modbus/TCP Frame Byte 0 Byte 1 Byte 1 Byte 0 WORD 0 WORD 0 Bild 41 Prozessvariable des Datentyps WORD 29 / 32 8294_de_03 PHOENIX CONTACT...
Die in den Fallbeispielen dargestellten Bytereihenfolgen bei der Verknüpfung von Daten eines Modbus/TCP-Tele- Bild 48 Verknüpfung der Prozessvariablen mit den gramms mit den möglichen Prozessvariablen und deren Modbus-Registern Datentypen in PC Worx gelten auch, wenn als 30 / 32 8294_de_03 PHOENIX CONTACT...
Modbus/TCP-Telegramm in der Software Wireshark (Software zur Analyse des Datenverkehrs im Netzwerk) Verknüpfte Prozessvariablen im Watch-Fenster in Bild 53 Verknüpfung der Prozessvariablen mit den PC Worx für die Einstellung „Bytes vertauschen“ gleich Modbus-Funktionscodes „nein“ 31 / 32 8294_de_03 PHOENIX CONTACT...
Seite 32
Telegramm geschrieben werden, dargestellt in der Feste Werte aus PC Worx, wie sie in das Modbus/TCP- Software Wireshark. Telegramm geschrieben werden, dargestellt in der Software Wireshark. PHOENIX CONTACT GmbH & Co. KG • Flachsmarktstraße 8 • 32825 Blomberg • Germany 32 / 32 8294_de_03 phoenixcontact.com...