
- •INHALTSVERZEICHNIS
- •Rechtliche Grundlagen
- •Urheberschutz
- •Personalqualifikation
- •Schriftkonventionen
- •Das WAGO-I/O-SYSTEM 750
- •Systembeschreibung
- •Allgemein
- •Montage
- •Sicherheitshinweise
- •Mechanisch
- •Elektrische Installation
- •Anschlusstechnik
- •Sicherungswechsel
- •Einspeisung
- •Systemversorgung
- •Feldversorgung
- •Fertigungsnummer
- •Technische Daten
- •Feldbus-Koppler / -Controller
- •Feldbus-Koppler 750-342
- •Beschreibung
- •Hardware
- •Ansicht
- •Geräteeinspeisung
- •Feldbusanschluss
- •Anzeigeelemente
- •Konfigurationsschnittstelle
- •Betriebssystem
- •Prozessabbild
- •Beispiel für ein Eingangsdaten Prozessabbild
- •Beispiel für ein Ausgangsdaten Prozessabbild
- •Aufbau der Prozessdaten für MODBUS/TCP
- •Datenaustausch
- •Speicherbereiche
- •Adressierung
- •Adressierung der Busklemmen
- •Adressbereich
- •Inbetriebnahme eines Feldbusknoten
- •Anschließen von PC und Feldbusknoten
- •BootP-Tabelle
- •BootP Server
- •Funktion des Feldbusknoten testen
- •LED-Signalisierung
- •Blinkcode
- •Feldbusstatus
- •Knotenstatus
- •Status Versorgungsspannung
- •Fehlerverhalten
- •Feldbusausfall
- •Klemmenbusfehler
- •Technische Daten
- •Feldbus-Controller 750-842
- •Beschreibung
- •Hardware
- •Ansicht
- •Feldbusanschluss
- •Anzeigeelemente
- •Konfigurationsschnittstelle und Programmierschnittstelle
- •Betriebsartenschalter
- •Betriebssystem
- •Hochlauf
- •PFC-Zyklus
- •Prozessabbild
- •Datenaustausch
- •Speicherbereiche
- •Adressierung
- •Adressierung der Busklemmen
- •Adressbereiche
- •Absolute Adressierung
- •Datenaustausch Master und Busklemmen
- •Inbetriebnahme eines Feldbusknoten
- •Anschließen von PC und Feldbusknoten
- •BootP-Tabelle
- •BootP Server
- •Funktion des Feldbusknoten testen
- •Programmierung des PFC mit WAGO-I/O-PRO 32
- •ETHERNET.lib
- •EtherTCPmodbus.lib
- •Internal types for EtherTCPmodbus.lib
- •LED-Signalisierung
- •Blinkcode
- •Feldbusstatus
- •Knotenstatus
- •Status Versorgungsspannung
- •Fehlerverhalten
- •Feldbusausfall
- •Klemmenbusfehler
- •Technische Daten
- •Busklemmen
- •Digitale Eingangsklemmen
- •Digitale Ausgangsklemmen
- •Analoge Eingangsklemmen
- •Analoge Ausgangsklemmen
- •Sonderklemmen
- •ETHERNET
- •Netzwerkaufbau - Grundlagen und Richtlinien
- •10Base-T
- •Verkabelung der Feldbusknoten mit 10Base-T Technologie
- •Netzwerk-Topologie
- •Stern-Topologie
- •Baum-Topologie
- •Verkabelungsrichtlinien
- •Koppelmodule
- •Wichtige Begriffe
- •Datensicherheit
- •Echtzeitfähigkeit
- •Shared ETHERNET
- •Predictable ETHERNET
- •Switched ETHERNET
- •Netzwerkkommunikation
- •Buszugriffsverfahren
- •Kommunikationsprotokolle
- •ETHERNET
- •ETHERNET-Adresse (MAC-ID)
- •ETHERNET-Datenpaket
- •IP-Protokoll
- •IP-Adressen
- •Eckdaten
- •Subnetzwerke
- •Subnetz-Maske
- •Gateway
- •IP-Datenpakete
- •TCP-Protokoll
- •TCP-Portnummern
- •TCP-Datenpaket
- •ICMP
- •Anwendungsprotokolle
- •MODBUS/TCP
- •MODBUS TCP-Datenpaket
- •Bootstrap Protokoll (BootP)
- •HyperText Transfer Protokoll (HTTP)
- •Gemeinsame MODBUS-Funktionen
- •Anwendung der Funktionen
- •Beschreibung der Funktionen
- •Funktionscode FC1 (Read Coils)
- •Funktionscode FC2 (Read Input Discretes)
- •Funktionscode FC3 (Read multiple registers)
- •Funktionscode FC4 (Read input registers)
- •Funktionscode FC5 (Write Coil)
- •Funktionscode FC6 (Write single register)
- •Funktionscode FC7 (Read Exception Status)
- •Funktionscode FC15 (Force Multiple Coils)
- •Funktionscode FC16 (Write multiple registers)
- •Funktionscode FC11 (Get comm event counter)
- •Funktionscode FC23 (Read/Write multiple registers)
- •Watchdog (Verhalten bei Feldbusausfall)
- •Diagnose Funktionen
- •Konfigurations-Funktion
- •Firmware-Information
- •Allgemeine-Register
- •Anwendungsbeispiele
- •Test von MODBUS-Protokoll und Feldbus-Knoten
- •Visualisierung und Steuerung mittels SCADA-Software
- •Vorwort
- •Schutzmaßnahmen
- •Klassifikationen gemäß CENELEC und IEC
- •Zoneneinteilung
- •Explosionsschutzgruppen
- •Temperaturklassen
- •Klassifikationen gemäß NEC 500
- •Zoneneinteilung
- •Explosionsschutzgruppen
- •Temperaturklassen
- •Kennzeichnung
- •Errichtungsbestimmungen
- •Glossar
- •Literaturverzeichnis
- •Index

Gemeinsame MODBUS-Funktionen • 279
Netzwerkkommunikation
6 Gemeinsame MODBUS-Funktionen
In dem WAGO Feldbus-Koppler und dem WAGO Feldbus-Controller ETHERNET TCP/IP sind eine Reihe von MODBUS-Funktionen aus der OPEN MODBUS / TCP SPECIFICATION realisiert.
Weitere Informationen
i Weiterführende Informationen zu der OPEN MODBUS / TCP SPECIFICATION finden Sie im Internet unter: http://www.modicon.com/openmbus/standards/openmbus.htm
Mit diesen Funktionen können gewünschte binäre oder analoge Einund Ausgangsdaten aus dem Feldbusknoten gesetzt oder direkt ausgelesen werden.
Funktionscode |
Funktion |
Beschreibung |
|
|
hexadezimal |
|
|
FC1: |
0x01 |
read coils |
Lesen mehrerer Eingangs-Bits |
FC2: |
0x02 |
read input discretes |
Lesen mehrerer Eingangs-Bits |
FC3: |
0x03 |
read multiple registers |
Lesen von mehreren Eingangs-Registern |
FC4: |
0x04 |
read input registers |
Lesen von mehreren Eingangs-Registern |
FC5: |
0x05 |
write coil |
Schreiben eines einzelnen Ausgangs-Bits |
FC6: |
0x06 |
write single register |
Schreiben eines einzelnen Ausgangs-Registers |
FC7: |
0x07 |
read exception status |
Lesen der ersten 8 Eingangsbits |
FC11: |
0x0B |
get comm event counters |
Kommunikationsereigniszähler |
FC15: |
0x0F |
force multiple coils |
Schreiben mehrerer Ausgangs-Bits |
FC16: |
0x0010 |
write multiple registers |
Schreiben mehrerer Ausgangs-Register |
FC23 |
0x0017 |
read/write multiple |
Lesen und Schreiben mehrerer Ausgangs- |
|
|
registers |
Register |
Tab. 6-1: Auflistung der in dem Feldbus-Koppler und Feldbus-Controller realisierten
MODBUS-Funktionen
Um eine gewü nschte Funktion auszufü hren, wird der entsprechende Funktionscode und die Adresse des ausgewählten Einoder Ausgangskanals angegeben.
Beachten
Die aufgefü hrten Beispiele verwenden als Zahlenformat das Hexadezimalsystem (Bsp.: 0x000). Die Adressierung beginnt mit 0.
Je nach Software und Steuerung kann das Format und der Beginn der Adressierung variieren. Alle Adressen sind dann dementsprechend umzurechnen.
Modulares I/O-System
ETHERNET TCP/IP

280 • Gemeinsame MODBUS-Funktionen Anwendung der Funktionen
6.1 Anwendung der Funktionen
Die grafische Ü bersicht zeigt anhand eines exemplarischen Feldbusknoten, mit welchen MODBUS-Funktionen auf Daten des Prozessabbildes zugegriffen werden kann.
DI DI AI AI DI AI DI DI AI
Ethernet
ON
LINK
TxD/RxD
ERROR
|
|
|
I/O |
|
|
|
|
SY STEM |
|
|
|
|
WAGOI/O 750-342 |
|
|
|
Eingangsklemmen 750400 400 |
467 467 400 467 400 400 467 |
|
|
FC 3 (Read Multiple Registers) |
|
||
|
FC 4 (Read Input Registers) |
|
||
|
MODBUS-Adressen |
|
||
|
0x0000 |
|
Word12 |
|
|
0x0001 |
|
Word2 |
|
|
0x0002 |
|
Word12 |
|
1 |
0x0003 |
|
Word2 |
|
0x0004 |
|
Word12 |
|
|
|
|
|
||
|
0x0005 |
|
Word2 |
|
|
0x0006 |
|
Word12 |
|
|
0x0007 |
|
Word2 |
|
3 |
0x0008 |
|
|
|
|
Highbyte |
Lowbyte |
|
|
|
FC 1 (Read Coils) |
|
||
|
FC 2 (Read Input Discretes) |
|
||
|
|
MODBUS- |
|
|
|
|
Adressen |
|
|
|
|
0x0000 |
|
|
|
|
0x0001 |
|
|
|
|
0x0002 |
|
|
|
|
0x0003 |
|
|
|
2 |
0x0004 |
|
|
|
0x0005 |
|
||
|
|
|
||
|
|
0x0006 |
|
|
|
|
0x0007 |
|
|
|
|
0x0008 |
|
|
|
|
0x0009 |
|
DO AO AO
Ausgangsklemmen 750501 550 550
FC 6 (Write Single Register)
FC 16 (Write Multiple Registers)
|
MODBUS-Adressen |
|
|
0x0000 / 0x0200 |
Word12 |
1 |
0x0001 / 0x0201 |
Word2 |
0x0002 / 0x0202 |
|
|
|
Word12 |
|
|
0x0003 / 0x0203 |
Word2 |
3 |
0x0004 / |
|
0x0204 |
||
|
Highbyte Lowbyte
FC 3 (Read Multiple Registers)
FC 4 (Read Input Registers)
|
MODBUS-Adressen |
|
|
|
0x0200 |
Word12 |
|
|
Word2 |
||
1 |
0x0201 |
||
|
|||
0x0202 |
Word12 |
||
|
|||
|
0x0203 |
Word2 |
|
3 |
0x0204 |
|
|
|
Highbyte |
Lowbyte |
FC 5 (Write Coil)
FC 15 (Force Multiple Coils)
MODBUS-Adressen
0x0000 / 0x0200
2
0x0001 / 0x0201
FC 1 (Read Coils)
FC 2 (Read Input Discretes)
|
MODBUS-Adressen |
|
|
|
|
|
|
|
|
|
|
2 |
0x0200 |
|
|
|
|
|
|
|
|
|
|
|
0x0201 |
|
|
|
|
|
|
|
|
|
|
Abb. 6-1: Anwendung der MODBUS-Funktionen fü r Koppler und Controller |
|
|
G012918d |
Beachten
Es ist sinnvoll, auf die analogen Signale mit Register-Funktionen und auf die binären Signale mit Coil-Funktionen zuzugreifen.
Wenn auch auf die binären Signale mit Register-Funktionen lesend bzw. schreibend zugegriffen wird, verschieben sich die Adressen, sobald weitere analoge Klemmen nachgerü stet werden.
Modulares I/O-System
ETHERNET TCP/IP

Gemeinsame MODBUS-Funktionen • 281
Beschreibung der Funktionen
6.2 Beschreibung der Funktionen
Alle MODBUS-Funktionen, die in dem WAGO ETHERNET TCP/IP FeldbusKoppler und –Controller realisiert sind, werden in der folgenden Weise ausgefü hrt:
Mit der Eingabe eines Funktionscodes stellt der MODBUS TCP-Master (z. B. PC) einen entsprechenden Request (Anfrage) an den Koppler/Controller des Feldbusknoten.
Daraufhin gibt der Koppler/Controller eine Antwort als Response-Telegramm an den Master zurü ck.
Erhält der Koppler/Controller einen fehlerhaften Request, sendet er ein FehlerTelegramm (Exception) an den Master.
Dabei hat der in der Exception befindliche Exception Code die folgende Bedeutung:
Exception Code |
Bedeutung |
0x01 |
Illegal Function |
|
|
0x02 |
Illegal Data Address |
|
|
0x03 |
Illegal Data Value |
|
|
0x04 |
Slave Device Failure |
|
|
In den anschließenden Kapiteln wird fü r jeden Funktionscode der Telegrammaufbau von Request, Response und Exception mit Beispielen beschrieben.
Hinweis
Bei den Read-Funktionen (FC1 – FC 4) kö nnen zusätzlich die Ausgänge geschrieben und zurü ckgelesen werden, indem ein Offset von 200hex (0x0200) zu der MODBUS-Adresse dazu addiert wird.
Modulares I/O-System
ETHERNET TCP/IP

282 • Gemeinsame MODBUS-Funktionen
Funktionscode FC1 (Read Coils)
6.2.1 Funktionscode FC1 (Read Coils)
Diese Funktion liest den Inhalt mehrerer Eingangsbits (Digitaler Eingänge).
Aufbau des Requests
Die Anfrage bestimmt die Startadresse und die Anzahl der Bits, die gelesen werden sollen.
Beispiel: Eine Anfrage, durch die die Bits 0 bis 7 gelesen werden sollen.
Byte |
Feldname |
Beispiel |
Byte 0, 1 |
Transaction identifier |
0x0000 |
|
|
|
Byte 2, 3 |
protocol identifier |
0x0000 |
|
|
|
Byte 4, 5 |
length field |
0x0006 |
|
|
|
Byte 6 |
unit identifier |
0x01 nicht verwendet |
|
|
|
Byte 7 |
MODBUS function code |
0x01 |
|
|
|
Byte 8, 9 |
reference number |
0x0000 |
|
|
|
Byte 10, 11 |
Bit count |
0x0008 |
|
|
|
Aufbau der Response
Die aktuellen Werte der abgefragten Bits werden in das Datenfeld gepackt. Eine 1 entspricht dabei dem Zustand ON und eine 0 dem Zustand OFF. Das niederwertigste Bit des ersten Datenbytes enthält das erste Bit der Anfrage. Die anderen folgen aufsteigend. Falls die Anzahl der Eingänge kein Vielfaches von 8 ist, werden die restlichen Bits des letzten Datenbytes mit Nullen aufgefü llt
Byte |
Feldname |
Beispiel |
..... |
|
|
|
|
|
Byte 7 |
MODBUS function code |
0x01 |
|
|
|
Byte 8 |
Byte count |
0x01 |
|
|
|
Byte 9 |
Bit values |
0x12 |
|
|
|
Der Status der Eingänge 7 bis 0 wird als Byte-Wert 0x12 oder binär 0001 0010 angezeigt. Eingang 7 ist das hö chstwertige Bit dieses Bytes und Eingang 0 das niederwertigste. Die Zuordnung erfolgt damit von 7 bis 0 mit
OFF-OFF-OFF-ON-OFF-OFF-ON-OFF. |
|
||||||||
Bit: |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
|
Coil: |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
Aufbau der Exception |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
||
Byte |
|
Feldname |
|
|
|
|
Beispiel |
||
..... |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
Byte 7 |
|
MODBUS function code |
0x81 |
||||||
|
|
|
|
|
|
|
|||
Byte 8 |
|
Exception code |
|
|
|
0x01 oder 0x02 |
|||
|
|
|
|
|
|
|
|
|
|
Modulares I/O-System
ETHERNET TCP/IP