ModbusEthernet 04 - WAGO Corporation · Anhang A - Weitere Bibliotheken WAGO-I/O-PRO 32 Version...

23
Anhang A - Weitere Bibliotheken WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 1 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

Transcript of ModbusEthernet 04 - WAGO Corporation · Anhang A - Weitere Bibliotheken WAGO-I/O-PRO 32 Version...

Page 1: ModbusEthernet 04 - WAGO Corporation · Anhang A - Weitere Bibliotheken WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 7 ETHERNET_MODBUSMASTER_TCP WAGO-I/O-PRO 32 Elemente

Anhang A - Weitere Bibliotheken

WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 1

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

Page 2: ModbusEthernet 04 - WAGO Corporation · Anhang A - Weitere Bibliotheken WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 7 ETHERNET_MODBUSMASTER_TCP WAGO-I/O-PRO 32 Elemente

ETHERNET_CLIENT

2 – ModbusEthernet_04.lib ml00101d WAGO-I/O-PRO 32

[blank]

Page 3: ModbusEthernet 04 - WAGO Corporation · Anhang A - Weitere Bibliotheken WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 7 ETHERNET_MODBUSMASTER_TCP WAGO-I/O-PRO 32 Elemente

Anhang A - Weitere Bibliotheken

WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 3

ModbusEthernet_04.lib

ETHERNET_CLIENT

WAGO-I/O-PRO 32 Elemente der Bibliothek

Kategorie: Kommunikationsbausteine

Name: 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

Page 4: ModbusEthernet 04 - WAGO Corporation · Anhang A - Weitere Bibliotheken WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 7 ETHERNET_MODBUSMASTER_TCP WAGO-I/O-PRO 32 Elemente

4 – ModbusEthernet_04.lib ml00101d WAGO-I/O-PRO 32

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.

Page 5: ModbusEthernet 04 - WAGO Corporation · Anhang A - Weitere Bibliotheken WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 7 ETHERNET_MODBUSMASTER_TCP WAGO-I/O-PRO 32 Elemente

Anhang A - Weitere Bibliotheken

WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 5

ETHERNET_MODBUSMASTER_UDP

WAGO-I/O-PRO 32 Elemente der Bibliothek

Kategorie: Kommunikationsbausteine

Name: 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 Antwort-telegramm des Modbusslaves.

Rückgabewert: Datentyp: Kommentar:

Page 6: ModbusEthernet 04 - WAGO Corporation · Anhang A - Weitere Bibliotheken WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 7 ETHERNET_MODBUSMASTER_TCP WAGO-I/O-PRO 32 Elemente

ETHERNET_MODBUSMASTER_UDP

6 – ModbusEthernet_04.lib ml00101d WAGO-I/O-PRO 32

WAGO-I/O-PRO 32 Elemente der Bibliothek

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.

Page 7: ModbusEthernet 04 - WAGO Corporation · Anhang A - Weitere Bibliotheken WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 7 ETHERNET_MODBUSMASTER_TCP WAGO-I/O-PRO 32 Elemente

Anhang A - Weitere Bibliotheken

WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 7

ETHERNET_MODBUSMASTER_TCP

WAGO-I/O-PRO 32 Elemente der Bibliothek

Kategorie: Kommunikationsbausteine

Name: 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 Antwort-telegramm des Modbusslaves. Bsp.: t#500ms

Page 8: ModbusEthernet 04 - WAGO Corporation · Anhang A - Weitere Bibliotheken WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 7 ETHERNET_MODBUSMASTER_TCP WAGO-I/O-PRO 32 Elemente

ETHERNET_MODBUSMASTER_TCP

8 – ModbusEthernet_04.lib ml00101d WAGO-I/O-PRO 32

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.

Page 9: ModbusEthernet 04 - WAGO Corporation · Anhang A - Weitere Bibliotheken WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 7 ETHERNET_MODBUSMASTER_TCP WAGO-I/O-PRO 32 Elemente

Anhang A - Weitere Bibliotheken

WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 9

ETHERNET_MODBUSMASTER_RTU

WAGO-I/O-PRO 32 Elemente der Bibliothek

Kategorie: Kommunikationsbausteine

Name: 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

WORD Modbusadresse im Slave, an die geschrieben werden soll.

QUANTITY_TO_ WRITE

WORD Anzahl zu schreibender Bits bzw. Worte

TIME_OUT TIME Maximale Wartezeit auf das Antwort-telegramm des Modbusslaves. Bsp.: t#500ms

ptRECEIVE_BUFFER POINTER TO ARRAY[1..3] OF BYTE

Zeiger auf lokalen Datenbereich in dem die gelesenen Daten abgelegt werden.

ptSEND_DATA POINTER TO ARRAY[1..3] OF BYTE

Zeiger auf lokalen Datenbereich in dem die zu schreibenden Daten abgelegt sind.

Page 10: ModbusEthernet 04 - WAGO Corporation · Anhang A - Weitere Bibliotheken WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 7 ETHERNET_MODBUSMASTER_TCP WAGO-I/O-PRO 32 Elemente

ETHERNET_MODBUSMASTER_RTU

10 – ModbusEthernet_04.lib ml00101d WAGO-I/O-PRO 32

WAGO-I/O-PRO 32 Elemente der Bibliothek

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

Page 11: ModbusEthernet 04 - WAGO Corporation · Anhang A - Weitere Bibliotheken WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 7 ETHERNET_MODBUSMASTER_TCP WAGO-I/O-PRO 32 Elemente

Anhang A - Weitere Bibliotheken

WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 11

MB_MASTER_SERIAL_OVER_TCP

WAGO-I/O-PRO 32 Elemente der Bibliothek

Kategorie: Kommunikationsbausteine

Name: 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

Eingangsparameter:

Datentyp: Kommentar:

strIP_ADDRESS

STRING IP-Adresse des ModbusSlaves.

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-/Ausgangsparam.:

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 typModbusResponse

TYPE typSER_ModbusResponse : STRUCT Error : WORD; SlaveAddress : BYTE; FunctionCode : BYTE; StartAddress : UINT; Quantity : UINT; Data : ARRAY[0..124] OF WORD; END_STRUCT END_TYPE

Page 12: ModbusEthernet 04 - WAGO Corporation · Anhang A - Weitere Bibliotheken WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 7 ETHERNET_MODBUSMASTER_TCP WAGO-I/O-PRO 32 Elemente

MB_MASTER_SERIAL_OVER_TCP

12 – ModbusEthernet_04.lib ml00101d WAGO-I/O-PRO 32

WAGO-I/O-PRO 32 Elemente der Bibliothek

Ausgangsparameter:

Datentyp: Kommentar:

MB_Error 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

Page 13: ModbusEthernet 04 - WAGO Corporation · Anhang A - Weitere Bibliotheken WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 7 ETHERNET_MODBUSMASTER_TCP WAGO-I/O-PRO 32 Elemente

Anhang A - Weitere Bibliotheken

WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 13

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.

Page 14: ModbusEthernet 04 - WAGO Corporation · Anhang A - Weitere Bibliotheken WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 7 ETHERNET_MODBUSMASTER_TCP WAGO-I/O-PRO 32 Elemente

ETHERNET_CLIENT_OPEN_CLOSE

14 – ModbusEthernet_04.lib ml00101d WAGO-I/O-PRO 32

ETHERNET_CLIENT_OPEN_CLOSE

WAGO-I/O-PRO 32 Elemente der Bibliothek

Kategorie: Kommunikationsbausteine

Name: 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

Page 15: ModbusEthernet 04 - WAGO Corporation · Anhang A - Weitere Bibliotheken WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 7 ETHERNET_MODBUSMASTER_TCP WAGO-I/O-PRO 32 Elemente

Anhang A - Weitere Bibliotheken

WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 15

IP_ADRESSE

WAGO-I/O-PRO 32 Elemente der Bibliothek

Kategorie: Kommunikationsbausteine

Name: 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

Page 16: ModbusEthernet 04 - WAGO Corporation · Anhang A - Weitere Bibliotheken WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 7 ETHERNET_MODBUSMASTER_TCP WAGO-I/O-PRO 32 Elemente

ETHERNET_TERMINAL_MODBUSSLAVE

16 – ModbusEthernet_04.lib ml00101d WAGO-I/O-PRO 32

ETHERNET_TERMINAL_MODBUSSLAVE

WAGO-I/O-PRO 32 Elemente der Bibliothek

Kategorie: Kommunikationsbausteine

Name: 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: Kommentar:

aDATA typETH_SLAVE_DATEN

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:

Page 17: ModbusEthernet 04 - WAGO Corporation · Anhang A - Weitere Bibliotheken WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 7 ETHERNET_MODBUSMASTER_TCP WAGO-I/O-PRO 32 Elemente

Anhang A - Weitere Bibliotheken

WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 17

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.

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

Wort-Nr. Daten

0

1

2

...

255

Page 18: ModbusEthernet 04 - WAGO Corporation · Anhang A - Weitere Bibliotheken WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 7 ETHERNET_MODBUSMASTER_TCP WAGO-I/O-PRO 32 Elemente

ETHERNET_SERVER_OPEN_CLOSE

18 – ModbusEthernet_04.lib ml00101d WAGO-I/O-PRO 32

ETHERNET_SERVER_OPEN_CLOSE

WAGO-I/O-PRO 32 Elemente der Bibliothek

Kategorie: Kommunikationsbausteine

Name: 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

Page 19: ModbusEthernet 04 - WAGO Corporation · Anhang A - Weitere Bibliotheken WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 7 ETHERNET_MODBUSMASTER_TCP WAGO-I/O-PRO 32 Elemente

Anhang A - Weitere Bibliotheken

WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 19

typETH_CLIENT_BUFFER (Datentyp)

WAGO-I/O-PRO 32 Elemente der Bibliothek

Kategorie:

Name: 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

Page 20: ModbusEthernet 04 - WAGO Corporation · Anhang A - Weitere Bibliotheken WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 7 ETHERNET_MODBUSMASTER_TCP WAGO-I/O-PRO 32 Elemente

typETH_SLAVE_DATEN (Datentyp)

20 – ModbusEthernet_04.lib ml00101d WAGO-I/O-PRO 32

typETH_SLAVE_DATEN (Datentyp)

WAGO-I/O-PRO 32 Elemente der Bibliothek

Kategorie:

Name: 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).

Page 21: ModbusEthernet 04 - WAGO Corporation · Anhang A - Weitere Bibliotheken WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 7 ETHERNET_MODBUSMASTER_TCP WAGO-I/O-PRO 32 Elemente

Anhang A - Weitere Bibliotheken

WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 21

typSER_ModbusQuery (Datentyp)

WAGO-I/O-PRO 32 Elemente der Bibliothek

Kategorie:

Name: 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

Page 22: ModbusEthernet 04 - WAGO Corporation · Anhang A - Weitere Bibliotheken WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 7 ETHERNET_MODBUSMASTER_TCP WAGO-I/O-PRO 32 Elemente

typSER_ModbusResponse (Datentyp)

22 – ModbusEthernet_04.lib ml00101d WAGO-I/O-PRO 32

typSER_ModbusResponse (Datentyp)

WAGO-I/O-PRO 32 Elemente der Bibliothek

Kategorie:

Name: 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

Page 23: ModbusEthernet 04 - WAGO Corporation · Anhang A - Weitere Bibliotheken WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 7 ETHERNET_MODBUSMASTER_TCP WAGO-I/O-PRO 32 Elemente

Anhang A - Weitere Bibliotheken

WAGO-I/O-PRO 32 Version 2.1.0 ModbusEthernet_04.lib - 23

enumSER_MB_ERROR (Enumeration)

WAGO-I/O-PRO 32 Elemente der Bibliothek

Kategorie:

Name: 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