Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
12
Добавлен:
11.10.2020
Размер:
4.07 Mб
Скачать

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

Соседние файлы в папке 750-842