73
Anwendungshinweis MODBUS mit WAGO-Ethernet Kopplern und -Controllern A300003, Deutsch Version 2.1.0

a300003 de - Modbus mit WAGO Ethernet Kopplern und … · Einleitung • 7 a300003 2 Einleitung Dieser Anwendungshinweis zeigt die Nutzung des MODBUS-Protokolls in Verbindung mit

  • Upload
    ngotruc

  • View
    237

  • Download
    1

Embed Size (px)

Citation preview

Anwendungshinweis

MODBUS

mit WAGO-Ethernet Kopplern und - Controllern

A300003, Deutsch Version 2.1.0

2 • Impressum

a300003

Impressum

Copyright 2015 by WAGO Kontakttechnik GmbH & Co. KG Alle Rechte vorbehalten.

WAGO Kontakttechnik GmbH & Co. KG Hansastraße 27 D-32423 Minden

Tel.: +49 (0) 571/8 87 – 0 Fax: +49 (0) 571/8 87 – 1 69

E-Mail: [email protected]

Web: http://www.wago.com

Technischer Support Tel.: +49 (0) 571/8 87 – 5 55 Fax: +49 (0) 571/8 87 – 85 55

E-Mail: [email protected]

Es wurden alle erdenklichen Maßnahmen getroffen, um die Richtigkeit und Vollständigkeit der vorliegenden Dokumentation zu gewährleisten. Da sich Fehler, trotz aller Sorgfalt, nie vollständig vermeiden lassen, sind wir für Hin-weise und Anregungen jederzeit dankbar.

Wir weisen darauf hin, dass die im Dokument verwendeten Soft- und Hard-warebezeichnungen und Markennamen der jeweiligen Firmen im Allgemeinen einem Warenzeichenschutz, Markenschutz oder patentrechtlichem Schutz un-terliegen.

Inhalt • 3

a300003

INHALTSVERZEICHNIS

1 Wichtige Erläuterungen ............................................................................ 4

2 Einleitung .................................................................................................... 7 2.1 Die IEC-61131-3-Adressen .................................................................... 9

2.2 Aufbau der Prozessabbilder ................................................................. 11

3 WAGO Controller 750-88x als MODBUS-Slave .................................. 13 3.1 Beispiel FC15(Force multiple coils) .................................................... 16

3.2 Beispiel: FC22 (Mask write) ................................................................ 16

3.3 Beispiel FC16(Write multiple register) ............................................... 17

4 WAGO-Controller als MODBUS-Master ............................................. 18

4.1 MODBUS-Master-Konfigurator .......................................................... 18

4.2 CODESYS-Bibliotheken ..................................................................... 19

5 PC-Anwendung als MODBUS-Master .................................................. 20

5.1 WagoModbusNet ................................................................................. 20

5.2 MBT.dll ................................................................................................ 21

6 Anhang A: Das MODBUS-Protokoll ..................................................... 22

6.1 FC1 (Read Coils) ................................................................................. 24

6.2 FC2 (Read Input Discretes) .................................................................. 25

6.3 FC3 (Read multiple registers) .............................................................. 26

6.4 FC4 (Read input registers) ................................................................... 27

6.5 FC5 (Write Coil) .................................................................................. 28

6.6 FC6 (Write single register) .................................................................. 29

6.7 FC11 (Get comm event counter) .......................................................... 30

6.8 FC15 (Force Multiple Coils) ................................................................ 31

6.9 FC16 (Write multiple registers) ........................................................... 32

6.10 FC22 (Mask Write Register) ................................................................ 33

6.11 FC23 (Read/Write multiple registers) .................................................. 34

7 Anhang B: Gerätespezifische Prozessabbilder ...................................... 35

7.1 Feldbuskoppler 750-342 ...................................................................... 35

7.2 Feldbuskoppler 750-352 ...................................................................... 40

7.3 Feldbuskoppler 767-1301 .................................................................... 43

7.4 Programmierbarer Feldbuscontroller 750-842 ..................................... 48

7.5 Programmierbarer Feldbuscontroller 750-88x ..................................... 54

7.6 PFC200 ................................................................................................ 64

8 Anhang C: Nützliche Werkzeuge ........................................................... 70

8.1 CODESYS-Steuerungskonfiguration .................................................. 70

8.2 „Wireshark“ ......................................................................................... 72

4 • Wichtige Erläuterungen

a300003

1 Wichtige Erläuterungen

Um dem Anwender eine schnelle Installation und Inbetriebnahme der be-schriebenen Geräte zu gewährleisten, ist es notwendig, die nachfolgenden Hinweise und Erläuterungen sorgfältig zu lesen und zu beachten.

1.1 Rechtliche Grundlagen

1.1.1 Urheberschutz

Dieses Dokument, einschließlich aller darin befindlichen Abbildungen, ist ur-heberrechtlich geschützt. Jede Weiterverwendung dieses Dokumentes, die von den urheberrechtlichen Bestimmungen abweicht, ist nicht gestattet. Die Reproduktion, Übersetzung in andere Sprachen, sowie die elektronische und fototechnische Archivierung und Veränderung bedarf der schriftlichen Genehmigung der WAGO Kontakttechnik GmbH & Co. KG, Minden. Zuwi-derhandlungen ziehen einen Schadenersatzanspruch nach sich.

Die WAGO Kontakttechnik GmbH & Co. KG behält sich Änderungen, die dem technischen Fortschritt dienen, vor. Alle Rechte für den Fall der Patenterteilung oder des Gebrauchmusterschutzes sind der WAGO Kontakttechnik GmbH & Co. KG vorbehalten. Fremdproduk-te werden stets ohne Vermerk auf Patentrechte genannt. Die Existenz solcher Rechte ist daher nicht auszuschließen.

1.1.2 Personalqualifikation

Der in diesem Dokument beschriebene Produktgebrauch richtet sich aus-schließlich an Fachkräfte mit einer Ausbildung in der SPS-Programmierung, Elektrofachkräfte oder von Elektrofachkräften unterwiesene Personen, die au-ßerdem mit den geltenden Normen vertraut sind. Für Fehlhandlungen und Schäden, die an WAGO-Produkten und Fremdprodukten durch Missachtung der Informationen dieses Dokumentes entstehen, übernimmt die WAGO Kontakttechnik GmbH & Co. KG keine Haftung.

1.1.3 Bestimmungsgemäßer Gebrauch

Die Komponenten werden ab Werk für den jeweiligen Anwendungsfall mit ei-ner festen Hard- und Softwarekonfiguration ausgeliefert. Änderungen sind nur im Rahmen der in dem Dokument aufgezeigten Möglichkeiten zulässig. Alle anderen Veränderungen an der Hard- oder Software, sowie der nicht bestim-mungsgemäße Gebrauch der Komponenten, bewirken den Haftungsausschluss der WAGO Kontakttechnik GmbH & Co. KG.

Wünsche an eine abgewandelte bzw. neue Hard- oder Softwarekonfiguration richten Sie bitte an WAGO Kontakttechnik GmbH & Co. KG.

Wichtige Erläuterungen • 5

a300003

1.2 Gültigkeitsbereich

Dieser Anwendungshinweis basiert auf die genannte Hard- und Software der jeweiligen Hersteller sowie auf die zugehörige Dokumentation. Daher gilt die-ser Anwendungshinweis nur für die beschriebene Installation. Neue Hard- und Softwareversionen erfordern eventuell eine geänderte Hand-habung.

Beachten Sie die ausführliche Beschreibung in den jeweiligen Handbüchern.

1.3 Symbole

GEFAHR

Warnung vor Personenschäden! Kennzeichnet eine unmittelbare Gefährdung mit hohem Risiko, die Tod oder schwere Körperverletzung zur Folge haben wird, wenn sie nicht vermieden wird.

GEFAHR

Warnung vor Personenschäden durch elektrischen Strom! Kennzeichnet eine unmittelbare Gefährdung mit hohem Risiko, die Tod oder schwere Körperverletzung zur Folge haben wird, wenn sie nicht vermieden wird.

WARNUNG

Warnung vor Personenschäden! Kennzeichnet eine mögliche Gefährdung mit mittlerem Risiko, die Tod oder (schwere) Körperverletzung zur Folge haben kann, wenn sie nicht vermie-den wird.

VORSICHT

Warnung vor Personenschäden! Kennzeichnet eine mögliche Gefährdung mit geringem Risiko, die leichte oder mittlere Körperverletzung zur Folge haben könnte, wenn sie nicht ver-mieden wird.

ACHTUNG

Warnung vor Sachschäden! Kennzeichnet eine mögliche Gefährdung, die Sachschaden zur Folge haben könnte, wenn sie nicht vermieden wird.

Hinweis

Wichtiger Hinweis! Kennzeichnet eine mögliche Fehlfunktion, die aber keinen Sachschaden zur Folge hat, wenn sie nicht vermieden wird.

Information

Weitere Information Weist auf weitere Informationen hin, die kein wesentlicher Bestandteil die-ser Dokumentation sind (z. B. Internet).

Pos: 12.4 /Dokumentation allgemein/Gliederungselemente/---Seitenwechsel--- @ 3\mod_1221108045078_0.doc @ 21808 @ @ 1

6 • Wichtige Erläuterungen

a300003

Pos: 12.5 /Alle Serien (Allgemeine Module)/Hinweise zur Dokumentation/Zahlensysteme @ 3\mod_1221059454015_6.doc @ 21709 @ 2 @ 1

1.4 Darstellung der Zahlensysteme

Tabelle 1: Darstellungen der Zahlensysteme

Zahlensystem Beispiel Bemerkung Dezimal 100 Normale Schreibweise Hexadezimal 0x64 C-Notation Binär '100'

'0110.0100' In Hochkomma, Nibble durch Punkt getrennt

Pos: 12.6 /Alle Serien (Allgemeine Module)/Hinweise zur Dokumentation/Schriftkonventionen @ 3\mod_1221059521437_6.doc @ 21712 @ 2 @ 1

1.5 Schriftkonventionen

Tabelle 2: Schriftkonventionen

Schriftart Bedeutung kursiv Namen von Pfaden und Dateien werden kursiv dargestellt z. B.:

C:\Programme\WAGO-I/O-CHECK Menü Menüpunkte werden fett dargestellt z. B.:

Speichern > Ein „Größer als“- Zeichen zwischen zwei Namen bedeutet die Aus-

wahl eines Menüpunktes aus einem Menü z. B.: Datei > Neu

Eingabe Bezeichnungen von Eingabe- oder Auswahlfeldern werden fett dar-gestellt z. B.: Messbereichsanfang

„Wert“ Eingabe- oder Auswahlwerte werden in Anführungszeichen darge-stellt z. B.: Geben Sie unter Messbereichsanfang den Wert „4 mA“ ein.

[Button] Schaltflächenbeschriftungen in Dialogen werden fett dargestellt und in eckige Klammern eingefasst z. B.: [Eingabe]

[Taste] Tastenbeschriftungen auf der Tastatur werden fett dargestellt und in eckige Klammern eingefasst z. B.: [F5]

Einleitung • 7

a300003

2 Einleitung

Dieser Anwendungshinweis zeigt die Nutzung des MODBUS-Protokolls in Verbindung mit dem WAGO-I/O-SYSTEM.

Das modulare Konzept des WAGO-I/O-SYSTEMs ermöglicht es eine Viel-zahl von unterschiedlichen I/O-Modulen in nahezu beliebiger Reihenfolge an die Kopfstation anzuhängen. Die Variabilität des Knotenaufbaus verhindert jedoch eine statische Zuordnung von Datenpunkten und MODBUS-Adressen.

Dieser Anwendungshinweis zeigt die Zusammenhänge zwischen Knotenauf-bau, Prozessabbildern, IEC-61131-Adressen und MODBUS-Adressen.

Bildhaft gesprochen handelt es sich bei der MODBUS-Kommunikation um ein „Frage- und Antwortspiel“. Beteiligt sind immer ein MODBUS-Master und ein oder mehrere MODBUS-Slaves.

Der MODBUS-Master stellt eine Anfrage(REQUEST) an den MODBUS-Slave. Die Anfrage umfasst den Funktionscode(FC)“, die MODBUS-Adresse(adr) sowie die Anzahl(count) der Datenobjekte([data]) auf die lesend oder schreibend zugegriffen werden soll. Der Slave verarbeitet diese Anfrage und liefert eine entsprechende Ant-wort(RESPONSE) zurück.

MODBUS kennt nur zwei Datentypen „Coil‘s“ und „Register“. Ein „Coil“ steht für den Zustand eines digitalen Wertes(1Bit). Ein „Register“ ist ein 16Bit(WORD) breiter Analogwert.

8 • Einleitung

a300003

WAGO stellt mit Feldbuskopplern und programmierbare Feldbuscontrollern zwei Typen von Kopfstationen bereit:

− Feldbuskoppler(Remote-IO) ermöglichen den direkten Zugriff auf die Daten der angereihten I/O-Module über eine Feldbusschnittstelle. (z.B. 750-352)

− Feldbuscontroller, sind programmierbare Feldbuskoppler. Die Pro-grammierung erfolgt mit CODESYS 2.3. (z.B. 750-88x, 750-820x). Für den Datenaustausch zwischen SPS-Programm und Feldbus stehen zusätzliche Speicherbereiche(PFC-Variablen und -Merker) zur Verfü-gung.

Mit dem MODBUS-Protokoll lassen sich Speicherplätze im Prozessabbild auslesen oder verändern. Welches I/O-Modul bzw. welche Daten sich jedoch an einer bestimmten MODBUS-Adresse befinden, wird durch den Knotenauf-bau bzw. durch das SPS-Programm bestimmt.

Nach jedem Einschalten der Versorgungsspannung ermittelt ein WAGO- Feldbuskoppler oder programmierbarer Feldbuscontroller den aktuellen Kno-tenaufbau und erstellt daraus Prozessabbilder für Ein- und Ausgänge.

Unterschieden wird dabei zwischen komplexen und digitalen I/O-Modulen:

− Komplexe I/O-Module besitzen eine Datenbreite von mehr als einem Byte; zu ihnen gehören Analogmodule, Zähler, Stepper, serielle Schnittstellen usw. Bei der Erstellung der Prozessabbilder werden im ersten Durchlauf die komplexen I/O-Module entsprechend ihrer physi-kalischen Reihenfolge hinter der Kopfstation im Prozessabbild ange-ordnet.

− Die Daten der digitalen I/O-Module werden in einem zweitem Durch-lauf entsprechend ihrer Position hinter der Kopfstation zu vollen Bytes gepackt und im Prozessabbild direkt hinter denen der „Komplexen“ angeordnet.

Alle WAGO-Feldbuskoppler und programmierbaren Feldbuscontroller besit-zen genau ein Prozessabbild für physikalische Eingänge und eines für physika-lische Ausgänge. In dem jeweiligen Prozessabbild werden die Daten der kom-plexen I/O-Module direkt gefolgt von den Daten der digitalen I/O-Modulen abgelegt.

Die Beschreibung des Aufbaus der Prozessabbilder erfolgt mit den Sprachele-menten der IEC 61131-3. Dies ist notwendig, da das MODBUS-Protokoll le-diglich Dienste auf Grunddatentypen definiert und nicht deren Bedeutung bzw. konkrete Adressen regelt.

Einleitung • 9

a300003

Die Adresszuordnung für die PFC200 Familie sieht etwas anders aus. Auf-grund der Systemeigenschaft, dass IO-Module nicht direkt über den MODBUS zugreifbar sind, tauchen diese auch nicht in der Mapping-Tabelle auf.

Letztlich gilt es noch, eine Besonderheit zu beachten:

So wurde in CODESYS 2.3 das „Monitoring“ von Variablen optimiert. Dies hat zur Folge, das deklarierte, aber im Programmcode unbenutzte Variab-len nicht „gemonitored“ werden und somit im Debugger immer mit dem Wert „0“ angezeigt werden.

2.1 Die IEC-61131-3-Adressen

Im SPS-Programm erfolgt der Zugriff auf das Prozessabbild sowie auf die spe-ziellen Datenbereiche (PFC-Variablen und Merker) mittels einer IEC-61131-3 Adresse.

Die nachfolgende Tabelle zeigt den Aufbau einer Hardwareadresse in der IEC 61131 Syntax.

Soll z.B. der erste digitale Ausgang des Beispielknotens aus Kapitel 2.2 ge-setzt werden, muss die entsprechende Zuweisung wie folgt aussehen:

Zuweisung in FUP:

Zuweisung in ST:

10 • Einleitung

a300003

Der direkte Zugriff mittels Hardwareadresse im Anwenderprogramm ist mög-lich, aber nicht empfehlenswert.

Die Bezeichnung „%QX4.0“ ist nicht sonderlich „sprechend“ und erschwert damit die Lesbarkeit des Programms.

Um die Lesbarkeit zu erhöhen, empfiehlt sich die symbolische Adressierung. Dazu werden Variablen explizit auf einer Hardwareadresse deklariert. Das hat den Vorteil, dass der Ausgang mit einem „sprechenden“ Namen ver-sehen lässt (z.B. Funktionsname oder Betriebsmittelkennzeichnung).

Außerdem muss im Fall einer Adressverschiebung in Folge einer Knotener-weiterung nur die Adresse in der Variablendeklaration angepasst werden:

Variablendeklaration:

Zuweisung in FUP:

Zuweisung in ST:

Auf diese Weise lassen sich auch beliebige typisierte Variablen im Speicher positionieren.

TYPE TMyType : STRUCT wState : WORD; (* actual state *) dwJobAct : DWORD; (* Actual job *) dwJobLast : DWORD; (* Last job *) dwJobNext : DWORD; (* Next job *) xFlagDoIt : BOOL; (* something should happen *) xFlagDone : BOOL; (* something have been done *) END_STRUCT END_TYPE

VAR xMyOutput AT %QX0.2 : BOOL; (* A digital output *) wMyInput AT %IW1 : WORD; (* A analog input *) oInterface AT %MW0 : TMyType;(* A userdefined type *) VAR_END

Dieses Vorgehen kann bei der Realisierung von Softwareschnittstellen zwi-schen Leitsystem und MODBUS-Feldgeräten vorteilhaft sein. Hier ist jedoch Vorsicht geboten, da bedingt durch das DWORD-Alignement Füllbytes einge-fügt werden und somit die Daten u.U. nicht über die erwartete MODBUS-Adresse erreichbar sind.

Einleitung • 11

a300003

2.2 Aufbau der Prozessabbilder

Ein Prozessabbild ist ein Stück Speicher fester Größe, in das die Prozesswerte der I/O-Module eingetragen werden.

Es wird genau ein Prozessabbild für Eingangsdaten und eines für Ausgangs-daten erzeugt. Die Prozesswerte der einzelnen I/O-Module werden abhängig von Typ und Position hinter der Kopfstation in das entsprechende Prozessabbild abgelegt.

Als Typen wird zwischen „digitalen“ und „komplexen“ I/O-Modulen unter-schieden.

Komplexe I/O-Module (häufig auch als „analoge“ bezeichnet) stehen stellver-tretend für alle IO-Module, mit einer Datenbreite von mehr als einem Byte. Beispiel sind: analoge Ein- und Ausgänge, Zählerklemmen, I/O-Module für Winkel- und Wegmessung, Kommunikationsmodule wie RS-232 C usw. oder mit anderen Worten „Alle nicht digitalen I/O-Module“.

Für das Ein- und Ausgangsprozessabbild werden die Daten der I/O-Module in der Reihenfolge ihrer Position nach der Kopfstation in dem jeweiligen Pro-zessabbild abgelegt.

Dabei werden zuerst die „Komplexen“ und im Anschluss daran die „Digita-len“ im Prozessabbild abgelegt.

Die Bits der digitalen IO-Module werden zu Bytes zusammengefügt. Ist die Anzahl der digitalen E/A größer als 8 Bit, beginnt der Controller automatisch ein weiteres Byte.

12 • Einleitung

a300003

Die Datenbreite eines I/O-Modules kann zwischen 0 und 48 Byte betragen. Details finden Sie im Handbuch zur Kopfstation sowie im Handbuch des be-treffenden I/O-Moduls.

Die nachfolgende Tabelle soll diesen Zusammenhang an einem konkreten Bei-spiel zeigen.

I/O Module Input image Output image Description

Type C run1 run2 run3 run4

750-400 1 %IX8.0

2 DI DC24V 3ms: Erstes Digitaleingangsmodul mit einer Datenbreite von zwei Bit. Da die komplexen Eingangsmodule aus „run1“ bereits die ersten 8 Worte belegen, landen die digitalen Eingänge auf niederwertigsten Bits im Wort 8.

2 %IX8.1

750-554 1 %QW0

2 AO 4-20mA: Erstes Analogausgangsmodul mit einer Datenbreite von zwei Worten. Diese Busklemme belegt die ersten zwei Wörter im Ausgangsprozessabbild. 2 %QW1

750-402

1 %IX8.2 4 DI DC24V: Die vier digitalen Eingänge dieses I/O-Moduls werden hinter die zwei der 750-400 gepackt und landen im achten Wort des Eingangsprozessabbildes..

2 %IX8.3

3 %IX8.4

4 %IX8.5

750-504

1 %QX4.0 4 DO DC24V: 1. Busklemme der digitalen Ausgänge. Die IO-Module der analogen Ausgänge belegen bereits die ersten 4 Wörter im Ausgangsprozessabbildes.

2 %QX4.1

3 %QX4.2

4 %QX4.3

750-454 1 %IW0 2 AI 4-20mA:

1. Busklemme der analogen Eingänge. Diese Busklemme belegt also die ersten zwei Wörter der Eingangstabelle. 2 %IW1

750-650 1

%IW2 RS232 C 9600/8/N/1: Das serielle Schnittstellenmodul 750-650 ist ein komple-xes I/O-Modul, das sowohl im Eingangsprozessabbild als auch im Ausgangsprozessabbild mit jeweils 4Byte vertre-ten ist.

%IW3

%QW2

%QW3

750-468

1 %IW4 4 AI 0-10V S.E: Die Busklemme 750-468 folgt den 2 Eingangswörtern der 750-454 und den 2 von der 750-650 belegten Eingangs-wörtern. Die Busklemme 750-467 belegt 4 Eingangswör-ter (4 Kanäle 0-10V).

2 %IW5

3 %IW6

4 %IW7

750-600 End module Die Busklemme 750-600 ist eine passive Busklemme.

C* : Channelcount

In der Tabelle bezeichnet „run1“ bis „run4“ die zeitliche Reihenfolge bei der Zusammenstellung der Prozessabbilder für Eingänge und Ausgänge in der Hochlaufphase eines WAGO-Kopplers oder -Controllers.

WAGO Controller 750-88x als MODBUS-Slave • 13

a300003

3 WAGO Controller 750-88x als MODBUS-Slave

Für den aus den vorherigen Kapiteln bekannten Knotenaufbau soll der Zustand des dritten Kanal, der Digitalausgangsklemme 750-504, über das MODBUS-Protokoll verändert werden.

Grundsätzlich kann jeder der folgenden MODBUS-Dienste dazu verwendet werden, den Zustand des dritten Kanals der Digitalausgangsklemme 750-504 zu verändern.

FC Name Description

FC5 Write coil Schreiben eines einzelnen digitalen Ausgangs FC6 Write single register Schreiben eines einzelnen analogen Ausgangs FC15 Force multiple coils Schreiben mehrerer digitaler Ausgänge FC16 Write multiple registers Schreiben mehrerer analoger Ausgänge FC22 Mask write Maskiertes Schreiben eines Registers FC23 Read/write multiple registers Schreib-Lese-Operation auf analoge Ein-/Ausgänge

Erste Wahl wäre sicher der FC5(Write coil), gezeigt aber wird die Verwen-dung von FC15, FC22 und FC16 für diese Aufgabe.

Es gilt die zur IEC-Adresse korrespondierende MODBUS-Adresse für den gewählten MODBUS-Dienst zu ermitteln.

Mit den Informationen lässt sich dann der MODBUS-Master parametrieren, wäre da nicht die Sache mit der Schreibberechtigung bei programmierbaren Feldbuscontrollern der Serie 750-8xx.

14 • WAGO Controller 750-88x als MODBUS-Slave

a300003

Für Feldbuskoppler ist die Regelung der „Schreibberechtigung“ auf Prozess-abbilder denkbar einfach:

− Physikalische Eingänge können nur gelesen werden.

− Physikalische Ausgänge können geschrieben und gelesen werden.

Für programmierbare Feldbuscontroller gilt im Prinzip dieselbe Regelung. Jedoch hat nur das SPS-Programm die Schreibhoheit über die Ausgänge.

Soll bei laufendem SPS-Programm ein physikalischer Ausgang über den MODBUS verändert werden, muss in der Programmierumgebung die Steue-rungskonfiguration angepasst werden.

Der Ausgang muss dazu explizit dem MODBUS zugeordnet werden.

WAGO Controller 750-88x als MODBUS-Slave • 15

a300003

Die Schreibberechtigung kann entweder dem SPS-Programm, dem MODBUS-Protokoll oder dem Ethernet/IP-Protokoll zugeordnet werden.

Gespeichert wird die Zuordnung der Schreibberechtigung in der Datei „/etc/EA-config.xml“. Weicht der reale Knotenaufbau vom konfiguriertem ab, werden alle I/O-Module dem MODBUS-Protokoll zugeordnet und der IO-LED wird Fehlercode 6 mit Fehlerargument 9 ausgeblinkt.

Fehlercode 6: Projektierungsfehler Knotenkonfiguration Fehlerargument 9: Fehler beim Mappen der Busklemmen zu einem Feldbus Abhilfe: 1) Überprüfen Sie die Datei „/etc/EA-Config.xml“ auf Ihrem Feldbuscontroller. 2) Löschen Sie die Datei „/etc/EA-Config.xml“, zB: mit „Online -> Reset(Ursprung).

Neben physikalische Ein- und Ausgängen verfügen die programmierbaren Feldbuscontroller über einen remanenten Merkerbereich von typisch 24 kB sowie die PFC-IN- und PFC-OU- Bereiche mit einer Größe von jeweils 256 Worten (512 Byte).

Hinweis

PFC200 (750-820x)! Der PFC200 (750-820x) verfügt über 104 kB Merker und 1000 Worte PFC-IN und PFC-OUT.

Der Merkerbereich kann sowohl über das MODBUS-Protokoll als auch durch das SPS-Programm gelesen und geschrieben werden.

Hauptanwendungsgebiet des PFC-IN und PFC-OUT Bereiches ist die Reali-sierung von Schnittstellen zu anderen Steuerungen über das MODBUS-Protokoll. Der PFC-IN-Bereich kann nur von „außen“, d.h. über das MODBUS-Protokoll beschrieben werden. Aus Sicht der SPS handelt es sich bei dem PFC-IN-Bereich um lokale Eingänge, die nur gelesen werden können. Der PFC-OUT-Bereich gleicht physikalischen Ausgängen; er lässt sich nur aus dem SPS-Programm heraus beschreiben.

16 • WAGO Controller 750-88x als MODBUS-Slave

a300003

3.1 Beispiel FC15(Force multiple coils)

Der MODBUS-Dienst FC15 „Force multiple coils“ erlaubt, bis zu 512 digitale Ausgänge mit einem Telegramm zu verändern.

750-881: MODBUS vs. IEC 61131 Addresses for FC15

MODBUSAddress IEC 61131 Description [dec] [hex] Address

0 ... 511

0x0000 ... 0x00FF

Physical-Output-Area (1)

First 512 digital outputs

Da es sich um einen „digitalen“ MODBUS-Dienst handelt, werden die kom-plexen I/O-Module bei der Berechnung der MODBUS-Adresse ignoriert. Die MODBUS-Adresse entspricht der Kanalnummer des digitalen Ausgangs.

Die MODBUS-Adresse des dritten Kanals der ersten Digitalausgangsklemme 750-504 lautet damit „2“. (MODBUS-Adressen beginnen mit „Null“.

3.2 Beispiel: FC22 (Mask write)

Eher akademisch ist der MODBUS-Dienst FC22 „Mask write“, es handelt sich um einen Registerdienst, der es ermöglicht, einzelne Bits in einem Register gezielt zu verändern. Neben der MODBUS-Adresse des Registers wird eine UND-Maske und eine ODER-Maske übergeben und an den MODBUS-Slave gesendet.

Die Bestimmung der MODBUS-Adresse beginnt mit der Auswertung des Knotenaufbaus bzw. mit dem Aufbau des Prozessabbildes der Ausgänge. Dies kann wie im voran gegangenen Kapitel gezeigt, „zu Fuß“ oder bei pro-grammierbaren Feldbuscontrollern mit Unterstützung der CODESYS-Steuerungskonfiguration erfolgen.

Beide Verfahren sollten „%QX4.2“ als IEC-Adresse des 3ten digitalen Aus-gangs der ersten 750-504 liefern. Somit befindet sich der 3te digitale Ausgang der ersten 750-504 im MODBUS-Register mit der Adresse „4“.

Die beiden Maskenregister arbeiten nach folgender Regel:

Result = (Content AND AndMask) OR (OrMask AND (NOT AndMask))

Um den 3. Ausgang zu setzen und alle anderen Ausgänge unverändert zu las-sen, verwenden Sie „0xFFFB als UND-Maske und 0x0004 als ODER-Maske.

Um den 3. Ausgang zurück zu setzen und alle anderen Ausgänge unverändert zu lassen, verwenden Sie „0xFFFB als UND-Maske und 0x0000 als ODER-Maske.

WAGO Controller 750-88x als MODBUS-Slave • 17

a300003

3.3 Beispiel FC16(Write multiple register)

Bei dem MODBUS-Dienst FC16 „Write multiple register“ handelt es sich um einen Registerdienst, der es ermöglicht, bis zu 120 Register mit einem Tele-gramm zu verändern. Neben der MODBUS-Adresse des Registers wird mit „NumberOfPoints“ die Anzahl der zu verändernder Register sowie die Daten selbst an den MODBUS-Slave gesendet.

Die Bestimmung der MODBUS-Adresse beginnt mit der Auswertung des Knotenaufbaus bzw. mit dem Aufbau des Prozessabbildes der Ausgänge. Dies kann wie im vorangegangenen Kapitel gezeigt „zu Fuß“ oder bei pro-grammierbaren Feldbuscontrollern mit Unterstützung der CODESYS-Steuerungskonfiguration erfolgen.

Beide Verfahren sollten „%QX4.2“ als IEC-Adresse des 3ten digitalen Aus-gangs der ersten 750-504 liefern. Die MODBUS-Adresse kann nun der Adresszuordnungstabelle des 750-881 entnommen werden.

750-881: MODBUS vs. IEC 61131 Addresses for FC6, FC16, FC22 and FC23

MODBUSAddress IEC 61131 Description [dec] [hex] Address

0 ... 255

0x0000 ... 0x00FF

%QW0 ... %QW255

Physical Output Area (1) First 256 Words of physical output data

Die Lesart der Adresszuordnungstabelle ist wie folgt: Das Ausgangswort %QW0 erreichen wir über die MODBUS-Adresse 0. Damit ergibt sich MODBUS-Adresse „4“ für %QW4.

Mit diesem Funktionscode kann der digitale Ausgang nicht unabhängig von den anderen gesetzt werden, was bei Verwendung einer „State machine“ im SPS-Programm kein Nachteil sein muss. So können Ausgangsmuster definiert werden und die Anlage/Maschine ist immer in einem bekannten „State“.

Wird nur der dritte Kanal der 750-504 verwendet, so lässt sich der digitale Ausgang mit dem Datum 0x0004 einschalten und mit dem Datum 0x0000 zu-rücksetzen.

18 • WAGO-Controller als MODBUS-Master

a300003

4 WAGO-Controller als MODBUS-Master

Neben der Nutzung als MODBUS-Slave können die programmierbaren Feld-buscontroller auch als MODBUS-Master genutzt werden. Die MODBUS-Master-Funktionalität kann mittels der Programmierumgebung CODESYS konfiguriert werden. Dazu gibt es grundsätzlich zwei Vorgehensweisen, wel-che in den folgenden Kapiteln beschrieben werden.

4.1 MODBUS-Master-Konfigurator

Der MODBUS-Master-Konfigurator ist eine Erweiterungsanwendung für die Programmierumgebung CODESYS 2.3 und wird direkt innerhalb dieser Pro-grammierumgebung eingesetzt. Der MODBUS-Master-Konfigurator ist Be-standteil der WAGO-I/O-PRO-Software (759-333) ab Version 2.3.9.40

Der MODBUS-Master-Konfigurator ermöglicht die einfache Konfiguration eines MODBUS-Netzwerkes. Eine entsprechende Kompatibilitätsliste ist der Dokumentation des MODBUS-Master-Konfigurators zu entnehmen.

Das Anlegen des Netzwerkes in dem MODBUS-Master-Konfigurator erfolgt über Dialogfenster. Für alle MODBUS-fähigen WAGO-Geräte im Netzwerk kann die Konfigura-tion mittels Knotenscan erzeugt werde, dabei werden die angeschlossene IO-Module identifizieren und alle Datenpunkte bestimmt.

Eine detaillierte Beschreibung des MODBUS-Master-Konfigurators finden Sie auf der WAGO-Homepage:

http://www.wago.de/download.esm?file=\download\00281554_0.pdf&name=m07590333_xxxxxxxx_0_de.pdf

WAGO-Controller als MODBUS-Master • 19

a300003

4.2 CODESYS-Bibliotheken

Eine weitere Möglichkeit besteht darin, die MODBUS-Master-Funktionalität mithilfe von vorgefertigten Bibliotheken zu implementieren. Zwar bietet diese Methode weniger Komfortfunktionen (kein Knotenscan möglich), jedoch stellt die Bibliothek Funktionen bereit, die der MODBUS-Master-Konfigurator nicht bietet (z.B. Funktionscode 23).

Für die programmierbaren Feldbuscontroller stehen folgende Bibliotheken zur Verfügung:

Bibliothek Abhängigkeit zu Systembibliothek

Unterstützte Zielsysteme

WagoLibMODBUS_IP_01.lib SysLibSockets.lib 750-841 750-88x 750-820x 758-87x

MODBUSEthernet_04.lib Ethernet.lib 750-841 750-842 750-843

Das folgende Minimalprojekt schreibt mit dem Functioncode „23“ 100 Worte in den MODBUS-Slave mit der IP-Adresse „192.168.1.13“. Mit im selben Te-legramm werden zusätzlich 100 Worte aus dem MODBUS-Slave gelesen.

Eine Anleitung zur Bedienung des Beispiels finden Sie im Beispielprogramm.

20 • PC-Anwendung als MODBUS-Master

a300003

5 PC-Anwendung als MODBUS-Master

Für die Erstellung von Windows-Anwendungen stellt WAGO, unter der Be-stellnummer 759-312, zwei MODBUS-Master Implementierungen zur Verfü-gung.

− WagoModbusNet.cs“, eine C# kodierte DotNet-Code-Klasse.

− „MBT.dll“, eine prozedurale 32Bit-DLL (Nicht auf 64Bit Betriebssystemen lauffähig)

Während „WagoModbusNet“ das DotNet-Framework 2 oder größer erfordert, kann die „MBT.dll“ in nahezu allen Programmiersprachen verwendet werden.

5.1 WagoModbusNet

Mit „WagoModbusNet“ 759-312 stellt WAGO eine C# kodierte DotNet-Code-Klassen-Bibliothek zur Verfügung, die die Funktion eines MODBUS-Masters kapselt.

„WagoModbusNet“ kann in allen Versionen größer oder gleich VisualStu-dio2005 verwendet werden. In C#-Projekten fügen Sie lediglich die Datei „WagoModbusNet.cs“ zum Pro-jekt hinzu. Für alle anderen DotNet-Sprachen wie „vb.net“ fügen Sie eine Refferenz auf die „WagoModbusNet.dll“ zum Projekt hinzu.

Folgende Klassen stehen zur Verfügung:: - wmnModbusMasterTCP - wmnModbusMasterUDP - wmnModbusMaster-RTU(Seriell) - wmnModbusMaster-ASCII(Seriell).

Vom Open-MODBUS-TCP-Protokoll V1.3 werden die Kommandos FC1, FC2, FC3, FC4, FC5, FC6, FC11, FC15, FC16, FC22, und FC23 unterstützt.

Beispiele finden Sie auf der Auslieferungs-CD mit der Bestellnummer 759-312.

PC-Anwendung als MODBUS-Master • 21

a300003

5.2 MBT.dll

Mit der „MBT.dll“ 759-312 stellt WAGO eine prozedurale DLL zur Verfü-gung, die das MODBUS-TCP-Protokoll implementiert.

Die „MBT.dll“ unterstützt 32-Bit-Betriebssysteme wie Windows 95, Windows 98, Windows NT 4.0 (abSP5), Windows 2000 und Windows XP. Für Windows 95 ist eine Aktualisierung auf „Windows Socket 2.0“ erforderlich.

Als Transportprotokoll kann wahlweise TCP oder UDP gewählt werden. WAGO empfiehlt die Verwendung UDP als Transportprotokoll, da dieses ein verbessertes „Time-out-Handling“ ermöglicht.

Die „MBT.dll“ kann aus einer Vielzahl von Programmiersprachen verwendet werden. Auf der Auslieferungs-CD finden sich Beispiele für VBA(Excel), VB6, LabView, C, VC++ 6, Delphi, vb.net und C#.

Vom Open-MODBUS-TCP-Protokoll V1.3 werden die Kommandos FC1, FC2, FC3, FC4, FC7, FC15 und FC16 unterstützt.

Eine Installation oder Registrierung der „MBT.dll“ ist nicht erforderlich. Es genügt, die DLL in das Windows-Standardverzeichnis „\system32“ zu ko-pieren. Wird ein anderes Verzeichnis gewählt, so muss in der Windows-Systemsteuerung bei den Umgebungsvariablen der Pfad zur „MBT.dll“ hinzu-gefügt werden.

Die MBT.dll stellt die folgenden Funktionen bereit: MBTInit(); MBTExit() MBTConnect(); MBTDisconnect() MBTReadRegisters();MBTWriteRegisters() MBTReadCoils();MBTWriteCoils() MBTSwapWord(); MBTSwapDWord()

Alle Funktionen der MBT-Library haben Rückgabewerte, die dem HRESULT-Format entsprechen. Die Funktionen des Socket-APIs geben keine Rückgabe-werte dieses Formates zurück. Die MBT-Library konvertiert diese Rückgabe-werte mittels des Makros HRESULT_FROM_WIN32. Bei der nachfolgenden Beschreibung wird dies mittels „HR von“ gekennzeichnet.

In einem Programm sollte bei Programmstart „MBTInit()“ einmalig aufgeru-fen werden; die Funktion beschafft benötigte Ressourcen und initialisiert die DLL. Mit „MBTConnect()“ wird eine Verbindung zu einem entfernten MODBUS-Slave (Server) aufgebaut. Der Datenaustausch erfolgt mit den Funktionen „MBTWriteRegisters()“, „MBTReadRegisters()“, „MBTWri-teCoils()“ und „MBTReadCoils()“. Sind alle Daten ausgetauscht, wird mit der Funktion „MBTDisconnect()“ die Verbindung abgebaut. Nachfolgen kann ein erneuter Verbindungsaufbau oder das Programmende. Zur sicheren Freigabe der Ressourcen sollte bei Programmende aber auch beim Abbruch des Pro-grammes die Funktion „MBTExit()“ einmalig ausgeführt werden.

22 • Anhang A: Das MODBUS-Protokoll

a300003

6 Anhang A: Das MODBUS-Protokoll

Das seit 1979 bekannte MODBUS Protokoll ist mit MODBUS-TCP heute ein offener „Internet Draft Standard“ der IETF (Internet Engineering Task Force). Die seit der Ursprungsvariante bewährten MODBUS-Dienste und das Objekt-modell wurden unverändert beibehalten und auf TCP/IP als Übertragungsme-dium abgebildet. Kommuniziert wird über den „well known“ Port 502, der für MODBUS reserviert ist. Damit besteht die MODBUS-Familie aus den klassischen MODBUS-RTU und MODBUS-ASCII (asynchrone Übertragung über RS-232 oder RS-485) und MODBUS-TCP (verbindungsorientierte Client-Server-Kommunikation über ETHERNET).

Die WAGO Kontakttechnik GmbH & Co. KG erweitert die MODBUS Fami-lie um MODBUS/UDP. Diese Variante verwendet eine verbindungslose asyn-chrone Client Server-Kommunikation über ETHERNET. MODBUS/UDP löst ein Problem, das entsteht, wenn ein MODBUS-Slave (Server) nicht verfügbar ist (z.B. Versorgungsspannung getrennt). Bei MODBUS-TCP greifen in diesem Fall die Retransmissionsmechanismen des TCP-Stacks, die dazu führen, dass der MODBUS-Master(Client) erst sehr spät feststellt, dass die Gegenstelle nicht verfügbar ist. Bei MODBUS-UDP erfolgt die Time-out-Überwachung auf Applikationsebe-ne (OSI-Schicht 7) und kann dadurch umgehend auf ein fehlendes Response-Telegramm reagieren. Aus diesem Grund empfehlen wir, wenn möglich, den Einsatz der MODBUS-UDP-Variante.

Die MODBUS-Kommunikation erfolgt mit Hilfe von Dienstaufrufen; dazu sendet der MODBUS-Master(Client) ein Request-Telegramm an Port 502 des MODBUS-Slave(Server). Der MODBUS-Slave liefert das Ergebnis des Dienstaufrufes in einem Response-Telegramm an den MODBUS-Master zu-rück.

Die wesentlichsten Elemente eines MODBUS-Telegrammes sind:

Item Description

Function Code (FC) Dienstkennung: Lese- oder Schreiboperation auf Bits oder WORDs Address Startadresse der Operation Count Dienstabhängig die Anzahl Bits oder WORDs(Bytes) [Data] Prozessdaten

Die Dienstkennung bzw. der Funktionscode (FC) bestimmt zunächst, ob es sich um eine Lese- oder Schreiboperation handelt; zusätzlich bestimmt sie den Grunddatentyp, auf den die Operation angewendet werden soll. Damit ist auch die Bedeutung der Parameter „Address“ und „Count“ abhängig vom „Function Code“. So kann „Address :=3“ für das vierte Bit oder Word im Ein- oder Aus-gangsprozessabbild stehen.

Anhang A: Das MODBUS-Protokoll • 23

a300003

Das MODBUS-Protokoll basiert auf den folgenden Grunddatentypen:

Data Type Length Description

Discrete Inputs 1 Bit Digitale Eingänge Coils 1 Bit Digitale Ausgänge Input Register 16 Bit Analoge Eingangsdaten Holding Register 16 Bit Analoge Ausgangsdaten

Für jeden Grunddatentyp sind ein oder mehr „Funktionscodes“ definiert.

FC Name Description

FC1 Read coils Rücklesen mehrerer digitaler Ausgänge FC2 Read inputs discrete Lesen mehrerer digitaler Eingänge FC3 Read holding registers Lesen mehrerer analoger Eingänge(und Ausgänge) FC4 Read input registers Lesen mehrerer analoger Eingänge(und Ausgänge) FC5 Write coil Schreiben eines einzelnen digitalen Ausgangs FC6 Write single register Schreiben eines einzelnen analogen Ausgangs FC11 Get comm event counter Kommunikationsereigniszähler FC15 Force multiple coils Schreiben mehrerer digitaler Ausgänge FC16 Write multiple registers Schreiben mehrerer analoger Ausgänge FC23 Read/write multiple registers Schreib-Lese-Operation auf analoge Ein/Ausgänge

Obwohl digitale und analoge Prozessdaten der WAGO-Feldbuskoppler und programmierbaren Feldbuscontroller in einem Prozessabbild zusammengefasst sind, erreichen Sie mit den „digitalen“ MODBUS-Diensten an Adresse 0 im-mer den ersten digitalen Ausgang bzw. Eingang. Das heißt, die „digitalen“ MODBUS-Dienste ignorieren die komplexen IO-Module. Auf der anderen Seite lässt sich jedoch der Zustand der digitalen Ein- und Ausgänge auch über die sogenannten „Register“-Dienste ermitteln bzw. ver-ändern.

Alle WAGO-Feldbuskoppler und programmierbaren Feldbuscontroller unter-scheiden nicht zwischen den Funktionscodes FC1 und FC2. Beide MODBUS-Dienste nutzen die gleiche Implementierung und erlauben den Zugriff auf digitale Ein- und Ausgangsmodule, sowie dem Merker-Bereich.

Alle WAGO-Feldbuskoppler und programmierbaren Feldbuscontroller unter-scheiden nicht zwischen den Funktionscodes FC3 und FC4. Beide MODBUS-Dienste verwenden die gleiche Implementierung.

Die maximale Telegrammlänge wird durch den Datentyp „BYTE“ des Feldes „Byte count“ bestimmt, der lediglich Werte zwischen 0 und 255 annehmen kann. Damit lassen sich, abhängig vom MODBUS-Dienst, ca. 120 WORDs Nutzdaten transportieren.

Im Anhang B finden Sie die gerätebezogene Gegenüberstellungen von MODBUS-Adressen zu IEC-Adressen.

24 • Anhang A: Das MODBUS-Protokoll

a300003

6.1 FC1 (Read Coils)

Diese Funktion liest den Inhalt mehrerer Eingangs- oder Ausgangsbits.

Aufbau des Requests

Beispiel: Eine Anfrage, durch die die Bits 0 bis 7 gelesen werden sollen.

Byte Field name Example

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. Ei-ne 1 entspricht dabei dem Zustand ON und eine 0 dem Zustand OFF. Das nie-derwertigste 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 Field name Example

.....

Byte 7 MODBUS function code 0x01

Byte 8 Byte count 0x01

Byte 9 Bit values 0x12

Der Status der Eingänge 0 bis 7 wird als Bytewert 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 Field name Example

.....

Byte 7 MODBUS function code 0x81

Byte 8 Exception code 0x01 oder 0x02

Anhang A: Das MODBUS-Protokoll • 25

a300003

6.2 FC2 (Read Input Discretes)

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 Field name Example

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 0x02

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. Ei-ne 1 entspricht dabei dem Zustand ON und eine 0 dem Zustand OFF. Das nie-derwertigste 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 Field name Example

.....

Byte 7 MODBUS function code 0x02

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 Field name Example

.....

Byte 7 MODBUS function code 0x82

Byte 8 Exception code 0x01 oder 0x02

26 • Anhang A: Das MODBUS-Protokoll

a300003

6.3 FC3 (Read multiple registers)

Diese Funktion dient dazu, eine Anzahl von Eingangsworten (auch „Eingangs-register“) zu lesen.

Aufbau des Requests

Die Anfrage bestimmt die Adresse des Startwortes (Startregister) und die An-zahl der Register, die gelesen werden sollen. Die Adressierung beginnt mit 0.

Beispiel: Abfrage der Register 0 und 1.

Byte Field name Example

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 0x03

Byte 8, 9 Reference number 0x0000

Byte 10, 11 Word count 0x0002

Aufbau der Response

Die Registerdaten der Antwort werden als 2 Bytes pro Register gepackt. Das erste Byte enthält dabei die höherwertigen Bits, das zweite die niederwertigen.

Byte Field name Example

.....

Byte 7 MODBUS function code 0x03

Byte 8 Byte count 0x04

Byte 9, 10 Value register 0 0x1234

Byte 11, 12 Value register 1 0x2345

Aus der Antwort ergibt sich, dass Register 0 den Wert 0x1234 und Register 1 den Wert 0x2345 enthält.

Aufbau der Exception

Byte Field name Example

.....

Byte 7 MODBUS function code 0x83

Byte 8 Exception code 0x01 oder 0x02

Anhang A: Das MODBUS-Protokoll • 27

a300003

6.4 FC4 (Read input registers)

Diese Funktion dient dazu, eine Anzahl von Eingangsworten (auch „Eingangs-register“) zu lesen.

Aufbau des Requests

Die Anfrage bestimmt die Adresse des Startwortes (Startregister) und die An-zahl der Register, die gelesen werden sollen. Die Adressierung beginnt mit 0.

Beispiel: Abfrage der Register 0 und 1.

Byte Field name Example

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 0x04

Byte 8, 9 Reference number 0x0000

Byte 10, 11 Word count 0x0002

Aufbau der Response

Die Registerdaten der Antwort werden als 2 Bytes pro Register gepackt. Das erste Byte enthält dabei die höherwertigen Bits, das zweite die niederwertigen.

Byte Field name Example

.....

Byte 7 MODBUS function code 0x04

Byte 8 Byte count 0x04

Byte 9, 10 Value register 0 0x1234

Byte 11, 12 Value register 1 0x2345

Aus der Antwort ergibt sich, dass Register 0 den Wert 0x1234 und Register 1 den Wert 0x2345 enthält.

Aufbau der Exception

Byte Field name Example

.....

Byte 7 MODBUS function code 0x84

Byte 8 Exception code 0x01 oder 0x02

28 • Anhang A: Das MODBUS-Protokoll

a300003

6.5 FC5 (Write Coil)

Diese Funktion dient dazu, ein digitales Ausgangsbit zu schreiben.

Aufbau des Requests

Die Anfrage bestimmt die Adresse des Ausgangsbits. Die Adressierung be-ginnt mit 0.

Beispiel: Setzen des 2. Ausgangsbits (Adresse 1).

Byte Field name Example

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 0x05

Byte 8, 9 Reference number 0x0001

Byte 10 ON/OFF 0xFF

Byte 11 0x00

Aufbau der Response

Byte Field name Example

.....

Byte 7 MODBUS function code 0x05

Byte 8, 9 Reference number 0x0001

Byte 10 Value 0xFF

Byte 11 0x00

Aufbau der Exception

Byte Field name Example

.....

Byte 7 MODBUS function code 0x85

Byte 8 Exception code 0x01, 0x02 oder 0x03

Anhang A: Das MODBUS-Protokoll • 29

a300003

6.6 FC6 (Write single register)

Diese Funktion schreibt einen Wert in ein einzelnes Ausgangswort (auch ”Ausgangsregister”).

Aufbau des Requests

Die Adressierung beginnt mit 0. Die Anfrage bestimmt die Adresse des ersten Ausgangswortes, das gesetzt werden soll. Der zu setzende Wert wird im An-fragedatenfeld bestimmt.

Beispiel: Setzen des zweiten Ausgangskanal (Adresse 0) auf den Wert 0x1234.

Byte Field name Example

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 0x06

Byte 8, 9 Reference number 0x0001

Byte 10, 11 Register value 0x1234

Aufbau der Response

Die Antwort ist ein Echo der Anfrage.

Byte Field name Example

.....

Byte 7 MODBUS function code 0x06

Byte 8, 9 Reference number 0x0001

Byte 10, 11 Register value 0x1234

Aufbau der Exception

Byte Field name Example

.....

Byte 7 MODBUS function code 0x85

Byte 8 Exception code 0x01 oder 0x02

30 • Anhang A: Das MODBUS-Protokoll

a300003

6.7 FC11 (Get comm event counter)

Diese Funktion gibt ein Statuswort und einen Ereigniszähler aus dem Kom-munikationsereigniszähler des Controllers zurück. Die übergeordnete Steue-rung kann mit diesem Zähler feststellen, ob der Controller die Nachrichten fehlerlos behandelt hat.

Nach jeder erfolgreichen Nachrichtenverarbeitung wird der Zähler hochge-zählt. Dieses Zählen erfolgt nicht bei Ausnahmeantworten oder Zählerabfra-gen.

Aufbau des Requests

Byte Field name Example

Byte 0, 1 Transaction identifier 0x0000

Byte 2, 3 Protocol identifier 0x0000

Byte 4, 5 Length field 0x0002

Byte 6 Unit identifier 0x01 nicht verwendet

Byte 7 MODBUS function code 0x0B

Aufbau der Response

Die Antwort enthält ein 2-Byte-Statuswort und einen 2 -yte-Ereigniszähler. Das Statuswort besteht aus Nullen.

Byte Field name Example

.....

Byte 7 MODBUS function code 0x10

Byte 8, 9 Status 0x0000

Byte 10, 11 Event count 0x0003

Der Ereigniszähler zeigt, dass 3 (0x0003) Ereignisse gezählt wurden.

Aufbau der Exception

Byte Field name Example

.....

Byte 7 MODBUS function code 0x85

Byte 8 Exception code 0x01 oder 0x02

Anhang A: Das MODBUS-Protokoll • 31

a300003

6.8 FC15 (Force Multiple Coils)

Durch diese Funktion wird eine Anzahl Ausgangsbits auf 1 oder 0 gesetzt. Die maximale Anzahl ist 256 Bits.

Aufbau des Requests

Der erste Bit wird mit 0 adressiert. Die Anfragenachricht spezifiziert die Bits, die gesetzt werden sollen. Die geforderten 1- oder 0-Zustände werden durch die Inhalte des Anfragedatenfelds bestimmt.

In diesem Beispiel werden 16 Bits, beginnend mit Adresse 0 gesetzt. Die An-frage enthält 2 Bytes mit dem Wert 0xA5F0 also 1010 0101 1111 0000 binär.

Das erste Byte überträgt die 0xA5 an die Adresse 7 bis 0, wobei 0 das nieder-wertigste Bit ist. Das nächste Byte überträgt 0xF0 an die Adresse 15 bis 8, wobei das niederwertigste Bit 8 ist.

Byte Field name Example

Byte 0, 1 Transaction identifier 0x0000

Byte 2, 3 protocol identifier 0x0000

Byte 4, 5 Length field 0x0009

Byte 6 unit identifier 0x01 nicht verwendet

Byte 7 MODBUS function code 0x0F

Byte 8, 9 reference number 0x0000

Byte 10, 11 Bit count 0x0010

Byte 12 Byte count 0x02

Byte 13 Data byte1 0xA5

Byte 14 Data byte2 0xF0

Aufbau der Response

Byte Field name Example

.....

Byte 7 MODBUS function code 0x0F

Byte 8, 9 Reference number 0x0000

Byte 10, 11 Bit count 0x0010

Aufbau der Exception

Byte Field name Example

.....

Byte 7 MODBUS function code 0x8F

Byte 8 Exception code 0x01 oder 0x02

32 • Anhang A: Das MODBUS-Protokoll

a300003

6.9 FC16 (Write multiple registers)

Diese Funktion schreibt Werte in eine Anzahl von Ausgangsworten (auch „Ausgangsregister“).

Aufbau des Requests

Das erste Register wird mit 0 adressiert.

Die Anfragenachricht bestimmt die Register, die gesetzt werden sollen. Die Daten werden als 2 Bytes pro Register gesendet.

Beispiel: Die Daten in den beiden Registern 0 und 1 werden gesetzt.

Byte Field name Example

Byte 0, 1 Transaction identifier 0x0000

Byte 2, 3 Protocol identifier 0x0000

Byte 4, 5 Length field 0x000B

Byte 6 Unit identifier 0x01 nicht verwendet

Byte 7 MODBUS function code 0x10

Byte 8, 9 Reference number 0x0000

Byte 10, 11 Word count 0x0002

Byte 12 Byte count 0x04

Byte 13, 14 Register value 1 0x1234

Byte 15, 16 Register value 2 0x2345

Aufbau der Response

Byte Field name Example

.....

Byte 7 MODBUS function code 0x10

Byte 8, 9 Reference number 0x0000

Byte 10, 11 Word count 0x0002

Aufbau der Exception

Byte Field name Example

.....

Byte 7 MODBUS function code 0x85

Byte 8 Exception code 0x01 oder 0x02

Anhang A: Das MODBUS-Protokoll • 33

a300003

6.10 FC22 (Mask Write Register)

Diese Funktion dient dazu einzelne Bits innerhalb eines Registers zu manipu-lieren.

Aufbau des Requests

Byte Field name Example

Byte 0, 1 Transaction identifier 0x0000

Byte 2, 3 protocol identifier 0x0000

Byte 4, 5 length field 0x0002

Byte 6 Unit identifier 0x01 nicht verwendet

Byte 7 MODBUS function code 0x16

Byte 8-9 Reference number 0x0000

Byte 10-11 AND mask 0x0000

Byte 12-13 OR mask 0xAAAA

Aufbau der Response

Byte Field name Example

.....

Byte 7 MODBUS function code 0x10

Byte 8-9 Reference number 0x0000

Byte 10-11 AND mask 0x0000

Byte 12-13 OR mask 0xAAAA

Aufbau der Exception

Byte Field name Example

.....

Byte 7 MODBUS function code 0x85

Byte 8 Exception code 0x01 oder 0x02

34 • Anhang A: Das MODBUS-Protokoll

a300003

6.11 FC23 (Read/Write multiple registers)

Diese Funktion liest Registerwerte aus und schreibt Werte in eine Anzahl von Ausgangsworten (auch „Ausgangsregister“).

Aufbau des Requests

Beispiel: Die Daten in dem Register 3 werden auf den Wert 0x0123 gesetzt und aus den beiden Registern 0 und 1 werden die Werte 0x0004 und 0x5678 gelesen.

Byte Field name Example

Byte 0, 1 Transaction identifier 0x0000

Byte 2, 3 Protocol identifier 0x0000

Byte 4, 5 Length field 0x000F

Byte 6 Unit identifier 0x01 nicht verwendet

Byte 7 MODBUS function code 0x17

Byte 8-9 Reference number for read 0x0000

Byte 10-11 Word count for read (1-125) 0x0002

Byte 12-13 Reference number for write 0x0003

Byte 14-15 Word count for write (1-100) 0x0001

Byte 16 Byte count (B = 2 x word count for write)

0x02

Byte 17-(B+16)

Register values 0x0123

Aufbau der Response

Byte Field name Example

....

Byte 7 MODBUS function code 0x17

Byte 8 Byte count (B = 2 x word count for read)

0x04

Byte 9-(B+1)

Register values 0x0004 0x5678

Aufbau der Exception

Byte Field name Example

.....

Byte 7 MODBUS function code 0x97

Byte 8 Exception code 0x01 oder 0x02

Anhang B: Gerätespezifische Prozessabbilder • 35

a300003

7 Anhang B: Gerätespezifische Prozessabbilder

7.1 Feldbuskoppler 750-342

7.1.1 Prozessabbild des 750-342

Der 750-342 kann maximal 3 eingehende MODBUS-TCP-Verbindungen be-arbeiten. Der MODBUS-Verbindungs-Watchdog ist im Auslieferungszustand deaktiviert.

Neben der WAGO-Grundausstattung an MODBUS-Diensten unterstützt der 750-342 zusätzlich den Funktionscode FC7 „Read exception status“

FC Name Description

FC1 Read coils Rücklesen mehrerer digitaler Ausgänge FC2 Read inputs discrete Lesen mehrerer digitaler Eingänge FC3 Read holding registers Lesen mehrerer analoger Eingänge (und Ausgänge) FC4 Read input registers Lesen mehrerer analoger Eingänge (und Ausgänge) FC5 Write coil Schreiben eines einzelnen digitalen Ausgangs FC6 Write single register Schreiben eines einzelnen analogen Ausgangs FC7 Read exception status Rücklesen der ersten 8 digitalen Ausgänge FC11 Get comm event counter Kommunikationsereigniszähler FC15 Force multiple coils Schreiben mehrerer digitaler Ausgänge FC16 Write multiple registers Schreiben mehrerer analoger Ausgänge FC23 Read/write multiple registers Schreib-Lese-Operation auf analoge Ein-/Ausgänge

36 • Anhang B: Gerätespezifische Prozessabbilder

a300003

7.1.2 Registerdienste des 750-342

Über die Registerdienste lassen sich die Zustände von komplexen und digita-len I/O-Modulen ermitteln oder verändern.

7.1.2.1 Register lesen mit FC3 und FC4:

750-342: MODBUS vs IEC 61131 Addresses for FC3 and FC4

MODBUSAddress IEC 61131 Description [dec] [hex] Address

0 ... 255

0x0000 ... 0x00FF

%IW0 ... %IW255

Physical Input Area

256 ... 511

0x0100 ... 0x01FF

- MODBUS Exception: “Illegal data address”

512 ... 767

0x0200 ... 0x02FF

%QW0 ... %QW255

Physical Output Area

768 ... 4095

0x0300 ... 0x0FFF

- MODBUS Exception: “Illegal data address”

4096 ... 12287

0x1000 ... 0x2FFF

- Configuration Register (see manual for details)

12288 ... 65535

0x3000 ... 0xFFFF

- MODBUS Exception: “Illegal data address”

7.1.2.2 Register schreiben mit FC6 und FC16:

750-342: MODBUS vs IEC 61131 Addresses for FC6 and FC16

MODBUSAddress IEC 61131 Description [dec] [hex] Address

0 ... 255

0x0000 ... 0x00FF

%QW0 ... %QW255

Physical Output Area

256 ... 511

0x0100 ... 0x01FF

- MODBUS Exception: “Illegal data address”

512 ... 767

0x0200 ... 0x02FF

%QW0 ... %QW255

Physical Output Area

768 ... 4095

0x0300 ... 0x0FFF

- MODBUS Exception: “Illegal data address”

4096 ... 12287

0x1000 ... 0x2FFF

- Configuration Register (see manual for details)

12288 ... 65535

0x3000 ... 0xFFFF

- MODBUS Exception: “Illegal data address”

Anhang B: Gerätespezifische Prozessabbilder • 37

a300003

7.1.3 Digitale MODBUS-Dienste des 750-342

Mit den digitalen MODBUS-Diensten lassen sich ausschließlich die Zustände von digitalen I/O-Modulen ermitteln oder verändern. Komplexe I/O-Module werden ignoriert bzw. sind unerreichbar.

7.1.3.1 Coils lesen mit FC1 und FC2:

750-342: MODBUS Addresses for FC1 and FC2

MODBUSAddress Memory Description [dec] [hex] Area

0 ... 511

0x0000 ... 0x01FF

Physical Input Area First 512 digital inputs

512 ... 1023

0x0200 ... 0x03FF

Physical Output Area First 512 digital outputs

1024 ... 65535

0x0400 ... 0xFFFF

MODBUS Exception: “Illegal data address”

7.1.3.2 Coils schreiben mit FC5 und FC15:

750-342: MODBUS Addresses for FC5 and FC15

MODBUSAddress Memory Description [dec] [hex] Area

0 ... 511

0x0000 ... 0x01FF

Physical Output Area max 512 digital outputs

512 ... 1023

0x0200 ... 0x03FF

Physical Output Area max. 512 digital outputs

1024 ... 65535

0x0400 ... 0xFFFF

MODBUS Exception: “Illegal data address”

38 • Anhang B: Gerätespezifische Prozessabbilder

a300003

7.1.4 MODBUS-Konfigurationsregister des 750-342

Über die Konfigurationsregister lassen sich die Eigenschaften des 750-342 er-mitteln und teilweise verändern.

750-342: MODBUS Configuration Register for FC3, FC4, FC6 and FC16

MODBUSAddress Length Access Description [dec] [hex] [Word] 4096 0x1000 1 R/W MODBUS Watchdog Time (Vielfaches von 100

ms)

4097 0x1001 1 R/W MODBUS-Watchdog-Codiermaske 1-16

4098 0x1002 1 R/W MODBUS-Watchdog-Codiermaske 17-32

4099 0x1003 1 R/W MODBUS-Watchdog-Trigger

4100 0x1004 1 R Minimale Triggerzeit

4101 0x1005 1 R/W MODBUS-Watchdog stoppen (0xAAAA und 0x5555)

4102 0x1006 1 R MODBUS-Watchdog-Status

4103 0x1007 1 R/W MODBUS-Watchdog restart (0x0001)

4104 0x1008 1 R/W MODBUS-Watchdog stoppen (0x55AA oder 0xAA55)

4105 0x1009 1 R/W MODBUS- und HTTP-Port schließen nach Time-out

4106 0x100A 1 R/W MODBUSWatchdog im „Modicon Mode“ starten

4107 0x100B 1 W MODBUS-Watchdog-Parameter speichern

4128 0x1020 1 R LED-Error-Code

4129 0x1021 1 R LED-Error-Argument

4130 0x1022 1 R Anzahl analoger Ausgänge im PA [Bit]

4131 0x1023 1 R Anzahl analoger Eingänge im PA [Bit]

4132 0x1024 1 R Anzahl digitaler Ausgänge im PA [Bit]

4133 0x1025 1 R Anzahl digitaler Eingänge im PA [Bit]

4135 0x1027 1 R Klemmenbuszyklus ausführen

4136 0x1028 1 R/W IP-Konfiguration: BootP(1) or FIX(0)

4137 0x1029 18 R MODBUS-TCP-Statistik

4144 0x1030 1 R/W MODBUS-Verbindungsüberwachung aktivieren

4145 0x1031 3 R MAC-ID der ETHERNET-Schnittstelle

8192 0x2000 1 R 0x0000 (Constant)

8193 0x2001 1 R 0xFFFF (Constant)

8194 0x2002 1 R 0x1234 (Constant)

8195 0x2003 1 R 0xAAAA (Constant)

8196 0x2004 1 R 0x5555 (Constant)

8197 0x2005 1 R 0x7FFF (Constant)

8198 0x2006 1 R 0x8000 (Constant)

8199 0x2007 1 R 0x3FFF (Constant)

8200 0x2008 1 R 0x4000 (Constant)

8208 0x2010 1 R Firmware release

8209 0x2011 1 R Seriencode (750)

8210 0x2012 1 R Gerätecode (342)

8211 0x2013 1 R Spezielle Firmwareversion (0xFFFF)

8212 0x2014 1 R Spezielle Firmwareversion (0xFFFF)

8224 0x2020 1 .. 125 R Gerätekurzbeschreibung

Anhang B: Gerätespezifische Prozessabbilder • 39

a300003

750-342: MODBUS Configuration Register for FC3, FC4, FC6 and FC16

MODBUSAddress Length Access Description [dec] [hex] [Word] 8225 0x2021 8 R Compile-Zeit der Firmwareversion

8226 0x2022 8 R Compile-Datum der Firmwareversion

8227 0x2023 32 R Version des Firmwareloaders (FWL)

8240 0x2030 65 R Beschreibung angeschlossener I/O-Module: 0-64

8245 0x2035 1 R/W Einstellung Prozessabbild (Table 0 register 3)

8246 0x2036 1 .. 17 R Diagnoseinformation Gerät

8256 0x2040 1 W Software Reset (write 0x55AA or 0xAA55)

8260 0x2044 1 W Delete MODBUS Configuration file (write 0x55AA)

40 • Anhang B: Gerätespezifische Prozessabbilder

a300003

7.2 Feldbuskoppler 750-352

7.2.1 Prozessabbild des 750-352

Der 750-352 kann maximal 15 eingehende MODBUS-TCP-Verbindungen be-arbeiten. Der MODBUS-Verbindungs-Watchdog ist im Auslieferungszustand deaktiviert.

Neben der WAGO-Grundausstattung an MODBUS-Diensten unterstützt der 750-352 zusätzlich den Funktionscode FC22 „Mask write“.

FC Name Description

FC1 Read coils Rücklesen mehrerer digitaler Ausgänge FC2 Read inputs discrete Lesen mehrerer digitaler Eingänge FC3 Read holding registers Lesen mehrerer analoger Eingänge (und Ausgänge) FC4 Read input registers Lesen mehrerer analoger Eingänge (und Ausgänge) FC5 Write coil Schreiben eines einzelnen digitalen Ausgangs FC6 Write single register Schreiben eines einzelnen analogen Ausgangs FC11 Get comm event counter Kommunikationsereigniszähler FC15 Force multiple coils Schreiben mehrerer digitaler Ausgänge FC16 Write multiple registers Schreiben mehrerer analoger Ausgänge FC22 Mask write Manipulation einzelner Bits eines Registers FC23 Read/write multiple registers Schreib-Lese-Operation auf analoge Ein-/Ausgänge

Anhang B: Gerätespezifische Prozessabbilder • 41

a300003

7.2.2 Registerdienste des 750-352

7.2.2.1 Register lesen mit FC3 und FC4:

750-352: MODBUS vs. IEC 61131 Addresses for FC3 and FC4

MODBUSAddress IEC 61131 Description [dec] [hex] Address

0 ... 255

0x0000 ... 0x00FF

%IW0 ... %IW255

Physical Input Area (1) First 256 words of physical input data

256 ... 511

0x0100 ... 0x01FF

- MODBUS Exception: “Illegal data address”

512 ... 767

0x0200 ... 0x02FF

%QW0 ... %QW255

Physical Output Area (1) First 256 words of physical output data

768 ... 4095

0x0300 ... 0x0FFF

- MODBUS Exception: “ Illegal data address”

4096 ... 12287

0x1000 ... 0x2FFF

- Configuration Register (see manual for details)

12288 ... 24575

0x3000 ... 0x5FFF

- MODBUS Exception: “ Illegal data address”

24576 ... 25339

0x6000 ... 0x62FB

%IW256 ... %IW1020

Physical Input Area (2) Additional 764 words physical input data

25340 ... 28671

0x62FC ... 0x6FFF

- MODBUS Exception: “ Illegal data address”

28672 ... 29435

0x7000 ... 0x72FB

%QW256 ... %QW1020

Physical Output Area (2) Additional 764 words physical output data

29436 ... 65535

0x72FC ... 0xFFFF

- MODBUS Exception: “ Illegal data address”

7.2.2.2 Register schreiben mit FC6 und FC16:

750-341: MODBUS vs. IEC 61131 Addresses for FC6 and FC16

MODBUSAddress IEC 61131 Description [dec] [hex] Address

0 ... 255

0x0000 ... 0x00FF

%QW0 ... %QW255

Physical Output Area (1) First 256 words of physical output data

256 ... 511

0x0100 ... 0x01FF

- MODBUS Exception: “Illegal data address”

512 ... 767

0x0200 ... 0x02FF

%QW0 ... %QW255

Physical Output Area (1) First 256 words of physical output data

768 ... 4095

0x0300 ... 0x0FFF

- MODBUS Exception: “ Illegal data address”

4096 ... 12287

0x1000 ... 0x2FFF

- Configuration Register (see manual for details)

12288 ... 24575

0x3000 ... 0x5FFF

- MODBUS Exception: “ Illegal data address”

24576 ... 25339

0x6000 ... 0x62FB

%QW256 ... %QW1020

Physical Output Area (2) Additional 764 words physical output data

25340 ... 28671

0x62FC ... 0x6FFF

- MODBUS Exception: “ Illegal data address”

28672 ... 29435

0x7000 ... 0x72FB

%QW256 ... %QW1020

Physical Output Area (2) Additional 764 words physical output data

29437 ... 65535

0x72FC ... 0xFFFF

- MODBUS Exception: “ Illegal data address”

42 • Anhang B: Gerätespezifische Prozessabbilder

a300003

7.2.3 Digitale MODBUS-Dienste des 750-352

Mit den digitalen MODBUS-Diensten lassen sich ausschließlich die Zustände von digitalen I/O-Modulen ermitteln oder verändern. Komplexe I/O-Module werden ignoriert bzw. sind unerreichbar.

7.2.3.1 Coils lesen mit FC1 und FC2:

750-341: MODBUS Addresses for FC1 and FC2

MODBUSAddress Memory Description [dec] [hex] Area

0 ... 511

0x0000 ... 0x01FF

Physical Input Area (1)

First 512 digital inputs

512 ... 1023

0x0200 ... 0x03FF

Physical Output Area (1) First 512 digital outputs

1024 ... 32767

0x0400 ... 0x7FFF

- MODBUS Exception: “Illegal data address”

32768 ... 34295

0x8000 ... 0x85F7

Physical Input Area (2) Starts with the 513th and ends with the 2039th digital input

34296 ... 36863

0x85F8 ... 0x8FFF

MODBUS Exception: “Illegal data address”

36864 ... 38391

0x9000 ... 0x95F7

Physical Output Area (2) Starts with the 513th and ends with the 2039th digital output

38392 ... 65535

0x95F8 ... 0xFFFF

MODBUS Exception: “Illegal data address”

7.2.3.2 Coils schreiben mit FC5 und FC15:

750-341: MODBUS Addresses for FC1 and FC2

MODBUSAddress Memory Description [dec] [hex] Area

0 ... 511

0x0000 ... 0x01FF

Physical Output Area (1)

First 512 digital outputs

512 ... 1023

0x0200 ... 0x03FF

Physical Output Area (1) First 512 digital outputs

1024 ... 32767

0x0400 ... 0x7FFF

- MODBUS Exception: “Illegal data address”

32768 ... 34295

0x8000 ... 0x85F7

Physical Output Area (2) Starts with the 513th and ends with the 2039th digital output

34296 ... 36863

0x85F8 ... 0x8FFF

MODBUS Exception: “Illegal data address”

36864 ... 38391

0x9000 ... 0x95F7

Physical Output Area (2) Starts with the 513th and ends with the 2039th digital output

38392 ... 65535

0x95F8 ... 0xFFFF

MODBUS Exception: “Illegal data address”

Anhang B: Gerätespezifische Prozessabbilder • 43

a300003

7.3 Feldbuskoppler 767-1301

7.3.1 Prozessabbild des 767-1301

Der 767-1301 kann maximal 15 eingehende MODBUS-TCP-Verbindungen bearbeiten. Der MODBUS-Verbindungs-Watchdog ist im Auslieferungszu-stand deaktiviert.

Der 767-1301 verfügt über zwei Betriebsarten für den MODBUS: V1 und V2. Im Auslieferungszustand ist V1 aktiv, welche sich analog zu der MODBUS-Implementierung in der Serie 750 verhält. V2 ist aus Kompatibilitätsgründen zum Firmware-Release 1 des Kopplers enthalten und kann bei Bedarf über das Web-Based-Management aktiviert werden.

FC Name Description

FC1 Read coils Rücklesen mehrerer digitaler Ausgänge FC2 Read inputs discrete Lesen mehrerer digitaler Eingänge FC3 Read holding registers Lesen mehrerer analoger Eingänge (und Ausgänge) FC4 Read input registers Lesen mehrerer analoger Eingänge (und Ausgänge) FC5 Write coil Schreiben eines einzelnen digitalen Ausgangs FC6 Write single register Schreiben eines einzelnen analogen Ausgangs FC11 Get comm event counter Kommunikationsereigniszähler FC15 Force multiple coils Schreiben mehrerer digitaler Ausgänge FC16 Write multiple registers Schreiben mehrerer analoger Ausgänge FC22 Mask write Manipulation einzelner Bits eines Registers FC23 Read/write multiple registers Schreib-Lese-Operation auf analoge Ein-/Ausgänge

44 • Anhang B: Gerätespezifische Prozessabbilder

a300003

7.3.2 Registerdienste des 767-1301

7.3.2.1 Register lesen mit FC3, FC4 und FC23:

767-1301: MODBUS vs. IEC 61131 Addresses for FC3, FC4 and FC23

MODBUSAddress IEC 61131 Description [dec] [hex] Address

0 ... 255

0x0000 ... 0x00FF

%IW0 ... %IW255

Physical Input Area (1) First 256 words of physical input data

256 ... 511

0x0100 ... 0x01FF

- MODBUS Exception: “Illegal data address”

512 ... 767

0x0200 ... 0x02FF

%QW0 ... %QW255

Physical Output Area (1) First 256 words of physical output data

768 ... 4095

0x0300 ... 0x0FFF

- MODBUS Exception: “ Illegal data address”

4096 ... 12287

0x1000 ... 0x2FFF

- Configuration Register (see manual for details)

12288 ... 24575

0x3000 ... 0x5FFF

- MODBUS Exception: “ Illegal data address”

24576 ... 25339

0x6000 ... 0x62FB

%IW256 ... %IW1020

Physical Input Area (2) Additional 764 words physical input data

25340 ... 28671

0x62FC ... 0x6FFF

- MODBUS Exception: “ Illegal data address”

28672 ... 29435

0x7000 ... 0x72FB

%QW256 ... %QW1020

Physical Output Area (2) Additional 764 words physical output data

29436 ... 65535

0x72FC ... 0xFFFF

- MODBUS Exception: “ Illegal data address”

7.3.2.2 Register schreiben mit FC6, FC16, FC22, FC2 3:

767-1301: MODBUS vs. IEC 61131 Addresses for FC6, FC16, FC22, FC23

MODBUSAddress IEC 61131 Description [dec] [hex] Address

0 ... 255

0x0000 ... 0x00FF

%QW0 ... %QW255

Physical Output Area (1) First 256 words of physical output data

256 ... 511

0x0100 ... 0x01FF

- MODBUS Exception: “Illegal data address”

512 ... 767

0x0200 ... 0x02FF

%QW0 ... %QW255

Physical Output Area (1) First 256 words of physical output data

768 ... 4095

0x0300 ... 0x0FFF

- MODBUS Exception: “ Illegal data address”

4096 ... 12287

0x1000 ... 0x2FFF

- Configuration Register (see manual for details)

12288 ... 24575

0x3000 ... 0x5FFF

- MODBUS Exception: “ Illegal data address”

24576 ... 25339

0x6000 ... 0x62FB

%QW256 ... %QW1020

Physical Output Area (2) Additional 764 words physical output data

25340 ... 28671

0x62FC ... 0x6FFF

- MODBUS Exception: “ Illegal data address”

28672 ... 29435

0x7000 ... 0x72FB

%QW256 ... %QW1020

Physical Output Area (2) Additional 764 words physical output data

29437 ... 65535

0x72FC ... 0xFFFF

- MODBUS Exception: “ Illegal data address”

Anhang B: Gerätespezifische Prozessabbilder • 45

a300003

7.3.3 Digitale MODBUS-Dienste des 767-1301

Mit den digitalen MODBUS-Diensten lassen sich ausschließlich die Zustände von digitalen I/O-Modulen ermitteln oder verändern. Komplexe I/O-Module werden ignoriert bzw. sind unerreichbar.

7.3.3.1 Coils lesen mit FC1 und FC2:

767-1301: MODBUS Addresses for FC1 and FC2

MODBUSAddress Memory Description [dec] [hex] Area

0 ... 511

0x0000 ... 0x01FF

Physical Input Area (1)

First 512 digital inputs

512 ... 1023

0x0200 ... 0x03FF

Physical Output Area (1) First 512 digital outputs

1024 ... 32767

0x0400 ... 0x7FFF

- MODBUS Exception: “Illegal data address”

32768 ... 34295

0x8000 ... 0x85F7

Physical Input Area (2) Starts with the 513th and ends with the 2039th digital input

34296 ... 36863

0x85F8 ... 0x8FFF

MODBUS Exception: “Illegal data address”

36864 ... 38391

0x9000 ... 0x95F7

Physical Output Area (2) Starts with the 513th and ends with the 2039th digital output

38392 ... 65535

0x95F8 ... 0xFFFF

MODBUS Exception: “Illegal data address”

7.3.3.2 Coils schreiben mit FC5 und FC15:

767-1301: MODBUS Addresses for FC1 and FC2

MODBUSAddress Memory Description [dec] [hex] Area

0 ... 511

0x0000 ... 0x01FF

Physical Output Area (1)

First 512 digital outputs

512 ... 1023

0x0200 ... 0x03FF

Physical Output Area (1) First 512 digital outputs

1024 ... 32767

0x0400 ... 0x7FFF

- MODBUS Exception: “Illegal data address”

32768 ... 34295

0x8000 ... 0x85F7

Physical Output Area (2) Starts with the 513th and ends with the 2039th digital output

34296 ... 36863

0x85F8 ... 0x8FFF

MODBUS Exception: “Illegal data address”

36864 ... 38391

0x9000 ... 0x95F7

Physical Output Area (2) Starts with the 513th and ends with the 2039th digital output

38392 ... 65535

0x95F8 ... 0xFFFF

MODBUS Exception: “Illegal data address”

46 • Anhang B: Gerätespezifische Prozessabbilder

a300003

7.3.4 MODBUS Konfigurationsregister des 767-1301

Über die Konfigurationsregister lassen sich die Eigenschaften des 750-1301 ermitteln und teilweise verändern.

767-1301: MODBUS Configuration Register for FC3, FC4, FC6 and FC16

MODBUSAddress Length Access Description [dec] [hex] [Word] 4096 0x1000 1 R/W MODBUS Watchdog Time (Vielfaches von 100ms)

4097 0x1001 1 R/W MODBUS-Watchdog-Codiermaske 1-16

4098 0x1002 1 R/W MODBUS-Watchdog-Codiermaske 17-32

4099 0x1003 1 R/W MODBUS-Watchdog-Trigger

4100 0x1004 1 R Minimale Triggerzeit

4101 0x1005 1 R/W MODBUS-Watchdog stoppen (0xAAAA und 0x5555)

4102 0x1006 1 R MODBUS-Watchdog-Status

4103 0x1007 1 R/W MODBUS-Watchdog restart (0x0001)

4104 0x1008 1 R/W MODBUS-Watchdog stoppen (0x55AA oder 0xAA55)

4105 0x1009 1 R/W MODBUS- und HTTP-Port schließen nach Time-out

4106 0x100A 1 R/W MODBUS-Watchdog im „Modicon Mode“ starten

4107 0x100B 1 W MODBUS-Watchdog-Parameter speichern

4128 0x1020 1 - 2 R LED Error-Code, LED Error Argument

4129 0x1021 1 R LED Error Argument

4130 0x1022 1 - 4 R Anzahl analoger Ausgänge im PA [Bit]

4131 0x1023 1 - 3 R Anzahl analoger Eingänge im PA [Bit]

4132 0x1024 1 - 2 R Anzahl digitaler Ausgänge im PA [Bit]

4133 0x1025 1 R Anzahl digitaler Eingänge im PA [Bit]

4136 0x1028 1 R/W IP Configuration: BootP(1), DHCP(2) or FIX(4)

4137 0x1029 9 R MODBUS-TCP-Statistik

4138 0x102A 1 R Anzahl aufgebauter MODBUS-TCP-Verbindungen

4144 0x1030 1 R/W MODBUS-TCP-Time-out (Vielfaches von 100 ms)

4145 0x1031 3 R MAC-ID der ETHERNET-Schnittstelle

8192 0x2000 1 R 0x0000 (Constant)

8193 0x2001 1 R 0xFFFF (Constant)

8194 0x2002 1 R 0x1234 (Constant)

8195 0x2003 1 R 0xAAAA (Constant)

8196 0x2004 1 R 0x5555 (Constant)

8197 0x2005 1 R 0x7FFF (Constant)

8198 0x2006 1 R 0x8000 (Constant)

8199 0x2007 1 R 0x3FFF (Constant)

8200 0x2008 1 R 0x4000 (Constant)

8208 0x2010 1 R Firmwareindex

8209 0x2011 1 R Serienbezeichnung (767)

8210 0x2012 1 R Gerätebezeichnung (1301)

8211 0x2013 1 R Major Firmware version

8212 0x2014 1 R Minor Firmware version

8224 0x2020 16 R Gerätekurzbeschreibung

Anhang B: Gerätespezifische Prozessabbilder • 47

a300003

767-1301: MODBUS Configuration Register for FC3, FC4, FC6 and FC16

MODBUSAddress Length Access Description [dec] [hex] [Word] 8225 0x2021 8 R Compile-Zeit der Firmwareversion

8226 0x2022 8 R Compile-Datum der Firmwareversion

8227 0x2023 32 R Version des Firmware-Loaders (FWL)

8240 0x2030 65 R Beschreibung angeschlossener I/O-Module: 0-64

8256 0x2040 1 W Software Reset (write 0x55AA or 0xAA55)

8257 0x2041 1 W Formatieren des Dateisystems

8258 0x2042 1 W Extrahieren des Dateisystems

8259 0x2043

8345 0x2099 1 R/W MODBUS-Kompatibilitätsmodus 1 = MODBUS V1 (analog zur Serie 750) 2 = MODBUS V2

48 • Anhang B: Gerätespezifische Prozessabbilder

a300003

7.4 Programmierbarer Feldbuscontroller 750-842

7.4.1 Prozessabbild des 750-842

Der 750-842 kann maximal 3 eingehende MODBUS-TCP-Verbindungen gleichzeitig bearbeiten. Der MODBUS-Verbindungs-Watchdog ist im Auslie-ferungszustand deaktiviert. Aus dem SPS-Programm lassen sich maximal zwei TCP-Verbindungen zu entfernten Servern herstellen.

Der 750-842 unterstützt folgende MODBUS-Dienste:

FC Name Description

FC1 Read coils Rücklesen mehrerer digitaler Ausgänge FC2 Read inputs discrete Lesen mehrerer digitaler Eingänge FC3 Read holding registers Lesen mehrerer analogen Eingänge (und Ausgänge) FC4 Read input registers Lesen mehrerer analogen Eingänge (und Ausgänge) FC5 Write coil Schreiben eines einzelnen digitalen Ausgangs FC6 Write single register Schreiben eines einzelnen analogen Ausgangs FC7 Read exception status Rücklesen der ersten 8 digitalen Ausgänge FC11 Get comm event counter Kommunikationsereigniszähler FC15 Force multiple coils Schreiben mehrerer digitaler Ausgänge FC16 Write multiple registers Schreiben mehrerer analogen Ausgänge FC23 Read/write multiple registers Schreib-Lese-Operation auf analoge Ein-/Ausgänge

Anhang B: Gerätespezifische Prozessabbilder • 49

a300003

Mit den Funktionbausteinen „SET_DIGITAL_INPUT_OFFSET“ und „SET_DIGITAL_OUTPUT_OFFSET“ aus der Bibliothek „mod_com.lib“ können die Startadressen der ersten digitalen I/O-Module an WAGO-ETHERNET-Controllern fest vorgegeben werden. Dies erlaubt, Platz für spä-tere Erweiterungen einzuplanen. Die Angabe des OFFSETs erfolgt in Bytes.

Memory area

MODBUS access

PLC access

Description

Physical. Input read read Physikalische Eingänge (%IW0 ... %IW255)

Physical Output read/write read/write Physikalische Ausgänge (%QW0 ... %QW255)

PFC-IN- read/write read Flüchtige SPS-Eingangsvariablen (%IW256 ... %IW511)

PFC-OUT read read/write Flüchtige SPS-Ausgangsvariablen (%QW256 ... %QW511)

Configuration register

read/(write) --- Konfigurationsregister

RETAIN-(NOVRAM)

read/write read/write 8kB remanenter Speicher (%MW0 ... %MW4095)

Beachten Sie, dass die physikalischen Ausgänge sowohl über MODBUS-Dienste als auch aus dem SPS-Programm verändert werden können.

Ein Merksatz für dieses Verhalten könnte lauten:„Der Letzte gewinnt“.

Im 750-842 teilen sich „Merkervariablen“ und „Retain-Variablen“ den glei-chen Speicherplatz im NOVRAM. Dies kann bei Überschneidungen zu unvorhersagbaren Verhalten führen. Verwenden Sie nur einen der beiden Typen in Ihrem CODESYS-Projekt.

50 • Anhang B: Gerätespezifische Prozessabbilder

a300003

7.4.2 Registerdienste des 750-842

7.4.2.1 Register lesen mit FC3, FC4 und FC23:

750-842: MODBUS vs IEC 61131 Addresses for FC3, FC4 and FC23

MODBUSAddress IEC 61131 Description [dec] [hex] Address

0 ... 255

0x0000 ... 0x00FF

%IW0 ... %IW255

Physical Input Area

256 ... 511

0x0100 ... 0x01FF

%QW256 ... %QW511

PFC-OUT-Area Flüchtige SPS-Ausgangsvariablen

512 ... 767

0x0200 ... 0x02FF

%QW0 ... %QW255

Physical Output Area

768 ... 1023

0x0300 ... 0x03FF

%IW256 ... %IW511

PFC-IN-Area Flüchtige SPS-Eingangsvariablen

1024 ... 4095

0x0400 ... 0x0FFF

- MODBUS Exception: “Illegal data address”

4096 ... 12287

0x1000 ... 0x2FFF

- Configuration Register (see manual for details)

12288 ... 16383

0x3000 ... 0x3FFF

%MW0 ... %MW4095

NOVRAM 8kB retain memory

16384 ... 65535

0x4000 ... 0xFFFF

- MODBUS Exception: “Illegal data address”

7.4.2.2 Register schreiben mit FC6, FC16 und FC23:

750-842: MODBUS vs IEC 61131 Addresses for FC6, FC16

MODBUS Address IEC 61131 Description [dec] [hex] Address

0 ... 255

0x0000 ... 0x00FF

%QW0 ... %QW255

Physical Output Area

256 ... 511

0x0100 ... 0x01FF

%IW256 ... %IW511

PFC-IN-Area Flüchtige SPS-Eingangsvariablen

512 ... 767

0x0200 ... 0x02FF

%QW0 ... %QW255

Physical Output Area

768 ... 1023

0x0300 ... 0x03FF

%IW256 ... %IW511

PFC-OUT-Area Flüchtige SPS-Ausgangsvariablen

1024 ... 4095

0x0400 ... 0x0FFF

- MODBUS Exception: “Illegal data address”

4096 ... 8191

0x1000 ... 0x1FFF

- Configuration Register (see manual for details)

8192 ... 12287

0x2000 ... 0x2FFF

- MODBUS Exception: “Illegal data address”

12288 ... 16383

0x3000 ... 0x3FFF

%MW0 ... %MW4095

NOVRAM 8kB retain memory

16384 ... 65535

0x4000 ... 0xFFFF

- MODBUS Exception: “Illegal data address”

Anhang B: Gerätespezifische Prozessabbilder • 51

a300003

7.4.3 Digitale MODBUS-Dienste des 750-842

Mit den digitalen MODBUS-Diensten lassen sich ausschließlich die Zustände von digitalen I/O-Modulen ermitteln oder verändern. Komplexe I/O-Module werden ignoriert bzw. sind unerreichbar.

Im PFC-IN- und PFC-OUT -ereich sowie im Merkerbereich(NVRAM) wirken Coil-Dienste und Registerdienste auf die gleichen Speicherstellen.

Aufgrund des durch den Datentyp „WORD“ eingeschränkten Adressraumes lassen sich nicht alle Bits im 8kB-Merkerbereich durch Coil-Dienste adressie-ren.

7.4.3.1 Coils lesen mit FC1 und FC2:

750-842: MODBUS Addresses for FC1 and FC2

MODBUSAddress Memory Description [dec] [hex] Area

0 ... 511

0x0000 ... 0x01FF

Physical Input Area First 512 digital inputs

512 ... 1023

0x0200 ... 0x03FF

Physical Output Area First 512 digital outputs

1024 ... 4095

0x0400 ... 0x0FFF

- MODBUS Exception: “Illegal data address”

4096 ... 8191

0x1000 ... 0x1FFF

%QX256.0 ...%QX511.15

PFC-OUT-Area Flüchtige SPS-Ausgangsvariablen

8192 ... 12287

0x2000 ... 0x2FFF

%IX256.0 ...%IX511.15

PFC-IN-Area Flüchtige SPS-Eingangsvariablen

12288 ... 65535

0x3000 ... 0xFFFF

%MX0.0 ... %MX3327.15

NOVRAM Retain memory

7.4.3.2 Coils schreiben mit FC5 und FC15:

750-842: MODBUS Addresses for FC5 and FC15

MODBUSAddress Memory Description [dec] [hex] Area

0 ... 511

0x0000 ... 0x01FF

Physical Output Area max 512 digital outputs

512 ... 1023

0x0200 ... 0x03FF

Physical Output Area max 512 digital outputs

1024 ... 4095

0x0400 ... 0x0FFF

- MODBUS Exception: “Illegal data address”

4096 ... 8191

0x1000 ... 0x1FFF

%IX256.0 ...%IX511.15

PFC-IN-Area Flüchtige SPS-Eingangsvariablen

8192 ... 12287

0x2000 ... 0x2FFF

%IX256.0 ...%IX511.15

PFC-IN-Area Flüchtige SPS-Eingangsvariablen

12288 ... 65535

0x3000 ... 0xFFFF

%MX0.0 ... %MX3327.15

NOVRAM Retain memory

52 • Anhang B: Gerätespezifische Prozessabbilder

a300003

7.4.4 MODBUS-Konfigurationsregister des 750-842

Über die Konfigurationsregister lassen sich die Eigenschaften des 750-842 er-mitteln und teilweise verändern.

750-842: MODBUS Configuration Register for FC3, FC4, FC6 and FC16

MODBUSAddress Length Access Description [dec] [hex] [Word] 4096 0x1000 1 R/W MODBUS Watchdog Time (Vielfaches von 100ms)

4097 0x1001 1 R/W MODBUS-Watchdog-Kodiermaske 1-16

4098 0x1002 1 R/W MODBUS-Watchdog-Kodiermaske 17-32

4099 0x1003 1 R/W MODBUS-Watchdog-Trigger

4100 0x1004 1 R Minimale Triggerzeit

4101 0x1005 1 R/W MODBUS-Watchdog stoppen (0xAAAA und 0x5555)

4102 0x1006 1 R MODBUS-Watchdog-Status

4103 0x1007 1 R/W MODBUS-Watchdog restart (0x0001)

4104 0x1008 1 R/W MODBUS-Watchdog stoppen (0x55AA oder 0xAA55)

4105 0x1009 1 R/W MODBUS- und HTTP-Port schließen nach Time-out

4106 0x100A 1 R/W MODBUS-Watchdog im „Modicon Mode“ starten

4107 0x100B 1 W MODBUSWatchdog-Parameter speichern

4128 0x1020 1 R LED Error-Code

4129 0x1021 1 R LED Error-Argument

4130 0x1022 1 R Anzahl analoger Ausgänge im PA [Bit]

4131 0x1023 1 R Anzahl analoger Eingänge im PA [Bit]

4132 0x1024 1 R Anzahl digitaler Ausgänge im PA [Bit]

4133 0x1025 1 R Anzahl digitaler Eingänge im PA [Bit]

4135 0x1027 1 R Klemmenbuszyklus ausführen

4136 0x1028 1 R/W IP-Konfiguration: BootP(1) or FIX(0)

4137 0x1029 18 R MODBUS-TCP-Statistik

4144 0x1030 1 R/W MODBUS-Verbindungsüberwachung aktivieren

4145 0x1031 3 R MAC-ID der ETHERNET-Schnittstelle

4160 0x1040 1 R/W Prozessdaten-Interface

8192 0x2000 1 R 0x0000 (Constant)

8193 0x2001 1 R 0xFFFF (Constant)

8194 0x2002 1 R 0x1234 (Constant)

8195 0x2003 1 R 0xAAAA (Constant)

8196 0x2004 1 R 0x5555 (Constant)

8197 0x2005 1 R 0x7FFF (Constant)

8198 0x2006 1 R 0x8000 (Constant)

8199 0x2007 1 R 0x3FFF (Constant)

8200 0x2008 1 R 0x4000 (Constant)

8208 0x2010 1 R Firmware release

8209 0x2011 1 R Seriencode (750)

8210 0x2012 1 R Gerätecode (842)

8211 0x2013 1 R Spezielle Firmwareversion (0xFFFF)

8212 0x2014 1 R Spezielle Firmwareversion (0xFFFF)

Anhang B: Gerätespezifische Prozessabbilder • 53

a300003

750-842: MODBUS Configuration Register for FC3, FC4, FC6 and FC16

MODBUSAddress Length Access Description [dec] [hex] [Word]

8224 0x2020 1 .. 125 R Gerätekurzbeschreibung

8225 0x2021 8 R Compile-Zeit der Firmwareversion

8226 0x2022 8 R Compile-Datum der Firmwareversion

8227 0x2023 32 R Version des Firmware-Loaders (FWL)

8240 0x2030 65 R Beschreibung angeschlossener I/O-Module: 0-64

8245 0x2035 1 R/W Einstellung Prozessabbild (Table 0 register 3)

8246 0x2036 1 .. 17 R Diagnoseinformation Gerät

8256 0x2040 1 W Software Reset (write 0x55AA or 0xAA55)

8260 0x2044 1 W Delete MODBUS Configuration file (write 0x55AA)

54 • Anhang B: Gerätespezifische Prozessabbilder

a300003

7.5 Programmierbarer Feldbuscontroller 750-88x

7.5.1 Prozessabbild des 750-88x

Die Controller der Serie 750-88x (750-880, 750-881, 750-882, 750-885) kön-nen maximal 15 eingehende MODBUS-TCP-Verbindungen gleichzeitig bear-beiten. Der MODBUS-Verbindungs-Watchdog ist im Auslieferungszustand deaktiviert.

Der Remanentspeicher (RETAIN Memory) ist ein nicht flüchtiger Speicher, d. h. nach einem Spannungsausfall bleiben alle Werte der Merker und Variablen bei-behalten, die explizit mit „VAR RETAIN“ definiert werden.

Anhang B: Gerätespezifische Prozessabbilder • 55

a300003

Der 32 kByte große Speicherbereich teilt sich standardmäßig in einen 16 kByte großen adressierbaren Bereich für die Merker (%MW0 ... %MW8191) und einen 16 kByte großen Retain-Bereich für Variablen ohne Speicherbereichsadressie-rung, die mit „VAR RETAIN“ definiert werden.

Sollen mehr als 16 kByte als adressierbarer Speicher für Merker genutzt wer-den, kann über die Zielsystemeinstellung im CODESYS eine entsprechende Anpassung der Speicheraufteilung vorgenommen werden:

1 Größe des adressierbaren Merkerbereichs (16#4000 �16 kByte �8192 Merkerwörter)

2 Größe des nicht adressierbaren Retainspeichers (16#4000 �16 kByte Retain-Speicher)

3 Startadresse des adressierbaren Merkerbereichs (nicht editierbar)

4 Startadresse des nicht adressierbaren Retain-Speichers � Startadresse Merker + Größe Merker �16#20000000 + 16#4000 = 16#20004000

56 • Anhang B: Gerätespezifische Prozessabbilder

a300003

Beispielkonfiguration mit 24 kByte adressierbarem Merkerspeicher:

1 Größe des adressierbaren Merkerbereichs (16#6000 �24 kByte �12288 Merkerwörter)

2 Größe des nicht adressierbaren Retain-Speichers (16#2000 �8 kByte Retain-Speicher)

3 Startadresse des adressierbaren Merkerbereichs (nicht editierbar)

4 Startadresse des nicht adressierbaren Retain-Speichers � Startadresse Merker + Größe Merker �16#20000000 + 16#6000 = 16#20006000

Information

Größe des remanenten Speichers nicht überschreiten! Die Summe aus der für den Merkerbereich und für den Retain-Bereich verge-benen Größen darf die Gesamtgröße des Speichers nicht überschreiben: Größe Merker + Größe Retain muss immer 32 kByte (16#8000) ergeben!

Anhang B: Gerätespezifische Prozessabbilder • 57

a300003

Die Controller der Reihe 750-88x unterstützten folgende MODBUS-Dienste:

FC Name Description

FC1 Read coils Rücklesen mehrerer digitaler Ausgänge FC2 Read inputs discrete Lesen mehrerer digitaler Eingänge FC3 Read holding registers Lesen mehrerer analoger Eingänge (und Ausgänge) FC4 Read input registers Lesen mehrerer analoger Eingänge (und Ausgänge) FC5 Write coil Schreiben eines einzelnen digitalen Ausgangs FC6 Write single register Schreiben eines einzelnen analogen Ausgangs FC11 Get comm event counter Kommunikationsereigniszähler FC15 Force multiple coils Schreiben mehrerer digitaler Ausgänge FC16 Write multiple registers Schreiben mehrerer analoger Ausgänge FC22 Mask write Manipulation einzelner Bits eines Registers FC23 Read/write multiple registers Schreib-Lese-Operation auf analoge Ein-/Ausgänge

Mit den Funktionbausteinen „SET_DIGITAL_INPUT_OFFSET“ und „SET_DIGITAL_OUTPUT_OFFSET“ aus der Bibliothek „mod_com.lib“ können die Startadressen der ersten digitalen I/O-Module an WAGO-EHERNET-Controllern fest vorgegeben werden. Dies erlaubt Platz für spätere Erweiterungen einzuplanen. Die Angabe des OFFSETs erfolgt in Bytes. Jedoch ist die Wirksamkeit auf die SPS begrenzt. Der MODBUS-Slave igno-riert den digitalen Offset.

Memory area

MODBUS access

PLC access

Description

Physical. Input(1) read read Physikalische Eingänge (%IW0 ... %IW255)

Physical Output(1) read/[write]*1) read/[write]*1) Physikalische Ausgänge (%QW0 ... %QW255)

PFC-IN- read/write read Flüchtige SPS-Eingangsvariablen (%IW256 ... %IW511)

PFC-OUT read read/write Flüchtige SPS-Ausgangsvariablen (%QW256 ... %QW511)

Configuration register

read/(write) --- Konfigurationsregister

NOVRAM Retain memory

read/write read/write 8 kB remanenter Speicher (max 32 kB) (%MW0 ... %MW8191)

Physical. Input(2) read read Physikalische Eingänge (%IW512 ... %IW1275)

Physical Output(2) read/[write]*1) read/[write]*1) Physikalische Ausgänge (%QW512 ... %QW1275)

[] *1) Schreibrecht wird festgelegt durch die Datei “/etc/EA-conf.xml”

Eine weitere Besonderheit der Controller 750-88x ist es, dass jedem I/O-Modul eine Schreibberechtigung zugeordnet werden kann bzw. muss. Die physikalischen Ausgänge lassen sich entweder über MODBUS-Dienste oder durch das SPS-Programm verändern. Die Schreibberechtigung wird durch die Existenz bzw. den Inhalt der Datei „/etc/EA-conf.xml“ festgelegt. Fehlt die Datei oder stimmt die Anzahl der konfigurierten I/O-Module nicht mit der tatsächlichen Zahl angeschlossener I/O-Module überein, dann wird die Schreibberechtigung den MODBUS-Diensten zugeordnet. Die Datei „/etc/EA-conf.xml“ wird automatisch beim Anlegen einer CODESYS-Steuerungskonfiguration erzeugt und regelt das Schreibrecht auf

58 • Anhang B: Gerätespezifische Prozessabbilder

a300003

I/O-Modulebene. Ein Merksatz für dieses Verhalten könnte lauten:„Es kann nur einen geben“.

Im 750-88x sind „Merkervariablen“ und „Retain-Variablen“ im 32 kB großen NOVRAM untergebracht. Für die Merker sind im Auslieferungszustand 16 kB, für die Retain-Variablen 16 kB konfiguriert. Dadurch sind Überschnei-dungen wie im 750-842 nicht möglich. Die Aufteilung des 32 kB großen NOVRAMs kann in den CODESYS-Zielsystemeinstellungen verändert werden.

Bei Verwendung der „SysLibSocket“ ist die maximale Anzahl von TCP-Socket-Verbindungen, die aus einem SPS-Programm heraus erzeugt werden können, nahezu unbegrenzt. In der „Ethernet.lib“ ist die maximale Anzahl von TCP-Socket-Verbindungen auf 5 begrenzt.

7.5.2 Registerdienste des 750-88x

7.5.2.1 Register lesen mit FC3, FC4 und FC23:

750-88x: MODBUS vs IEC 61131 Addresses for FC3, FC4 and FC23

MODBUS Address IEC 61131 Description [dec] [hex] Address

0 ... 255

0x0000 ... 0x00FF

%IW0 ... %IW255

Physical Input Area (1) First 256 words of physical input data

256 ... 511

0x0100 ... 0x01FF

%QW256 ... %QW511

PFC-OUT-Area Flüchtige SPS-Ausgangsvariablen

512 ... 767

0x0200 ... 0x02FF

%QW0 ... %QW255

Physical Output Area (1) First 256 words of physical output data

768 ... 1023

0x0300 ... 0x03FF

%IW256 ... %IW511

PFC-IN-Area Flüchtige SPS-Eingangsvariablen

1024 ... 4095

0x0400 ... 0x0FFF

- MODBUS Exception: “Illegal data address”

4096 ... 12287

0x1000 ... 0x2FFF

- Configuration Register (see manual for details)

12288 ... 24575

0x3000 ... 0x5FFF

%MW0 ... %MW12287

NOVRAM 24kB

24576 ... 25339

0x6000 ... 0x62FC

%IW512 ... %IW1275

Physical Input Area (2) Additional 764 words physical input data

25340 ... 28671

0x62FD ... 0x6FFF

- MODBUS Exception: “ Illegal data address”

28672 ... 29435

0x7000 ... 0x72FB

%QW512 ... %QW1275

Physical Output Area (2) Additional 764 words physical output data

29436 ... 32767

0x72FC ... 0x7FFF

- MODBUS Exception: “ Illegal data address”

32768 ... 36863

0x8000 …0x8FFF

%MW12288 ..%MW16383

NOVRAM 8 kB

36864 ...65535

0x9000 ...0xFFFF

MODBUS-Exception: “Illegal data address”

Anhang B: Gerätespezifische Prozessabbilder • 59

a300003

7.5.2.2 Register schreiben mit FC6, FC16, FC22 und FC23:

750-88x: MODBUS vs IEC 61131 Addresses for FC6, FC16, FC22 and FC23

MODBUSAddress IEC 61131 Description [dec] [hex] Address

0 ... 255

0x0000 ... 0x00FF

%QW0 ... %QW255

Physical Output Area (1) First 256 words of physical output data

256 ... 511

0x0100 ... 0x01FF

%IW256 ... %IW511

PFC-IN-Area Flüchtige SPS-Eingangsvariablen

512 ... 767

0x0200 ... 0x02FF

%QW0 ... %QW255

Physical Output Area (1) First 256 words of physical output data

768 ... 1023

0x0300 ... 0x03FF

%IW256 ... %IW511

PFC-IN-Area Flüchtige SPS-Eingangsvariablen

1024 ... 4095

0x0400 ... 0x0FFF

- MODBUS Exception: “Illegal data address”

4096 ... 12287

0x1000 ... 0x2FFF

- Configuration Register (see manual for details)

12288 ... 24575

0x3000 ... 0x5FFF

%MW0 ... %MW12287

NOVRAM 8 kB retain memory (max. 24kB)

24576 ... 25339

0x6000 ... 0x62FC

%QW512 ... %QW1275

Physical Output Area (2) Additional 764 words physical output data

25340 ... 28671

0x62FD ... 0x6FFF

- MODBUS Exception: “ Illegal data address”

28672 ... 29435

0x7000 ... 0x72FC

%QW512 ... %QW1275

Physical Output Area (2) Additional 764 words physical output data

29436 ... 32767

0x72FD ... 0x7FFF

MODBUS Exception: “ Illegal data address”

32768 ...36863

0x8000 ...0x8FFF

%MW12288 ..%MW16383

NOVRAM 8 kB

36864 ...65535

0x9000 ...0xFFFF

MODBUS-Exception: “Illegal data address”

60 • Anhang B: Gerätespezifische Prozessabbilder

a300003

7.5.3 Digitale MODBUS-Dienste des 750-88x

Mit den digitalen MODBUS-Diensten lassen sich ausschließlich die Zustände von digitalen I/O-Modulen ermitteln oder verändern. Komplexe I/O-Module werden ignoriert bzw. sind unerreichbar.

7.5.3.1 Coils lesen mit FC1 und FC2:

750-88x: MODBUS Addresses for FC1 and FC2

MODBUSAddress Memory Description [dec] [hex] Area

0 … 6143

0x0000 ... 0x01FF

Physical Input Area (1)

First 512 digital inputs

512 ... 1023

0x0200 ... 0x03FF

Physical Output Area (1) First 512 digital outputs

1024 ... 4095

0x0400 ... 0x0FFF

- MODBUS Exception: “Illegal data address”

4096 ... 8191

0x1000 ... 0x1FFF

%QX256.0 ...%QX511.15

PFC-OUT-Area Flüchtige SPS-Ausgangsvariablen

8192 ... 12287

0x2000 ... 0x2FFF

%IX256.0 ...%IX511.15

PFC-IN-Area Flüchtige SPS-Eingangsvariablen

12288 ... 32767

0x3000 ... 0x7FFF

%MX0.0 ... %MX1279.15

NOVRAM Retain-Area (8 kB default)

32768 ... 34295

0x8000 ... 0x85F7

Physical Input Area (2) Starts with the 513th and ends with the 2039th digital input

34296 ... 36863

0x85F8 ... 0x8FFF

- MODBUS Exception: “Illegal data address”

36864 ... 38391

0x9000 ... 0x95F7

Physical Output Area (2) Starts with the 513th and ends with the 2039th digital output

38392 ... 65535

0x95F8 ... 0xFFFF

- MODBUS Exception: “Illegal data address”

Anhang B: Gerätespezifische Prozessabbilder • 61

a300003

7.5.3.2 Coils schreiben mit FC5 und FC15:

750-88x: MODBUS Addresses for FC5 and FC15

MODBUS Address Memory Description [dec] [hex] Area

0 ... 511

0x0000 ... 0x01FF

Physical Output Area (1)

First 512 digital outputs

512 ... 1023

0x0200 ... 0x03FF

Physical Output Area (1) First 512 digital outputs

1024 ... 4095

0x0400 ... 0x0FFF

- MODBUS Exception: “Illegal data address”

4096 ... 8191

0x1000 ... 0x1FFF

%IX256.0 ...%IX511.15

PFC-IN-Area Flüchtige SPS-Eingangsvariablen

8192 ... 12287

0x2000 ... 0x2FFF

%IX256.0 ...%IX511.15

PFC-IN-Area Flüchtige SPS-Eingangsvariablen

12288 ... 32767

0x3000 ... 0x7FFF

%MX0.0 ... %MX1279.15

NOVRAM Retain-Area

32768 ... 34295

0x8000 ... 0x85F7

Physical Output Area (2) Starts with the 513th and ends with the 2039th digital output

34296 ... 36863

0x85F8 ... 0x8FFF

- MODBUS Exception: “Illegal data address”

36864 ... 38391

0x9000 ... 0x95F7

Physical Output Area (2) Starts with the 513th and ends with the 2039th digital output

38392 ... 65535

0x95F8 ... 0xFFFF

- MODBUS Exception: “Illegal data address”

62 • Anhang B: Gerätespezifische Prozessabbilder

a300003

7.5.4 MODBUS-Konfigurationsregister des 750-88x

Über die Konfigurationsregister lassen sich die Eigenschaften des 750-88x er-mitteln und teilweise verändern.

750-88x: MODBUS Configuration Register for FC3, FC4, FC6 and FC16

MODBUSAddress Length Access Description [dec] [hex] [Word] 4096 0x1000 1 R/W MODBUS Watchdog Time (Vielfaches von 100ms)

4097 0x1001 1 R/W MODBUS-Watchdog-Codiermaske 1-16

4098 0x1002 1 R/W MODBUS-Watchdog-Codiermaske 17-32

4099 0x1003 1 R/W MODBUS-Watchdog-Trigger

4100 0x1004 1 R Minimale Triggerzeit

4101 0x1005 1 R/W MODBUS-Watchdog stoppen (0xAAAA und 0x5555)

4102 0x1006 1 R MODBUS-Watchdog-Status

4103 0x1007 1 R/W MODBUS-Watchdog restart (0x0001)

4104 0x1008 1 R/W MODBUS-Watchdog stoppen (0x55AA oder 0xAA55)

4105 0x1009 1 R/W MODBUS- und HTTP-Port schließen nach Time-out

4106 0x100A 1 R/W MODBUS-Watchdog im „Modicon Mode“ starten

4107 0x100B 1 W MODBUS-Watchdog-Parameter speichern

4128 0x1020 1 R LED Error-Code

4129 0x1021 1 R LED Error-Argument

4130 0x1022 1 R Anzahl analoger Ausgänge im PA [Bit]

4131 0x1023 1 R Anzahl analoger Eingänge im PA [Bit]

4132 0x1024 1 R Anzahl digitaler Ausgänge im PA [Bit]

4133 0x1025 1 R Anzahl digitaler Eingänge im PA [Bit]

4136 0x1028 1 R/W IP Configuration: BootP(1), DHCP(2) or FIX(4)

4137 0x1029 18 R MODBUS-TCP-Statistik

4138 0x102A 1 R Anzahl aufgebauter MODBUS-TCP-Verbindungen

4139 0x102B 1 W K-BUS-Reset

4144 0x1030 1 R/W MODBUS-Verbindungsüberwachung aktivieren

4145 0x1031 3 R MAC-ID der ETHERNET-Schnittstelle

4149 0x1035 1 R/W Time offset RTC (Real Time Clock)

4150 0x1036 1 R/W Daylight Saving

4151 0x1037 1 1 MODBUS Response Delay (ms)

4176 0x1050 3 R Diagnoseinformationen angeschlossener I/O-Module

8192 0x2000 1 R 0x0000 (Constant)

8193 0x2001 1 R 0xFFFF (Constant)

8194 0x2002 1 R 0x1234 (Constant)

8195 0x2003 1 R 0xAAAA (Constant)

8196 0x2004 1 R 0x5555 (Constant)

8197 0x2005 1 R 0x7FFF (Constant)

8198 0x2006 1 R 0x8000 (Constant)

8199 0x2007 1 R 0x3FFF (Constant)

8200 0x2008 1 R 0x4000 (Constant)

Anhang B: Gerätespezifische Prozessabbilder • 63

a300003

750-88x: MODBUS Configuration Register for FC3, FC4, FC6 and FC16

MODBUSAddress Length Access Description [dec] [hex] [Word] 8208 0x2010 1 R Firmware release

8209 0x2011 1 R Seriencode (750)

8210 0x2012 1 R Gerätecode (841)

8211 0x2013 1 R Major Firmware version

8212 0x2014 1 R Minor Firmware version

8224 0x2020 1 .. 125 R Gerätekurzbeschreibung

8225 0x2021 8 R Compile-Zeit der Firmwareversion

8226 0x2022 8 R Compile-Datum der Firmwareversion

8227 0x2023 32 R Version des Firmware-Loaders (FWL)

8240 0x2030 65 R Beschreibung angeschlossener I/O-Module: 0-64

8241 0x2031 64 R Beschreibung angeschlossener I/O-Module: 65-129

8242 0x2032 64 R Beschreibung angeschlossener I/O-Module: 130-194

8243 0x2033 63 R Beschreibung angeschlossener I/O-Module: 195-255

8245 0x2035 1 R/W Einstellung Prozessabbild (Table 0 register 3)

8246 0x2036 1 .. 17 R Diagnoseinformation Gerät

8256 0x2040 1 W Software Reset (write 0x55AA or 0xAA55)

8257 0x2041 1 W Format Flash-

8258 0x2042 1 W Extract file system

8259 0x2043 1 W Werkseinstellungen

64 • Anhang B: Gerätespezifische Prozessabbilder

a300003

7.6 Programmierbare Feldbuscontroller PFC200

Dieses Kapitel umfasst die Geräte der Serie PFC200 (750-8202, 750-8203, 750-8204, 750-8206) mit CODESYS-2.3-Laufzeitsystem.

Der im PFC200 integrierte MODBUS-Slave muss über die CODESYS-Steuerungskonfiguration aktiviert und parametriert werden.

Die MODBUS-Funktion ist nur aktiv, wenn auf dem PFC200 ein CODESYS-Projekt mit aktiviertem MODBUS vorhanden ist.

Ein direkter Zugriff auf das Prozessabbild der IO-Module über MODBUS ist nicht möglich

Weitere Informationen zur Konfiguration des PFC200-MODBUS-Slaves sind im Handbuch des jeweiligen PFC200-Modells zu finden.

Hinweis

I/O-Module nicht direkt über MODBUS erreichbar. Ein direkter Zugriff auf das Prozessabbild der IO-Module über MODBUS ist nicht möglich. Nur die PFC-Variablen sowie die Merker sind über MODBUS zugänglich. Mit Hilfe eines entsprechenden SPS-Programmes können Datenpunkte des Klemmbusses dem MODBUS-Bereich zugeordnet werden.

Anhang B: Gerätespezifische Prozessabbilder • 65

a300003

7.6.1 Prozessabbild des PFC200

66 • Anhang B: Gerätespezifische Prozessabbilder

a300003

Anhang B: Gerätespezifische Prozessabbilder • 67

a300003

7.6.2 Registerdienste des PFC200

7.6.2.1 Register lesen mit FC3, FC4 und FC23:

PFC200: MODBUS vs IEC 61131 Addresses for FC3, FC4 and FC23

MODBUSAddress IEC 61131 Description [dec] [hex] Address

0 … 999

0x0000 ... 0x03EF

%IW1000 ... %IW1999

1000 PFC-Input-Worte im 2 kB großen Eingangsprozessabbild

1000 ... 1999

0x03E8 ... 0x07CF

%QW1000 ... %QW1999

1000 PFC-Output-Worte im 2 kB großen Ausgangsprozessabbilds

2000 … 4095

0x07D0 … 0x0FFF

MODBUS Exception: “Illegal data address”

4096 … 12287

0x1000 … 0x2FFF

Informations- und Konfigurationsregister: Nicht jede MODBUS-Adresse in diesem Be-reich ist gültig. Gültige MODBUS-Adressen sind im Kapitel „Konfigurationsregister“ be-schrieben.

12288 … 65535

0x3000 …0xFFFF

%MW0 …%MW53247

Merkerbreich: 53248 Register/Wort Merker (104 kB) im Merkerbereich

7.6.2.2 Register schreiben mit FC6, FC16, FC22 und FC23:

PFC200: MODBUS vs IEC 61131 Addresses for FC6, FC16, FC22 and FC23

MODBUSAddress IEC 61131 Description [dec] [hex] Address

0 … 999

0x0000 ... 0x03EF

%IW1000 ... %IW1999

1000 PFC-Input-Worte im 2 kB großen Eingangsprozessabbild

1000 ... 1999

0x03E8 ... 0x07CF

MODBUS Exception: “Illegal data address

2000 … 4095

0x07D0 … 0x0FFF

MODBUS Exception: “Illegal data address”

4096 … 12287

0x1000 … 0x2FFF

Informations- und Konfigurationsregister: Nicht jede MODBUS-Adresse in diesem Be-reich ist gültig. Gültige MODBUS-Adressen sind im Kapitel „Konfigurationsregister“ be-schrieben.

12288 … 65535

0x3000 …0xFFFF

%MW0 …%MW53247

Merkerbreich: 53248 Register/Wort Merker (104 kB) im Merkerbereich

68 • Anhang B: Gerätespezifische Prozessabbilder

a300003

7.6.3 Digitale MODBUS-Dienste des PFC200

Die digitalen MODBUS-Dienste erlauben den bitweisen Zugriff auf die ersten 768 Byte der Prozessabbilder.

7.6.3.1 Coils lesen mit FC1 und FC2:

PFC200: MODBUS Addresses for FC1 and FC2

MODBUS Address Memory Description [dec] [hex] Area

0 … 6143

0x0000 ... 0x17FF

%IX1000.0 …%IX1383.15

6144 PFC-Input-Bit-Variablen in den ersten 384 Worten (768 Byte) des 2kB-Eingangsprozessabbilds

6144 … 12287

0x1800 ... 0x2FFF

%QX1000.0 … 1383.15

6144 PFC-Output-Bit-Variablen in den ersten 384 Worten (768 Byte) des 2kB-Ausgangsprozessabbilds

12288 ... 65535

0x3000 ... 0xFFFF

%MX0.0 … %MX3327.15

Merkerbreich: 53248 Bit Merker (6,5 kB) im Bit adressierbaren Merkerbereich

7.6.3.2 Coils schreiben mit FC5 und FC15:

PFC200: MODBUS Addresses for FC5 and FC15

MODBUSAddress Memory Description [dec] [hex] Area

0 … 6143

0x0000 ... 0x17FF

%IX1000.0 …%IX1383.15

6144 PFC-Input-Bit-Variablen in den ersten 384 Worten (768 Byte) des 2kB-Eingangsprozessabbilds

6144 … 12287

0x1800 ... 0x2FFF

MODBUS Exception: “Illegal data address”

12288 ... 65535

0x3000 ... 0xFFFF

%MX0.0 … %MX3327.15

Merkerbreich: 53248 Bit Merker (6,5 kB) im bitadressierbaren Merkerbereich

Anhang B: Gerätespezifische Prozessabbilder • 69

a300003

7.6.3.3 MODBUS-Konfigurationsregister des PFC200

Über die Konfigurationsregister lassen sich die Eigenschaften des PFC200 er-mitteln und teilweise verändern.

PFC200: MODBUS Configuration Register for FC3, FC4, FC6 and FC16

MODBUSAddress Length Access Description [dec] [hex] [Word] 4130 0x1022 1 R Anzahl der Register im

Ausgangsprozessabbild 4131 0x1023 1 R Anzahl der Register im

Eingangsprozessabbild 4132 0x1024 1 R Anzahl der Bits im

Ausgangsprozessabbild 4133 0x1025 1 R Anzahl der Bits im

Eingangsprozessabbild

4136 0x1028 1 R IP-Konfiguration: BootP(1), DHCP(2) oder fest kodierte IP-Adresse(4)

4138 0x102A 1 R Anzahl der etablierten TCP- Verbindungen

4144 0x1030 1 R/W MODBUS TCP Time-out 4145 0x1031 3 R MAC-ID der ETHERNET-Schnittstelle 4151 0x1037 1 R/W MODBUS-TCP-Antwortverzögerung 4160 0x1040 1 R PLC-Status

4352 0x1100 1 W Watchdog Command 4353 0x1101 1 R Watchdog Status 4354 0x1102 1 R/W Watchdog Time-out 4355 0x1103 1 R/W Watchdog Config

8192 0x2000 1 R 0x0000 (Constant) 8193 0x2001 1 R 0xFFFF (Constant) 8194 0x2002 1 R 0x1234 (Constant) 8195 0x2003 1 R 0xAAAA (Constant) 8196 0x2004 1 R 0x5555 (Constant) 8197 0x2005 1 R 0x7FFF (Constant) 8198 0x2006 1 R 0x8000 (Constant) 8199 0x2007 1 R 0x3FFF (Constant) 8200 0x2008 1 R 0x4000 (Constant)

8208 0x2010 1 R Revision (Firmware Index) 8209 0x2011 1 R Seriencode 8210 0x2012 1 R Gerätecode 8211 0x2013 1 R Major Firmware Version 8212 0x2014 1 R Minor Firmware Version 8213 0x2015 1 R MBS Version

70 • Anhang C: Nützliche Werkzeuge

a300003

8 Anhang C: Nützliche Werkzeuge

8.1 CODESYS-Steuerungskonfiguration

Die CODESYS-Steuerungskonfiguration bietet Komfortfunktionen wie Kno-tenscan und automatische Adressberechnung. Mittels der Import- und Exportfunktion kann die Steuerungskonfiguration auch mit externen Werkzeugen bearbeitet werden. Das ist hilfreich, wenn z.B. die Bezeichnungen für die Datenpunkte aus einem CAE-Programm (z.B. E-plan) übernommen werden sollen.

Der größte Vorteil der Steuerungskonfiguration ist die automatische Berech-nung der IEC-Adressen:

Variablennamen werden im Gegensatz zur „manuellen Adressierung“ nicht an eine Adresse gebunden, sondern an den Kanal des jeweiligen I/O-Moduls. So wandert der Variablenname automatisch mit, wenn in der Steuerungskonfigu-ration ein I/O-Modul eingefügt oder entfernt wird.

Anhang C: Nützliche Werkzeuge • 71

a300003

PFC-Variablen und -Merker können ebenfalls über die Steuerungskonfigurati-on deklariert werden:

72 • Anhang C: Nützliche Werkzeuge

a300003

8.2 „Wireshark“

Ein hilfreiches Werkzeug bei der Inbetriebnahme oder Fehlersuche im ETHERNET ist das Open-Source-Programm „Wireshark“. Es handelt sich da-bei um einen frei verfügbaren Netzwerk-Sniffer. Das Werkzeug stellt nach der Aufzeichnung des Datenverkehrs einer Netzwerk-schnittstelle die Daten über-sichtlich in Form einzelner Pakete dar.

Nachfolgend sehen Sie einen Screenshot des Programms „Wireshark“.

Der Mitschnitt zeigt das Antworttelegramm aus dem eben beschriebenen Bei-spiel. Die Vorgabe des Filters „tcp.port == 502“ sorgt dafür, dass nur die Tele-gramme auf dem MODBUS-Port 502 angezeigt werden.

Im Unterschied zu einer großen Gruppe von Anwendungen wird das Mit-schneiden einer Kommunikation nicht durch den Menüpunkt „File->New“ ge-startet, sondern ist unter dem Menüpunkt „Capture“ versteckt. Weiterführende Informationen finden Sie unter www.wireshark.org.

WAGO Kontakttechnik GmbH & Co. KG Postfach 2880 • D-32385 Minden Hansastraße 27 • D-32423 Minden Telefon: 05 71/8 87 – 0 Telefax: 05 71/8 87 – 1 69 E-Mail: [email protected] Internet: http://www.wago.com