ModbusEthernet_04.lib
Transcription
ModbusEthernet_04.lib
Anhang A - Weitere Bibliotheken WAGO-I/O-PRO 32 Bibliothek ModbusEthernet_04.lib Die Library ModbusEthernet_04.lib stellt dem Anwender die Funktionsbausteine ETHERNET_CLIENT, ETHERNET_MODBUSMASTER_UDP und ETHERNET_MODBUSMASTER_TCP zur Verfügung. Mit diesen Bausteinen läßt sich ein Datenaustausch mit mehreren TCP / UDP Slaves herstellen. Die Modbusbaustein behandlen zusätzlich das Modbusprotokoll. Der Baustein ETHERNET_MODBUSMASTER_UDP sollte bevorzugt eingesetzt werden, da dieser einen schnelleren Datentransfer ermöglicht. Zusätzlich befindet sich in der Bibliothek der Baustein ETHERNET_TERMINAL_MODBUSSLAVE. Dieser Baustein stellt einen Modbusserver zur Verfügung der die Modbusdienste auf einem Word-Array abbildet. Inhalt ModbusEthernet_04.lib 3 ETHERNET_CLIENT ............................................................................. 3 ETHERNET_MODBUSMASTER_UDP ................................................. 5 ETHERNET_MODBUSMASTER_TCP.................................................. 7 ETHERNET_MODBUSMASTER_RTU ................................................. 9 MB_MASTER_SERIAL_OVER_TCP ...................................................11 ETHERNET_CLIENT_OPEN_CLOSE ..................................................14 IP_ADRESSE .........................................................................................15 ETHERNET_TERMINAL_MODBUSSLAVE .......................................16 ETHERNET_SERVER_OPEN_CLOSE .................................................18 typETH_CLIENT_BUFFER (Datentyp)..................................................19 typETH_SLAVE_DATEN (Datentyp) ....................................................20 typSER_ModbusQuery (Datentyp) ..........................................................21 typSER_ModbusResponse (Datentyp) .....................................................22 enumSER_MB_ERROR (Enumeration) ..................................................23 WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 1 ETHERNET_CLIENT [blank] 2 – ModbusEthernet_04.lib ml00101d WAGO-I/O-PRO 32 Anhang A - Weitere Bibliotheken ModbusEthernet_04.lib ETHERNET_CLIENT WAGO-I/O-PRO 32 Elemente der Bibliothek Kategorie: Name: Typ: Name der Bibliothek: Verwendete Bibliotheken Anwendbar für: Eingangsparameter: xCONNECT Datentyp: BOOL strIP_ADDRESS wPORT xTCP_PROTOKOLL STRING WORD BOOL iSEND_COUNT ptSEND_DATA INT POINTER In / Out - Parameter: xSTART_SEND Datentyp: BOOL RECEIVE_DATA typETH_CLIENT _BUFFER Ausgabeparameter: xIsCONNECTED ERROR WAGO-I/O-PRO 32 Kommunikationsbausteine ETHERNET_CLIENT Funktionsblock X Programm Funktion ModbusEthernet_04.lib Ethernet.lib Feldbus-Controller 750-842 ab FW: (17) Feldbus-Controller 750-841 Datentyp: BOOL WORD Version 2.1.0 Kommentar: TRUE -> öffnet einen Socket und baut ggf. eine Verbindung auf IP-Adresse des ModbusSlaves. Port-Nr. des ModbusSlaves. (Default 502) TRUE -> TCP - Verbindung sonst UDP Anzahl der zu sendenden Zeichen Pointer auf die zu sendenden Daten Kommentar: TRUE -> Startet den Sendevorgang. Nach Beendigung des Sendevorganges wird die hier angelegte Variable autom. Von dem Baustein gelöscht. Empfangsdaten Kommentar: TRUE -> Socket geöffnet und verbunden 0x0000 – Successful 0x0095 – Error Socket-Close 0x0096 – no valid Socket from FW 0x0099 – TimeOut weitere Fehlercodes siehe Dokumentation zur Ethernet.lib ModbusEthernet_04.lib - 3 WAGO-I/O-PRO 32 Elemente der Bibliothek Grafische Darstellung: Funktionsbeschreibung: Mit dem Baustein ETHERNET_CLIENT wird eine TCP b.z.w. UDP-Verbindung zu einem entsprechendem Server aufgebaut. Nach dem Verbindungsaufbau können beliebige Daten bidirektional ausgetauscht werden. 4 – ModbusEthernet_04.lib ml00101d WAGO-I/O-PRO 32 Anhang A - Weitere Bibliotheken ETHERNET_MODBUSMASTER_UDP WAGO-I/O-PRO 32 Elemente der Bibliothek Kategorie: Name: Typ: Name der Bibliothek: Verwendete Bibliotheken Anwendbar für: Eingangsparameter: strIP_ADDRESS wPORT bUNIT_ID Datentyp: STRING WORD BYTE bFUNCTION_CODE BYTE wREAD_ADDRESS WORD wREAD_QUANTITY ptREAD_DATA WORD POINTER TO BYTE WORD wWRITE_ADDRESS wWRITE_QUANTITY ptSEND_DATA WAGO-I/O-PRO 32 Kommunikationsbausteine ETHERNET_MODBUSMASTER_UDP Funktionsblock X Programm Funktion ModbusEthernet_04.lib Ethernet.lib Feldbus-Controller 750-842 ab FW: 02.02.00(04) Feldbus-Controller 750-841 xSTART xRESET tTIME_OUT WORD POINTER TO BYTE BOOL BOOL TIME Rückgabewert: Datentyp: Version 2.1.0 Kommentar: IP-Adresse des ModbusSlaves. Port-Nr. des ModbusSlaves. (Default 502) 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: ModbusEthernet_04.lib - 5 ETHERNET_MODBUSMASTER_UDP 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 – Successful 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 0x0095 – Error Socket-Close 0x0096 – no valid Socket from FW 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 TCPVariante. 6 – ModbusEthernet_04.lib ml00101d WAGO-I/O-PRO 32 Anhang A - Weitere Bibliotheken ETHERNET_MODBUSMASTER_TCP WAGO-I/O-PRO 32 Elemente der Bibliothek Kategorie: Name: Typ: Name der Bibliothek: Verwendete Bibliotheken Anwendbar für: Eingangsparameter: strIP_ADDRESS wPORT bUNIT_ID Datentyp: STRING WORD BYTE bFUNCTION_CODE BYTE wREAD_ADDRESS WORD wREAD_QUANTITY ptREAD_DATA WORD POINTER TO BYTE WORD wWRITE_ADDRESS wWRITE_QUANTITY ptSEND_DATA xSTART xRESET tTIME_OUT WAGO-I/O-PRO 32 Kommunikationsbausteine ETHERNET_MODBUSMASTER_TCP Funktionsblock X Programm Funktion ModbusEthernet_04.lib Ethernet.lib Feldbus-Controller 750-842 ab FW: 02.02.00(04) Feldbus-Controller 750-841 WORD POINTER TO BYTE BOOL BOOL TIME Version 2.1.0 Kommentar: IP-Adresse des ModbusSlaves. Port-Nr. des ModbusSlaves. (Default 502) 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 ModbusEthernet_04.lib - 7 ETHERNET_MODBUSMASTER_TCP Rückgabewert: xREADY Datentyp: BOOL wERROR WORD bRESPONSE_UNIT_ID BYTE Kommentar: Datentransfer ist abgeschlossen oder die in tTIME_OUT parametrierte Wartezeit ist abgelaufen. 0x0000 – Successful 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. 8 – ModbusEthernet_04.lib ml00101d WAGO-I/O-PRO 32 Anhang A - Weitere Bibliotheken ETHERNET_MODBUSMASTER_RTU WAGO-I/O-PRO 32 Elemente der Bibliothek Kategorie: Name: Typ: Name der Bibliothek: Verwendete Bibliotheken Anwendbar für: Eingangsparameter: SOCKET UNIT_ID Datentyp: WORD BYTE FUNCTION_CODE BYTE READ_REFERENCE WORD QUANTITY_TO_ READ WRITE_ REFERENCE QUANTITY_TO_ WRITE TIME_OUT WORD ptRECEIVE_BUFFER POINTER TO ARRAY[1..3] OF BYTE POINTER Zeiger auf lokalen Datenbereich in dem die TO zu schreibenden Daten abgelegt sind. ARRAY[1..3] OF BYTE ptSEND_DATA WAGO-I/O-PRO 32 Kommunikationsbausteine ETHERNET_MODBUSMASTER_RTU Funktionsblock X Programm Funktion ModbusEthernet_04.lib Ethernet.lib Feldbus-Controller 750-842 ab FW: 02.02.00(04) Feldbus-Controller 750-841 WORD WORD TIME Version 2.1.0 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 Zeiger auf lokalen Datenbereich in dem die gelesenen Daten abgelegt werden. ModbusEthernet_04.lib - 9 ETHERNET_MODBUSMASTER_RTU WAGO-I/O-PRO 32 Elemente der Bibliothek START_FUNCTION RESET BOOL BOOL Auslösen eines Modbustelegrammes Rücksetzen der internen Daten Rückgabewert: ERROR Datentyp: WORD READY BOOL RESPONSE_UNIT_ID BYTE Kommentar: 0x0000 – Successful 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 10 – ModbusEthernet_04.lib ml00101d WAGO-I/O-PRO 32 Anhang A - Weitere Bibliotheken MB_MASTER_SERIAL_OVER_TCP WAGO-I/O-PRO 32 Elemente der Bibliothek Kategorie: Name: Typ: Name der Bibliothek: Verwendete Bibliotheken Kommunikationsbausteine Anwendbar für: Feldbus-Controller 750-842 ab FW: 02.02.00(04) Feldbus-Controller 750-841 Eingangspar ameter: MB_MASTER_SERIAL_OVER_TCP Funktionsblock X Funktion ModbusEthernet_04.lib Ethernet.lib Mod_Com.lib Datentyp: Kommentar: strIP_ADDRE STRING SS WORD iPORT xCONNECT BOOL tTIME_OUT TIME IP-Adresse des ModbusSlaves. Portnr. des Modbus-Slaves Default -> 502 TRUE -> TCP-Verbindung wird dauerhaft aufgebaut FALSE -> TCP-Verbindung wird nur durch StartFunction gesteuert max. zulässige Antwortzeit des Slaves EinDatentyp: /Ausgangspa ram.: StartFunction BOOL WAGO-I/O-PRO 32 Programm Kommentar: Ein TRUE an diesem Parameter startet den über „FunctionCode“spezifizierten Dienst. Nach Beendigung des Dienstes vom Baustein automatisch zurückgesetzt. TYPE typSER_ModbusQuery : STRUCT SlaveAddress : BYTE; FunctionCode : BYTE; StartAddress : UINT; Quantity : UINT; Data : ARRAY[0..124] OF WORD; END_STRUCT END_TYPE Query typModbusQuery Response typModbusRespo TYPE typSER_ModbusResponse : nse STRUCT Error : WORD; SlaveAddress : BYTE; FunctionCode : BYTE; StartAddress : UINT; Quantity : UINT; Data : ARRAY[0..124] OF WORD; END_STRUCT END_TYPE Version 2.1.0 ModbusEthernet_04.lib - 11 MB_MASTER_SERIAL_OVER_TCP WAGO-I/O-PRO 32 Elemente der Bibliothek Ausgangspa rameter: MB_Error Datentyp: Kommentar: enumSER_MB_ ERROR Fehlercode TYPE enumSER_MB_ERROR :( SER_MB_NO_ERROR := 16#00, SER_MB_NOT_SUPPORTED_FUNCTION := 16#01, SER_MB_ILLEGAL_DATA := 16#03, SER_MB_EXTENDED_SLAVE_ERROR := 16#90, SER_MB_CRC_ERROR := 16#96, SER_MB_ILLEGAL_NUMBER_OF_POINTS := 16#97, SER_MB_OVERRUN := 16#98, SER_MB_TIME_OUT := 16#99 ); END_TYPE OPEN_Error ETH_ERROR siehe Beschreibung Ethernet.lib Grafische Darstellung: Funktionsbeschreibung: Der Baustein " MB_MASTER_SERIAL_OVER_TCP", erweitert die Funktionalität eines programmierbaren Ethernet-Controllers um die Funktion eines seriellen MODBUS-Masters der über Ethernet TCP kommuniziert. Es werden serielle Modbus-RTU-Frames mit CRC in TCP-Paketen verschickt und empfangen. Der Baustein verhält sich wie ein serieller Modbusmaster. Ethernet wird lediglich als Transportmedium benutzt. Durch ein TRUE am Eingang xCONNECT kann die TCP-Verbindung dauerhaft geöffnet werden (Defaulteinstellung -> FALSE). In der Defaulteinstellung dieses Eingangs werden wird die TCP nur über den Eingang StartFunction aufgebaut und autom. nach Abarbeitung des Auftrages wieder abgebaut. Unterstützte MODBUS-Dienste: 0x01 Read Coil Status 0x02 Read Input Status 0x03 Read Holding Register 0x04 Read Input Registers 0x05 Force Single Coil 0x06 Preset Single Registers 0x0B Fetch Comm Event Ctr 0x0F Force Multiple Coils 0x10 Preset Multiple Registers 12 – ModbusEthernet_04.lib ml00101d WAGO-I/O-PRO 32 Anhang A - Weitere Bibliotheken WAGO-I/O-PRO 32 Elemente der Bibliothek Modbusfunction ausführen In der Struktur Query sind die für die Anfrage relevanten Daten einzutragen. Die Modbusfunktion wird mit der steigenden Flanke am Eingang “StartFunction”ausgeführt. Die Antwort des Slave wird in der Responsestruktur abgelegt. WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 13 ETHERNET_CLIENT_OPEN_CLOSE ETHERNET_CLIENT_OPEN_CLOSE WAGO-I/O-PRO 32 Elemente der Bibliothek Kategorie: Name: Typ: Name der Bibliothek: Verwendete Bibliotheken Anwendbar für: Kommunikationsbausteine ETHERNET_CLIENT_OPEN_CLOSE Funktionsblock X Programm Funktion ModbusEthernet_04.lib Ethernet.lib Feldbus-Controller 750-842 ab FW: 02.02.00(04) Feldbus-Controller 750-841 Eingangsparameter: EN Datentyp: 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 14 – ModbusEthernet_04.lib ml00101d WAGO-I/O-PRO 32 Anhang A - Weitere Bibliotheken IP_ADRESSE WAGO-I/O-PRO 32 Elemente der Bibliothek Kategorie: Name: Typ: Name der Bibliothek: Verwendete Bibliotheken Anwendbar für: Kommunikationsbausteine IP_ADRESSE Funktion X Funktionsblock Programm ModbusEthernet_04.lib Ethernet.lib Feldbus-Controller 750-842 ab FW: 02.02.00(04) Feldbus-Controller 750-841 Eingangsparameter: IP_ADR Datentyp: STRING Kommentar: IP-Adresse der Gegenstelle (Modbus-Slave) Rückgabewert: IP_ADR Datentyp: WORD Kommentar: IP-Adresse der Gegenstelle (numerisch) 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 Version 2.1.0 ModbusEthernet_04.lib - 15 ETHERNET_TERMINAL_MODBUSSLAVE ETHERNET_TERMINAL_MODBUSSLAVE WAGO-I/O-PRO 32 Elemente der Bibliothek Kategorie: Name: Typ: Name der Bibliothek: Verwendete Bibliotheken Anwendbar für: Kommunikationsbausteine ETHERNET_TERMINAL_MODBUSSLAVE Funktionsblock X Programm Funktion ModbusEthernet_04.lib Ethernet.lib Feldbus-Controller 750-842 ab FW: 02.02.00(04) Feldbus-Controller 750-841 Eingangsparameter: EN iPORT Datentyp: BOOL INT TCP_PROTOKOLL BOOL iBIT_OFFSET INT tWATCHDOG_TIME TIME Kommentar: TRUE -> Modbusserver aktivieren Port auf dem der Modbusserver erreichbar sein soll. TRUE -> TCP-Server FALSE -> UDP-Server Adresse ab der Bit-Dienste des Modbus auf das Datenarray zugreifen Mit dem ersten Telegramm vom Master wird der Watchdog gestartet. Es wird überprüft, ob der Master regelmäßig Telegramme schickt. Fällt der Master aus,d.h. der Watchdog spricht an, wird der Ausgang xWATCHDOG_OK zurückgesetzt. Ein/Ausgangsparameter: Datentyp: Kommentar: aDATA typETH_SLAVE_ WORD-ARRAY [0.. ETH_SIZE_SLAVEBUFFER] DATEN Ausgangsparameter: xWATCHDOG_OK wERROR Datentyp: BOOL WORD Kommentar: Master sendet Telegramme. 0x0000 – Kein Fehler 0x0001 – nicht unterstützter Funktionscode 0x0002 – illegale Adresse vom Master 0x0003 – illegale Daten vom Master Grafische Darstellung: 16 – ModbusEthernet_04.lib ml00101d WAGO-I/O-PRO 32 Anhang A - Weitere Bibliotheken WAGO-I/O-PRO 32 Elemente der Bibliothek Funktionsbeschreibung: Dieser Baustein übernimmt die Kommunikation zu externen Modbusmastern (z.B. div. Textanzeigen / Grafikdisplays). Der Master greift hierzu auf das an den Baustein angelegte Wordarray aDATA zu. Wort-Nr. Daten 0 1 2 ... 255 Für Bit-Dienste (Funktionscode 0x01, 0x02, 0x0F) kann über den Parameter iBIT_OFFSET ein Offset vorgegeben werden. Bei Verwendung der Bit-Dienste greift der Master erst ab der eingestellten Offsetadresse (Wortoffset) zu. Beispiel: iBIT_OFFSET = 10 Der Master schreibt über Funktionscode 0x0F ein Bit (Coil) an Adresse 2. Dieses Bit finden wir anschließend im Bit 1 (Zählweise 0..15) des Wortes 10 (iBIT_OFFSET) wieder. Dieser Baustein unterstützt folgende Modbusfunktionen • • • • • • • • • WAGO-I/O-PRO 32 0x01 Read Coil Status 0x02 Read Input Status 0x03 Read Holding Registers 0x04 Read Input Registers 0x05 Force Single Coil 0x06 Preset Single Register 0x0F Force Multiple Coils 0x10 Preset Multiple Registers 0x17 Read / Write Multiple Registers Version 2.1.0 ModbusEthernet_04.lib - 17 ETHERNET_SERVER_OPEN_CLOSE ETHERNET_SERVER_OPEN_CLOSE WAGO-I/O-PRO 32 Elemente der Bibliothek Kategorie: Name: Typ: Name der Bibliothek: Verwendete Bibliotheken Anwendbar für: Kommunikationsbausteine ETHERNET_SERVER_OPEN_CLOSE Funktionsblock X Programm Funktion ModbusEthernet_04.lib Ethernet.lib Feldbus-Controller 750-842 ab FW: 02.02.00(04) Feldbus-Controller 750-841 Eingangsparameter: EN Datentyp: BOOL PORT WORD TCP_PROTOKOLL BOOL Rückgabewert: ERROR Datentyp: WORD SOCKET WORD Kommentar: TRUE -> Socket öffenen FALSE -> Socket schliessen Portnummer auf der der Server erreichbar sein soll 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_TERMINAL_MODBUSSLAVE 18 – ModbusEthernet_04.lib ml00101d WAGO-I/O-PRO 32 Anhang A - Weitere Bibliotheken typETH_CLIENT_BUFFER (Datentyp) WAGO-I/O-PRO 32 Elemente der Bibliothek Kategorie: Name: Typ: Name der Bibliothek: typETH_CLIENT_BUFFER Datentyp X Enumeration ModbusEthernet_04.lib Struktur: Element: Index Datentyp: INT Data ARRAY [0.. Beschreibung: Index des nächsten freien Platzes im Ringbuffer Ringbuffer ETH_SIZE_CLIENTBUFFER ] OF BYTE Deklaration: TYPE typETH_CLIENT_BUFFER : STRUCT Index : Data : END_STRUCT END_TYPE WAGO-I/O-PRO 32 INT; ARRAY[0..ETH_SIZE_CLIENTBUFFER] OF BYTE; Version 2.1.0 ModbusEthernet_04.lib - 19 typETH_SLAVE_DATEN (Datentyp) typETH_SLAVE_DATEN (Datentyp) WAGO-I/O-PRO 32 Elemente der Bibliothek Kategorie: Name: Typ: Name der Bibliothek: typETH_SLAVE_DATEN Datentyp X Enumeration ModbusEthernet_04.lib Element: Datentyp: Beschreibung: typETH_SLAVE_DATEN ARRAY[0..ETH_SIZE_SLAVEBUFFER] Wordarray für OF WORD Nutzdaten Deklaration: TYPE typETH_SLAVE_DATEN : ARRAY[0..ETH_SIZE_SLAVEBUFFER] OF WORD; END_TYPE Beschreibung: Die Größe des Feldes kann durch „verschatten“ der globalen Konstanten ETH_SIZE_SLAVEBUFFER variiert werden (Defaulteinstellung = 255). 20 – ModbusEthernet_04.lib ml00101d WAGO-I/O-PRO 32 Anhang A - Weitere Bibliotheken typSER_ModbusQuery (Datentyp) WAGO-I/O-PRO 32 Elemente der Bibliothek Kategorie: Name: Typ: Name der Bibliothek: Struktur: Element: SlaveAdress FunctionCode StartAddress Quantity Data typSER_ModbusQuery Datentyp X Enumeration ModbusEthernet_04.lib Datentyp: BYTE BYTE UINT UINT ARRAY [0..512] OF BYTE Beschreibung: Adresse des abgefragten Slave Modbus-FunctionCode Ziel-Speicheradresse der Informationen Anzahl der Informationen Informationen (nur bei Schreibaufrägen) Deklaration: TYPE typModbusQuery : STRUCT SlaveAddress : FunctionCode : StartAddress : Quantity : Data : BYTE; BYTE; UINT; UINT; ARRAY[0..124] OF WORD; (* Modbus specifies max. 125 words in one telegram *) END_STRUCT END_TYPE WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 21 typSER_ModbusResponse (Datentyp) typSER_ModbusResponse (Datentyp) WAGO-I/O-PRO 32 Elemente der Bibliothek Kategorie: Name: Typ: Name der Bibliothek: Struktur: Element: Error SlaveAdress FunctionCode StartAddress Quantity Data typSER_ModbusResponse Datentyp X Enumeration ModbusEthernet_04.lib Datentyp: WORD BYTE BYTE UINT UINT ARRAY [0..512] OF BYTE Beschreibung: Fehlercode vom Slave Adresse des abgefragten Slave Modbus-FunctionCode Ziel-Speicheradresse der Informationen Anzahl der Informationen Informationen (nur bei Leseaufträgen) Deklaration: TYPE typModbusResponse: STRUCT Error : SlaveAddress : FunctionCode : StartAddress : Quantity : Data : WORD; BYTE; BYTE; UINT; UINT; ARRAY[0..124] OF WORD; (* Modbus specifies max. 125 words in one telegram *) END_STRUCT END_TYPE 22 – ModbusEthernet_04.lib ml00101d WAGO-I/O-PRO 32 Anhang A - Weitere Bibliotheken enumSER_MB_ERROR (Enumeration) WAGO-I/O-PRO 32 Elemente der Bibliothek Kategorie: Name: Typ: Name der Bibliothek: enumSER_MB_ERROR Enumeration X Datentyp ModbusEthernet_04.lib Deklaration: TYPE enumSER_MB_ERROR :( SER_MB_NO_ERROR SER_MB_NOT_SUPPORTED_FUNCTION SER_MB_ILLEGAL_DATA SER_MB_EXTENDED_SLAVE_ERROR SER_MB_CRC_ERROR SER_MB_ILLEGAL_NUMBER_OF_POINTS SER_MB_OVERRUN SER_MB_TIME_OUT ); END_TYPE WAGO-I/O-PRO 32 Version 2.1.0 := := := := := := := := 16#00, 16#01, 16#03, 16#90, 16#96, 16#97, 16#98, 16#99 ModbusEthernet_04.lib - 23