Beschreibung ModbusEthernet_03-.lib

Transcription

Beschreibung ModbusEthernet_03-.lib
ML00100d.doc
EthernetModbus_03.lib
WAGO-I/O-PRO 32 Bibliothek
ModbusEthernet_03.lib
Überblick
Die Library ModbusEthernet_03.lib stellt dem Anwender die beiden
Funktionsbausteine ETHERNET_MODBUSMASTER_UDP und
ETHERNET_MODBUSMASTER_TCP zur Verfügung.
Mit diesen Bausteinen läßt sich ein Datenaustausch mit mehreren ModbusSlaves herstellen.
Der Baustein ETHERNET_MODBUSMASTER_UDP sollte bevorzugt
eingesetzt werden, da dieser einen schnelleren Datentransfer ermöglicht.
Abhängigkeiten
Die Bausteine sind Anwenbar für Ethernet-Controller 750-842 ab
Firmwarestand 02.02.00(04). Diese Versionsangabe kann mit dem InternetExplorer via IP-Adresse des Controllers abgerufen werden.
Verwendete Librarys:
Nr.
Bezeichnung
1
ethernet.lib
Inhalt
ETHERNET_MODBUSMASTER_UDP.................................................... 2
ETHERNET_MODBUSMASTER_TCP .................................................... 4
ETHERNET_MODBUSMASTER_RTU.................................................... 6
ETHERNET_CLIENT_OPEN_CLOSE...................................................... 8
IP_ADRESSE .............................................................................................. 9
WAGO-I/O-PRO 32
A-1
EthernetModbus_03.lib
ML00100d.doc
ETHERNET_MODBUSMASTER_UDP
WAGO-I/O-PRO 32 Elemente der Bibliothek
Kategorie:
Name:
Typ:
Name der Bibliothek:
Anwendbar für:
Eingangsparameter:
strIP_ADDRESS
bUNIT_ID
Datentyp:
STRING
BYTE
bFUNCTION_CODE
BYTE
wREAD_ADDRESS
WORD
wREAD_QUANTITY
ptREAD_DATA
WORD
POINTER
TO BYTE
WORD
wWRITE_ADDRESS
wWRITE_QUANTITY
ptSEND_DATA
A-2
ETHERNET_MODBUSMASTER_UDP
Funktion
Funktionsblock X Programm
ModbusEthernet_03.lib
Feldbus-Controller 750-842
ab Firmware: 02.02.00(04)
xSTART
xRESET
tTIME_OUT
WORD
POINTER
TO BYTE
BOOL
BOOL
TIME
Rückgabewert:
Datentyp:
Kommentar:
IP-Adresse des ModbusSlaves.
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:
WAGO-I/O-PRO 32
ML00100d.doc
EthernetModbus_03.lib
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 – Succesful
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_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.
WAGO-I/O-PRO 32
A-3
EthernetModbus_03.lib
ML00100d.doc
ETHERNET_MODBUSMASTER_TCP
WAGO-I/O-PRO 32 Elemente der Bibliothek
Kategorie:
Name:
Typ:
Name der Bibliothek:
Anwendbar für:
Eingangsparameter:
strIP_ADDRESS
bUNIT_ID
Datentyp:
STRING
BYTE
bFUNCTION_CODE
BYTE
wREAD_ADDRESS
WORD
wREAD_QUANTITY
ptREAD_DATA
WORD
POINTER
TO BYTE
WORD
wWRITE_ADDRESS
wWRITE_QUANTITY
ptSEND_DATA
A-4
ETHERNET_MODBUSMASTER_TCP
Funktion
Funktionsblock X Programm
ModbusEthernet_03.lib
Feldbus-Controller 750-842
ab Firmware: 02.02.00(04)
xSTART
xRESET
tTIME_OUT
WORD
POINTER
TO BYTE
BOOL
BOOL
TIME
Rückgabewert:
Datentyp:
Kommentar:
IP-Adresse des ModbusSlaves.
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
Kommentar:
WAGO-I/O-PRO 32
ML00100d.doc
EthernetModbus_03.lib
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 – Succesful
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.
WAGO-I/O-PRO 32
A-5
EthernetModbus_03.lib
ML00100d.doc
ETHERNET_MODBUSMASTER_RTU
WAGO-I/O-PRO 32 Elemente der Bibliothek
Kategorie:
Name:
Typ:
Name der Bibliothek:
Anwendbar für:
ETHERNET_MODBUSMASTER_RTU
Funktion
Funktionsblock X Programm
ModbusEthernet_03.lib
Feldbus-Controller 750-842
ab Firmware: 02.02.00(04)
Eingangsparameter: Datentyp:
SOCKET
WORD
UNIT_ID
BYTE
FUNCTION_CODE
BYTE
READ_REFERENCE
WORD
QUANTITY_TO_
READ
WRITE_
REFERENCE
QUANTITY_TO_
WRITE
TIME_OUT
WORD
WORD
WORD
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
ptRECEIVE_BUFFER POINTER TO Zeiger auf lokalen Datenbereich in dem die
ARRAY[1..3] gelesenen Daten abgelegt werden.
OF BYTE
ptSEND_DATA
POINTER TO Zeiger auf lokalen Datenbereich in dem die
ARRAY[1..3] zu schreibenden Daten abgelegt sind.
OF BYTE
START_FUNCTION
BOOL
Auslösen eines Modbustelegrammes
RESET
BOOL
Rücksetzen der internen Daten
A-6
TIME
WAGO-I/O-PRO 32
ML00100d.doc
EthernetModbus_03.lib
WAGO-I/O-PRO 32 Elemente der Bibliothek
Rückgabewert:
ERROR
Datentyp:
WORD
READY
BOOL
RESPONSE_UNIT_ID
BYTE
Kommentar:
0x0000 – Succesful
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
WAGO-I/O-PRO 32
A-7
EthernetModbus_03.lib
ML00100d.doc
ETHERNET_CLIENT_OPEN_CLOSE
WAGO-I/O-PRO 32 Elemente der Bibliothek
Kategorie:
Name:
Typ:
Name der Bibliothek:
Anwendbar für:
ETHERNET_CLIENT_OPEN_CLOSE
Funktion
Funktionsblock X Programm
ModbusEthernet_03.lib
Feldbus-Controller 750-842
ab Firmware: 02.02.00(04)
Eingangsparameter: Datentyp:
EN
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
A-8
WAGO-I/O-PRO 32
ML00100d.doc
EthernetModbus_03.lib
IP_ADRESSE
WAGO-I/O-PRO 32 Elemente der Bibliothek
Kategorie:
Name:
Typ:
Name der Bibliothek:
Anwendbar für:
IP_ADRESSE
Funktion X
Funktionsblock
ModbusEthernet_03.lib
Feldbus-Controller 750-842
ab Firmware: 02.02.00(04)
Programm
Eingangsparameter: Datentyp:
IP_ADR
STRING
Kommentar:
IP-Adresse der Gegenstelle
(Modbus-Slave)
Rückgabewert:
IP_ADR
Kommentar:
IP-Adresse der Gegenstelle (numerisch)
Datentyp:
WORD
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
A-9

Documents pareils