Sie sind auf Seite 1von 63

SIMATIC

OPEN MODBUS / TCP


Kommunikation über CP343-1 und CP443-1

Handbuch
Vorwort, Inhaltsverzeichnis

Produktbeschreibung 1

Montage 2
SIMATIC S7
Inbetriebnahme 3

OPEN MODBUS / TCP Funktionsbaustein MODBUS 4


Kommunikation über
CP343-1 und 443-1 Übertragungsprotokoll 5

Handbuch Diagnose 6

Applikationsbeispiel 7

Anhänge

Literatur

Glossar

Ausgabe 3.0
Sicherheitstechnische Dieses Handbuch enthält Hinweise, die Sie zu Ihrer persönlichen Sicherheit, sowie zur Ver-
Hinweise meidung von Sachschäden beachten müssen. Die Hinweise sind durch ein Warndreieck
hervorgehoben und je nach Gefährdungsgrad folgendermaßen dargestellt:
__________________________________________________________________
Gefahr

! bedeutet, dass Tod, schwere Körperverletzung oder erheblicher Sachschaden eintreten


werden, wenn die entsprechenden Vorsichtsmaßnahmen nicht getroffen werden.
__________________________________________________________________
__________________________________________________________________
Warnung
bedeutet, dass Tod, schwere Körperverletzung oder erheblicher Sachschaden eintreten
! können, wenn die entsprechenden Vorsichtsmaßnahmen nicht getroffen werden.
__________________________________________________________________
__________________________________________________________________
Vorsicht
bedeutet, dass eine leichte Körperverletzung oder ein Sachschaden eintreten können, wenn
die entsprechenden Vorsichtsmaßnahmen nicht getroffen werden.
! __________________________________________________________________
__________________________________________________________________
Hinweis
ist eine wichtige Information über das Produkt, die Handhabung des Produktes oder den
jeweiligen Teil der Dokumentation, auf den besonders aufmerksam gemacht werden soll.
__________________________________________________________________

Qualifiziertes Inbetriebsetzung und Betrieb eines Gerätes dürfen nur von qualifiziertem Personal vorge-
Personal nommen werden. Qualifiziertes Personal im Sinne der sicherheitstechnischen Hinweise
dieses Handbuchs sind Personen, welche die Berechtigung haben, Geräte, Systeme und
Stromkreise gemäß den Standards der Sicherheitstechnik in Betrieb zu nehmen, zu erden
und zu kennzeichnen.

Bestimmungsgemäßer Beachten Sie folgendes:


Gebrauch
_________________________________________________________________________
Warnung

! Das Gerät darf nur für die im Katalog und in der technischen Beschreibung vorgesehenen
Einsatzfälle und nur in Verbindung mit von Siemens empfohlenen bzw. zugelassenen
Fremdgeräten und -Komponenten verwendet werden.

Der einwandfreie und sichere Betrieb des Produktes setzt sachgemäßen Transport,
sachgemäße Lagerung, Aufstellung und Montage sowie sorgfältige Bedienung und
Instandhaltung voraus.

® ®
Marken SIMATIC und SIMATIC NET sind eingetragenes Warenzeichen der SIEMENS AG.

Die übrigen Bezeichnungen in dieser Schrift können Marken sein, deren Benutzung durch
Dritte für deren Zwecke die Rechte der Inhaber verletzen können.

Copyright © Siemens AG 2004 All Rights Reserved Haftungsausschluss


Weitergabe sowie Vervielfältigung dieser Unterlage, Verwertung und Wie haben den Inhalt der Druckschrift auf Übereinstimmung mit der
Mitteilung ihres Inhalts ist nicht gestattet, soweit nicht ausdrücklich beschriebenen Hard- und Software geprüft. Dennoch können
zugestanden. Zuwiderhandlungen verpflichten zu Schadensersatz. Abweichungen nicht ausgeschlossen werden, so dass wir für die
Alle Rechte vorbehalten, insbesondere für den Fall der Patenterteilung vollständige Übereinstimmung keine Gewähr übernehmen. Die
oder GM-Eintragung. Angaben in dieser Druckschrift werden regelmäßig überprüft, und
notwendige Korrekturen sind in den nachfolgenden Auflagen
Siemens AG enthalten. Für Verbesserungsvorschläge sind wir dankbar.
Industrial Solution and Services
IT4Industry © Siemens AG 2004
Postfach 3240, D- 91050 Erlangen Technische Änderungen bleiben vorbehalten.
IT4Industry@siemens.com
Vorwort

Vorwort

Zweck des Hand- Die Informationen dieses Handbuchs ermöglichen es Ihnen, eine Kopplung
buchs zwischen einem CP 343-1/CP 443-1 und einem Gerät, welches das
Protokoll Open MODBUS/TCP unterstützt, aufzubauen und in Betrieb zu
nehmen.

Inhalte des Hand- Im vorliegenden Handbuch ist die Funktion des Funktionsbausteins
buchs MODBUS und die Einbindung in die Hard- und Software des
Kommunikationsprozessors CP 343-1/CP 443-1 beschrieben.
Das Handbuch beinhaltet folgende Themen:
• Produktbeschreibung / Montage
• Inbetriebnahme / Installieren / Parametrieren
• Funktionsbaustein
• Übertragungsprotokoll
• Diagnose
• Applikationsbeispiel

Gültigkeitsbereich Das vorliegende Handbuch ist gültig für folgende Software:


des Handbuchs
Produkt Identifizierungsnummer ab Version
FB OPEN MODBUS / TCP 2XV9 450-1MB00 3.0
Funktionsbaustein MODBUS FB100 2.2
Funktionsbaustein MODB4 FB101 1.0

Hinweis

Das vorliegende Handbuch enthält die Beschreibung des FBs, wie sie zum
Zeitpunkt der Herausgabe des Handbuchs gültig ist.

Zugriffshilfen auf Um Ihnen einen schnellen Zugriff auf spezielle Informationen zu erleichtern,
das Handbuch enthält das Handbuch folgende Zugriffshilfen:

• Auf den folgenden Seiten finden Sie ein vollständiges Inhaltsverzeichnis.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 1


2XV9450-1MB00; Handbuch Ausgabe 3.0
Vorwort

Weiterführende In- Alle weiteren Informationen bezüglich CP 343/CP 443 (Montage,


formationsquellen Inbetriebnahme etc.) entnehmen sie bitte dem Handbuch:

SIEMENS
SIMATIC NET
S7-CPs für Industrial Ethernet
Gerätehandbuch
C79000-G8900-C155

SIEMENS
SIMATIC NET
S7-CPs für Industrial Ethernet
Gerätehandbuch Teil B1
CP 343-1 / CP 343-1EX20
C79000-G8900-C158

SIEMENS
SIMATIC NET
S7-CPs für Industrial Ethernet
Gerätehandbuch Teil B4
CP 443-1
C79000-G8900-C152

SIEMENS
SIMATIC NET
NCM S7 für Industrial Ethernet
Handbuch
C79000-G8900-C129

Weitere Informationen bezüglich STEP7 entnehmen Sie bitte den folgenden


Handbüchern:

SIEMENS
SIMATIC Software
Basissoftware für S7 und M7
STEP7 Benutzerhandbuch
C79000-G7000-C502-..

SIEMENS
SIMATIC Software
Systemsoftware für S7-300/400
System- und Standardfunktionen
Referenzhandbuch
C79000-G7000-C503-02

Rückfragen Bei Fragen zur Nutzung des in diesem Handbuch beschriebenen FBs, die
Sie hier nicht beantwortet finden, wenden Sie sich bitte an Ihren Siemens-
Ansprechpartner, von dem Sie diesen Funktionsbaustein erhalten haben.

Konventionen In der vorliegenden Dokumentation wird im Folgenden die Bezeichnung CP


oder CP 343/CP 443 verwendet. Die Ausführungen sind nur für den
Kommunikationsprozessor CP 343-1/CP 443-1 gültig.

Einsatzbereich Der in diesem Handbuch beschriebene Funktionsbaustein stellt eine


Verbindung zwischen dem CP 343-1/CP 443-1 und Modbusgeräten anderer
Hersteller dar.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 2


2XV9450-1MB00; Handbuch Ausgabe 3.0
Inhaltsverzeichnis

Inhaltsverzeichnis

1 ...... Produktbeschreibung .................................................................................................... 1-1

1.1 ........ Einsatzmöglichkeiten ........................................................................................ 1-1

1.2 ........ Hard- und Softwarevoraussetzungen............................................................... 1-2

2 ...... Montage .......................................................................................................................... 2-1

2.1 ........ Schnittstellen-Anschluss................................................................................... 2-1

3 ...... Inbetriebnahme .............................................................................................................. 3-1

3.1 ........ Installieren der Bibliothek auf dem STEP7-PG/-PC ......................................... 3-1

3.2 ........ Konfigurieren der Kopplung.............................................................................. 3-2

3.3 ........ Parametrieren des CP ...................................................................................... 3-3

3.4 ........ Verbindungsprojektierung................................................................................. 3-4

3.5 ........ Einfügen der Funktionsbausteine ins Programm ............................................. 3-6

3.6 ........ Anlaufverhalten des CP343 / CP443................................................................ 3-7

4 ...... Funktionsbaustein MODBUS ........................................................................................ 4-1

4.1 ........ Funktionsweise des FB .................................................................................... 4-1

4.2 ........ Parameter des Funktionsbausteins MODBUS ................................................. 4-3

4.3 ........ Parameter des Funktionsbausteins MODB4 .................................................. 4-10

4.4 ........ Vom FB verwendete Daten und Standardfunktionen ..................................... 4-12

5 ...... Übertragungsprotokoll .................................................................................................. 5-1

5.1 ........ Kommunikationsstruktur ................................................................................... 5-1

5.2 ........ Überblick........................................................................................................... 5-1

5.3 ........ Funktionscode 03 – Holding Register lesen..................................................... 5-3

5.4 ........ Funktionscode 16 – Holding Register schreiben.............................................. 5-4

5.5 ........ Exception Code Telegramme ........................................................................... 5-5

5.6 ........ Funktionscode 04 – Input Register lesen ......................................................... 5-6

5.7 ........ Weiterführende Informationen .......................................................................... 5-6

6 ...... Diagnose ......................................................................................................................... 6-1

6.1 ........ Diagnose über die Anzeigeelemente des CP................................................... 6-1

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 i


2XV9450-1MB00; Handbuch Ausgabe 3.0
Inhaltsverzeichnis

6.2 ........ Überprüfungen durch den FB MODBUS .......................................................... 6-2

6.3 ........ Diagnosemeldungen des FB MODBUS ........................................................... 6-5

6.4 ........ Diagnosemeldungen der eingebundenen Bausteine ....................................... 6-8

6.5 ........ Diagnosemeldungen des SFC24 ..................................................................... 6-8

7 ...... Applikationsbeispiel ...................................................................................................... 7-1

7.1 ........ Programmbeispiel CP ist Client........................................................................ 7-5

7.2 ........ Programmbeispiel CP ist Server ...................................................................... 7-9

A ...... Literatur.............................................................................................................................. 1

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 ii


2XV9450-1MB00; Handbuch Ausgabe 3.0
Produktbeschreibung

1 Produktbeschreibung

1.1 Einsatzmöglichkeiten

Einordnen in die Der vorliegende Treiber stellt ein Software-Produkt für den Kommunikations-
Systemumgebung prozessor CP 343-1/CP443-1 dar.

Der CP 343-1 ist in den Automatisierungssystemen S7-300 einsetzbar und


kann Kommunikationsverbindungen zu Partnersystemen herstellen.

Der CP 443-1 ist in den Automatisierungssystemen S7-400 einsetzbar und


kann Kommunikationsverbindungen zu Partnersystemen herstellen.

Funktion des FBs Mit diesem Funktionsbaustein wird eine Kommunikationsverbindung


zwischen der Kommunikationsbaugruppe CP 343-1/CP 443-1 und einem
Gerät, welches das Protokoll OPEN MODBUS/TCP unterstützt, ermöglicht.
Dabei kommt die Conformance Class 0 zur Anwendung.

Bei Bedarf kann zusätzlich der Funktionscode 4, der Bestandteil der


Conformance Class 1 ist, verwendet werden. Die weiteren Funktionscodes
der Conformance Class 1 und die Funktionscodes der Conformance Class 2
sind im Funktionsbaustein nicht implementiert.

Die Datenübertragung wird nach dem Client-Server-Prinzip abgewickelt.

Die SIMATIC S7 kann bei der Übertragung sowohl als Client als auch als
Server betrieben werden.

In der Betriebsart Server ist der Multitaskbetrieb entsprechend der OPEN


MODBUS/TCP Spezifikation nicht implementiert.

TCP/IP mit TCP/IP mit CP 343-1 and CP434-1 läuft über statische Verbindungen. Die
CP343-1 / CP443-1 TCP-Verbindung wird während des laufenden Betriebs nicht abgebaut.

Die Verbindungsprojektierung von STEP7 lässt mit dem verwendeten TCP-


Stack des CP nur eine einmalige Verwendung einer bestimmten Port-
Nummer zu. Der CP/FB kann also nicht von mehreren Geräten mit der
gleichen Port-Nummer angesprochen werden.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 1-1


2XV9450-1MB00; Handbuch Ausgabe 3.0
Produktbeschreibung

1.2 Hard- und Softwarevoraussetzungen

Verwendbare Der Funktionsbaustein ist auf dem CP 343-1 ab der MLFB


Baugruppe 6GK7 343-1CX00-0XE0
6GK7 343-1EX11-0XE0
6GK7 343-1GX11-0XE0
ablauffähig.

Der Funktionsbaustein ist auf dem CP 443-1 ab der MLFB


6GK7 443-1EX11-0XE0
6GK7 443-1GX11-0XE0
ablauffähig.

Softwareausgabe- Der Einsatz des FBs MODBUS ist ab STEP 7-Version 5.1 mit der Option
stände NCM S7 für Industrial Ethernet möglich.

Speicherbedarf Der FB MODBUS benötigt 8800 Byte Arbeitsspeicher und 9886 Byte
Ladespeicher.

Der FB MODB4 benötigt 9818 Byte Arbeitsspeicher und 11082 Byte


Ladespeicher.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 1-2


2XV9450-1MB00; Handbuch Ausgabe 3.0
Montage

2 Montage

2.1 Schnittstellen-Anschluss

Allgemeines Es kann eine Industrial Ethernet-Verbindung zu einem Subsystem aufgebaut


werden.

Der Anschluss des CP an Industrial Ethernet ist über Buskoppler oder


Twisted Pair Anschluss möglich.

Buskoppler Der CP erzeugt und liefert die für den Buskoppler benötigte
(Transceiver) Spannungsversorgung.
mittels AUI-
Anschluss

Industrial Twisted Beim Einsatz der im folgendem Bild genannten Industrial Ethernet
Pair–Anschluss Installationsleitung Twisted Pair erfolgt im CP automatisch die Erkennung und
z.B. über OSM Umstellung auf Twisted Pair.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 2-1


2XV9450-1MB00; Handbuch Ausgabe 3.0
Montage

Twisted Pair In gering EMV belasteter Umgebung wie z. B. büroartiger Umgebung und
Anschluss über Schaltschränken kann der CP über die RJ–45–Buchse mit einer Twisted Pair
RJ–45–Buchse Leitung an Ethernet angeschlossen werden.

Weiterführende Hinweis
Informationen
Beachten Sie bitte, dass für eine einwandfreie Funktion entweder der
AUI/ITP–Stecker oder der TP–Stecker angeschlossen sein darf.
Wenn Sie im laufenden Betrieb von der einen auf die andere Schnittstelle
wechseln, kann es vorkommen, dass der Wechsel von der Hardware nicht
erkannt wird. Sie sollten daher einen Wechsel der Schnittstelle nur bei
ausgeschaltetem Gerät vornehmen!

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 2-2


2XV9450-1MB00; Handbuch Ausgabe 3.0
Inbetriebnahme

3 Inbetriebnahme

Allgemeines Die Projektierung des CP 443–1/CP 343–1 ist über MPI oder LAN/Industrial
Ethernet möglich.
Erforderlich ist STEP 7 mit NCM S7 für Industrial Ethernet (nachfolgend kurz
”NCM IE” genannt).
Die im Folgenden verwendeten Angaben zu STEP 7 und zur
Kommunikationsverbindungs-Projektierung beziehen sich auf die
STEP7-Version 5.1 und NCM S7 Industrial Ethernet Version 5.1.
Bei späteren Versionen können Abläufe, Namens- und Verzeichnisangaben
geändert sein.

Voraussetzungen STEP 7–Grundkenntnisse, AWL–Kenntnisse, SPS–Grundkenntnisse

3.1 Installieren der Bibliothek auf dem STEP7-PG/-PC

Lieferumfang Die Bibliothek mit den Funktionsbausteinen für Ihr S7-Projekt befindet sich
auf der beiliegenden CD.
Die CD enthält zusätzlich diese Dokumentation in elektronischer Form sowie
ein STEP7-Beispielprojekt.

Voraussetzungen Um die Installation durchführen zu können, muss vorher die


Projektiersoftware STEP7 zusammen mit der Option NCM S7 für Industrial
Ethernet installiert worden sein.

Installation Das Einfügen des Bausteins erfolgt folgendermaßen:

1. Legen Sie die CD in das Laufwerk Ihres PGs/PCs ein.

2. Kopieren sie den Ordner Modbus_TCP von der CD in das Verzeichnis


Siemens\S7libs\.

Ergebnis: Die Bibliothek ist im folgenden Verzeichnis installiert:


Siemens\S7libs\Modbus_TCP.

Beim ersten Zugriff verwenden sie bitte die Funktion Durchsuchen des
Öffnen-Dialogs um auf die Bibliothek in S7libs zuzugreifen.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 3-1


2XV9450-1MB00; Handbuch Ausgabe 3.0
Inbetriebnahme

3.2 Konfigurieren der Kopplung

Einleitung Die Konfiguration einer Kopplung umfasst die Anordnung der Hardware in der
Konfigurationstabelle mit HW Konfig. Die Konfiguration nehmen Sie mit der
STEP7-Software vor.

Für eine Industrial Ethernet-Kopplung müssen neben der


SIMATIC 400-Station bzw. SIMATIC 300-Station die Koppelpartner-Station
sowie das Industrial Ethernet-Netz konfiguriert werden.

S7-Projekt Bevor Sie die Konfiguration vornehmen können, müssen Sie mit STEP7 ein
S7-Projekt angelegt haben.

Projekt- Fügen Sie die benötigten Projektkomponenten mit dem SIMATIC-Manager in


komponenten das geöffnete Projekt ein:
SIMATIC-Station, Andere Station, Industrial Ethernet-Netz.
Vor jedem Einfügen ist das geöffnete Projekt durch Anklicken zu selektieren.

SIMATIC 300-Station
Einfügen ¾ Station ¾ SIMATIC 300-Station
für das eigene S7-Programm (Rack, PS, CPU, CP343-1, ...),
Einfügen ¾ Station ¾ Andere Station
für den Koppelpartner,
Einfügen ¾ Subnetz ¾ Industrial Ethernet
für ein Industrial Ethernet-Netz zwischen der SIMATIC 300-Station und dem
Koppelpartner.

SIMATIC 400-Station
Einfügen ¾ Station ¾ SIMATIC 400-Station
für das eigene S7-Programm (Rack, PS, CPU, CP443-1, ...),
Einfügen ¾ Station ¾ Andere Station
für den Koppelpartner,
Einfügen ¾ Subnetz ¾ Industrial Ethernet
für ein Industrial Ethernet-Netz zwischen der SIMATIC 400-Station und dem
Koppelpartner.

Hardware Die Konfiguration der Hardware umfasst die Festlegung der


konfigurieren HW-Komponenten selbst, sowie die Festlegung ihrer Eigenschaften.

SIMATIC 300-Station
Durch Selektion der SIMATIC 300-Station und Doppelklick „Hardware“ (bzw.
„Bearbeiten ¾ Objekt öffnen“) wird die HW-Konfiguration gestartet. Mit
„Einfügen ¾ Hardwarekomponenten“ ist aus SIMATIC 300 ein RACK-300,
eine PS-300, eine CPU-300, und aus CP-300 der CP Industrial Ethernet
CP 343-1 mit der entsprechenden Bestellnummer einzufügen.
Das Vorgehen bei der Konfiguration von S7 300-Baugruppen ist ausführlich
im Benutzerhandbuch für STEP7 beschrieben.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 3-2


2XV9450-1MB00; Handbuch Ausgabe 3.0
Inbetriebnahme

SIMATIC 400-Station
Durch Selektion der SIMATIC 400-Station und Doppelklick „Hardware“ (bzw.
„Bearbeiten ¾ Objekt öffnen“) wird die HW-Konfiguration gestartet. Mit
„Einfügen ¾ Hardwarekomponenten“ ist aus SIMATIC 400 ein RACK-400,
eine PS-400, eine CPU-400, und aus CP-400 der CP Industrial Ethernet
CP 443-1 mit der entsprechenden Bestellnummer einzufügen.
Das Vorgehen bei der Konfiguration von S7 400-Baugruppen ist ausführlich
im Benutzerhandbuch für STEP7 beschrieben.

3.3 Parametrieren des CP

Parametrieren des Nachdem Sie die Baugruppen mit HW Konfigurieren in Ihrem


CP Baugruppenträger angeordnet haben, müssen diese parametriert werden.
Die Parametrieroberfläche des CP 343-1 bzw. CP 443-1 starten sie in
„Hardware konfigurieren“ durch Doppelklick auf den CP oder durch Markieren
des CP und Anwahl des Menübefehls Bearbeiten ¾ Objekteigenschaften.

Eigenschaften – CP343-1 ¾ Allgemein oder


Eigenschaften - CP443-1 ¾ Allgemein
Durch Anwahl der Schaltfläche „Eigenschaften...“ (1-fach Klick) im Register
„Allgemein“ gelangen Sie in die Oberfläche der Ethernet-Schnittstelle.
Hier können Sie die IP-Adresse und die Subnetzmaske des CPs vergeben.
Haben Sie Ihre Stationen ohne Router miteinander verbunden müssen die
diese im gleichen Subnetz liegen.
Im Feld Subnetz müssen Sie den CP mit Ihrem Industrial Ethernet Netz
verbinden. Dazu markieren Sie den Eintrag mit dem Namen Ihres Netzes. Für
neu angelegte Netze ist dies im Normalfall „Ethernet(1)“
Nach erfolgter Parametrierung gelangen Sie zurück in den Dialog
„Eigenschaften – CP343-1“ bzw. „Eigenschaften – CP443-1“. Hier können
Sie mit „OK“ die Parametrierung des CP abschließen und gelangen dann
zurück in den Dialog „Hardware konfigurieren“.

Übersetzen Sie die Parametrierung, speichern diese ab und schließen Sie


„Hardware konfigurieren“. Sie gelangen zurück in das Grundmenü des Step7-
Projekts.

Parametrieren des Nachdem Sie, wie unter „Projektkomponenten: Einfügen ¾ Andere Station“
Koppelpartners beschrieben, die Koppelpartner-Station in Ihr Step7-Projekt eingefügt haben,
müssen Sie die Objekteigenschaften dieser Fremdstation festlegen.
Ausgehend vom geöffneten Step7-Projekt können Sie die Koppelpartner-
Station (Andere Station) durch Anklicken selektieren.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 3-3


2XV9450-1MB00; Handbuch Ausgabe 3.0
Inbetriebnahme

Wählen Sie den Menüpunkt Bearbeiten ¾ Objekteigenschaften.


Sie gelangen dann in den Dialog „Eigenschaften - Andere Station“.

1) Eigenschaften - Andere Station ¾ Schnittstellen

In der Registerkarte „Schnittstellen“ drücken Sie den Knopf „Neu“.


In der darauf erscheinenden Typenauswahl selektieren Sie „Ind. Ethernet“
und drücken „OK“.
Es erscheint der Dialog „Eigenschaften – Ethernet Schnittstelle“.
Geben sie eine IP-Adresse ein, die im gleichen Subnetz wie die
Koppelpartnerstation liegt. Die Subnetzmaske sollte die gleiche sein wie
bei der Partnerstation.
Selektieren Sie das zugehörige Subnetz, das die Verbindung zwischen
CP-Schnittstelle und Koppelpartner-Schnittstelle darstellt.
Durch Drücken der Schaltfläche „OK“ gelangen Sie zurück in die
Registerkarte „Schnittstellen“.

2) Eigenschaften - Andere Station ¾ Allgemein

Im Register „Allgemein“ brauchen Sie keine Einstellungen vorzunehmen.

Über die Schaltfläche „OK“ gelangen Sie zurück in das Grundmenü des
Step7-Projekts.

Eine Fremdstation kann auch mehrere Schnittstellen (=Ethernet-Teilnehmer)


haben und an verschiedene Ethernet-Verbindungen angeschlossen sein.

3.4 Verbindungsprojektierung

Kommunikations- Für die Verbindung zwischen einer S7-CPU und einem über Industrial
verbindung Ethernet angeschlossenen Kommunikationspartner/Bus stellt der CP das
Bindeglied dar. Für die Verbindung der jeweiligen Schnittstelle zum
Koppelpartner/Bus muss eine Verbindungsprojektierung vorgenommen
werden.

Verbindung Selektieren Sie im Step7-Projekt in der geöffneten eigenen S7 300/S7 400-


projektieren Station die CPU und öffnen Sie durch Doppelklicken auf „Verbindungen“ die
Verbindungsprojektierung.
Es öffnet sich das Programm „NetPro“ mit dem sich Ihre Verbindungen
projektieren lassen.
Nach der Anwahl von Einfügen ¾ Neue Verbindung... gelangen Sie in den
Dialog „Neue Verbindung einfügen“. Wählen Sie hier für die neue Verbindung
den Verbindungspartner (Andere Station) und als Verbindung „TCP-
Verbindung“ an. Aktivieren Sie das Kontrollkästchen „Eigenschafteendialog
aufblenden“.
Quittieren Sie mit „OK“. Sie gelangen jetzt in den Dialog „Eigenschaften –
TCP-Verbindung“.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 3-4


2XV9450-1MB00; Handbuch Ausgabe 3.0
Inbetriebnahme

Objekteigen- • Es wird Ihnen eine ID vorgegeben, die Sie gegebenenfalls nach Ihren
schaften der Wünschen ändern können.
Verbindung • Durch Klick auf die Schaltfläche „Wegewahl...“ wird der parametrierte
Verbindungsweg angezeigt.
• „Aktiver Verbindungsaufbau“ wird üblicherweise vom MODBUS-Client
ausgeführt.
• In der Karteikarte Adressen können die Portnummern festgelegt werden.

Mit „OK“ werden die Eingaben übernommen.


Speichern Sie die Verbindungsprojektierung und schließen Sie das
Programm „NetPro“.

Beachten Sie, dass die Verbindungs-ID (Lokale ID) im Anwenderprogramm


beim Aufruf der FBs zu verwenden ist.

Auswahl der Bei einer MODBUS-Kommunikation werden die MODBUS-Server


Portnummern üblicherweise über den Port 502 angesprochen, während MODBUS-Clients
Portnummern ungleich 502 verwenden.

Unspezifizierte Wenn bei einer Kopplung der CP als Server arbeitet und die Portnummer des
Verbindung Client nicht bekannt ist, kann über eine unspezifizierte Verbindung die
Kommunikation aktiviert werden. Es ist aber Voraussetzung, dass der Client
den aktiven Verbindungsaufbau übernimmt.
In diesem Fall ist keine „andere Station“ im Projekt notwendig. Nach der
Anwahl von Einfügen ¾ Neue Verbindung... gelangen Sie in den Dialog
„Neue Verbindung einfügen“. Wählen Sie hier für die neue Verbindung
anstelle des Verbindungspartners „unspezifiziert“ und als Verbindung „TCP-
Verbindung“ an. Aktivieren Sie das Kontrollkästchen „Eigenschafteendialog
aufblenden“.
Quittieren Sie mit „OK“. Sie gelangen jetzt in den Dialog „Eigenschaften –
TCP-Verbindung“.
„Aktiver Verbindungsaufbau“ muss abgewählt sein, im Dialog „Adressen“
werden für den „Partner“ keine Einstellungen vorgenommen, „IP“ und
„PORT“ müssen leer sein.
Mit „OK“ werden die Eingaben übernommen.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 3-5


2XV9450-1MB00; Handbuch Ausgabe 3.0
Inbetriebnahme

3.5 Einfügen der Funktionsbausteine ins Programm

Inhalt der Modbus- Die Modbus-Bibliothek enthält zwei Funktionsbausteine.


Bibliothek Der Funktionsbaustein FB100 (MODBUS) bearbeitet die Modbus
Funktionscodes der Conformance Class 0, FC 3 und 16.
Der Funktionsbaustein FB101 (MODB4) bearbeitet zusätzlich zu FC 3 und 16
noch den Funktionscode 4.

Bitte wählen Sie anhand der Anforderungen Ihrer Anlage den für Sie
passenden Funktionsbaustein aus der Bibliothek aus.

Nachfolgend gilt die Bezeichnung FB MODBUS immer für beide


Funktionsbausteine, es sei denn, es wird ausdrücklich auf den erweiterten
Baustein FB MODB4 Bezug genommen.

Einfügen des Um mit den MODBUS-Geräten Daten austauschen zu können benötigen Sie
MODBUS-FBs den Funktionsbaustein MODBUS. Um diesen in Ihr Projekt einfügen zu
können, müssen Sie den Baustein aus der Bibliothek kopieren. Dazu öffnen
sie die Bibliothek „Modbus_TCP“ durch Anwahl von Datei ¾ Öffnen.... In
dem Dialog Öffnen Projekt wechseln Sie auf die Registerkarte Bibliotheken.
Selektieren Sie die Bibliothek „Modbus_TCP“ und bestätigen Sie die Auswahl
mit „OK“.

Es öffnet sich die Bibliothek. Markieren Sie den Funktionsbaustein MODBUS


und kopieren Sie ihn durch Bearbeiten ¾ Kopieren. Danach wechseln Sie
wieder in Ihr Projekt durch Anwahl von Fenster ¾ „Ihr Projekt“.
Selektieren Sie im Step7-Projekt in der geöffneten eigenen S7 300/S7 400-
Station die CPU und öffnen Sie durch Doppelklicken auf „S7-Programm“ und
anschließend auf „Bausteine“ den Bausteinordner. Durch Bearbeiten ¾
Einfügen fügen Sie den Baustein in Ihr Programm ein.

Einfügen der Der Funktionsbaustein MODBUS benutzt die Funktionsbausteine AG_SEND


Kommunikations- und AG_RECV bzw. AG_LSEND und AG_LRECV bei S7-400. Diese müssen
bausteine Sie auch in Ihr Programm einfügen.
Diese Kommunikationsbausteine befinden sich in der Bibliothek
„SIMATIC_NET_CP“, die mit dem Softwarepaket NCM S7 für Industrial
Ethernet mitgeliefert wurde. Die Bibliothek öffnen sie durch Anwahl von Datei
¾ Öffnen.... In dem Dialog Öffnen Projekt wechseln Sie auf die
Registerkarte Bibliotheken. Selektieren Sie die Bibliothek
„SIMATIC_NET_CP“ und bestätigen Sie die Auswahl mit „OK“. Es öffnet sich
die Bibliothek.

CP 300 Bei SIMATIC S7-300 öffnen Sie durch Doppelklick den Ordner „CP 300“
Selektieren sie die Funktionsbausteine FC5 (AG_SEND) und FC6
(AG_RECV) und kopieren sie diese mit Bearbeiten ¾ Kopieren. Wechseln
sie in Ihr Projekt zurück durch anklicken von Fenster ¾ „Ihr Projekt“.

Selektieren Sie im Step7-Projekt in der geöffneten eigenen S7 300-Station die


CPU und öffnen Sie durch Doppelklicken auf „S7-Programm“ und
anschließend auf „Bausteine“ den Bausteinordner. Durch Bearbeiten ¾
Einfügen fügen Sie die Bausteine in Ihr Programm ein.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 3-6


2XV9450-1MB00; Handbuch Ausgabe 3.0
Inbetriebnahme

CP 400 Bei SIMATIC S7-400 öffnen Sie durch Doppelklick den Ordner „CP 400“
Selektieren sie die Funktionsbausteine FC50 (AG_LSEND) und FC60
(AG_LRECV) und kopieren sie diese mit Bearbeiten ¾ Kopieren. Wechseln
sie in Ihr Projekt zurück durch anklicken von Fenster ¾ „Ihr Projekt“.

Selektieren Sie im Step7-Projekt in der geöffneten eigenen S7 400-Station die


CPU und öffnen Sie durch Doppelklicken auf „S7-Programm“ und
anschließend auf „Bausteine“ den Bausteinordner. Durch Bearbeiten ¾
Einfügen fügen Sie die Bausteine in Ihr Programm ein.

Beachten Sie, dass folgende Versionen der FCs Voraussetzung für den
einwandfreien Betrieb des FB MODBUS sind:

S7/400: AG_LSEND V3.0 oder höher


AG_LRECV V3.0 oder höher

S7/300: AG_SEND V4.2 oder höher


AG_RECV V4.7 oder höher

Wichtig!
Die Kommunikationsbausteine FC5/6 bzw. FC50/60 können nur mit dieser
Bezeichnung verwendet werden. Es ist nicht möglich die Bausteine
umzubennen.

3.6 Anlaufverhalten des CP343 / CP443

Einleitung Der Anlauf des CP unterteilt sich in folgende Phasen:


• Initialisierung (Netz-Ein des CP)
• Parametrierung

Initialisierung Sobald der CP an Spannung liegt, wird nach Durchlauf eines


Hardwaretestprogramms die Firmware auf dem CP für den Betrieb
vorbereitet.

Parametrierung Bei der Parametrierung empfängt der CP die dem aktuellen Steckplatz
zugeordneten Baugruppenparameter.
Der CP ist jetzt betriebsbereit.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 3-7


2XV9450-1MB00; Handbuch Ausgabe 3.0
Funktionsbaustein MODBUS

4 Funktionsbaustein MODBUS

4.1 Funktionsweise des FB

Allgemeines Der Funktionsbaustein MODBUS erlaubt es eine Kommunikation zwischen


einem CP443-1 bzw. CP 343-1 und einem Partner der das OPEN
MODBUS/TCP Protokoll der Klasse 0 unterstützt aufzubauen.
Der FB kann je nach Parametrierung sowohl als Client als auch als Server
betrieben werden.
In der Betriebsart Server ist der Multitaskbetrieb gemäß MODBUS
OPEN/TCP Spezifikation nicht implementiert.

Der Funktionsbaustein erfüllt folgende Aufgaben:


• Aufruf der Standardfunktionen zur Datenübertragung zwischen CPU
und CP
• MODBUS spezifischen Telegrammheader beim Senden generieren
• Prüfung des MODBUS spezifischen Telegrammheaders beim
Empfang
• Prüfung ob die vom Client angesprochenen Datenbereiche
vorhanden sind
• Exception Telegramme generieren wenn ein Fehler aufgetreten ist
(nur bei CP ist Server)
• Datentransfer von/in den parametrierten DB
• Zeitliche Überwachung des Empfangs von Daten

Aufruf des FBs Der Funktionsbaustein muss sowohl im Anlauf-OB100 als auch im zyklischen
Betrieb im OB1 aufgerufen werden.

Pro Verbindungs-ID kann entweder der FB MODBUS oder der FB MODB4


aufgerufen werden.

Der Aufruf des FB MODBUS in zeitgesteuerten OBs z.B. OB35 ist nicht
zulässig.

Anlauf des FBs Der Funktionsbaustein MODBUS wird im OB100 einmal unbedingt auf-
gerufen. Die Initialisierungsparameter müssen entsprechend der Anlagen-
konfiguration belegt sein. Sie werden in den Instanz-DB übernommen.

Die Laufzeitparameter werden im Anlauf nicht ausgewertet.

Zyklischer Betrieb Im zyklischen Betrieb wird der FB MODBUS im OB1 aufgerufen. Anhand der
des FBs Laufzeitparameter werden die Funktionen des Bausteins aktiviert. Während
ein Auftrag läuft, werden Änderungen an den Laufzeitparametern nicht
ausgewertet.

Im zyklischen Betrieb werden die Initialisierungsparameter nicht ausgewertet.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 4-1


2XV9450-1MB00; Handbuch Ausgabe 3.0
Funktionsbaustein MODBUS

Auftragsanstoß Durch einen positiven Flankenwechsel am Triggereingang ENQ_ENR wird


CP ist Client ein Auftrag initiiert. Abhängig von den Eingangsparametern UNIT,
READ_WRITE, START_ADDRESS, LENGTH und TI wird ein MODBUS
Anforderungstelegramm generiert und zur Partnerstation über die TCP/IP
Verbindung gesendet. Der Client wartet die parametrierte Zeit MONITOR auf
eine Antwort vom Server.

Kommt es zur einer Zeitüberschreitung (keine Antwort vom Server) wird der
aktivierte Auftrag mit Fehler beendet. Ein neuer Auftrag kann initiiert werden.

Nach dem Empfang des Antworttelegramms wird eine Plausibilitätsprüfung


durchgeführt. Verläuft diese positiv, werden die erforderlichen Aktionen
durchgeführt und der Auftrag wird ohne Fehler beendet, der Ausgang
DONE_NDR wird gesetzt. Wurden bei der Prüfung Fehler erkannt, wird der
Auftrag mit Fehler beendet, das Bit ERROR wird gesetzt und eine
Fehlernummer im STATUS angezeigt.

Aktivierung des Durch einen positiven Pegel am Triggereingang ENQ_ENR ist der FB zum
FBs Empfang eines Anforderungstelegramms vom Client bereit. Der Server
CP ist Server verhält sich dabei passiv.

Das empfangene Telegramm wird überprüft. Verläuft die Prüfung positiv, wird
das Antworttelegramm beantwortet. Der beendete Telegrammverkehr wird
dem Anwender mitgeteilt indem das Bit DONE_NDR gesetzt wird. Zu diesem
Zeitpunkt wird die ausgeführte Funktion an den Ausgängen
START_ADDRESS, READ_WRITE, LENGTH, UNIT und TI angezeigt.

Ein fehlerhaftes Anforderungstelegramm bewirkt eine Fehlermeldung, das Bit


ERROR wird gesetzt, im STATUS wird die Fehlernummer angezeigt und die
Anforderung des Client wird nicht beantwortet.

Datenübergabe Die Datenübergabe zwischen CP und CPU erfolgt mit den Standard-
CPU – CP bausteinen AG_SEND und AG_RECV.

Bei Aktivierung eines MODBUS Auftrags durch den Anwender (CP ist Client)
oder bei Empfang eines Telegramms vom Client (CP ist Server) werden vom
FB die Standardbausteine für den CP in der erforderlichen Reihenfolge und
Anzahl aufgerufen.

Beim Empfang eines Telegramms werden zuerst 6 Byte mit einem AG_RECV
gelesen. In diesen 6 Byte ist die Länge des restlichen Telegramms enthalten.
Es erfolgt dann ein zweiter Aufruf des AG_RECV mit der Restlänge. Die
Auswertung der empfangenen Daten wird erst nach dem vollständigen
Empfang durchgeführt.

TCP/IP mit TCP/IP mit CP 343-1 and CP434-1 läuft über statische Verbindungen. Die
CP343-1 / CP443-1 TCP-Verbindung kann während des laufenden Betriebs nicht abgebaut
werden.
Aufgrund dieser Systemeigenschaft kann es unter ungünstigen Bedingungen
bei bestimmten Fehlerfällen zu einer verlorenen Synchronisation kommen,
die einen Telegrammverlust nach sich ziehen kann. Das Verhalten des FB in
diesem Fall ist in Kapitel 6 näher beschrieben.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 4-2


2XV9450-1MB00; Handbuch Ausgabe 3.0
Funktionsbaustein MODBUS

4.2 Parameter des Funktionsbausteins MODBUS

Parameter Decl. Typ Beschreibung Wertebereich Init


ID IN WORD Verbindungs-ID gemäß Projektierung 1 bis 64 ja
W#16#1 bis
W#16#40

LADDR IN WORD LADDR-Adresse aus HW Konfig CPU ja


abhängig
TIMER_NR IN TIMER Nummer des Timer für die CPU ja
Antwortüberwachungszeit abhängig
MONITOR IN WORD Überwachungszeit: warten auf Daten vom 1 bis 999 nein
Koppelpartner W#16#1 bis
W#16#3E7
in 100 ms Schritten
DB_1 IN WORD Datenbausteinnummer erster Bereich 1 bis 65535 ja
für Holding Register W#16#1 bis
W#16#FFFF

START_1 IN WORD erste MODBUS Registeradresse 0 bis 65535 ja


W#16#0000 bis
W#16#FFFF

END_1 IN WORD letzte MODBUS Registeradresse 0 bis 65535 ja


W#16#0000 bis
W#16#FFFF

DB_2 IN WORD Datenbausteinnummer zweiter Bereich 1 bis 65535 ja


für Holding Register W#16#1 bis
W#16#FFFF
Null wenn nicht benötigt 0
START_2 IN WORD erste MODBUS Registeradresse 0 bis 65535 ja
W#16#0000 bis
W#16#FFFF

END_2 IN WORD letzte MODBUS Registeradresse 0 bis 65535 ja


W#16#0000 bis
W#16#FFFF

DB_3 IN WORD Datenbausteinnummer dritter Bereich 1 bis 65535 ja


für Holding Register W#16#1 bis
W#16#FFFF
Null wenn nicht benötigt 0
START_3 IN WORD erste MODBUS Registeradresse 0 bis 65535 ja
W#16#0000 bis
W#16#FFFF

END_3 IN WORD letzte MODBUS Registeradresse 0 bis 65535 ja


W#16#0000 bis
W#16#FFFF

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 4-3


2XV9450-1MB00; Handbuch Ausgabe 3.0
Funktionsbaustein MODBUS

Parameter Decl. Typ Beschreibung Wertebereich Init


DB_4 IN WORD Datenbausteinnummer vierter Bereich 1 bis 65535 ja
für Holding Register W#16#1 bis
W#16#FFFF
Null wenn nicht benötigt 0
START_4 IN WORD erste MODBUS Registeradresse 0 bis 65535 ja
W#16#0000 bis
W#16#FFFF

END_4 IN WORD letzte MODBUS Registeradresse 0 bis 65535 ja


W#16#0000 bis
W#16#FFFF

DB_5 IN WORD Datenbausteinnummer fünfter Bereich 1 bis 65535 ja


für Holding Register W#16#1 bis
W#16#FFFF
Null wenn nicht benötigt 0
START_5 IN WORD erste MODBUS Registeradresse 0 bis 65535 ja
W#16#0000 bis
W#16#FFFF

END_5 IN WORD letzte MODBUS Registeradresse 0 bis 65535 ja


W#16#0000 bis
W#16#FFFF

WRITE_ IN BOOL Bereich 1 ist schreibgeschützt TRUE ja


PROTECT1 (nur bei SERVER Funktion) FALSE
WRITE_ IN BOOL Bereich 2 ist schreibgeschützt TRUE ja
PROTECT2 (nur bei SERVER Funktion) FALSE
WRITE_ IN BOOL Bereich 3 ist schreibgeschützt TRUE ja
PROTECT3 (nur bei SERVER Funktion) FALSE
WRITE_ IN BOOL Bereich 4 ist schreibgeschützt TRUE ja
PROTECT4 (nur bei SERVER Funktion) FALSE
WRITE_ IN BOOL Bereich 5 ist schreibgeschützt TRUE ja
PROTECT5 (nur bei SERVER Funktion) FALSE
ENQ_ENR IN BOOL CP ist Client: TRUE nein
Auftragsanstoß bei positivem Pegel FALSE
CP ist Server:
Empfangsbereit bei positivem Pegel
SERVER_ IN BOOL CP/FB arbeitet als Server TRUE ja
CLIENT oder Client FALSE
DONE_NDR OUT BOOL CP ist Client: TRUE nein
aktivierter Auftrag wurde fehlerfrei beendet FALSE
CP ist Server:
Anforderung vom Client wurde ausgeführt
und beantwortet
ERROR OUT BOOL Es ist ein Fehler aufgetreten. TRUE nein
FALSE
STATUS OUT WORD Fehlernummer 0 bis FFFF nein

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 4-4


2XV9450-1MB00; Handbuch Ausgabe 3.0
Funktionsbaustein MODBUS

Parameter Decl. Typ Beschreibung Wertebereich Init


START_ IN/ WORD MODBUS start address 0 bis 65535 nein
ADDRESS OUT (INPUT bei CLIENT Funktion, OUTPUT W#16#0000 bis
W#16#FFFF
bei SERVER Funktion)
LENGTH IN/ BYTE Anzahl der zu bearbeitenden Register nein
OUT (INPUT bei CLIENT Funktion, OUTPUT
bei SERVER Funktion)
Lesende Funktion 1 bis 125
B#16#1 to
B#16#7D

Schreibende Funktion 1 bis 100


B#16#1 to
B#16#64

WRITE_ IN/ BOOL Lese- oder Schreibzugriff TRUE nein


READ OUT (INPUT bei CLIENT Funktion, OUTPUT FALSE
bei SERVER Funktion)
TI IN/ WORD Transaction Identifier 0 bis 65535 nein
OUT (INPUT bei Client Funktion, OUTPUT bei W#16#0 to
W#16#FFFF
Server Funktion)
UNIT IN/ BYTE Unit Identifier 0 bis 255 nein
OUT (INPUT bei CLIENT Funktion, OUTPUT B#16#0 bis
B#16#FF
bei SERVER Funktion)

Allgemeines Die Parameter des FB MODBUS gliedern sich in zwei Gruppen:

• Initialisierungsparameter

• Laufzeitparameter

Die Initialisierungsparameter werden nur beim Erstdurchlauf des Funktions-


bausteins MODBUS ausgewertet und in den Instanz-DB übernommen. Die
Initialisierungsparameter sind in der obigen Tabelle in der Spalte „INIT“ mit
„ja“ gekennzeichnet.
Eine Änderung der Initialisierungsparameter während des laufenden Betriebs
hat keine Auswirkung. Nach einer Änderung dieser Parameter z.B. im
Testbetrieb muss der Instanz-DB (I-DB) durch STOP/RUN der CPU neu
initialisiert werden.

Laufzeitparameter können im zyklischen Betrieb verändert werden. Es ist


nicht sinnvoll die Eingangsparameter zu ändern während ein Auftrag läuft. Mit
den Vorbereitungen für den nächsten Auftrag und den damit verbundenen
Änderungen der Parameter sollte gewartet werden, bis der vorherige Auftrag
mit DONE_NDR oder ERROR beendet wurde.
Die Ausgangsparameter sollten immer nur bei gesetztem DONE_NDR
ausgewertet werden.

Wertebereiche Bei den Wertebereichen für die verschiedenen Parameter sind ggf. auch
CPU-spezifische Einschränkungen zu beachten.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 4-5


2XV9450-1MB00; Handbuch Ausgabe 3.0
Funktionsbaustein MODBUS

ID Für jede projektierte Verbindung in STEP7 wird eine Verbindungs-ID


vergeben. Die Verbindungs-ID beschreibt eindeutig die Verbindung von der
CPU über den CP zum Koppelpartner.

Die Nummer aus der Verbindungsprojektierung ist hier einzutragen.

Der Wertebereich für diesen Parameter ist CPU-abhängig.

LADDR Der Parameter LADDR ist die Basisadresse des CP aus HW Konfig
(E-Adresse). Der projektierte Wert ist hier einzutragen.

Der Wertebereich für diesen Parameter ist CPU-abhängig.

Die Parameter ID und LADDR können auch der Maske Eigenschaften der
TCP Verbindung entnommen werden.

TIMER_NR Hier wird die Nummer des Timers angegeben, mit dem die Überwachungszeit
MONITOR realisiert wird.

Der Wertebereich für diesen Parameter ist CPU-abhängig. Der Timer darf
nicht für andere Zwecke verwendet werden.

MONITOR Die Überwachungszeit MONITOR überwacht den Eingang der Daten vom
Koppelpartner. Die Monitoringzeit ist im 100ms-Raster einstellbar. Es wird
eine Überwachungszeit von ca. 1,5 Sekunden empfohlen.

In der Betriebsart „CP ist Client“ wird mit der Zeit MONITOR der Eingang des
kompletten Antworttelegramms vom Server überwacht. Bei Überschreitung
der Überwachungszeit wird der aktivierte Auftrag mit Fehler beendet. Die Zeit
wird nach beendetem Senden des Anforderungstelegramms gestartet und
nach dem Empfang der kompletten Daten gestoppt.

In der Betriebsart „CP ist Server“ wird der Eingang des zweiten
Telegrammteils mit der Zeit MONITOR überwacht. Bei Überschreitung der
Überwachungszeit wird ein Fehler gemeldet. Die Zeit wird nach dem
Empfang des MODBUS spezifischen Telegrammheaders gestartet und nach
beendetem Empfang des Anforderungstelegramms gestoppt.

DB_x Der FB bietet 5 Datenbereiche für die Abbildung der MODBUS Register-
START_x adressen im S7-Speicher. Es muss mindestens ein Datenbereich definiert
END_x werden, die anderen 4 Datenbereiche sind optional. Aus den Datenbereichen
wird abhängig vom Auftragtyp gelesen oder in sie geschrieben.

Mit einem Auftrag kann immer nur aus einem DB gelesen / in einen DB
geschrieben werden. Zugriffe auf Register, die in mehreren DBs liegen, auch
wenn diese lückenlos hintereinander liegen, sind auf zwei Aufträge
aufzuteilen. Dies ist bei der Projektierung zu berücksichtigen.

In der Betriebsart „CP ist Client“ sind 3 Parameter notwendig: DB_x,


START_x und END_x. In der Betriebsart „CP ist Server“ wird zusätzlich der
Parameter WRITE_PROTECTx benötigt.

Der Parameter DB_x legt den Datenbaustein fest, in dem die nachfolgend
definierten MODBUS Register abgebildet werden. Mit START_x wird die erste
Registeradresse die im Datenwort 0 des DB abgebildet wird angegeben.
END_x definiert die Adresse des letzten MODBUS Registers.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 4-6


2XV9450-1MB00; Handbuch Ausgabe 3.0
Funktionsbaustein MODBUS

Die Datenwortnummer im S7 DB, in die das letzte Register eingetragen wird,


berechnet sich nach folgender Formel:
DBW Nummer = (END_x – START_x) ∗ 2

Wird in DB_x der Wert 0 eingetragen, wird der entsprechende Datenbereich


nicht verwendet.

Die definierten Datenbereiche dürfen sich nicht überlappen. Der Parameter


END_x darf nicht kleiner als START_x sein. Im Fehlerfall wird der Anlauf des
FBs mit Fehler beendet. Sind beide Werte gleich, wird ein Register
zugeordnet.

Am Ende dieses Kapitels ist ein Beispiel für die Abbildung der MODBUS
Adressen auf S7-Speicherbereiche dargestellt.

WRITE_ Datenbereiche können in der Betriebsart „CP ist Server“ mit einem
PROTECTx Schreibschutz versehen werden. So kann sichergestellt werden, dass der
Client auf bestimmte Datenbereiche der S7 nicht schreibend zugreifen kann.

Für jeden Datenbereich gibt es einen eigenen Schreibschutz. Schreibzugriffe


auf einen gesperrten Bereich lösen ein Exception Telegramm aus.

ENQ_ENR Betriebsart „CP ist Client“:


Mit einer positiven Flanke wird der Datentransfer initiiert. Mit den Werten der
Eingangsparameter UNIT, READ/WRITE, START_ADDRESS, LENGTH und
TI wird das Anforderungstelegramm generiert. Ein neuer Auftrag kann nur
gesendet werden, wenn der vorherige mit DONE oder ERROR
abgeschlossen wurde.

Betriebsart „CP ist Server“:


Mit einem positiven Pegel am Eingang wird der FB aktiviert. Es können
Telegramme vom Client empfangen werden. Bei einem nicht gesetzten
Eingang werden die Daten vom CP abgeholt und verworfen.

SERVER_CLIENT Dieser Parameter unterscheidet Client- und Serverbetrieb. Ist der Eingang
TRUE, wird in der Betriebsart „CP ist Server“ gearbeitet.

Die Einstellung FALSE wählt die Betriebsart „CP ist Client“ aus.

DONE_NDR In der Betriebsart „CP ist Client“ wurde der aktivierte Auftrag fehlerfrei
beendet. Bei einer lesenden Funktion wurden die Antwortdaten vom Server
bereits im DB eingetragen, bei einer schreibenden Funktion wurde vom
Server die Antwort auf das Anforderungstelegramm erhalten.

In der Betriebsart „CP ist Server“ zeigt der Ausgang einen fehlerfrei
beendeten Telegrammverkehr mit dem Client an. In den Parametern
READ_WRITE, START_ADDRESS und LENGTH werden die
Auftragsparameter des Client angezeigt. Diese Ausgänge sind nur gültig so
lange DONE_NDR gesetzt ist.

ERROR Wenn dieser Ausgang gesetzt ist, wurde ein Fehler erkannt.

In der Betriebsart „CP ist Client“ wurde der aktivierte Auftrag mit Fehler
abgeschlossen. Die zugehörige Fehlernummer wird im Ausgang STATUS
angezeigt.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 4-7


2XV9450-1MB00; Handbuch Ausgabe 3.0
Funktionsbaustein MODBUS

In der Betriebsart „CP ist Server“ wurde bei einem Anforderungstelegramm


des Client oder beim Senden des Antworttelegramms ein Fehler erkannt. Die
zugehörige Fehlernummer wird im Ausgang STATUS angezeigt.

STATUS Der Ausgang STATUS zeigt bei gesetztem ERROR die Fehlernummer an.
Die Fehlernummern sind im Kapitel 6 beschrieben.

START_ADDRESS Der Parameter START_ADDRESS bestimmt die erste MODBUS Register-


adresse die geschrieben bzw. gelesen wird. In der Betriebsart “CP ist Client“
handelt es sich um einen Eingangs-, in der Betriebsart „CP ist Server“ um
einen Ausgangsparameter.

LENGTH Der Parameter LENGTH bestimmt die Anzahl der MODBUS Register die
geschrieben bzw. gelesen wird. In der Betriebsart “CP ist Client“ handelt es
sich um einen Eingangs-, in der Betriebsart „CP ist Server“ um einen
Ausgangsparameter.

Bei lesenden Funktionen sind pro Telegramm maximal 125 Register möglich.
Bei schreibenden Funktionen beträgt die maximale Anzahl 100 Register.
Diese müssen je Telegramm immer im gleichen DB liegen.

WRITE_READ Dieser Parameter definiert ob eine lesende oder schreibende Funktion ausge-
führt werden soll. Hat der Ein-/Ausgang den Wert FALSE, handelt es sich um
eine lesende Funktion. Der Wert TRUE definiert eine schreibende Funktion.
In der Betriebsart “CP ist Client“ handelt es sich um einen Eingangs-, in der
Betriebsart „CP ist Server“ um einen Ausgangsparameter.

TI Der Parameter TI, Transaction Identifier wird gemäß MODBUS Spezifikation


vom Server aus dem Anforderungstelegramm ins Antworttelegramm
umkopiert.

In der Betriebsart “CP ist Client“ handelt es sich um einen Eingangs-


parameter. Der FB übernimmt diesen Wert ins Anforderungstelegramm und
überprüft ihn beim Empfang der Antwort.
In der Betriebsart „CP ist Server“ handelt es sich um einen Ausgangspara-
meter. Der FB übernimmt den Wert aus dem Anforderungstelegramm in die
Antwort.

Der Transaction Identifier dient zur Erkennung von Telegrammen bzw. der
Zuordnung von Request zu Response. Der FB MODBUS kann diese
Zuordnung nur Vornehmen, wenn der TI auch bei jedem Telegramm
verändert wird. Bestimmte durch TCP bedingte Situationen können nur bei
Veränderung des TI aufgelöst werden. Nur dann ist eine zuverlässige
Funktion des FB gewährleistet. Wir empfehlen deshalb, den TI bei jedem
Request um 1 zu erhöhen.

UNIT In der Funktion „CP ist Client“ ist der Parameter UNIT ein Eingangs-
parameter. Dieser Eingang ist den Anforderungen entsprechend zu setzen.
Der FB übernimmt diesen Wert ins Anforderungstelegramm und überprüft ihn
beim Empfang der Antwort.

In der Funktion „CP ist Server“ ist der Parameter UNIT ein Ausgangs-
parameter. Der FB übernimmt den Wert aus dem Anforderungstelegramm in
die Antwort. Der Ausgang wird mit bei beendetem Auftrag mit dem
empfangenen Wert gesetzt.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 4-8


2XV9450-1MB00; Handbuch Ausgabe 3.0
Funktionsbaustein MODBUS

Beispiel: SERVER_CLIENT Server


DB_1 W#16#A (10)
Parametrierung START_1 W#16#1 (1)
der Datenbereiche END_1 W#16#8 (8)
WRITE_ PROTECT1 FALSE
DB_2 W#16#B (11)
START_2 W#16#B (11)
END_2 W#16#11 (17)
WRITE_ PROTECT2 TRUE
DB_3 W#16#C (12)
START_3 W#16#64 (100)
END_3 W#16#67 (103)
WRITE_ PROTECT3 FALSE
DB_4 0
DB_5 0

DB 10

Adresse Name Typ Kommentar


+0.0 Register 1 WORD read write
+2.0 Register 2 WORD read write
+4.0 Register 3 WORD read write
+6.0 Register 4 WORD read write
+8.0 Register 5 WORD read write
+10.0 Register 6 WORD read write
+12.0 Register 7 WORD read write
+14.0 Register 8 WORD read write

DB 11

Adresse Name Typ Kommentar


+0.0 Register 11 WORD read only
+2.0 Register 12 WORD read only
+4.0 Register 13 WORD read only
+6.0 Register 14 WORD read only
+8.0 Register 15 WORD read only
+10.0 Register 16 WORD read only
+12.0 Register 17 WORD read only

DB 12

Adresse Name Typ Kommentar


+0.0 Register 100 WORD read write
+2.0 Register 101 WORD read write
+4.0 Register 102 WORD read write
+6.0 Register 103 WORD read write

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 4-9


2XV9450-1MB00; Handbuch Ausgabe 3.0
Funktionsbaustein MODBUS

4.3 Parameter des Funktionsbausteins MODB4

Parameter- Nachfolgend sind die Parameter für FB MODB4 aufgeführt, die zusätzlich zu
beschreibung den Parametern des FB MODBUS zur Verfügung stehen.

Parameter Decl. Typ Beschreibung Wertebereich Init


DB_6 IN WORD Datenbausteinnummer sechster Bereich 1 bis 65535 ja
für Input Register W#16#1 bis
W#16#FFFF

START_6 IN WORD erste MODBUS Registeradresse 0 bis 65535 ja


W#16#0000 bis
W#16#FFFF

END_6 IN WORD letzte MODBUS Registeradresse 0 bis 65535 ja


W#16#0000 bis
W#16#FFFF

DB_7 IN WORD Datenbausteinnummer siebter Bereich 1 bis 65535 ja


für Input Register W#16#1 bis
W#16#FFFF
Null wenn nicht benötigt 0
START_7 IN WORD erste MODBUS Registeradresse 0 bis 65535 ja
W#16#0000 bis
W#16#FFFF

END_7 IN WORD letzte MODBUS Registeradresse 0 bis 65535 ja


W#16#0000 bis
W#16#FFFF

DB_8 IN WORD Datenbausteinnummer achter Bereich 1 bis 65535 ja


für Input Register W#16#1 bis
W#16#FFFF
Null wenn nicht benötigt 0
START_8 IN WORD erste MODBUS Registeradresse 0 bis 65535 ja
W#16#0000 bis
W#16#FFFF

END_8 IN WORD letzte MODBUS Registeradresse 0 bis 65535 ja


W#16#0000 bis
W#16#FFFF

INPUT_ IN/ BOOL CP/FB arbeitet auf Input Register (FC3) TRUE nein
HOLDING OUT oder Holding Register (FC4) FALSE

DB_x Der FB MODB4 bietet zusätzlich 3 Datenbereiche DB_6 bis DB_8 für die
START_x Abbildung der MODBUS Registeradressen im S7-Speicher beim Zugriff auf
END_x Input Register. Es muss mindestens ein Datenbereich definiert werden, die
anderen 2 Datenbereiche sind optional. Die drei Datenbereiche können nur
gelesen werden.

Mit einem Auftrag kann immer nur aus einem DB gelesen werden. Zugriffe
auf Register, die in mehreren DBs liegen, auch wenn diese lückenlos
hintereinander liegen, sind auf zwei Aufträge aufzuteilen. Dies ist bei der
Projektierung zu berücksichtigen.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 4-10


2XV9450-1MB00; Handbuch Ausgabe 3.0
Funktionsbaustein MODBUS

Der Parameter DB_x legt den Datenbaustein fest, in dem die nachfolgend
definierten MODBUS Register abgebildet werden. Mit START_x wird die erste
Registeradresse die im Datenwort 0 des DB abgebildet wird angegeben.
END_x definiert die Adresse des letzten MODBUS Registers.

Die Datenwortnummer im S7 DB, in die das letzte Register eingetragen wird,


berechnet sich nach folgender Formel:
DBW Nummer = (END_x – START_x) ∗ 2

Wird in DB_x der Wert 0 eingetragen, wird der entsprechende Datenbereich


nicht verwendet.

Die definierten Datenbereiche 6 bis 8 dürfen sich nicht überlappen. Der


Parameter END_x darf nicht kleiner als START_x sein. Im Fehlerfall wird der
Anlauf des FBs mit Fehler beendet. Sind beide Werte gleich, wird ein Register
zugeordnet.

Input Register und Holding Register werden jeweils von 0 bis FFFFH
adressiert. Diese Register sind physikalisch unterschiedliche Speicher-
bereiche. Es darf innerhalb DB_1 bis DB_5, sowie innerhalb DB_6 bis DB_8
keine Überlappungen von Registernummern geben. Es dürfen aber die
gleichen Registernummern sowohl in DB_1 bis DB_5 als auch in DB_6 bis
DB_8 vorkommen.

INPUT_HOLDING Dieser Parameter definiert ob Input Register oder Holding Register bearbeitet
werden. Hat der Ein-/Ausgang den Wert FALSE, werden Holding Register
bearbeitet. Der Wert TRUE bedeutet, dass Input Register bearbeitet werden.
In der Betriebsart “CP ist Client“ handelt es sich um einen Eingangs-, in der
Betriebsart „CP ist Server“ um einen Ausgangsparameter.

Holding Register können gelesen und beschrieben werden. Das Lesen der
Holding Register erfolgt mit dem Funktionscode 3, mit dem Funktionscode 16
können Holding Register geschrieben werden.

Input Register können nur gelesen werden. Das Lesen der Input Register
erfolgt mit dem Funktionscode 4.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 4-11


2XV9450-1MB00; Handbuch Ausgabe 3.0
Funktionsbaustein MODBUS

4.4 Vom FB verwendete Daten und Standardfunktionen

Instanz DB Der Funktionsbaustein MODBUS speichert seine Daten in einem Instanz DB.
Dieser Instanz DB wird beim ersten Aufruf des FB durch STEP 7 generiert.

Der Instanz-Datenbaustein enthält Parameterwerte vom Typ Input, Output,


Input/Output sowie statische Variablen die er für seinen Ablauf benötigt.
Diese Variablen sind remanent und behalten zwischen den FB-Aufrufen ihre
Gültigkeit. Über die Variablen wird der interne Ablauf des FBs gesteuert.

Speicherbedarf des Instanz-DBs:

Instanz-DB Arbeitsspeicher Ladespeicher


MODBUS 704 Byte 1070 Byte
MODB4 742 Byte 1148 Byte

Lokale Variablen Für den FB werden 102 Bytes Lokaldaten benötigt. Hinzu kommen die
Lokaldaten von einem AG_SEND oder AG_RECV, je nach Baustein bis zu 58
Bytes. Das ergibt maximal 160 Byte Lokaldaten für einen FB MODBUS-
Aufruf.

Zeiten Der Funktionsbaustein verwendet einen Timer zur zeitlichen Überwachung


des Empfangs. Die Nummer des verwendeten Timers kann parametriert
werden.

Merker Der Funktionsbaustein verwendet keine Merker.

Standard-FCs zur Der Funktionsbaustein verwendet die Bausteine AG_SEND/AG_LSEND und


Datenübertragung AG_RECV/AG_LRECV aus der SIMATIC_NET-Bibliothek für die
Datenübertragung zwischen CPU und CP.

Mit folgenden Versionen der FCs ist der FB MODBUS getestet und
freigegeben:

S7-300: FC5 „AG_SEND“ Version 4.2


FC6 „AG_RECV“ Version 4.7

S7-400: FC50 „AG_LSEND“ Version 3.0


FC60 „AG_LRECV“ Version 3.0

SFCs für sonstige Der FB MODBUS verwendet folgende SFCs aus der Standardbibliothek:
Funktionen
• SFC6 „READ_SINFO“
• SFC24 “TEST_DB”

Mit dem SFC6 überprüft der FB ob er aus dem OB100 oder dem OB1
aufgerufen wurde und entscheidet so, ob der Initialisierungsteil oder der
zyklische Ablauf bearbeitet werden sollen.

Mit dem SFC24 wird überprüft, ob der in DB_x parametrierte DB zur Laufzeit
in der erforderlichen Länge vorhanden ist.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 4-12


2XV9450-1MB00; Handbuch Ausgabe 3.0
Übertragungsprotokoll

5 Übertragungsprotokoll

5.1 Kommunikationsstruktur

Prinzipeller Das MODBUS Protokoll definiert eine Protocol Data Unit PDU unabhängig
Telegrammaufbau vom unterlagerten Protokoll. Das MODBUS Protokoll kann in der
des MODBUS Applikation Data Unit ADU, je nach Übertragungsmedium, zusätzliche
Protokolls Felder enthalten.

ADU

Adresse Funktions- Daten Sicherungs-


code zeichen

PDU

Telegrammaufbau Das folgende Bild stellt den Telegrammaufbau bei MODBUS/TCP graphisch
bei MODBUS/TCP dar.

MODBUS TCP/IP ADU

Header Funktions- Daten


code

PDU

Bei MODBUS/TCP entfällt das Sicherungszeichen der allgemeinen ADU, da


das Sicherungszeichen des TCP-Protokolls verwendet wird.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 5-1


2XV9450-1MB00; Handbuch Ausgabe 3.0
Übertragungsprotokoll

5.2 Überblick

Allgemein Das Protokoll Open MODBUS/TCP nutzt das standardisierte TCP/IP


Protokoll um Daten zu übertragen. Die MODBUS spezifischen Daten
werden vom FB generiert bzw. überprüft. Der Funktionsbaustein beinhaltet
die „Conformance Class 0” der MODBUS Spezifikation.

Client/Server Die Automatisierungsgeräte S7 mit ihre CPs und FB können sowohl als
Server als auch als Client betrieben werden.
Der Multitaskbetrieb des Servers wird dabei nicht unterstützt.

Der Client sendet ein Anforderungstelegramm an den Server. Der Server


antwortet innerhalb der Antwortüberwachungszeit. Der Server kann von sich
aus keinen Datenverkehr initiieren. Eine Kommunikation von Server zu
Server ist nicht möglich.

Funktionscodes Die “Conformance Class 0” beinhaltet folgende Funktionscodes:


• FC3: Holding Register lesen
• FC16: Holding Register schreiben

Der FB MODB4 bietet zusätzlich zur Conformance Class 0 folgenden


Funktionscode:
• FC4: Input Register lesen

Aufbau des Einem Telegramm bei Open MODBUS/TCP ist ein Header vorangestellt.
Protokolls Dieser Header ist bei Anforderungs- und Antworttelegrammen identisch
aufgebaut und besteht aus 6 Bytes.

Die 6 Bytes des Headers sind folgendermaßen definiert:

Byte 0 : Transaction Identifier


Byte 1 : Transaction Identifier
Byte 2 : Protocol Identifier = 0
Byte 3 : Protocol Identifier = 0
Byte 4 : Längenangabe höherwertiges Byte = 0
Byte 5 : Längenangabe niederwertiges Byte

Danach folgen:

Byte 6 : Unit Identifier


Byte 7 : MODBUS Funktionscode
ab Byte 8 : Telegrammdaten

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 5-1


2XV9450-1MB00; Handbuch Ausgabe 3.0
Übertragungsprotokoll

Transaction Der Transaction Identifier TI wird gemäß MODBUS Spezifikation vom Server
Identifier aus dem Anforderungstelegramm ins Antworttelegramm umkopiert.

Mit einem zyklisch veränderten TI lassen sich Anforderungs- und


Antworttelegramme eindeutig einander zuordnen. Wir empfehlen mit einem
TI zu arbeiten, der bei jeder Telegrammsequenz hochgezählt wird.

In der Betriebsart „CP ist Client“ wird der empfangene Transaction Identifier
mit dem gesendeten verglichen. Treten Unterschiede auf, wird der aktivierte
Auftrag mit Fehler beendet.

In der Betriebsart „CP ist Server“ wird der empfangene Transaction Identifier
ins Antworttelegramm umkopiert.

Protocol Identifier Der Protocol Identifier muss immer 0 sein. Der FB setzt den Protocol
Identifier bei Sendetelegrammen auf 0. Beim Empfang von Telegrammen
wird der Protocol Identifier auf den Wert 0 überprüft. Ein Wert ungleich 0
bewirkt eine Fehlermeldung.

Length Field Die Längenangabe im Length Field definiert die Datenlänge des
Telegramms ohne Header (beginnend mit Byte 6). Über die
Telegrammlänge wird das Ende des Telegramms bestimmt. Folgende
Telegrammlängen sind bei Anforderungs- und Antworttelegramm bei den
Funktionen Lesen und Schreiben zulässig:

Anforderung Antwort
Lesen 6 3 oder 5 bis 253
Schreiben 9 bis 207 3 oder 6

Unit Identifier Der Parameter UNIT kennzeichnet einen Slave der an einer seriellen
Verbindung oder an einem anderen Bus angeschlossen ist. Er wird zur
systeminternen Adressierung verwendet.
Mit MODBUS/TCP wird der Parameter UNIT vom Anforderungs- ins
Antworttelegramm umkopiert. Der Master überprüft, dass die UNIT des
empfangenen Telegramms identisch mit der gesendeten ist.

Funktionscode Der Funktionscode beschreibt die Funktion des Telegramms. Abhängig vom
Funktionscode unterscheidet sich der Aufbau der Telegrammdaten.

Interpretation der Das MODBUS Datenmodell basiert auf einer Reihe von Speicherbereichen
MODBUS die unterschiedliche Charakteristiken haben. Die Unterscheidung dieser
Registeradressen Speicherbereiche erfolgt bei einigen Systemen, z.B. MODICON PLCs über
die Registeradresse. So wird z.B. das Holding Register mit Offset 0 als
Register 40001 bezeichnet (Speichertyp 4xxxx, Reference 0001).

Es führt immer wieder zur Verwirrung, weil in manchen Handbüchern die


Registeradresse des Application Layers und in anderen die tatsächlich im
Protokoll übertragene Registeradresse beschrieben und gemeint ist.

Der FB MODBUS verwendet bei seinen Parametern START_x und


START_ADDRESS die tatsächlich übertragene Registeradresse. Es können
also mit jedem Funktionscode Registeradressen von 0000H bis FFFFH
übertragen werden.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 5-2


2XV9450-1MB00; Handbuch Ausgabe 3.0
Übertragungsprotokoll

5.3 Funktionscode 03 – Holding Register lesen

Allgemein Mit diesem Funktionscode können mehrere Holding Register gelesen werden.
Das Anforderungstelegramm enthält neben der UNIT und dem Funktionscode
die Registeranfangsadresse und die Anzahl der zu lesenden Register.

Das Antworttelegramm enthält neben UNIT und Funktionscode den


Bytecount für die nachfolgenden Daten sowie die gelesenen Registerwerte.
Im Fehlerfall kann die Antwort auch ein Exception Code Telegramm sein.

Den unten abgebildeten Telegrammstrukturen wird der


OPEN MODBUS / TCP spezifische Header vorangestellt.

Anforderungs- Byte 0: Unit Identifier


telegramm Byte 1: Funktion Code = 03
Byte 2: Register-Anfangsadresse höherwertiges Byte
Byte 3: Register-Anfangsadresse niederwertiges Byte
Byte 4: Registeranzahl höherwertiges Byte = 0
Byte 5: Registeranzahl niederwertiges Byte

Antworttelegramm Byte 0: Unit Identifier


Byte 1: Funktion Code = 03
Byte 2: Bytecount
Byte 3 bis ( 2 * Registeranzahl +2 ): Registerwerte

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 5-3


2XV9450-1MB00; Handbuch Ausgabe 3.0
Übertragungsprotokoll

5.4 Funktionscode 16 – Holding Register schreiben

Allgemein Mit diesem Funktionscode können mehrere Holding Register beschrieben


werden. Das Anforderungstelegramm enthält neben der UNIT und dem
Funktionscode die Registeranfangsadresse, die Anzahl der zu schreibenden
Register, den Bytecount und die zu schreibenden Registerwerte.

Das Antworttelegramm enthält neben UNIT und Funktionscode die Register-


Anfangsadresse sowie die Anzahl der geschriebenen Register. Im Fehlerfall
kann die Antwort auch ein Exception Code Telegramm sein.

Den unten abgebildeten Telegrammstrukturen wird der


OPEN MODBUS / TCP spezifische Header vorangestellt.

Anforderungs- Byte 0: Unit Identifier


telegramm Byte 1: Funktion Code = 10H
Byte 2: Register-Anfangsadresse höherwertiges Byte
Byte 3: Register-Anfangsadresse niederwertiges Byte
Byte 4: Registeranzahl höherwertiges Byte = 0
Byte 5: Registeranzahl niederwertiges Byte
Byte 6: Bytecount
Byte 7 bis ( 2 * Wort Anzahl +6 ): Registerwerte

Antworttelegramm Byte 0: Unit Identifier


Byte 1: Funktion Code = 10H
Byte 2: Register-Anfangsadresse höherwertiges Byte
Byte 3: Register-Anfangsadresse niederwertiges Byte
Byte 4: Registeranzahl höherwertiges Byte = 0
Byte 5: Registeranzahl niederwertiges Byte

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 5-4


2XV9450-1MB00; Handbuch Ausgabe 3.0
Übertragungsprotokoll

5.5 Exception Code Telegramme

Allgemeines In bestimmten Fehlerfällen antwortet der Server mit einem Exception Code
Telegramm.

Telegrammaufbau Das Exception Code Telegramm enthält neben der UNIT den Funktionscode
mit gesetztem Bit 27 und den Exception Code.
Der unten abgebildeten Telegrammstruktur wird der OPEN MODBUS / TCP
spezifische Header vorangestellt.

Byte 0: Unit Identifier


Byte 1: Funktionscode + 80H
Byte 2: Exception Code

Exception Bedeutung nach Ursache


Code MODBUS Spezifikation
01 Illegal Function Der FB kann diesen Funktionscode
nicht bearbeiten
02 Illegal Data Address • FC16: Zugriff auf
schreibgeschützten Bereich
• DB nicht vorhanden
• Daten liegen nicht komplett
in einem DB
• Registeranzahl zu groß

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 5-5


2XV9450-1MB00; Handbuch Ausgabe 3.0
Übertragungsprotokoll

5.6 Funktionscode 04 – Input Register lesen

Allgemein Mit diesem Funktionscode können mehrere Input Register gelesen werden.
Das Anforderungstelegramm enthält neben der UNIT und dem Funktionscode
die Registeranfangsadresse und die Anzahl der zu lesenden Register.

Das Antworttelegramm enthält neben UNIT und Funktionscode den


Bytecount für die nachfolgenden Daten sowie die gelesenen Registerwerte.
Im Fehlerfall kann die Antwort auch ein Exception Code Telegramm sein.

Den unten abgebildeten Telegrammstrukturen wird der


OPEN MODBUS / TCP spezifische Header vorangestellt.

Anforderungs- Byte 0: Unit Identifier


telegramm Byte 1: Funktion Code = 04
Byte 2: Register-Anfangsadresse höherwertiges Byte
Byte 3: Register-Anfangsadresse niederwertiges Byte
Byte 4: Registeranzahl höherwertiges Byte = 0
Byte 5: Registeranzahl niederwertiges Byte

Antworttelegramm Byte 0: Unit Identifier


Byte 1: Funktion Code = 04
Byte 2: Bytecount
Byte 3 bis ( 2 * Registeranzahl +2 ): Registerwerte

5.7 Weiterführende Informationen

Weiterführende Informationen zum Open MODBUS/TCP Protokoll finden Sie


im Anhang A aufgeführten Dokumenten.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 5-6


2XV9450-1MB00; Handbuch Ausgabe 3.0
Diagnose

6 Diagnose

Diagnose- Die Diagnosefunktionen des CP 343 / 443 erlauben Ihnen ein schnelles
funktionen Lokalisieren aufgetretener Fehler. Folgende Diagnosemöglichkeiten stehen
zur Verfügung:

• Diagnose über die Anzeigeelemente des CPs

• Diagnose über den STATUS-Ausgang des MODBUS


Funktionsbausteines.

Anzeigeelemente Die Anzeigeelemente informieren Sie über den Betriebszustand bzw. über
(LED)Fehler! mögliche Fehlerzustände des CPs. Die Anzeigeelemente geben Ihnen einen
Textmarke nicht ersten Überblick über aufgetretene interne bzw. externe Fehler sowie
definiert. schnittstellenspezifische Fehler.

STATUS-Ausgang Für eine Fehlerdiagnose besitzt der MODBUS Funktionsbaustein einen


des MODBUS FB STATUS-Ausgang. Durch Lesen des STATUS-Ausgangs erhalten Sie allge-
meine Aussagen zu Fehlern, die bei der Kommunikation aufgetreten sind.
Den STATUS-Parameter können sie im Anwenderprogramm auswerten.

6.1 Diagnose über die Anzeigeelemente des CP

Anzeigefunktionen Über die Anzeigeelemente des CP erhalten Sie Auskunft über die Baugruppe.
Zu unterscheiden sind folgende Anzeigefunktionen:

• Sammelstörungsanzeigen

- INTF Interner Fehler


- EXTF Externer Fehler

• Sonderanzeigen

CP 343-1:
- RX/TX ein Telegramm wird über die Schnittstelle übertragen

CP 443-1:
- TXD ein Telegramm wird über die Schnittstelle gesendet
- RXD ein Telegramm wird über die Schnittstelle empfangen

Eine detaillierte Beschreibung der Anzeigenelemente finden Sie im jeweiligen


Gerätehandbuch des CPs.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 6-1


2XV9450-1MB00; Handbuch Ausgabe 3.0
Diagnose

6.2 Überprüfungen durch den FB MODBUS

Im Anlauf • Parametergruppe DB_x, START_x, END_x. (x 1 bis 5)

1. Mit DB_x = 0 wird der Registerbereich abgeschaltet und nicht


weiter überprüft. Mindestens ein Bereich muss freigegeben
werden.

2. Test END_x >= START_x

3. Registeradressen die in zwei DB_x definiert werden, führen


zur Fehlermeldung (Überlappung).

• Wertebereich der Überwachungszeit MONITOR

• CP ist Server:
UNIT im zulässigen Bereich.

Fehler im Anlauf bewirken, dass ERROR gesetzt bleibt und im zyklischen


Betrieb keine Aufträge ausgeführt werden. Es ist eine Korrektur der
Parametrierung und STOP Æ RUN an der CPU erforderlich.

Zyklischer Betrieb Überprüfungen bei Aufruf des FB:


CP ist Client
• Wertebereich START_ADRESS

• Wertebereich LENGTH

• Bei Bearbeitung eines Auftrags wird überprüft, ob der durch die


Registeradresse angesprochene Datenbaustein in der erforderlichen
Länge vorhanden ist.

• Eingang des Antworttelegramms innerhalb der Überwachungszeit.

Die Überwachungszeit kann auch ablaufen, wenn weniger Daten als


im MODBUS Telegrammheader angegeben empfangen werden. Es
kann dann zu Folgefehlern mit Telegrammverlust kommen.

Überprüfungen im Antworttelegramm:

• Empfangener Transaction Identifier gleich gesendetem.

• Protocol Identifier = 0

• Länge zwischen 3 und 253


Außerdem wird die Länge aus dem Header des Antworttelegramms
einer Plausibilitätsprüfung bezüglich des Auftrags unterzogen.

• Empfangene UNIT gleich gesendeter.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 6-2


2XV9450-1MB00; Handbuch Ausgabe 3.0
Diagnose

• Empfangener FC gleich gesendetem.

• Antwort ist Exception Code Telegramm.

• Bei Leseaufträgen müssen Registeranzahl aus dem Anforderungs-


telegramm, Länge aus dem Header und Bytecount aus dem
Telegramm zusammenpassen.

• Bei Schreibaufträgen wird überprüft dass die Anfangsadresse und


Registeranzahl mit dem Anforderungstelegramm übereinstimmen.

Zyklischer Betrieb • Eingang des zweiten Teils des Anforderungstelegramms innerhalb


CP ist Server der Überwachungszeit.

Die Überwachungszeit kann auch ablaufen, wenn weniger Daten als


im MODBUS Telegrammheader angegeben empfangen werden. Es
kann dann zu Folgefehlern mit Telegrammverlust kommen.

• Protocol Identifier = 0

• Länge zwischen 6 und 207


Außerdem wird die Länge aus dem Header des Antworttelegramms
einer Plausibilitätsprüfung bezüglich der Telegrammdaten
unterzogen.

• Empfangener FC wird geprüft. Wenn der FC ungleich 03 oder 16 ist,


wird ein Exception Telegramm gesendet.

• Bei Schreibaufträgen müssen Länge aus dem Header sowie


Registeranzahl und Bytecount aus dem Telegramm
zusammenpassen.

• Registeranzahl wird überprüft, bei zu großer Anzahl wird ein


Exception Telegramm gesendet.

• Schreiben auf schreibgeschützten Bereich: Exception Telegramm


senden.

• Bei Bearbeitung eines Auftrags wird überprüft, ob der durch die


Registeradresse angesprochene Datenbaustein in der erforderlichen
Länge vorhanden ist. Im Fehlerfall wird ein Exception Telegramm
gesendet.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 6-3


2XV9450-1MB00; Handbuch Ausgabe 3.0
Diagnose

Verlorene Die hier beschriebene verlorene Synchronisation kann nur bei einem groben
Synchronisation Fehlverhalten des Koppelpartners oder massiven Störungen auf der
Übertragungsstrecke auftreten.

Der Funktionsbaustein MODBUS startet einen AG_RECV mit der Länge 6


Byte um den MODBUS spezifischen Telegrammheader zu lesen. Mit der
Länge aus dem Telegrammheader wird ein weiterer AG_RECV gestartet.
Wenn die Länge aus dem Telegrammheader nicht mit der tatsächlich an den
CP gesendeten Anzahl von Daten übereinstimmt, was einem eklatanten
Fehler entspricht, löst der CP die Situation folgendermaßen:

1. Es werden mehr Daten empfangen als im Header angekündigt:


Der nächste AG_RECV erhält Daten, die nicht dem MODBUS
spezifischen Header entsprechen. Es kommt zu Folgefehlern wie
fehlerhafter TI oder PI, es werden Daten als Längenangabe
interpretiert, die vom FB/AG_RECV verwendete Länge ist fehlerhaft.

2. Es werden weniger Daten empfangen als im Header angekündigt:


Der aktivierte AG_RECV bringt keine Fertigmeldung und die
Überwachungszeit MONITOR läuft ab. Der aktivierte AG_RECV hat
nur einen Teil der erwarteten Daten empfangen, befindet sich also
noch im Empfangszustand. Dieser AG_RECV kann nicht
abgebrochen werden. Es müssen also weitere Daten empfangen
werden um die Synchronisation wieder zu erlangen.
In der Betriebsart „CP ist Client“ wird der Auftrag des FB MODBUS
mit ERROR beendet. Es kann ein weiterer FB-Auftrag aktiviert
werden. Die Antwortdaten werden mit dem alten AG_RECV
empfangen. Es muss so lange empfangen werden, bis die erwartete
Anzahl von Daten erreicht ist. Es können also mehrere Aufträge, die
alle mit Fehler „Überwachungszeit abgelaufen“ beendet werden,
notwendig sein um die Synchronisation wieder zu erlangen.
In der Betriebsart „CP ist Server“ muss mit Anforderungstelegrammen
des Client die erwartete Datenanzahl erreicht werden. Es kann also
beim Client zu mehreren Fehlermeldungen „keine Antwort vom
Server“ kommen.
Wenn der alte AG_RECV beendet wurde, liest der FB einzelne Bytes
um ein mögliches Telegrammfragment vom CP abzuholen. Das
Lesen wird ebenfalls mit der Zeit MONITOR überwacht. Wenn die
Überwachungszeit abläuft wird davon ausgegangen, dass die
Synchronisation wieder erlangt ist. Der normale Betrieb des FB
MODBUS wird wieder aufgenommen.

3. Die angekündigte Anzahl von Daten passt nicht zum


Anforderungstelegramm (CP ist Client):
Der FB MODBUS holt die angekündigte Anzahl Daten vom CP ab
und verwirft sie. In ERROR und STATUS erfolgt eine Fehlermeldung.

Das oben beschriebene Verhalten des FB ist erforderlich, da weder die


TCP/IP-Verbindung abgebaut werden noch der aktivierte AG_RECV
abgebrochen werden kann.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 6-4


2XV9450-1MB00; Handbuch Ausgabe 3.0
Diagnose

6.3 Diagnosemeldungen des FB MODBUS

Meldungen am Am Status-Ausgang des FB MODBUS werden die Fehlermeldungen


STATUS-Ausgang angezeigt. STATUS ist gültig, wenn ERROR gesetzt ist. Nachfolgend finden
des FBs Sie eine Aufstellung der FB-spezifischen Fehlermeldungen.

Fehlermeldungen Der FB MODBUS benutzt die Standardbausteine SFC6, SFC24, FC5 und
der aufgerufenen FC6 bzw. FC50 und FC60. Die Fehlermeldungen dieser Bausteine werden
SFCs und FCs unverändert weitergegeben.

Im Diagnosepuffer oder der Online-Hilfe zu den SFCs/FCs aus dem SIMATIC


Manager finden Sie weitere Hinweise zu diesen Fehlermeldungen, sowie im
SIMATIC STEP7 NCM S7 Industrial Ethernet Handbuch.

Fehlermeldungen des FB MODBUS


STATUS Ereignistext Abhilfe
(Hex)
A002 Der Parameter END_x ist kleiner als START_x. Korrigieren Sie die
Parametrierung
A003 Ein DB auf den MODBUS Adressen abgebildet werden Verlängern Sie den DB.
sollen ist zu kurz. CP ist Client: Korrigieren Sie
Minimallänge: ( END_x - START_x + 1 ) ∗ 2 Auftragsparameter
weitere mögliche Ursachen: START_ADDRESS oder
LENGTH
• falsche Aufrufparameter (CP ist Client) CP ist Server:
• falscher Adressbereich im Anforderungs- Ändern Sie die Anforderung des
telegramm des Clients (CP ist Server) Client.
A004 Nur CP ist Client: Korrigieren Sie die
Die Parameter INPUT_HOLDING und WRITE_READ Aufrufparameter.
sind gleichzeitig gesetzt. Input Register können nicht
beschrieben werden.
A005 CP ist Client: CP ist Client:
Es wurde ein unzulässiger Wert am Parameter Korrigieren Sie den Parameter
LENGTH angegeben. LENGTH.
CP ist Server: CP ist Server:
Die Registeranzahl im Anforderungstelegramm ist Verändern Sie im Anforderungs-
unzulässig. telegramm die Registeranzahl
Wertebereiche: 1 bis 125 beim Lesen, 1 bis 100 beim
Schreiben.
A006 Der angegebene Registerbereich existiert nicht in CP ist Client:
DB_1 bis DB_8. Korrigieren Sie Parametrierungs-
kombination START_ADDRESS,
LENGTH.
CP ist Server:
Ändern Sie die Anforderung des
Client oder korrigieren Sie die
Parametrierung an DB_x.
A007 Es wurde eine ungültige Überwachungszeit MONITOR Korrigieren Sie die
parametriert. Wertebereich: 1 bis 999 Parametrierung.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 6-5


2XV9450-1MB00; Handbuch Ausgabe 3.0
Diagnose

Fehlermeldungen des FB MODBUS


STATUS Ereignistext Abhilfe
(Hex)
A008 Innerhalb der parametrierten Überwachungszeit Überprüfen Sie Einstellungen und
MONITOR meldet der aktivierte AG_RECV keinen ggf. Fehlermeldungen des
Empfang. Koppelpartners.
z.B. Verbindung nicht aufgebaut, Partner nicht bereit. Überprüfen Sie, ob der
Als Folgefehler kann ein Synchronisationsverlust Koppelpartner evt. einen
auftreten, der einen Telegrammverlust verursacht. bestimmten UNIT-Identifier
benötigt.
A009 Es wurde ein Protocol Identifier ungleich 0 empfangen, Überprüfen Sie mit Hilfe einer
oder bei CP ist Client: Telegrammaufzeichnung die
Der empfangene Transaction Identifier TI ist ungleich Daten des Koppelpartners.
dem gesendeten.
In der Betriebsart CP ist Server
Diese Fehlermeldung kann auch einen sollte sichergestellt werden, dass
fehlgeschlagenen Synchronisationsversuch die Überwachungszeit MONITOR
signalisieren. des FB kleiner als die
Nach Neustart der CPU bei laufendender Antwortüberwachungszeit des
Datenübertragung kann der Fehler einmal auftreten, Client ist um eine Entleerung des
falls noch „alte“ Daten auf dem CP liegen. CP zu ermöglichen.
A00A CP ist Client: Überprüfen Sie mit Hilfe einer
Die empfangene UNIT ist ungleich der gesendeten. Telegrammaufzeichnung die
Daten des Koppelpartners.
A00B CP ist Client: CP ist Client:
Empfangener Funktionscode ungleich gesendetem Überprüfen Sie mit Hilfe einer
CP ist Server: Telegrammaufzeichnung die
Es wurde ein ungültiger Funktionscode empfangen. Daten des Koppelpartners.
CP ist Server :
Der FB bearbeitet nur die
Funktionscodes 03 und 16
A00C Der empfangene Bytecount passt nicht zur Überprüfen Sie mit Hilfe einer
Registeranzahl. Telegrammaufzeichnung die
Daten des Koppelpartners.
A00D Die Registeradresse im Antworttelegramm ist ungleich Überprüfen Sie mit Hilfe einer
der im Anforderungstelegramm (nur bei CP ist Client). Telegrammaufzeichnung die
Daten des Koppelpartners.
A00E Die Längenangabe im MODBUS spezifischen Überprüfen Sie mit Hilfe einer
Telegrammheader passt nicht zu den Angaben Telegrammaufzeichnung die
Registeranzahl oder Bytecount im Telegramm. Daten des Koppelpartners.
Der FB holt alle Daten vom CP ab und verwirft sie. Als
Folgefehler kann es zu einem Synchronisationsverlust
kommen.
A00F CP ist Server Ändern Sie die Anforderung des
Es wurde ein Schreibzugriff auf einen Client oder korrigieren Sie die
schreibgeschützten Bereich durchgeführt Parametrierung.
A010 Bei den parametrierten Bereichen DB_1 bis DB_8 Korrigieren Sie die
wurde eine DB-Nummer doppelt vergeben. Parametrierung.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 6-6


2XV9450-1MB00; Handbuch Ausgabe 3.0
Diagnose

Fehlermeldungen des FB MODBUS


STATUS Ereignistext Abhilfe
(Hex)
A01A Korrupte Daten oder falsche Länge im Header: Byte 4 Überprüfen Sie mit Hilfe einer
des Präfix <> 0 Telegrammaufzeichnung die
Daten des Koppelpartners.
A01B Als Antwort wurde ein Exception Telegramm mit Exception Der Koppelpartner unterstützt
Code 1 empfangen (nur bei CP ist Client) die angeforderte Funktion
nicht.
A01C Als Antwort wurde ein Exception Telegramm mit Exception Korrigieren Sie LENGTH bzw.
Code 2 empfangen (nur bei CP ist Client) START_ADDRESS beim FB-
Es erfolgte ein Zugriff auf eine nicht vorhandene/ nicht Aufruf.
zulässige Adresse beim Koppelpartner oder ein Zugriff,
der nicht nur in einem DB liegt.
A01D Als Antwort wurde ein Exception Telegramm mit einem Kontrollieren Sie die
unbekannten Exception Code empfangen (nur bei CP ist Fehlermeldungen des
Client) Koppelpartners und
überprüfen Sie ggf. die Daten
mit einer
Telegrammaufzeichnung.
A01E Es wurden ungültige Daten empfangen die nicht zuordnet Kontrollieren Sie Fehler-
werden konnten. Der CP hat die Synchronisation verloren. meldung des Koppelpartners
Der CP wartet auf Daten vom Koppelpartner um den überprüfen Sie ggf. die Daten
laufenden AG_RECV abschließen zu können. mit einer Telegramm-
aufzeichnung.
A012 Die parametrierten Bereiche DB_1 und DB_2 überlappen. Korrigieren Sie die
Parametrierung.
A013 Die parametrierten Bereiche DB_1 und DB_3 überlappen.
Die Datenbereiche dürfen
A014 Die parametrierten Bereiche DB_1 und DB_4 überlappen. keinen gemeinsamen
A015 Die parametrierten Bereiche DB_1 und DB_5 überlappen. Registeradressbereich
besitzen.
A023 Die parametrierten Bereiche DB_2 und DB_3 überlappen.
A024 Die parametrierten Bereiche DB_2 und DB_4 überlappen.
A025 Die parametrierten Bereiche DB_2 und DB_5 überlappen.
A034 Die parametrierten Bereiche DB_3 und DB_4 überlappen.
A035 Die parametrierten Bereiche DB_3 und DB_5 überlappen.
A045 Die parametrierten Bereiche DB_4 und DB_5 überlappen. Korrigieren Sie die
Parametrierung.
A067 Die parametrierten Bereiche DB_6 und DB_7 überlappen.
Die Datenbereiche dürfen
A068 Die parametrierten Bereiche DB_6 und DB_8 überlappen. keinen gemeinsamen
A078 Die parametrierten Bereiche DB_7 und DB_8 überlappen. Registeradressbereich
besitzen.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 6-7


2XV9450-1MB00; Handbuch Ausgabe 3.0
Diagnose

6.4 Diagnosemeldungen der eingebundenen Bausteine

Fehlermeldungen der eingebundenen FCs/SFCs


STATUS Ereignistext Abhilfe
(Hex)
7xxx Bitte entnehmen Sie die detaillierte Information der Siehe Online-Hilfe (SIMATIC
Online-Hilfe des SIMATIC Manager. Manager -> Baustein markieren
-> Taste F1 -> Ethernet -> siehe
auch -> auswerten der Anzeigen)
8xxx Bitte entnehmen Sie die detaillierte Information der Siehe Online-Hilfe (SIMATIC
Online-Hilfe des SIMATIC Manager. Manager -> Baustein markieren
-> Taste F1 -> Ethernet -> siehe
auch -> auswerten der Anzeigen)

6.5 Diagnosemeldungen des SFC24

Fehlermeldungen des SFC24


STATUS Ereignistext Abhilfe
(Hex)
80A1 DB Nummer = 0 oder zu groß für die CPU Wählen Sie eine zulässige DB
Nummer.
80B1 Der DB existiert nicht auf der CPU. Alle Datenbausteine die an DB_x
angegeben werden, müssen
kreiert und auf die CPU
übertragen werden.
80B2 DB UNLINKED DB nicht als UNLINKED
generieren.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 6-8


2XV9450-1MB00; Handbuch Ausgabe 3.0
Applikationsbeispiel

7 Applikationsbeispiel

Allgemein Im Folgenden ist die Verwendung des MODBUS FB in einem einfachen


Programmbeispiel dargestellt.

Das S7Programm soll als Informationsquelle dienen und kann nicht als
verbindlicher Lösungsvorschlag kundenspezifischer Anlagenkonfigura-
tionen betrachtet werden.

Beispiel-Projekt Auf der CD finden Sie ein umfangreiches Beispielprojekt in dem für alle
auf der CD Funktionsvarianten Simatic-Stationen angelegt wurden.
• Simatic Station ist S7-300 oder S7-400
• Simatic Station ist Client oder Server
• Verwendung von FB MODBUS oder FB MODB4

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 7-1


2XV9450-1MB00; Handbuch Ausgabe 3.0
Applikationsbeispiel

Simatic-Stationen Folgende Simatic-Stationen sind im Beispielprojekt angelegt:


im Beispielprojekt
Stationsname S7- S7- Client Server FB FB
300 400 MODBUS MODB4
S7-400(Client-MODB4) x x x
S7-400(Server-MODB4) x x x
Simatic 400(Client) x x x
Simatic 400(Server) x x x
S7-300(Client-MODB4) x x x
S7-300(Server-MODB4) x x x
Simatic 300(Client) x x x
Simatic 300(Server) x x x

Es sind pro Simatic-Station 2 TCP-Verbindungen projektiert um Ihnen die


unterschiedlichen Projektierungsvarianten darzustellen. Für den
Programmablauf ist nur eine TCP-Verbindung notwendig.

Wenn eine S7 als Client mit einem Fremdgerät arbeitet, verwenden Sie bitte
die TCP-Verbindung zur „anderen Station“.
Wenn eine S7 als Server mit einem Fremdgerät arbeitet, verwenden Sie bitte
die unspezifizierte TCP-Verbindung.
Wenn 2 S7 miteinander gekoppelt werden, verwenden Sie die TCP-
Verbindung S7-S7.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 7-2


2XV9450-1MB00; Handbuch Ausgabe 3.0
Applikationsbeispiel

Programmbeispiel Das Programmbeispiel besteht aus:


• Anlauf-Baustein OB100, FB200/201
• Zyklischen Teil OB1 mit Aufruf des FB 100/101
• Globale Datenbausteine zum Auftragsanstoß z.B. mit Hilfe einer
Variablentabelle und zur Speicherung von MODBUS Registerwerten.

Verwendete Folgende Bausteine werden im abgedruckten Programmbeispiel verwendet.


Bausteine Diese Bausteinnummern werden auch im Beispielprojekt für S7-Stationen mit
FB MODBUS verwendet.
S7-Stationen des Beispielprojekts für FB MODB4 verwenden teilweise
andere/ zusätzliche Nummern, die in der nachfolgenden Tabelle nicht fett
dargestellt sind.

Baustein Symbol Kommentar

OB 1 Zyklische Programmbearbeitung
OB 100 Anlauf-OB für Neustart

FB 200/ FB201 FB INITIATE_MODBUS / INIT_MODB für Anlauf-OB


FB 100/ FB101 FB MODBUS / FB MODB4

DB 100/ DB101 Instanz-DB für FB MODBUS


DB 200/ DB201 Instanz-DB für FB INITIATE_MODBUS
DB 222/ DB223 Arbeits-DB CONTROL DAT / CONTR_DAT
für FB MODBUS, FB INITIATE_MODBUS
DB 11 Register Wert -DB für Bereich 1
DB 12 Register Wert -DB für Bereich 2
DB 13 Register Wert -DB für Bereich 3
DB 14 Register Wert -DB für Bereich 4
DB 15 Register Wert -DB für Bereich 5
DB 16 Register Wert -DB für Bereich 6
DB 17 Register Wert -DB für Bereich 7
DB 18 Register Wert -DB für Bereich 8

Verwendete Daten Folgende Operanden (Merker, Datenbits oder Datenworte) werden im


abgedruckten Programmbeispiel verwendet.
Den Aufbau des DB223 können Sie ggf. im Beispielprojekt nachschlagen.

Operanden Typ Name


T5 TIMER Ein freier TIMER
DB222/.DBW 0 INT "CONTROL DAT".ID
DB222.DBW 2 WORD "CONTROL DAT".LADDR
DB222.DBW 4 INT "CONTROL DAT".RESERVED1
DB222.DBW 6 INT "CONTROL DAT".MONITOR

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 7-3


2XV9450-1MB00; Handbuch Ausgabe 3.0
Applikationsbeispiel

Operanden Typ Name


DB222.DBW 8 WORD "CONTROL DAT". DB_1
DB222.DBW 10 WORD "CONTROL DAT". START_1
DB222.DBW 12 WORD "CONTROL DAT". END_1
DB222.DBW 14 WORD "CONTROL DAT". DB_2
DB222.DBW 16 WORD "CONTROL DAT". START_2
DB222.DBW 18 WORD "CONTROL DAT". END_2
DB222.DBW 20 WORD "CONTROL DAT". DB_3
DB222.DBW 22 WORD "CONTROL DAT". START_3
DB222.DBW 24 WORD "CONTROL DAT". END_3
DB222.DBW 26 WORD "CONTROL DAT". DB_4
DB222.DBW 28 WORD "CONTROL DAT". START_4
DB222.DBW 30 WORD "CONTROL DAT". END_4
DB222.DBW 32 WORD "CONTROL DAT". DB_5
DB222.DBW 34 WORD "CONTROL DAT". START_5
DB222.DBW 36 WORD "CONTROL DAT". END_5
DB222.DBX 38.0 BOOL "CONTROL DAT".WRITE_PROTECT1
DB222.DBX 38.1 BOOL "CONTROL DAT".WRITE_PROTECT2
DB222.DBX 38.2 BOOL "CONTROL DAT".WRITE_PROTECT3
DB222.DBX 38.3 BOOL "CONTROL DAT".WRITE_PROTECT4
DB222.DBX 38.4 BOOL "CONTROL DAT".WRITE_PROTECT5
DB222.DBX 38.5 BOOL "CONTROL DAT". ENQ_ENR
DB222.DBX 38.6 BOOL "CONTROL DAT".SERVER_CLIENT
DB222.DBW 39 BYTE "CONTROL DAT".RESERVED2
DB222.DBX 40.0 BOOL "CONTROL DAT".DONE_NDR
DB222.DBX 40.1 BOOL "CONTROL DAT".ERROR
DB222.DBW 42 WORD "CONTROL DAT".STATUS
DB222.DBW 44 WORD "CONTROL DAT".START_ADRESS
DB222.DBW 46 WORD "CONTROL DAT".LENGTH
DB222.DBX 47.0 BOOL "CONTROL DAT".WRITE_READ
DB222.DBW 48 WORD "CONTROL DAT".TI
DB222.DBW 50 BYTE "CONTROL DAT".UNIT

Operanden Typ Name


DB11.DBW 0 ARRAY [1..125] "REG_BEREICH_1".DB-REG1[1]
DB11.DBW 248 WORD "REG_BEREICH_1".DB-REG1[125]
DB12.DBW 0 ARRAY [1..125] "REG_BEREICH_2".DB-REG2[1]
DB12.DBW 248 WORD "REG_BEREICH_2".DB-REG2[125]
DB13.DBW 0 ARRAY [1..125] "REG_BEREICH_3".DB-REG3[1]
DB13.DBW 248 WORD "REG_BEREICH_3".DB-REG3[125]
DB14.DBW 0 ARRAY [1..125] "REG_BEREICH_4".DB-REG4[1]
DB14.DBW 248 WORD "REG_BEREICH_4".DB-REG4[125]
DB15.DBW 0 ARRAY [1..125] "REG_BEREICH_5".DB-REG5[1]
DB15.DBW 248 WORD "REG_BEREICH_5".DB-REG5[125]

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 7-4


2XV9450-1MB00; Handbuch Ausgabe 3.0
Applikationsbeispiel

7.1 Programmbeispiel CP ist Client

Programmbeispiel Folgende Bausteine sind nachfolgend aufgelistet:

Baustein Kommentar
OB 1 Zyklische Programmbearbeitung
OB 100 Start-Up-OB

FB 200 FB INITIATE_MODBUS für Anlauf-OB

DB 222 Arbeits-DB "CONTROL DAT"


für FB MODBUS, FB INITIATE_MODBUS

Programm-Anlauf OB100 Start-Up-OB

Aufruf FB 200 zur Initialisierung "MODBUS"

CALL "INITIATE_MODBUS" , "INITIATE DAT"

ID :=2 // Aus Netpro


LADDR :=W#16#7FC // Aus der HW Konfiguration
TIMER_NR :=T5 // Ein freier Timer
MONITOR :=
DB_1 := W#16#B // Erster Registerbereich
START_1 := W#16#1
END_1 := W#16#7D
DB_2 := W#16#C // Zweiter Registerbereich
START_2 := W#16#7E
END_2 := W#16#FA
DB_3 := W#16#D // Dritter Registerbereich
START_3 := W#16#FB
END_3 := W#16#177
DB_4 := W#16#E // Vierter Registerbereich
START_4 := W#16#178
END_4 := W#16#1F4
DB_5 := W#16#F // Fünfter Registerbereich
START_5 := W#16#1F5
END_5 := W#16#271
WRITE_PROTECT1 := // Im Client Betrieb
WRITE_PROTECT2 := // irrelevant
WRITE_PROTECT3 :=
WRITE_PROTECT4 :=
WRITE_PROTECT5 :=
ENQ_ENR :=FALSE // Anstoß Bit
SERVER_CLIENT :=FALSE // Client Betrieb

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 7-5


2XV9450-1MB00; Handbuch Ausgabe 3.0
Applikationsbeispiel

FB 200 "INITIATE_MODBUS"

Der FB 200 kopiert seine Parameter in den Datenbaustein DB222, so dass dem
Anwender die Möglichkeit gegeben wird mit Hilfe einer Variablentabelle
Aufträge anzustoßen.

AUF "CONTROL DAT" // DB 222

L #ID
T "CONTROL DAT".ID

L #LADDR
T "CONTROL DAT".LADDR

L #DB_1
T "CONTROL DAT".DB_1
L #START_1
T "CONTROL DAT".START_1
L #END_1
T "CONTROL DAT".END_1

L #DB_2
T "CONTROL DAT".DB_2
L #START_2
T "CONTROL DAT".START_2
L #END_2
T "CONTROL DAT".END_2

L #DB_3
T "CONTROL DAT".DB_3
L #START_3
T "CONTROL DAT".START_3
L #END_3
T "CONTROL DAT".END_3

L #DB_4
T "CONTROL DAT".DB_4
L #START_4
T "CONTROL DAT".START_4
L #END_4
T "CONTROL DAT".END_4

L #DB_5
T "CONTROL DAT".DB_5
L #START_5
T "CONTROL DAT".START_5
L #END_5

U #SERVER_CLIENT
= "CONTROL DAT".SERVER_CLIENT

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 7-6


2XV9450-1MB00; Handbuch Ausgabe 3.0
Applikationsbeispiel

CALL "MODBUS" , "MODBUS_DAT"

ID :="CONTROL DAT".ID
LADDR :="CONTROL DAT".LADDR
TIMER_NR :=#TIMER_NR
MONITOR :=
DB_1 :="CONTROL DAT".DB_1
START_1 :="CONTROL DAT".START_1
END_1 :="CONTROL DAT".END_1
DB_2 :="CONTROL DAT".DB_2
START_2 :="CONTROL DAT".START_2
END_2 :="CONTROL DAT".END_2
DB_3 :="CONTROL DAT".DB_3
START_3 :="CONTROL DAT".START_3
END_3 :="CONTROL DAT".END_3
DB_4 :="CONTROL DAT".DB_4
START_4 :="CONTROL DAT".START_4
END_4 :="CONTROL DAT".END_4
DB_5 :="CONTROL DAT".DB_5
START_5 :="CONTROL DAT".START_5
END_5 :="CONTROL DAT".END_5
WRITE_PROTECT1 :=
WRITE_PROTECT2 :=
WRITE_PROTECT3 :=
WRITE_PROTECT4 :=
WRITE_PROTECT5 :=
ENQ_ENR :=
SERVER_CLIENT :="CONTROL DAT".SERVER_CLIENT
DONE_NDR :=
ERROR :="CONTROL DAT".ERROR
STATUS :="CONTROL DAT".STATUS
START_ADDRESS :=
LENGTH :=
WRITE_READ :=
TI :=
UNIT :=

UN "CONTROL DAT".ERROR
SPB TRIG //Init fertig ohne Fehler

//Init fertig mit Fehler


//fügen Sie hier die
//Fehlerbehandlung ein
SPA END

TRIG: L 1 //Auftrag vorbelegen


T "CONTROL DAT".UNIT

L 1
T "CONTROL DAT".START_ADDRESS

L 2
T "CONTROL DAT".LENGTH

L "CONTROL DAT".TI //TI sollte bei jedem Auftrag


L 1 //hochgezählt werden
+I
T "CONTROL DAT".TI

SET
= "CONTROL DAT".WRITE_READ

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 7-7


2XV9450-1MB00; Handbuch Ausgabe 3.0
Applikationsbeispiel

Zyklischer OB1 Cyclic-OB


Programmablauf
AUF "CONTROL DAT"

CALL "MODBUS" , "MODBUS_DAT"


ID :=
LADDR :=
TIMER_NR :=
MONITOR :="CONTROL DAT".MONITOR
DB_1 :=
START_1 :=
END_1 :=
DB_2 :=
START_2 :=
END_2 :=
DB_3 :=
START_3 :=
END_3 :=
DB_4 :=
START_4 :=
END_4 :=
DB_5 :=
START_5 :=
END_5 :=
WRITE_PROTECT1 :=
WRITE_PROTECT2 :=
WRITE_PROTECT3 :=
WRITE_PROTECT4 :=
WRITE_PROTECT5 :=
ENQ_ENR :="CONTROL DAT".ENQ_ENR
SERVER_CLIENT :=
DONE_NDR :="CONTROL DAT".DONE_NDR
ERROR :="CONTROL DAT".ERROR
STATUS :="CONTROL DAT".STATUS
START_ADDRESS :="CONTROL DAT".START_ADDRESS
LENGTH :="CONTROL DAT".LENGTH
WRITE_READ :="CONTROL DAT".WRITE_READ
TI :="CONTROL DAT".TI
UNIT :="CONTROL DAT".UNIT

U "CONTROL DAT".ENQ_ENR
R "CONTROL DAT".ENQ_ENR //Anstoß rücksetzen

U "CONTROL DAT".DONE_NDR //Auftrag fertig ohne Fehler


SPB TRIG //neuen Auftrag anstoßen

U "CONTROL DAT".ERROR //Auftrag fertig mit Fehler


//fügen Sie hier Ihre
//Fehlerbehandlung ein
//wiederholen oder neuer Auftrag

BEA //warten bis Auftrag beendet

TRIG:
L "CONTROL DAT".TI //TI mit jedem Auftrag erhöhen
L 1
+I
T "CONTROL DAT".TI

SET
= "CONTROL DAT".ENQ_ENR //Anstoß
//Werte für den neuen Auftrag
//hier vorbelegen

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 7-8


2XV9450-1MB00; Handbuch Ausgabe 3.0
Applikationsbeispiel

7.2 Programmbeispiel CP ist Server

Programmbeispiel Folgende Bausteine sind nachfolgend aufgelistet:

Baustein Kommentar
OB 1 Zyklische Programmbearbeitung
OB 100 Start-Up-OB

FB 200 FB INITIATE_MODBUS für Anlauf-OB

DB 222 Arbeits-DB "CONTROL DAT"


für FB MODBUS, FB INITIATE_MODBUS

Programm-Anlauf OB100 Start-Up-OB

Aufruf FB 200 zur Initialisierung "MODBUS"

CALL "INITIATE_MODBUS" , "INITIATE DAT"

ID :=1 //Aus der Verbindungstabelle


LADDR :=W#16#100 // Aus HW-Konfig
TIMER_NR :=T5 // freier Timer
MONITOR :=
DB_1 := W#16#B // Erster Registerbereich
START_1 := W#16#1
END_1 := W#16#7D
DB_2 := W#16#C // Zweiter Registerbereich
START_2 := W#16#7E
END_2 := W#16#FA
DB_3 := W#16#D // Dritter Registerbereich
START_3 := W#16#FB
END_3 := W#16#177
DB_4 := W#16#E // Vierter Registerbereich
START_4 := W#16#178
END_4 := W#16#1F4
DB_5 := W#16#F // Fünfter Registerbereich
START_5 := W#16#1F5
END_5 := W#16#271
WRITE_PROTECT1 :=FALSE
WRITE_PROTECT2 :=FALSE
WRITE_PROTECT3 :=FALSE
WRITE_PROTECT4 :=FALSE
WRITE_PROTECT5 :=FALSE
ENQ_ENR :=FALSE
SERVER_CLIENT :=TRUE // CP ist Server

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 7-9


2XV9450-1MB00; Handbuch Ausgabe 3.0
Applikationsbeispiel

FB 200 "INITIATE_MODBUS"

Der FB 200 kopiert seine Parameter in den Datenbaustein DB222. Der Anwender kann
mit Hilfe einer Variablentabelle die Aufträge beobachten.

AUF "CONTROL DAT" // DB 222

L #ID
T "CONTROL DAT".ID
L #LADDR
T "CONTROL DAT".LADDR

L #DB_1
T "CONTROL DAT".DB_1
L #START_1
T "CONTROL DAT".START_1
L #END_1
T "CONTROL DAT".END_1
L #DB_2
T "CONTROL DAT".DB_2
L #START_2
T "CONTROL DAT".START_2
L #END_2
T "CONTROL DAT".END_2
L #DB_3
T "CONTROL DAT".DB_3
L #START_3
T "CONTROL DAT".START_3
L #END_3
T "CONTROL DAT".END_3
L #DB_4
T "CONTROL DAT".DB_4
L #START_4
T "CONTROL DAT".START_4
L #END_4
T "CONTROL DAT".END_4
L #DB_5
T "CONTROL DAT".DB_5
L #START_5
T "CONTROL DAT".START_5
L #END_5
T "CONTROL DAT".END_5
U #WRITE_PROTECT1
= "CONTROL DAT".WRITE_PROTECT1
U #WRITE_PROTECT2
= "CONTROL DAT".WRITE_PROTECT2
U #WRITE_PROTECT3
= "CONTROL DAT".WRITE_PROTECT3
U #WRITE_PROTECT4
= "CONTROL DAT".WRITE_PROTECT4
U #WRITE_PROTECT5
= "CONTROL DAT".WRITE_PROTECT5

U #SERVER_CLIENT
= "CONTROL DAT".SERVER_CLIENT

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 7-10


2XV9450-1MB00; Handbuch Ausgabe 3.0
Applikationsbeispiel

// Aufruf MODBUS FB mit den oben kopierten Initialisierungswerten.

CALL "MODBUS" , "MODBUS_DAT"

ID :="CONTROL DAT".ID
LADDR :="CONTROL DAT".LADDR
TIMER_NR :=#TIMER_NR
MONITOR :=
DB_1 :="CONTROL DAT".DB_1
START_1 :="CONTROL DAT".START_1
END_1 : ="CONTROL DAT".END_1
DB_2 :="CONTROL DAT".DB_2
START_2 :="CONTROL DAT".START_2
END_2 :="CONTROL DAT".END_2
DB_3 :="CONTROL DAT".DB_3
START_3 :="CONTROL DAT".START_3
END_3 :="CONTROL DAT".END_3
DB_4 :="CONTROL DAT".DB_4
START_4 :="CONTROL DAT".START_4
END_4 :="CONTROL DAT".END_4
DB_5 :="CONTROL DAT".DB_5
START_5 :="CONTROL DAT".START_5
END_5 :="CONTROL DAT".END_5
WRITE_PROTECT1 :="CONTROL DAT".WRITE_PROTECT1
WRITE_PROTECT2 :="CONTROL DAT".WRITE_PROTECT2
WRITE_PROTECT3 :="CONTROL DAT".WRITE_PROTECT3
WRITE_PROTECT4 :="CONTROL DAT".WRITE_PROTECT4
WRITE_PROTECT5 :="CONTROL DAT".WRITE_PROTECT5
ENQ_ENR :=
SERVER_CLIENT :="CONTROL DAT".SERVER_CLIENT
DONE_NDR :=
ERROR := :="CONTROL DAT".ERROR
STATUS := :="CONTROL DAT".STATUS
START_ADDRESS :=
LENGTH :=
WRITE_READ :=
TI :=
UNIT :=

U "CONTROL DAT".ERROR //INIT fertig mit Fehler


SPB ERR //Freigabe macht keinen Sinn

SET //INIT fertig ohne Fehler


= "CONTROL DAT".ENQ_ENR //Baustein aktivieren
SPA END

ERR: //fügen Sie hier Ihre


//Fehlerbehandlung ein

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 7-11


2XV9450-1MB00; Handbuch Ausgabe 3.0
Applikationsbeispiel

Zyklischer OB1 Cyclic-OB


Programmablauf
AUF "CONTROL DAT"

CALL "MODBUS" , "MODBUS_DAT"

ID :=
LADDR :=
TIMER_NR :=
MONITOR :="CONTROL DAT".MONITOR
DB_1 :=
START_1 :=
END_1 :=
DB_2 :=
START_2 :=
END_2 :=
DB_3 :=
START_3 :=
END_3 :=
DB_4 :=
START_4 :=
END_4 :=
DB_5 :=
START_5 :=
END_5 :=
WRITE_PROTECT1 :=
WRITE_PROTECT2 :=
WRITE_PROTECT3 :=
WRITE_PROTECT4 :=
WRITE_PROTECT5 :=
ENQ_ENR :=”CONTROL DAT".ENQ_ENR
SERVER_CLIENT :=
DONE_NDR :="CONTROL DAT".DONE_NDR
ERROR :="CONTROL DAT".ERROR
STATUS :="CONTROL DAT".STATUS
START_ADDRESS :="CONTROL DAT".START_ADDRESS
LENGTH :="CONTROL DAT".LENGTH
WRITE_READ :="CONTROL DAT".WRITE_READ
TI :="CONTROL DAT".TI
UNIT :=”CONTROL DAT".UNIT

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 7-12


2XV9450-1MB00; Handbuch Ausgabe 3.0
A Literatur

Schneider Electric OPEN MODBUS/TCP SPECIFICATION


Release 1.0, 29 March 1999

Andy Swales
Schneider Electric

MODBUS http://www.modbus.org

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 Anhang - 1


2XV9450-1MB00; Handbuch Ausgabe 3.0
Glossar

Adresse Die Adresse gibt den physikalischen Speicherplatz an und ermöglicht


den direkten Zugriff auf den Operanden, der unter dieser Adresse
abgespeichert ist.

ANLAUF Der Betriebszustand ANLAUF wird beim Übergang vom


Betriebszustand STOP in den Betriebszustand RUN durchlaufen.

Anwenderprogramm Das Anwenderprogramm enthält alle Anweisungen und Vereinbarungen


für die Signalverarbeitung, durch die eine Anlage oder ein Prozess
gesteuert werden können. Das Anwenderprogramm wird bei SIMATIC
S7 strukturiert aufgebaut und in kleinere Einheiten, die Bausteine,
unterteilt.

Arbeitsspeicher Der Arbeitsspeicher ist ein RAM-Speicher in der CPU, auf den der
Prozessor während der Bearbeitung des Anwenderprogramms zugreift.

Automatisierungs- Ein Automatisierungssystem ist eine speicherprogrammierbare


system Steuerung, die aus mindestens einer Zentralbaugruppe, verschiedenen
Ein- und Ausgabebaugruppen sowie Bedien- und Beobachtungsgeräten
besteht.

Baugruppe Baugruppen sind steckbare Leiterplatten für Automatisierungssysteme.

Baugruppenparameter Baugruppenparameter sind Werte, mit denen das Verhalten der


Baugruppe eingestellt werden kann. Man unterscheidet zwischen
statischen und dynamischen Baugruppenparametern.

Baustein Bausteine sind durch ihre Funktion, ihre Struktur oder ihren
Verwendungszweck abgegrenzte Teile des Anwenderprogramms. Es
gibt bei STEP 7
_Codebausteine (FB, FC, OB, SFB, SFC)
_Datenbausteine (DB, SDB) und
_Anwenderdefinierte Datentypen (UDT)

Bausteinaufruf Als Bausteinaufruf bezeichnet man die Verzweigung der


Programmbearbeitung in den aufgerufenen Baustein.

Bausteinparameter Bausteinparameter sind Platzhalter innerhalb mehrfach nutzbarer


Bausteine, die beim Aufruf des betreffenden Bausteins mit aktuellen
Werten versorgt werden.

Betriebssystem der Das Betriebssystem der CPU organisiert alle Funktionen und Abläufe
CPU der CPU, die nicht mit einer speziellen Steuerungsaufgabe verbunden
sind.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 Glossar - 1


2XV9450-1MB00; Handbuch Ausgabe 3.0
Glossar

Betriebszustand Die Automatisierungsfamilie SIMATIC S7 kennt vier unterschiedliche


Betriebszustände:
STOP, ANLAUF und RUN. Die Funktionalität der CPUs in den
einzelnen Betriebszuständen ist unterschiedlich.

CPU Central Processing Unit = Zentralbaugruppe des S7-


Automatisierungssystems mit Steuer- und Rechenwerk, Speicher,
Systemprogramm und Schnittstellen zu Peripheriebaugruppen.

CRC Cyclic Redundancy-Check= Prüfsumme mit großer


Fehlererkennungswahrscheinlichkeit.

Datenbaustein (DB) Datenbausteine sind Bausteine, die Daten und Parameter enthalten, mit
denen das Anwenderprogramm arbeitet. Sie enthalten im Gegensatz zu
allen anderen Bausteinen keine Anweisungen. Es gibt globale
Datenbausteine und Instanzdatenbausteine.
Auf die in den Datenbausteinen enthaltenen Daten kann absolut oder
symbolisch zugegriffen werden. Komplexe Daten können strukturiert
abgelegt werden.

Datentyp Mit Hilfe der Datentypen können Sie festlegen, wie der Wert einer
Variablen oder Konstanten im Anwenderprogramm verwendet werden
soll. Die Datentypen sind unterteilt in elementare und strukturierte
Datentypen.

Default-Einstellung Die Default-Einstellung ist eine sinnvolle Grundeinstellung, die immer


dann verwendet wird, wenn kein anderer Wert eingegeben wird.

Diagnoseereignisse Diagnoseereignisse sind z. B. Fehler auf einer Baugruppe,


Systemfehler in der CPU, die z. B. durch einen Programmfehler
hervorgerufen wurden oder Übergänge von Betriebszuständen.

Diagnosefunktionen Die Diagnosefunktionen umfassen die gesamte Systemdiagnose und


beinhalten Erkennen, Auswerten und Melden von Fehlern innerhalb des
Automatisierungssystems.

Diagnosepuffer Jede CPU hat einen Diagnosepuffer, in den zu allen


Diagnoseereignissen in der Reihenfolge ihres Auftretens nähere
Informationen eingetragen werden.

Funktionsbausteine Funktionsbausteine sind Bestandteile des Anwenderprogramms und


(FBs) sind gemäß der IEC-Norm ”Bausteine mit Gedächtnis”. Das Gedächtnis
für den Funktionsbaustein ist ein zugeordneter Datenbaustein, der
”Instanz-Datenbaustein”. Funktionsbausteine sind parametrierbar, Sie
können sie mit und ohne Parameter nutzen.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 Glossar - 2


2XV9450-1MB00; Handbuch Ausgabe 3.0
Glossar

Hardware Als Hardware bezeichnet man die gesamte physikalische und


technische Ausstattung eines Automatisierungssystems.

Instanz-Datenbaustein Ein Instanz-Datenbaustein ist ein einem Funktionsbaustein


zugeordneter Baustein, der Daten für diesen speziellen
Funktionsbaustein enthält.

Interrupt Interrupt ist eine Bezeichnung für die Unterbrechung der


Programmbearbeitung im Prozessor eines Automatisierungssystems
durch einen von außen anstehenden Alarm.

Kommunikations- Kommunikationsprozessoren sind Baugruppen für Punkt-zu-Punkt- und


prozessor für Bus-Kopplungen.

Konfigurierung Unter Konfigurierung versteht man die Zusammenstellung einzelner


Baugruppen eines Automatisierungssystems.

Laden aus PG Laden von Ladeobjekten (z. B. Codebausteine) vom Programmiergerät


in den Ladespeicher der Zentralbaugruppe (CPU).

Laden in PG Laden von Ladeobjekten (z. B. Codebausteine) aus dem Ladespeicher


der Zentralbaugruppe in das Programmiergerät.

Online/Offline Bei Online besteht eine Datenverbindung zwischen


Automatisierungssystem und Programmiergerät, bei Offline nicht.

Online-Hilfe STEP 7 bietet Ihnen die Möglichkeit, sich während des Arbeitens mit
der Programmiersoftware kontextabhängige Hilfetexte am Bildschirm
anzeigen zu lassen.

Operand Ein Operand ist Teil einer STEP 7-Anweisung und sagt aus, womit der
Prozessor etwas tun soll. Er kann sowohl absolut als auch symbolisch
adressiert werden.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 Glossar - 3


2XV9450-1MB00; Handbuch Ausgabe 3.0
Glossar

Parameter Parameter sind Werte, die man vergeben kann. Man unterscheidet
zwischen Bausteinparametern und Baugruppenparametern.

Parametrieroberfläche Über die Parametrieroberfläche CP 441: Punkt-zu-Punkt-Kopplung


CP 441: parametrieren parametrieren Sie die Schnittstellenmodule des
Punkt-zu-Punkt- Kommunikationsprozessors und die Treiberspezifischen Parameter.
Kopplung Für jeden Ladbaren Treiber wird der Standardumfang erweitert.
parametrieren

Parametrierung Unter Parametrierung versteht man das Einstellen des Verhaltens einer
Baugruppe.

Protokoll Die Kommunikationspartner einer Datenübertragung müssen sich an


feste Regeln für die Abwicklung und Durchführung des Datenverkehrs
halten. Diese Regeln werden Protokolle genannt.

Prozedur Der Ablauf einer Datenübertragung nach einem bestimmten Protokoll


wird als Prozedur bezeichnet.

Prozessabbild Das Prozessabbild ist ein besonderer Speicherbereich im


Automatisierungssystem. Am Anfang des zyklischen Programms
werden die Signalzustände der Eingabebaugruppen zum Prozessabbild
der Eingänge übertragen. Am Ende des zyklischen Programms wird
das Prozessabbild der Ausgänge als Signalzustand zu den
Ausgabebaugruppen übertragen.

Punkt-zu-Punkt- Bei der Punkt-zu-Punkt-Kopplung bildet der Kommunikationsprozessor


Kopplung die Schnittstelle zwischen einer speicherprogrammierbare Steuerung
und einem Kommunikationspartner.

Rack Ein Rack ist ein Baugruppenträger, der Steckplätze für Baugruppen
enthält.

Schnittstellenmodul Auf dem Schnittstellenmodul erfolgt die physikalische Umsetzung von


Signalen. Durch Austausch der steckbaren Schnittstellenmodule
können Sie den Kommunikationsprozessor an die Physik des
Kommunikationspartners anpassen.

Software Die Gesamtheit aller Programme, die auf einem Rechensystem


eingesetzt werden, bezeichnet man als Software. Dazu gehören das
Betriebssystem und die Anwenderprogramme.

STEP 7 STEP 7 ist die Programmiersoftware von SIMATIC S7.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 Glossar - 4


2XV9450-1MB00; Handbuch Ausgabe 3.0
Glossar

Systembausteine Systembausteine unterscheiden sich von den anderen Bausteinen


dadurch, dass sie im System S7-400 bereits integriert sind und für
bereits definierte Systemfunktionen zur Verfügung stehen. Es gibt
Systemdatenbausteine, Systemfunktionen und
Systemfunktionsbausteine.

Systemfunktionen Systemfunktionen sind Bausteine ohne Gedächtnis, die bereits im


(SFCs) Betriebssystem der CPU integriert sind und bei Bedarf vom Anwender
aufgerufen werden können.

Systemfunktions- Systemfunktionsbausteine sind Bausteine mit Gedächtnis, die bereits im


bausteine (SFBs) Betriebssystem der CPU integriert sind und bei Bedarf vom Anwender
aufgerufen werden können.

Tool Ein Tool ist ein Software-Werkzeug, das auf Funktionen des
Betriebssystems im PG/PC zugreifen kann.

Variable Eine Variable ist ein Operand (z. B. E 1.0), der einen symbolischen
Namen haben kann und deshalb auch symbolisch adressiert werden
kann.

Verbindungs- Verbindungsprojektierung bezeichnet die Angabe einer Verbindungs-ID


projektierung im Systemfunktionsbaustein. Über die Verbindungs-ID können die
Systemfunktionsbausteine zwischen zwei Kommunikationsendpunkten
kommunizieren.

Zyklische Programm- Bei der zyklischen Programmbearbeitung läuft das Anwenderprogramm


bearbeitung in einer sich ständig wiederholenden Programmschleife ab, die Zyklus
genannt wird.

Zykluszeit Die Zykluszeit ist die Zeit, die die CPU für eine einmalige Bearbeitung
des Anwenderprogramms benötigt.

OPEN MODBUS / TCP Kommunikation über CP343-1 und 443-1 Glossar - 5


2XV9450-1MB00; Handbuch Ausgabe 3.0

Das könnte Ihnen auch gefallen