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 Kommunikationsbausteine ETHERNET_CLIENT Typ: Funktion Funktionsblock X Programm Name der Bibliothek: ModbusEthernet_04.lib Verwendete Bibliotheken Ethernet.lib Anwendbar für: Feldbus-Controller 750-842 ab FW: (17) Feldbus-Controller 750-841 Eingangsparameter: Datentyp: Kommentar: xconnect BOOL TRUE -> öffnet einen Socket und baut ggf. eine Verbindung auf strip_address STRING IP-Adresse des ModbusSlaves. wport WORD Port-Nr. des ModbusSlaves. (Default 502) xtcp_protokoll BOOL TRUE -> TCP - Verbindung sonst UDP isend_count INT Anzahl der zu sendenden Zeichen ptsend_data POINTER Pointer auf die zu sendenden Daten In / Out - Parameter: Datentyp: Kommentar: xstart_send BOOL TRUE -> Startet den Sendevorgang. Nach Beendigung des Sendevorganges wird die hier angelegte Variable autom. Von dem Baustein gelöscht. RECEIVE_DATA typeth_client _BUFFER Empfangsdaten Ausgabeparameter: Datentyp: Kommentar: xisconnected BOOL TRUE -> Socket geöffnet und verbunden ERROR WORD 0x0000 Successful 0x0095 Error Socket-Close 0x0096 no valid Socket from FW 0x0099 TimeOut weitere Fehlercodes siehe Dokumentation zur Ethernet.lib WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 3
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 Kommunikationsbausteine ETHERNET_MODBUSMASTER_UDP Typ: Funktion Funktionsblock X Programm Name der Bibliothek: ModbusEthernet_04.lib Verwendete Bibliotheken Ethernet.lib Anwendbar für: Feldbus-Controller 750-842 ab FW: 02.02.00(04) Feldbus-Controller 750-841 Eingangsparameter: Datentyp: Kommentar: strip_address STRING IP-Adresse des ModbusSlaves. wport WORD Port-Nr. des ModbusSlaves. (Default 502) bunit_id BYTE Füllt das Feld UnitId im Modbus- Protokollkopf. Verwendung: -Refferenziert die Slave-ID in einem seriellen Modbus-Subnetz. - Bufferindex des Modbusslave auf dem PC in Verbindung mit ActiveMBTSlaveCtl. bfunction_code BYTE 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 wread_address WORD Modbusadresse im Slave, von der gelesen werden soll. wread_quantity WORD Anzahl zu lesender Bits bzw. Worte. ptread_data POINTER TO BYTE Zeiger auf lokalen Datenbereich in dem die gelesenen Daten abgelegt werden. wwrite_address WORD Modbusadresse im Slave, an die geschrieben werden soll. wwrite_quantity WORD Anzahl zu schreibender Bits bzw. Worte ptsend_data POINTER TO BYTE Zeiger auf lokalen Datenbereich in dem die zu schreibenden Daten abgelegt sind. xstart BOOL Auslösen eines Modbustelegrammes xreset BOOL Rücksetzen der internen Daten ttime_out TIME Maximale Wartezeit auf das Antworttelegramm des Modbusslaves. Rückgabewert: Datentyp: Kommentar: WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 5
ETHERNET_MODBUSMASTER_UDP xready BOOL Datentransfer ist abgeschlossen oder die in ttime_out parametrierte Wartezeit ist abgelaufen. werror WORD 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 bresponse_unit_id BYTE Inhalt des Feldes UnitId im Modbus- Protokollkopf 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. 6 ModbusEthernet_04.lib ml00101d WAGO-I/O-PRO 32
Anhang A - Weitere Bibliotheken ETHERNET_MODBUSMASTER_TCP Kommunikationsbausteine ETHERNET_MODBUSMASTER_TCP Typ: Funktion Funktionsblock X Programm Name der Bibliothek: ModbusEthernet_04.lib Verwendete Bibliotheken Ethernet.lib Anwendbar für: Feldbus-Controller 750-842 ab FW: 02.02.00(04) Feldbus-Controller 750-841 Eingangsparameter: Datentyp: Kommentar: strip_address STRING IP-Adresse des ModbusSlaves. wport WORD Port-Nr. des ModbusSlaves. (Default 502) bunit_id BYTE Füllt das Feld UnitId im Modbus- Protokollkopf. Verwendung: -Refferenziert die Slave-ID in einem seriellen Modbus-Subnetz. - Bufferindex des Modbusslave auf dem PC in Verbindung mit ActiveMBTSlaveCtl. bfunction_code BYTE 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 wread_address WORD Modbusadresse im Slave, von der gelesen werden soll. wread_quantity WORD Anzahl zu lesender Bits bzw. Worte. ptread_data POINTER TO BYTE Zeiger auf lokalen Datenbereich in dem die gelesenen Daten abgelegt werden. wwrite_address WORD Modbusadresse im Slave, an die geschrieben werden soll. wwrite_quantity WORD Anzahl zu schreibender Bits bzw. Worte ptsend_data POINTER TO BYTE Zeiger auf lokalen Datenbereich in dem die zu schreibenden Daten abgelegt sind. xstart BOOL Auslösen eines Modbustelegrammes xreset BOOL Rücksetzen der internen Daten ttime_out TIME Maximale Wartezeit auf das Antworttelegramm des Modbusslaves. Bsp.: t#500ms WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 7
ETHERNET_MODBUSMASTER_TCP Rückgabewert: Datentyp: Kommentar: xready BOOL Datentransfer ist abgeschlossen oder die in ttime_out parametrierte Wartezeit ist abgelaufen. werror WORD 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 bresponse_unit_id BYTE Inhalt des Feldes UnitId im Modbus- Protokollkopf 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 Kommunikationsbausteine ETHERNET_MODBUSMASTER_RTU Typ: Funktion Funktionsblock X Programm Name der Bibliothek: ModbusEthernet_04.lib Verwendete Bibliotheken Ethernet.lib Anwendbar für: Feldbus-Controller 750-842 ab FW: 02.02.00(04) Feldbus-Controller 750-841 Eingangsparameter: Datentyp: Kommentar: SOCKET WORD UNIT_ID BYTE Füllt das Feld UnitId im Modbus- Protokollkopf. Verwendung: -Refferenziert die Slave-ID in einem seriellen Modbus-Subnetz. - Bufferindex des Modbusslave auf dem PC in Verbindung mit ActiveMBTSlaveCtl. FUNCTION_CODE BYTE 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 READ_REFERENCE WORD Modbusadresse im Slave, von der gelesen werden soll. QUANTITY_TO_ READ WORD Anzahl zu lesender Bits bzw. Worte. WRITE_ REFERENCE QUANTITY_TO_ WRITE WORD WORD Modbusadresse im Slave, an die geschrieben werden soll. Anzahl zu schreibender Bits bzw. Worte TIME_OUT TIME Maximale Wartezeit auf das Antworttelegramm des Modbusslaves. Bsp.: t#500ms ptreceive_buffer ptsend_data POINTER TO ARRAY[1..3] OF BYTE POINTER TO ARRAY[1..3] OF BYTE Zeiger auf lokalen Datenbereich in dem die gelesenen Daten abgelegt werden. Zeiger auf lokalen Datenbereich in dem die zu schreibenden Daten abgelegt sind. WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 9
ETHERNET_MODBUSMASTER_RTU START_FUNCTION BOOL Auslösen eines Modbustelegrammes RESET BOOL Rücksetzen der internen Daten Rückgabewert: Datentyp: Kommentar: ERROR WORD 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 READY BOOL Datentransfer ist abgeschlossen oder die in ttime_out parametrierte Wartezeit ist abgelaufen. RESPONSE_UNIT_ID BYTE Inhalt des Feldes UnitId im Modbus- Protokollkopf 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
MB_MASTER_SERIAL_OVER_TCP Anhang A - Weitere Bibliotheken Kommunikationsbausteine MB_MASTER_SERIAL_OVER_TCP Typ: Funktion Funktionsblock X Programm Name der Bibliothek: ModbusEthernet_04.lib Verwendete Bibliotheken Ethernet.lib Mod_Com.lib Anwendbar für: Feldbus-Controller 750-842 ab FW: 02.02.00(04) Feldbus-Controller 750-841 Eingangspar ameter: Datentyp: Kommentar: strip_addre STRING IP-Adresse des ModbusSlaves. SS iport WORD Portnr. des Modbus-Slaves Default -> 502 xconnect BOOL TRUE -> TCP-Verbindung wird dauerhaft aufgebaut FALSE -> TCP-Verbindung wird nur durch StartFunction gesteuert ttime_out TIME max. zulässige Antwortzeit des Slaves Ein- /Ausgangspa ram.: Datentyp: Kommentar: StartFunction BOOL Ein TRUE an diesem Parameter startet den über FunctionCode spezifizierten Dienst. Nach Beendigung des Dienstes vom Baustein automatisch zurückgesetzt. Query typmodbusquery TYPE typser_modbusquery : STRUCT SlaveAddress : BYTE; FunctionCode : BYTE; StartAddress : UINT; Quantity : UINT; Data : ARRAY[0..124] OF WORD; END_STRUCT END_TYPE Response typmodbusrespo nse TYPE typser_modbusresponse : STRUCT Error : WORD; SlaveAddress : BYTE; FunctionCode : BYTE; StartAddress : UINT; Quantity : UINT; Data : ARRAY[0..124] OF WORD; END_STRUCT END_TYPE WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 11
MB_MASTER_SERIAL_OVER_TCP Ausgangspa rameter: MB_Error Datentyp: enumser_mb_ ERROR Kommentar: 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 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 Kommunikationsbausteine ETHERNET_CLIENT_OPEN_CLOSE Typ: Funktion Funktionsblock X Programm Name der Bibliothek: ModbusEthernet_04.lib Verwendete Bibliotheken Ethernet.lib Anwendbar für: Feldbus-Controller 750-842 ab FW: 02.02.00(04) Feldbus-Controller 750-841 Eingangsparameter: Datentyp: Kommentar: EN BOOL TRUE -> Socket öffenen FALSE -> Socket schliessen IP STRING IP-Adresse der Gegenstelle (Modbus-Slave) PORT WORD Portnummer der Gegenstelle (Modbus-Slave) TCP_PROTOKOLL BOOL TRUE -> TCP-Protokoll verwenden FALSE -> UDP-Protokoll verwenden Rückgabewert: Datentyp: Kommentar: ERROR WORD = 0: no errors found <> 0: error in operation (see ETH_ERROR data type in Ethernet.lib for details) SOCKET WORD 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 Kommunikationsbausteine IP_ADRESSE Typ: Funktion X Funktionsblock Programm Name der Bibliothek: ModbusEthernet_04.lib Verwendete Bibliotheken Ethernet.lib Anwendbar für: Feldbus-Controller 750-842 ab FW: 02.02.00(04) Feldbus-Controller 750-841 Eingangsparameter: Datentyp: Kommentar: IP_ADR STRING IP-Adresse der Gegenstelle (Modbus-Slave) Rückgabewert: Datentyp: Kommentar: IP_ADR WORD 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 Kommunikationsbausteine ETHERNET_TERMINAL_MODBUSSLAVE Typ: Funktion Funktionsblock X Programm Name der Bibliothek: ModbusEthernet_04.lib Verwendete Bibliotheken Ethernet.lib Anwendbar für: Feldbus-Controller 750-842 ab FW: 02.02.00(04) Feldbus-Controller 750-841 Eingangsparameter: Datentyp: Kommentar: EN BOOL TRUE -> Modbusserver aktivieren iport INT Port auf dem der Modbusserver erreichbar sein soll. TCP_PROTOKOLL BOOL TRUE -> TCP-Server FALSE -> UDP-Server ibit_offset INT Adresse ab der Bit-Dienste des Modbus auf das Datenarray zugreifen twatchdog_time TIME 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: adata typeth_slave_ DATEN Kommentar: WORD-ARRAY [0.. ETH_SIZE_SLAVEBUFFER] Ausgangsparameter: Datentyp: Kommentar: xwatchdog_ok BOOL Master sendet Telegramme. werror WORD 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 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 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 WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 17
ETHERNET_SERVER_OPEN_CLOSE ETHERNET_SERVER_OPEN_CLOSE Kommunikationsbausteine ETHERNET_SERVER_OPEN_CLOSE Typ: Funktion Funktionsblock X Programm Name der Bibliothek: ModbusEthernet_04.lib Verwendete Bibliotheken Ethernet.lib Anwendbar für: Feldbus-Controller 750-842 ab FW: 02.02.00(04) Feldbus-Controller 750-841 Eingangsparameter: Datentyp: Kommentar: EN BOOL TRUE -> Socket öffenen FALSE -> Socket schliessen PORT WORD Portnummer auf der der Server erreichbar sein soll TCP_PROTOKOLL BOOL TRUE -> TCP-Protokoll verwenden FALSE -> UDP-Protokoll verwenden Rückgabewert: Datentyp: Kommentar: ERROR WORD = 0: no errors found <> 0: error in operation (see ETH_ERROR data type in Ethernet.lib for details) SOCKET WORD 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) typeth_client_buffer Typ: Datentyp X Enumeration Name der Bibliothek: ModbusEthernet_04.lib Struktur: Element: Datentyp: Beschreibung: Index INT Index des nächsten freien Platzes im Ringbuffer Data ARRAY [0.. ETH_SIZE_CLIENTBUFFER] OF BYTE Ringbuffer Deklaration: TYPE typeth_client_buffer : STRUCT Index : INT; Data : ARRAY[0..ETH_SIZE_CLIENTBUFFER] OF BYTE; END_STRUCT END_TYPE WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 19
typeth_slave_daten (Datentyp) typeth_slave_daten (Datentyp) typeth_slave_daten Typ: Datentyp X Enumeration Name der Bibliothek: ModbusEthernet_04.lib Element: Datentyp: Beschreibung: typeth_slave_daten ARRAY[0..ETH_SIZE_SLAVEBUFFER] OF WORD Wordarray für 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) typser_modbusquery Typ: Datentyp X Enumeration Name der Bibliothek: ModbusEthernet_04.lib Struktur: Element: Datentyp: Beschreibung: SlaveAdress BYTE Adresse des abgefragten Slave FunctionCode BYTE Modbus-FunctionCode StartAddress UINT Ziel-Speicheradresse der Informationen Quantity UINT Anzahl der Informationen Data ARRAY [0..512] OF BYTE Informationen (nur bei Schreibaufrägen) Deklaration: TYPE typmodbusquery : STRUCT SlaveAddress : BYTE; FunctionCode : BYTE; StartAddress : UINT; Quantity : UINT; Data : 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) typser_modbusresponse Typ: Datentyp X Enumeration Name der Bibliothek: ModbusEthernet_04.lib Struktur: Element: Datentyp: Beschreibung: Error WORD Fehlercode vom Slave SlaveAdress BYTE Adresse des abgefragten Slave FunctionCode BYTE Modbus-FunctionCode StartAddress UINT Ziel-Speicheradresse der Informationen Quantity UINT Anzahl der Informationen Data ARRAY [0..512] OF BYTE Informationen (nur bei Leseaufträgen) Deklaration: TYPE typmodbusresponse: STRUCT Error : WORD; SlaveAddress : BYTE; FunctionCode : BYTE; StartAddress : UINT; Quantity : UINT; Data : 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) enumser_mb_error Typ: Datentyp Enumeration X Name der Bibliothek: ModbusEthernet_04.lib Deklaration: 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 WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 23