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