Date post: | 13-Apr-2018 |
Category: |
Documents |
Upload: | truonghanh |
View: | 283 times |
Download: | 9 times |
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
ETHERNET_CLIENT
2 – ModbusEthernet_04.lib ml00101d WAGO-I/O-PRO 32
[blank]
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
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.
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:
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.
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
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.
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.
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
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
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
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.
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
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
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:
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
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
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
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).
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
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
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