Beschreibung ModbusEthernet_03-.lib
Transcription
Beschreibung ModbusEthernet_03-.lib
ML00100d.doc EthernetModbus_03.lib WAGO-I/O-PRO 32 Bibliothek ModbusEthernet_03.lib Überblick Die Library ModbusEthernet_03.lib stellt dem Anwender die beiden Funktionsbausteine ETHERNET_MODBUSMASTER_UDP und ETHERNET_MODBUSMASTER_TCP zur Verfügung. Mit diesen Bausteinen läßt sich ein Datenaustausch mit mehreren ModbusSlaves herstellen. Der Baustein ETHERNET_MODBUSMASTER_UDP sollte bevorzugt eingesetzt werden, da dieser einen schnelleren Datentransfer ermöglicht. Abhängigkeiten Die Bausteine sind Anwenbar für Ethernet-Controller 750-842 ab Firmwarestand 02.02.00(04). Diese Versionsangabe kann mit dem InternetExplorer via IP-Adresse des Controllers abgerufen werden. Verwendete Librarys: Nr. Bezeichnung 1 ethernet.lib Inhalt ETHERNET_MODBUSMASTER_UDP.................................................... 2 ETHERNET_MODBUSMASTER_TCP .................................................... 4 ETHERNET_MODBUSMASTER_RTU.................................................... 6 ETHERNET_CLIENT_OPEN_CLOSE...................................................... 8 IP_ADRESSE .............................................................................................. 9 WAGO-I/O-PRO 32 A-1 EthernetModbus_03.lib ML00100d.doc ETHERNET_MODBUSMASTER_UDP WAGO-I/O-PRO 32 Elemente der Bibliothek Kategorie: Name: Typ: Name der Bibliothek: Anwendbar für: Eingangsparameter: strIP_ADDRESS bUNIT_ID Datentyp: STRING BYTE bFUNCTION_CODE BYTE wREAD_ADDRESS WORD wREAD_QUANTITY ptREAD_DATA WORD POINTER TO BYTE WORD wWRITE_ADDRESS wWRITE_QUANTITY ptSEND_DATA A-2 ETHERNET_MODBUSMASTER_UDP Funktion Funktionsblock X Programm ModbusEthernet_03.lib Feldbus-Controller 750-842 ab Firmware: 02.02.00(04) xSTART xRESET tTIME_OUT WORD POINTER TO BYTE BOOL BOOL TIME Rückgabewert: Datentyp: Kommentar: IP-Adresse des ModbusSlaves. Füllt das Feld “UnitId” im ModbusProtokollkopf. Verwendung: -Refferenziert die Slave-ID in einem seriellen Modbus-Subnetz. - Bufferindex des Modbusslave auf dem PC in Verbindung mit ActiveMBTSlaveCtl. Folgende Modbus-Functioncode werden unterstützt: FC1: (0x01) – read coils FC2: (0x02) – read input discrets FC3: (0x03) – read multiple registers FC4: (0x04) – read input registers FC5: (0x05) – write coil FC6: (0x06) – write single register FC7: (0x07) – read exception status FC11: (0x0B) – get comm eventcounter FC15: (0x0F) – force multiple coils FC16 (0x10) – write multiple registers FC23 (0x17) – read write multiple registers Modbusadresse im Slave, von der gelesen werden soll. Anzahl zu lesender Bits bzw. Worte. Zeiger auf lokalen Datenbereich in dem die gelesenen Daten abgelegt werden. Modbusadresse im Slave, an die geschrieben werden soll. Anzahl zu schreibender Bits bzw. Worte Zeiger auf lokalen Datenbereich in dem die zu schreibenden Daten abgelegt sind. Auslösen eines Modbustelegrammes Rücksetzen der internen Daten Maximale Wartezeit auf das Antworttelegramm des Modbusslaves. Kommentar: WAGO-I/O-PRO 32 ML00100d.doc EthernetModbus_03.lib WAGO-I/O-PRO 32 Elemente der Bibliothek xREADY BOOL wERROR WORD bRESPONSE_UNIT_ID BYTE Datentransfer ist abgeschlossen oder die in tTIME_OUT parametrierte Wartezeit ist abgelaufen. 0x0000 – Succesful 0x0001 – Illegal functioncode 0x0002 – Illegal data address 0x0003 – Illegal data value 0x0004 – Slave device failure 0x0005 – Acknoledge 0x0006 – Slave device busy 0x0007 – Negative acknowledge 0x0008 – Memory parity error 0x000A – Gateway path unaviable 0x000B – Gateway target norespond 0x0097 – Illegal number of points 0x0098 – Internal buffer overrun 0x0099 - TimeOut Inhalt des Feldes “UnitId” im ModbusProtokollkopf des Antworttelegrammes Grafische Darstellung: Funktionsbeschreibung: Mit dem Baustein ETHERNET_MODBUSMASTER_UDP wird ein Ethernet-Controller zum Modbus-Master. Die Anzahl der Slaves ist nur durch das Modbusprotocol begrenzt. Der Baustein ETHERNET_MODBUSMASTER_UDP verwendet das Protokoll UDP (User Datagramm Protokoll) und ermöglicht dadurch einen schnelleren Datenaustausch als die TCP-Variante. WAGO-I/O-PRO 32 A-3 EthernetModbus_03.lib ML00100d.doc ETHERNET_MODBUSMASTER_TCP WAGO-I/O-PRO 32 Elemente der Bibliothek Kategorie: Name: Typ: Name der Bibliothek: Anwendbar für: Eingangsparameter: strIP_ADDRESS bUNIT_ID Datentyp: STRING BYTE bFUNCTION_CODE BYTE wREAD_ADDRESS WORD wREAD_QUANTITY ptREAD_DATA WORD POINTER TO BYTE WORD wWRITE_ADDRESS wWRITE_QUANTITY ptSEND_DATA A-4 ETHERNET_MODBUSMASTER_TCP Funktion Funktionsblock X Programm ModbusEthernet_03.lib Feldbus-Controller 750-842 ab Firmware: 02.02.00(04) xSTART xRESET tTIME_OUT WORD POINTER TO BYTE BOOL BOOL TIME Rückgabewert: Datentyp: Kommentar: IP-Adresse des ModbusSlaves. Füllt das Feld “UnitId” im ModbusProtokollkopf. Verwendung: -Refferenziert die Slave-ID in einem seriellen Modbus-Subnetz. - Bufferindex des Modbusslave auf dem PC in Verbindung mit ActiveMBTSlaveCtl. Folgende Modbus-Functioncode werden unterstützt: FC1: (0x01) – read coils FC2: (0x02) – read input discrets FC3: (0x03) – read multiple registers FC4: (0x04) – read input registers FC5: (0x05) – write coil FC6: (0x06) – write single register FC7: (0x07) – read exception status FC11: (0x0B) – get comm eventcounter FC15: (0x0F) – force multiple coils FC16 (0x10) – write multiple registers FC23 (0x17) – read write multiple registers Modbusadresse im Slave, von der gelesen werden soll. Anzahl zu lesender Bits bzw. Worte. Zeiger auf lokalen Datenbereich in dem die gelesenen Daten abgelegt werden. Modbusadresse im Slave, an die geschrieben werden soll. Anzahl zu schreibender Bits bzw. Worte Zeiger auf lokalen Datenbereich in dem die zu schreibenden Daten abgelegt sind. Auslösen eines Modbustelegrammes Rücksetzen der internen Daten Maximale Wartezeit auf das Antworttelegramm des Modbusslaves. Bsp.: t#500ms Kommentar: WAGO-I/O-PRO 32 ML00100d.doc EthernetModbus_03.lib WAGO-I/O-PRO 32 Elemente der Bibliothek xREADY BOOL wERROR WORD bRESPONSE_UNIT_ID BYTE Datentransfer ist abgeschlossen oder die in tTIME_OUT parametrierte Wartezeit ist abgelaufen. 0x0000 – Succesful 0x0001 – Illegal functioncode 0x0002 – Illegal data address 0x0003 – Illegal data value 0x0004 – Slave device failure 0x0005 – Acknoledge 0x0006 – Slave device busy 0x0007 – Negative acknowledge 0x0008 – Memory parity error 0x000A – Gateway path unaviable 0x000B – Gateway target norespond 0x0097 – Illegal number of points 0x0098 – Internal buffer overrun 0x0099 – TimeOut Inhalt des Feldes “UnitId” im ModbusProtokollkopf des Antworttelegrammes Grafische Darstellung: Funktionsbeschreibung: Mit dem Baustein ETHERNET_MODBUSMASTER_TCP wird ein Ethernet-Controller zum Modbus-Master unter Verwendung des TCP-Protocols. Die Anzahl der Slaves ist nur durch das Modbusprotocol begrenzt. Der Baustein ETHERNET_MODBUSMASTER_TCP sollte nur Verwendet werden wenn die Gegenstelle dies erfordert. Das Bedienterminal E300 der Fa. Beijer zum Beispiel unterstützt ausschließlich MODBUS –TCP. Der Nachteil des TCP-Protocols ist sein verbindungsorientiertes Grundkonzept. Dadurch wird für jeden Datentransfer eine neue Verbindung hergestellt, was zu einem zeitkostenden Protocol-Overhead führt. WAGO-I/O-PRO 32 A-5 EthernetModbus_03.lib ML00100d.doc ETHERNET_MODBUSMASTER_RTU WAGO-I/O-PRO 32 Elemente der Bibliothek Kategorie: Name: Typ: Name der Bibliothek: Anwendbar für: ETHERNET_MODBUSMASTER_RTU Funktion Funktionsblock X Programm ModbusEthernet_03.lib Feldbus-Controller 750-842 ab Firmware: 02.02.00(04) Eingangsparameter: Datentyp: SOCKET WORD UNIT_ID BYTE FUNCTION_CODE BYTE READ_REFERENCE WORD QUANTITY_TO_ READ WRITE_ REFERENCE QUANTITY_TO_ WRITE TIME_OUT WORD WORD WORD Kommentar: Füllt das Feld “UnitId” im ModbusProtokollkopf. Verwendung: -Refferenziert die Slave-ID in einem seriellen Modbus-Subnetz. - Bufferindex des Modbusslave auf dem PC in Verbindung mit ActiveMBTSlaveCtl. Folgende Modbus-Functioncode werden unterstützt: FC1: (0x01) – read coils FC2: (0x02) – read input discrets FC3: (0x03) – read multiple registers FC4: (0x04) – read input registers FC5: (0x05) – write coil FC6: (0x06) – write single register FC7: (0x07) – read exception status FC11: (0x0B) – get comm eventcounter FC15: (0x0F) – force multiple coils FC16 (0x10) – write multiple registers FC23 (0x17) – read write multiple registers Modbusadresse im Slave, von der gelesen werden soll. Anzahl zu lesender Bits bzw. Worte. Modbusadresse im Slave, an die geschrieben werden soll. Anzahl zu schreibender Bits bzw. Worte Maximale Wartezeit auf das Antworttelegramm des Modbusslaves. Bsp.: t#500ms ptRECEIVE_BUFFER POINTER TO Zeiger auf lokalen Datenbereich in dem die ARRAY[1..3] gelesenen Daten abgelegt werden. OF BYTE ptSEND_DATA POINTER TO Zeiger auf lokalen Datenbereich in dem die ARRAY[1..3] zu schreibenden Daten abgelegt sind. OF BYTE START_FUNCTION BOOL Auslösen eines Modbustelegrammes RESET BOOL Rücksetzen der internen Daten A-6 TIME WAGO-I/O-PRO 32 ML00100d.doc EthernetModbus_03.lib WAGO-I/O-PRO 32 Elemente der Bibliothek Rückgabewert: ERROR Datentyp: WORD READY BOOL RESPONSE_UNIT_ID BYTE Kommentar: 0x0000 – Succesful 0x0001 – Illegal functioncode 0x0002 – Illegal data address 0x0003 – Illegal data value 0x0004 – Slave device failure 0x0005 – Acknoledge 0x0006 – Slave device busy 0x0007 – Negative acknowledge 0x0008 – Memory parity error 0x000A – Gateway path unaviable 0x000B – Gateway target norespond 0x0097 – Illegal number of points 0x0098 – Internal buffer overrun 0x0099 – TimeOut Datentransfer ist abgeschlossen oder die in tTIME_OUT parametrierte Wartezeit ist abgelaufen. Inhalt des Feldes “UnitId” im ModbusProtokollkopf des Antworttelegrammes Grafische Darstellung: Funktionsbeschreibung: Der Baustein ETHERNET_MODBUSMASTER_RTU wird verwendet durch: - ETHERNET_MODBUSMASTER_UDP - ETHERNET_MODBUSMASTER_TCP WAGO-I/O-PRO 32 A-7 EthernetModbus_03.lib ML00100d.doc ETHERNET_CLIENT_OPEN_CLOSE WAGO-I/O-PRO 32 Elemente der Bibliothek Kategorie: Name: Typ: Name der Bibliothek: Anwendbar für: ETHERNET_CLIENT_OPEN_CLOSE Funktion Funktionsblock X Programm ModbusEthernet_03.lib Feldbus-Controller 750-842 ab Firmware: 02.02.00(04) Eingangsparameter: Datentyp: EN BOOL IP STRING PORT WORD TCP_PROTOKOLL BOOL Rückgabewert: ERROR Datentyp: WORD SOCKET WORD Kommentar: TRUE -> Socket öffenen FALSE -> Socket schliessen IP-Adresse der Gegenstelle (Modbus-Slave) Portnummer der Gegenstelle (Modbus-Slave) TRUE -> TCP-Protokoll verwenden FALSE -> UDP-Protokoll verwenden Kommentar: = 0: no errors found <> 0: error in operation (see ETH_ERROR data type in Ethernet.lib for details) Handle auf aktuellen Socket Grafische Darstellung: Funktionsbeschreibung: Der Baustein ETHERNET_CLIENT_OPEN_CLOSE wird verwendet durch: - ETHERNET_MODBUSMASTER_UDP - ETHERNET_MODBUSMASTER_TCP A-8 WAGO-I/O-PRO 32 ML00100d.doc EthernetModbus_03.lib IP_ADRESSE WAGO-I/O-PRO 32 Elemente der Bibliothek Kategorie: Name: Typ: Name der Bibliothek: Anwendbar für: IP_ADRESSE Funktion X Funktionsblock ModbusEthernet_03.lib Feldbus-Controller 750-842 ab Firmware: 02.02.00(04) Programm Eingangsparameter: Datentyp: IP_ADR STRING Kommentar: IP-Adresse der Gegenstelle (Modbus-Slave) Rückgabewert: IP_ADR Kommentar: IP-Adresse der Gegenstelle (numerisch) Datentyp: WORD Grafische Darstellung: Funktionsbeschreibung: Der Baustein konvertiert eine IP-Adresse Der Baustein wird verwendet durch: - ETHERNET_MODBUSMASTER_UDP - ETHERNET_MODBUSMASTER_TCP - ETHERNET_CLIENT_OPEN_CLOSE WAGO-I/O-PRO 32 A-9