28
OPL_SP7-LIB | SW90AS0MA V10.004 | Handbuch HB00 | OPL_SP7-LIB | SW90AS0MA V10.004 | de | 17-35 VIPA SPEED7 Library Baustein Bibliothek - Modbus Communication www.vipa.com/de/service-support/handbuch

VIPA SPEED7 · PDF fileDie Baustein-Bibliothek finden Sie im "Service/Support"-Bereich auf unter ... (TCON) passt nicht zur Instanz oder Server

  • Upload
    ledang

  • View
    240

  • Download
    8

Embed Size (px)

Citation preview

Page 1: VIPA SPEED7  · PDF fileDie Baustein-Bibliothek finden Sie im "Service/Support"-Bereich auf   unter ... (TCON) passt nicht zur Instanz oder Server

OPL_SP7-LIB | SW90AS0MA V10.004 | HandbuchHB00 | OPL_SP7-LIB | SW90AS0MA V10.004 | de | 17-35

VIPA SPEED7 Library

Baustein Bibliothek - Modbus Communication

www.vipa.com/de/service-support/handbuch

Page 2: VIPA SPEED7  · PDF fileDie Baustein-Bibliothek finden Sie im "Service/Support"-Bereich auf   unter ... (TCON) passt nicht zur Instanz oder Server

SW90BS0MA_000_OPL_SP7-LIB_ModbusCommunication,1,DE - © 2017

VIPA GmbHOhmstr. 491074 HerzogenaurachTelefon: +49 9132 744-0Telefax: +49 9132 744-1864E-Mail: [email protected]: www.vipa.com

Page 3: VIPA SPEED7  · PDF fileDie Baustein-Bibliothek finden Sie im "Service/Support"-Bereich auf   unter ... (TCON) passt nicht zur Instanz oder Server

Inhaltsverzeichnis1 Allgemeines............................................................................................................ 4

1.1 Copyright © VIPA GmbH ................................................................................. 41.2 Über dieses Handbuch..................................................................................... 5

2 Wichtige Hinweise.................................................................................................. 62.1 Intern verwendete Bausteine............................................................................ 6

3 Bibliothek einbinden.............................................................................................. 73.1 Einbinden in Siemens SIMATIC Manager........................................................ 73.2 Einbinden in Siemens TIA Portal...................................................................... 8

4 Modbus-Kommunikation - "Modbus Communication" ...................................... 94.1 TCP.................................................................................................................. 94.1.1 FB 70 - TCP_MB_CLIENT - Modbus/TCP-Client.......................................... 94.1.2 FB 71 - TCP_MB_SERVER - Modbus/TCP-Server.................................... 124.2 RTU................................................................................................................ 164.2.1 FB 72 - RTU_MB_MASTER - Modbus-RTU-Master................................... 164.2.2 FB 73 - RTU_MB_SLAVE - Modbus-RTU-Slave......................................... 194.3 FKT Modbus-Funktionscodes - "FKT Codes" ................................................ 23

VIPA SPEED7 Library Inhaltsverzeichnis

HB00 | OPL_SP7-LIB | SW90AS0MA V10.004 | de | 17-35 3

Page 4: VIPA SPEED7  · PDF fileDie Baustein-Bibliothek finden Sie im "Service/Support"-Bereich auf   unter ... (TCON) passt nicht zur Instanz oder Server

1 Allgemeines1.1 Copyright © VIPA GmbH

Dieses Dokument enthält geschützte Informationen von VIPA und darf außer in Überein-stimmung mit anwendbaren Vereinbarungen weder offengelegt noch benutzt werden.

Dieses Material ist durch Urheberrechtsgesetze geschützt. Ohne schriftliches Einver-ständnis von VIPA und dem Besitzer dieses Materials darf dieses Material weder repro-duziert, verteilt, noch in keiner Form von keiner Einheit (sowohl VIPA-intern als auch -extern) geändert werden, es sei denn in Übereinstimmung mit anwendbarenVereinbarungen, Verträgen oder Lizenzen.

Zur Genehmigung von Vervielfältigung oder Verteilung wenden Sie sich bitte an: VIPA,Gesellschaft für Visualisierung und Prozessautomatisierung mbH Ohmstraße 4, D-91074Herzogenaurach, Germany

Tel.: +49 9132 744 -0

Fax.: +49 9132 744-1864

EMail: [email protected]

http://www.vipa.com

Es wurden alle Anstrengungen unternommen, um sicherzustellen, dassdie in diesem Dokument enthaltenen Informationen zum Zeitpunkt derVeröffentlichung vollständig und richtig sind. Das Recht auf Änderungender Informationen bleibt jedoch vorbehalten.

Die vorliegende Kundendokumentation beschreibt alle heute bekanntenHardware-Einheiten und Funktionen. Es ist möglich, dass Einheitenbeschrieben sind, die beim Kunden nicht vorhanden sind. Der genaueLieferumfang ist im jeweiligen Kaufvertrag beschrieben.

Hiermit erklärt VIPA GmbH, dass die Produkte und Systeme mit den grundlegendenAnforderungen und den anderen relevanten Vorschriften übereinstimmen. Die Überein-stimmung ist durch CE-Zeichen gekennzeichnet.

Für weitere Informationen zur CE-Kennzeichnung und Konformitätserklärung wenden Siesich bitte an Ihre Landesvertretung der VIPA GmbH.

VIPA, SLIO, System 100V, System 200V, System 300V, System 300S, System 400V,System 500S und Commander Compact sind eingetragene Warenzeichen der VIPAGesellschaft für Visualisierung und Prozessautomatisierung mbH.

SPEED7 ist ein eingetragenes Warenzeichen der profichip GmbH.

SIMATIC, STEP, SINEC, TIA Portal, S7-300 und S7-400 sind eingetragene Warenzei-chen der Siemens AG.

Microsoft und Windows sind eingetragene Warenzeichen von Microsoft Inc., USA.

Portable Document Format (PDF) und Postscript sind eingetragene Warenzeichen vonAdobe Systems, Inc.

Alle anderen erwähnten Firmennamen und Logos sowie Marken- oder Produktnamensind Warenzeichen oder eingetragene Warenzeichen ihrer jeweiligen Eigentümer.

All Rights Reserved

EG-Konformitätserklärung

Informationen zur Konfor-mitätserklärung

Warenzeichen

VIPA SPEED7 LibraryAllgemeines

Copyright © VIPA GmbH

HB00 | OPL_SP7-LIB | SW90AS0MA V10.004 | de | 17-35 4

Page 5: VIPA SPEED7  · PDF fileDie Baustein-Bibliothek finden Sie im "Service/Support"-Bereich auf   unter ... (TCON) passt nicht zur Instanz oder Server

Wenden Sie sich an Ihre Landesvertretung der VIPA GmbH, wenn Sie Fehler anzeigenoder inhaltliche Fragen zu diesem Dokument stellen möchten. Ist eine solche Stelle nichterreichbar, können Sie VIPA über folgenden Kontakt erreichen:

VIPA GmbH, Ohmstraße 4, 91074 Herzogenaurach, Germany

Telefax: +49 9132 744-1204

EMail: [email protected]

Wenden Sie sich an Ihre Landesvertretung der VIPA GmbH, wenn Sie Probleme mit demProdukt haben oder Fragen zum Produkt stellen möchten. Ist eine solche Stelle nichterreichbar, können Sie VIPA über folgenden Kontakt erreichen:

VIPA GmbH, Ohmstraße 4, 91074 Herzogenaurach, Germany

Telefon: +49 9132 744-1150 (Hotline)

EMail: [email protected]

1.2 Über dieses HandbuchDas Handbuch beschreibt die Baustein-Bibliothek "Modbus Communication" von VIPA:

n Beschrieben wird Aufbau, Projektierung und Anwendung in verschiedenen Program-miersystemen.

n Das Handbuch ist geschrieben für Anwender mit Grundkenntnissen in der Automati-sierungstechnik.

n Das Handbuch ist in elektronischer Form als PDF-Datei verfügbar. Hierzu ist derAdobe Acrobat Reader erforderlich.

n Das Handbuch ist in Kapitel gegliedert. Jedes Kapitel beschreibt eine abgeschlos-sene Thematik.

n Als Orientierungshilfe stehen im Handbuch zur Verfügung:– Gesamt-Inhaltsverzeichnis am Anfang des Handbuchs– Verweise mit Seitenangabe

Besonders wichtige Textteile sind mit folgenden Piktogrammen und Signalworten ausge-zeichnet:

GEFAHR!Unmittelbar drohende oder mögliche Gefahr. Personenschäden sindmöglich.

VORSICHT!Bei Nichtbefolgen sind Sachschäden möglich.

Zusätzliche Informationen und nützliche Tipps.

Dokument-Support

Technischer Support

Zielsetzung und Inhalt

Piktogramme Signalwörter

VIPA SPEED7 Library Allgemeines

Über dieses Handbuch

HB00 | OPL_SP7-LIB | SW90AS0MA V10.004 | de | 17-35 5

Page 6: VIPA SPEED7  · PDF fileDie Baustein-Bibliothek finden Sie im "Service/Support"-Bereich auf   unter ... (TCON) passt nicht zur Instanz oder Server

2 Wichtige Hinweise

Nachfolgend finden Sie wichtige Hinweise, die grundsätzlich beim Ein-satz der Bausteine zu beachten sind.

2.1 Intern verwendete Bausteine

VORSICHT!Folgende Bausteine werden intern verwendet und dürfen nicht über-schrieben werden! Der direkte Aufruf eines internen Bausteins führt zuFehler im entsprechenden Instanz-DB! Bitte verwenden Sie für denAufruf immer die zugehörige Funktion.

FC/SFC Bezeichnung Beschreibung

FC/SFC 192 CP_S_R wird intern für FB 7 und FB 8 verwendet

FC/SFC 196 AG_CNTRL wird intern für FC 10 verwendet

FC/SFC 200 AG_GET wird intern für FB/SFB 14 verwendet

FC/SFC 201 AG_PUT wird intern für FB/SFB 15 verwendet

FC/SFC 202 AG_BSEND wird intern für FB/SFB 12 verwendet

FC/SFC 203 AG_BRCV wird intern für FB/SFB 13 verwendet

FC/SFC 204 IP_CONF wird intern für FB 55 IP_CONF verwendet

FC/SFC 205 AG_SEND wird intern für FC 5 AG_SEND verwendet

FC/SFC 206 AG_RECV wird intern für FC 6 AG_RECV verwendet

FC/SFC 253 IBS_ACCESS wird intern für SPEED-Bus-INTERBUS-Master verwendet

SFB 238 EC_RWOD wird intern für EtherCAT-Kommunikation verwendet

SFB 239 FUNC wird intern für FB 240, FB 241 verwendet

VIPA SPEED7 LibraryWichtige Hinweise

Intern verwendete Bausteine

HB00 | OPL_SP7-LIB | SW90AS0MA V10.004 | de | 17-35 6

Page 7: VIPA SPEED7  · PDF fileDie Baustein-Bibliothek finden Sie im "Service/Support"-Bereich auf   unter ... (TCON) passt nicht zur Instanz oder Server

3 Bibliothek einbindenDie Baustein-Bibliothek finden Sie im "Service/Support" -Bereich auf www.vipa.com unter"Downloads è VIPA Lib" als "Baustein-Bibliothek Modbus Communication -SW90AS0MA " zum Download. Die Bibliothek liegt als gepackte zip-Dateien vor. SobaldSie die Bausteine verwenden möchten, müssen Sie diese in Ihr Projekt importieren.

3.1 Einbinden in Siemens SIMATIC ManagerDie Einbindung in den Siemens SIMATIC Manager erfolgt nach folgenden Schritten:

1. ZIP-Datei laden

2. Bibliothek "dearchivieren"

3. Bibliothek öffnen und Bausteine in Projekt übertragen

Navigieren Sie auf der Webseite zu der gewünschten ZIP-Datei, laden und spei-chern Sie diese in Ihrem Arbeitsverzeichnis.

1. Starten Sie den Siemens SIMATIC Manager mit Ihrem Projekt.

2. Öffnen Sie mit "Datei è Dearchivieren" das Dialogfenster zur Auswahl der ZIP-Datei.

3. Wählen Sie die entsprechende ZIP-Datei an und klicken Sie auf [Öffnen].

4. Geben Sie ein Zielverzeichnis an, in dem die Bausteine abzulegen sind.

5. Starten Sie den Entpackvorgang mit [OK].

1. Öffnen Sie die Bibliothek nach dem Entpackvorgang.

2. Öffnen Sie Ihr Projekt und kopieren Sie die erforderlichen Bausteine aus der Biblio-thek in das Verzeichnis "Bausteine" Ihres Projekts.

ð Nun haben Sie in Ihrem Anwenderprogramm Zugriff auf die VIPA-spezifischenBausteine.

Werden anstelle der SFCs FCs verwendet, so werden diese von denVIPA CPUs ab Firmware 3.6.0 unterstützt.

Baustein-Bibliothek"ModbusCommunication"

Übersicht

ZIP-Datei laden

Bibliothek dearchivieren

Bibliothek öffnen undBausteine in Projekt über-tragen

VIPA SPEED7 Library Bibliothek einbinden

Einbinden in Siemens SIMATIC Manager

HB00 | OPL_SP7-LIB | SW90AS0MA V10.004 | de | 17-35 7

Page 8: VIPA SPEED7  · PDF fileDie Baustein-Bibliothek finden Sie im "Service/Support"-Bereich auf   unter ... (TCON) passt nicht zur Instanz oder Server

3.2 Einbinden in Siemens TIA PortalDie Einbindung in das Siemens TIA Portal erfolgt nach folgenden Schritten:

1. ZIP-Datei laden

2. ZIP-Datei entpacken

3. Bibliothek öffnen und Bausteine in Projekt übertragen

1. Navigieren Sie auf der Webseite zu der ZIP-Datei, welche zu Ihrer Programmver-sion passt.

2. Laden und speichern Sie diese in Ihrem Arbeitsverzeichnis.

Entpacken Sie die ZIP-Datei mit Ihrem Entpackprogramm in ein Arbeitsverzeichnisfür das Siemens TIA Portal.

1. Starten Sie das Siemens TIA Portal mit Ihrem Projekt.

2. Wechseln sie in die Projektansicht.

3. Wählen Sie auf der rechten Seite die Task-Card "Bibliotheken".

4. Klicken Sie auf "Globale Bibliothek".

5. Klicken Sie auf "Globale Bibliothek öffnen".

6. Navigieren Sie zu ihrem Arbeitsverzeichnis und laden Sie die Datei ..._TIA.al1x.

7. Kopieren Sie die erforderlichen Bausteine aus der Bibliothek in das Verzeichnis"Programmbausteine" in der Projektnavigation Ihres Projekts. Nun haben Sie inIhrem Anwenderprogramm Zugriff auf die VIPA-spezifischen Bausteine.

Übersicht

ZIP-Datei laden

ZIP-Datei entpacken

Bibliothek öffnen undBausteine in Projekt über-tragen

VIPA SPEED7 LibraryBibliothek einbinden

Einbinden in Siemens TIA Portal

HB00 | OPL_SP7-LIB | SW90AS0MA V10.004 | de | 17-35 8

Page 9: VIPA SPEED7  · PDF fileDie Baustein-Bibliothek finden Sie im "Service/Support"-Bereich auf   unter ... (TCON) passt nicht zur Instanz oder Server

4 Modbus-Kommunikation - "Modbus Communication"4.1 TCP4.1.1 FB 70 - TCP_MB_CLIENT - Modbus/TCP-Client

Dieser Funktionsbaustein ermöglicht den Betrieb einer Ethernet-Schnittstelle als Modbus/TCP-Client.

Aufrufparameter

Name Deklaration Typ Beschreibung

REQ IN BOOL Auftrag starten mit Flanke 0-1.

ID IN WORD ID von TCON.

MB_FUNCTION IN BYTE Modbus: Funktions-Code.

MB_DATA_ADDR IN WORD Modbus: Startadresse oder Sub-Funktions-Code.

MB_DATA_LEN IN INT Modbus: Anzahl der Register/Bits.

MB_DATA_PTR IN ANY Modbus: Datenpuffer (nur Merkerbereich oder Daten-baustein vom Datentyp Byte zulässig) für den Zugriffmit Funktions-Code 03h, 06h und 10h.

DONE * OUT BOOL Auftrag fertig ohne Fehler.

BUSY OUT BOOL Auftrag ist in Bearbeitung.

ERROR * OUT BOOL Auftrag fertig mit Fehler - Parameter STATUS enthältdie Fehlerinformation.

STATUS * OUT WORD Erweiterte Status- und Fehlerinformationen.*) Parameter steht bis zum nächsten Aufruf des FBs zur Verfügung

Parameter im Instanz-DB

Name Deklaration Typ Beschreibung

PROTOCOL_TIMEOUT STAT INT Sperrzeit bevor ein aktiver Auftrag vom Anwenderabgebrochen werden kann.

Default: 3s

RCV_TIMEOUT STAT INT Überwachungszeit für einen Auftrag.

Default: 2s

MB_TRANS_ID STAT WORD Modbus: Startwert für den Transaktions Identifier.

Default: 1

MB_UNIT_ID STAT BYTE Modbus: Geräteidentifikation.

Default: 255

Hierbei ist folgendes zu beachten:

n Die Aufrufparameter sind beim Baustein-Aufruf anzugeben. Neben den Aufrufpara-metern finden Sie alle Parameter im Instanz-DB.

n Die Kommunikationsverbindung muss zuvor über FB 65 (TCON) initialisiert werden.n FB 63 (TSEND) und FB 64 (TRCV) sind für die Verwendung des Baustein erforder-

lich.

Beschreibung

VIPA SPEED7 Library Modbus-Kommunikation - "Modbus Communication"

TCP > FB 70 - TCP_MB_CLIENT - Modbus/TCP-Client

HB00 | OPL_SP7-LIB | SW90AS0MA V10.004 | de | 17-35 9

Page 10: VIPA SPEED7  · PDF fileDie Baustein-Bibliothek finden Sie im "Service/Support"-Bereich auf   unter ... (TCON) passt nicht zur Instanz oder Server

n Während einer Auftragsbearbeitung wird der Instanz-DB für andere Clients gesperrt.n Während einer Auftragsbearbeitung werden Änderungen an den Eingangsparame-

tern nicht ausgewertet.n Unter einer der folgenden Bedingungen ist eine Auftragsbearbeitung abgeschlossen

bzw. wird abgebrochen:– DONE = 1 bei Auftrag ohne Fehler– ERROR = 1 bei Auftrag mit Fehler– Ablauf von RCV_TIMEOUT– REQ = FALSE nach Ablauf von PROTOCOL_TIMEOUT

n Wird REQ zurückgesetzt bevor DONE oder ERROR gesetzt oder PRO-TOCOL_TIMEOUT abgelaufen ist, wird STATUS 8200h geliefert. Hierbei wird deraktive Auftrag weiterhin bearbeitet.

Der Funktionsbaustein liefert über STATUS die folgenden Status- und Fehlerinformati-onen.

STATUS DONE BUSY ERROR Beschreibung

0000h 1 0 0 Anweisung fehlerfrei ausgeführt.

7000h 0 0 0 Keine Verbindung aufgebaut oder Kommunikationsfehler(TCON).

7004h 0 0 0 Verbindung hergestellt und überwacht.

Keine Auftragsbearbeitung aktiv.

7005h 0 1 0 Daten werden gesendet.

7006h 0 1 0 Daten werden empfangen.

8210h 0 0 1 Die Hardware ist inkompatibel zur Baustein-BibliothekModbus RTU/TCP.

8380h 0 0 1 Empfangenes Modbus-Frame hat nicht das richtige Formatoder eine ungültige Länge.

8381h 0 0 1 Server liefert Exception-Code 01h.

8382h 0 0 1 Server liefert Exception-Code 03h oder falsche Startad-resse.

8383h 0 0 1 Server liefert Exception-Code 02h.

8384h 0 0 1 Server liefert Exception-Code 04h.

8386h 0 0 1 Server liefert falschen Funktions-Code.

8387h 0 0 1 Verbindungs-ID (TCON) passt nicht zur Instanz oder Serverliefert falsche Protokoll-ID.

8388h 0 0 1 Server liefert falschen Wert oder falsche Quantity.

80C8h 0 0 1 Keine Antwort des Servers im definierten Zeitraum(RCV_TIMEOUT).

8188h 0 0 1 MB_FUNCTION ungültig.

8189h 0 0 1 MB_DATA_ADDR ungültig.

818Ah 0 0 1 MB_DATA_LEN ungültig.

818Bh 0 0 1 MB_DATA_PTR ungültig.

Status- und Fehleranzeige

VIPA SPEED7 LibraryModbus-Kommunikation - "Modbus Communication"

TCP > FB 70 - TCP_MB_CLIENT - Modbus/TCP-Client

HB00 | OPL_SP7-LIB | SW90AS0MA V10.004 | de | 17-35 10

Page 11: VIPA SPEED7  · PDF fileDie Baustein-Bibliothek finden Sie im "Service/Support"-Bereich auf   unter ... (TCON) passt nicht zur Instanz oder Server

STATUS DONE BUSY ERROR Beschreibung

818Ch 0 0 1 BLOCKED_PROC_TIMEOUT oder RCV_TIMEOUTungültig.

818Dh 0 0 1 Server liefert falsche Transaktions-ID.

8200h 0 0 1 Eine andere Modbus-Anfrage wird zur Zeit über den Portverarbeitet (PROTOCOL_TIMEOUT).

4.1.1.1 BeispielVon einem Modbus/TCP-Server sollen mit Funktions-Code 03h 100 Register ab Startad-resse 2000 gelesen werden und im Merkerbereich ab MB200 abgelegt werden. Fehlersollen abgespeichert werden. CALL FB 65 , DB65 REQ :=M100.0 ID :=W#16#1 DONE :=M100.1 BUSY := ERROR :=M100.2 STATUS :=MW102 CONNECT:=P#DB255.DBX 0.0 BYTE 64

UN M 100.2 SPB ERR1 L MW 102 T MW 104ERR1: NOP 0 U M 100.1 R M 100.0

CALL FB 70 , DB70 REQ :=M101.0 ID :=W#16#1 MB_FUNCTION :=B#16#3 MB_DATA_ADDR:=W#16#7D0 MB_DATA_LEN :=100 MB_DATA_PTR :=P#M 200.0 BYTE 200 DONE :=M101.1 BUSY := ERROR :=M101.2 STATUS :=MW106

UN M 101.2 SPB ERR2 L MW 106 T MW 108ERR2: NOP 0 U M 101.1 R M 101.0

1. Aufruf von FB 65 (TCON) zur Herstellung der Kommunikationsverbindung mit derPartnerstation.

2. Aufruf des Modbus/TCP-Client Hantierungsbausteins mit den korrekten Parame-tern.

3. Es ist keine Verbindung zur Partnerstation aufgebaut und MW102 liefert 7000h.

Aufgabenstellung

OB1

OB1 - Beschreibung

VIPA SPEED7 Library Modbus-Kommunikation - "Modbus Communication"

TCP > FB 70 - TCP_MB_CLIENT - Modbus/TCP-Client

HB00 | OPL_SP7-LIB | SW90AS0MA V10.004 | de | 17-35 11

Page 12: VIPA SPEED7  · PDF fileDie Baustein-Bibliothek finden Sie im "Service/Support"-Bereich auf   unter ... (TCON) passt nicht zur Instanz oder Server

4. M100.0 in der CPU auf TRUE setzten.

ð Wenn M100.0 automatisch zurück gesetzt wird, ist die Verbindung zur Partner-station aufgebaut und MW108 liefert 7004h.

5. M101.0 in der CPU auf TRUE setzen.

ð Der Modbus-Request wird versendet und auf eine Antwort gewartet.

Wenn M101.0 automatisch zurück gesetzt wird, wurde der Auftrag fehlerfreibearbeitet und die gelesenen Daten liegen ab Merkerbyte 200 in der CPU.MW108 liefert 7004h und signalisiert die Bereitschaft für einen neuen Auftrag.

Wenn M101.0 nicht automatisch zurück gesetzt wird und MW108 einen Wertungleich 0 liefert, ist ein Fehler aufgetreten. Die Fehlerursache kann über denCode in MW108 ausgelesen werden (z.B. MW108 = 8382h wenn die Startad-resse 2000 im Server nicht vorhanden ist). MW108 liefert 7004h und signalisiertdie Bereitschaft für einen neuen Auftrag.

4.1.2 FB 71 - TCP_MB_SERVER - Modbus/TCP-ServerDieser Funktionsbaustein ermöglicht den Betrieb einer Ethernet-Schnittstelle als Modbus/TCP-Server.

Aufrufparameter

Name Deklara-tion

Typ Beschreibung

ENABLE IN BOOL Aktivierung/Deaktivierung Modbus-Server.

MB_DATA_PTR IN ANY Modbus: Datenpuffer (nur Merkerbereich oder Daten-baustein vom Datentyp Byte zulässig) für den Zugriffmit Funktions-Code 03h, 06h und 10h.

ID IN WORD ID von TCON.

NDR* OUT BOOL Neue Daten wurden durch den Modbus-Clientgeschrieben.

DR* OUT BOOL Daten wurden vom Modbus Client gelesen.

ERROR* OUT BOOL Auftrag fertig mit Fehler - Parameter STATUS enthältdie Fehlerinformation.

STATUS* OUT WORD Erweiterte Status- und Fehlerinformationen.*) Parameter steht bis zum nächsten Aufruf des FBs zur Verfügung

Parameter im Instanz-DB

Name Deklara-tion

Typ Beschreibung

REQUEST_COUNT STAT WORD Zähler für jedes empfangene Telegramm.

MESSAGE_COUNT STAT WORD Zähler für jeden gültigen Modbus-Request.

XMT_RCV_COUNT STAT WORD Zähler für jedes empfangene Telegramm, welcheskeinen gültigen Modbus-Request enthält.

EXCEPTION_COUNT STAT WORD Zähler für jeden negativ quittierten Modbus-Request.

SUCCESS_COUNT STAT WORD Zähler für jeden positiv quittierten Modbus-Request.

Beschreibung

VIPA SPEED7 LibraryModbus-Kommunikation - "Modbus Communication"

TCP > FB 71 - TCP_MB_SERVER - Modbus/TCP-Server

HB00 | OPL_SP7-LIB | SW90AS0MA V10.004 | de | 17-35 12

Page 13: VIPA SPEED7  · PDF fileDie Baustein-Bibliothek finden Sie im "Service/Support"-Bereich auf   unter ... (TCON) passt nicht zur Instanz oder Server

Name Deklara-tion

Typ Beschreibung

FC1_ADDR_OUTPUT_START STAT WORD Modbus Funktions-Code 01h Startregister für A0.0

Default: 0

FC1_ADDR_OUTPUT_END STAT WORD Modbus Funktions-Code 01h Endregister für Ax.y

Default: 19999

FC1_ADDR_MEMORY_START STAT WORD Modbus Funktions-Code 01h Startregister für M0.0

Default: 20000

FC1_ADDR_MEMORY_END STAT WORD Modbus Funktions-Code 01h Endregister für Mx.y

Default: 39999

FC2_ADDR_INPUT_START STAT WORD Modbus Funktions-Code 02h Startregister für E0.0

Default: 0

FC2_ADDR_INPUT_END STAT WORD Modbus Funktions-Code 02h Endregister für Ex.y

Default: 19999

FC2_ADDR_MEMORY_START STAT WORD Modbus Funktions-Code 02h Startregister für M0.0

Default: 20000

FC2_ADDR_MEMORY_END STAT WORD Modbus Funktions-Code 02h Endregister für Mx.y

Default: 39999

FC4_ADDR_INPUT_START STAT WORD Modbus Funktions-Code 04h Startregister für EW0

Default: 0

FC4_ADDR_INPUT_END STAT WORD Modbus Funktions-Code 04h Endregister für EWx

Default: 19999

FC4_ADDR_MEMORY_START STAT WORD Modbus Funktions-Code 04h Startregister für MW0

Default: 20000

FC4_ADDR_MEMORY_END STAT WORD Modbus Funktions-Code 04h Endregister für MWx

Default: 39999

FC5_ADDR_OUTPUT_START STAT WORD Modbus Funktions-Code 05h Startregister für A0.0

Default: 0

FC5_ADDR_OUTPUT_END STAT WORD Modbus Funktions-Code 05h Endregister für Ax.y

Default: 19999

FC5_ADDR_MEMORY_START STAT WORD Modbus Funktions-Code 05h Startregister für M0.0

Default: 20000

FC5_ADDR_MEMORY_END STAT WORD Modbus Funktions-Code 05h Endregister für Mx.y

Default: 39999

FC15_ADDR_OUTPUT_START STAT WORD Modbus Funktions-Code 0Fh Startregister für A0.0

Default: 0

FC15_ADDR_OUTPUT_END STAT WORD Modbus Funktions-Code 0Fh Endregister für Ax.y

Default: 19999

VIPA SPEED7 Library Modbus-Kommunikation - "Modbus Communication"

TCP > FB 71 - TCP_MB_SERVER - Modbus/TCP-Server

HB00 | OPL_SP7-LIB | SW90AS0MA V10.004 | de | 17-35 13

Page 14: VIPA SPEED7  · PDF fileDie Baustein-Bibliothek finden Sie im "Service/Support"-Bereich auf   unter ... (TCON) passt nicht zur Instanz oder Server

Name Deklara-tion

Typ Beschreibung

FC15_ADDR_MEMORY_START STAT WORD Modbus Funktions-Code 0Fh Startregister für M0.0

Default: 20000

FC15_ADDR_MEMORY_END STAT WORD Modbus Funktions-Code 0Fh Endregister für Mx.y

Default: 39999

Hierbei ist folgendes zu beachten:

n Die Aufrufparameter sind beim Baustein-Aufruf anzugeben. Neben den Aufrufpara-metern finden Sie alle Parameter im Instanz-DB.

n Die Kommunikationsverbindung muss zuvor über FB 65 (TCON) initialisiert werden.n FB 63 (TSEND) und FB 64 (TRCV) sind für die Verwendung des Bausteins erforder-

lich.n Die INPUT/OUTPUT Modbus-Adressen eines Funktions-Codes müssen vor den

MEMORY Modbus-Adressen liegen und somit immer kleiner sein.n Innerhalb eines Funktions-Code darf keine Modbus-Adresse mehrfach definiert

werden - auch die 0 nicht!n Der Server kann nur einen Auftrag gleichzeitig bearbeiten. Neue Modbus-Anfragen

während einer Auftragsbearbeitung werden ignoriert und nicht beantwortet.

Der Funktionsbaustein liefert über STATUS die folgenden Status- und Fehlerinformati-onen.

STATUS NDR DR ERROR Beschreibung

0000h 0 oder 1* 0 Anweisung fehlerfrei ausgeführt.

7000h 0 0 0 Keine Verbindung aufgebaut oder Kommunikationsfehler (TCON).

7005h 0 0 0 Daten werden gesendet.

7006h 0 0 0 Daten werden empfangen.

8210h 0 0 1 Die Hardware ist inkompatibel zur Baustein-Bibliothek Modbus RTU/TCP.

8380h 0 0 1 Empfangenes Modbus-Frame hat nicht das richtige Format oder es wurdenzu wenige Bytes empfangen.

8381h 0 0 1 Exception-Code 01h, Funktion-Code wird nicht unterstützt.

8382h 0 0 1 Exception-Code 03h, Datenlänge oder Datenwert ungültig.

8383h 0 0 1 Exception-Code 02h, Ungültige Startadresse bzw. Adressbereich.

8384h 0 0 1 Exception-Code 04h, Bereichslängenfehler beim Zugriff auf Eingänge, Aus-gänge oder Merker.

8387h 0 0 1 Verbindungs-ID (TCON) passt nicht zur Instanz oder Client liefert falscheProtokoll-ID.

8187h 0 0 1 MB_DATA_PTR ungültig.*) Fehlerfreier Modbus-Auftrag mit Funktions-Code 05h, 06h, 0Fh oder 10h liefert NDR=1 und DR=0.

Fehlerfreier Modbus-Auftrag mit Funktons-Code 01h, 02h, 03h, 04h liefert DR=1 und NDR=0.

Status- und Fehleranzeige

VIPA SPEED7 LibraryModbus-Kommunikation - "Modbus Communication"

TCP > FB 71 - TCP_MB_SERVER - Modbus/TCP-Server

HB00 | OPL_SP7-LIB | SW90AS0MA V10.004 | de | 17-35 14

Page 15: VIPA SPEED7  · PDF fileDie Baustein-Bibliothek finden Sie im "Service/Support"-Bereich auf   unter ... (TCON) passt nicht zur Instanz oder Server

4.1.2.1 BeispielDie CPU stellt 100 Byte Daten im Merkerbereich ab MB200 für einen Modbus-Client überdie Modbus-Register 0...49 zur Verfügung. Die Daten können vom Modbus-Client mitdem Funktions-Code 03h gelesen und mit Funktions-Code 06h, 10h geschrieben werden.Der Ausgang A1.0 in der CPU soll von einem Modbus-Client über den Funktions-Code05h und die Startadresse 5008 angesteuert werden können. Fehler sollen abgespeichertwerden.CALL FB 65 , DB65 REQ :=M100.0 ID :=W#16#1 DONE :=M100.1 BUSY := ERROR :=M100.2 STATUS :=MW102 CONNECT:=P#DB255.DBX 0.0 BYTE 64

UN M 100.2 SPB ERR1 L MW 102 T MW 104ERR1: NOP 0 U M 100.1 R M 100.0

L 5000 T DB71.DBW 52

CALL FB 71 , DB71 ENABLE :=M101.0 MB_DATA_PTR:=P#M 200.0 BYTE 100 ID :=W#16#1 NDR :=M101.1 DR :=M101.2 ERROR :=M101.3 STATUS :=MW106

UN M 101.3 SPB ERR2 L MW 106 T MW 108ERR2: NOP 0

1. Aufruf von FB 65 (TCON) zur Herstellung der Kommunikationsverbindung mit derPartnerstation.

2. Aufruf des Modbus/TCP-Server Hantierungsbausteins mit den korrekten Parame-tern.

3. Es ist keine Verbindung zur Partnerstation aufgebaut und MW102 liefert 7000h.

4. M100.0 in der CPU auf TRUE setzten.

ð Wenn M100.0 automatisch zurück gesetzt wird, ist die Verbindung zur Partner-station aufgebaut und MW108 liefert 7006h.

5. Das Modbus-Startregister für die über Funktions-Code 05h erreichbaren Ausgängeim Prozessabbild wird im Beispiel über den ParameterFC5_ADDR_OUTPUT_START (Wort 52 im Instanz-Datenbaustein) geändert.

6. M101.0 in der CPU auf TRUE setzen.

ð Der Modbus-Server arbeitet nun.

7. Der Client sendet einen Modbus-Request mit Funktions-Code 03h, Startadresse 10und Quantity 30.

Aufgabenstellung

OB1

OB1 - Beschreibung

VIPA SPEED7 Library Modbus-Kommunikation - "Modbus Communication"

TCP > FB 71 - TCP_MB_SERVER - Modbus/TCP-Server

HB00 | OPL_SP7-LIB | SW90AS0MA V10.004 | de | 17-35 15

Page 16: VIPA SPEED7  · PDF fileDie Baustein-Bibliothek finden Sie im "Service/Support"-Bereich auf   unter ... (TCON) passt nicht zur Instanz oder Server

ð Der Server antwortet mit 60 Byte ab MB220. DR wird für einen CPU-Zyklusangesteuert und somit M101.2 auf "1" gesetzt.

8. Der Client sendet einen Modbus-Request mit Funktions-Code 05h, Startadresse5008 und dem Wert FF00h.

ð Der Server quittiert den Auftrag und schreibt den Ausgang A1.0 auf "1". NDRwird für einen CPU-Zyklus angesteuert und somit M101.1 auf "1" gesetzt.

9. Der Client sendet einen Modbus-Request mit Funktions-Code 03h, Startadresse 50(nicht vorhanden!) und Quantity 1.

ð Der Server antwortet mit einem Exception-Code 02h und steuert ERROR/STATUS für einen CPU-Zyklus an. MW108 liefert 8383h.

4.2 RTU4.2.1 FB 72 - RTU_MB_MASTER - Modbus-RTU-Master

Dieser Funktionsbaustein ermöglicht den Betrieb der internen seriellen RS485 Schnitt-stelle einer VIPA CPU oder eines VIPA System SLIO CP 040 als Modbus-RTU-Master.

Aufrufparameter

Name Deklaration Typ Beschreibung

REQ IN BOOL Auftrag starten mit Flanke 0-1.

HARDWARE IN BYTE 1 = System SLIO CP 040 /

2 = VIPA SPEED7 CPU

LADDR IN INT Logische Adresse vom System SLIO CP 040 (Parameter wird fürVIPA SPEED7 CPU ignoriert).

MB_UNIT_ID IN BYTE Modbus: Geräteidentifikation = Adresse vom Slave (0 ... 247).

MB_FUNCTION IN BYTE Modbus: Funktions-Code.

MB_DATA_ADDR IN WORD Modbus: Startadresse oder Sub-Funktions-Code.

MB_DATA_LEN IN INT Modbus: Anzahl der Register/Bits.

MB_DATA_PTR IN ANY Modbus: Datenpuffer (nur Merkerbereich oder Datenbaustein vomDatentyp Byte zulässig) für den Zugriff mit Funktions-Code 03h, 06hund 10h.

DONE* OUT BOOL Auftrag fertig ohne Fehler.

BUSY OUT BOOL Auftrag ist in Bearbeitung.

ERROR* OUT BOOL Auftrag fertig mit Fehler - Parameter STATUS enthält die Fehlerinfor-mation.

STATUS* OUT WORD Erweiterte Status- und Fehlerinformationen.*) Parameter steht bis zum nächsten Aufruf des FBs zur Verfügung

Parameter im Instanz-DB

Name Deklaration Typ Beschreibung

INIT STAT BOOL Eine Flanke 0-1 führt einen Synchron Reset am System SLIO CP040 durch. Nach erfolgreichem Reset wird das Bit automatischzurück gesetzt.

Beschreibung

VIPA SPEED7 LibraryModbus-Kommunikation - "Modbus Communication"

RTU > FB 72 - RTU_MB_MASTER - Modbus-RTU-Master

HB00 | OPL_SP7-LIB | SW90AS0MA V10.004 | de | 17-35 16

Page 17: VIPA SPEED7  · PDF fileDie Baustein-Bibliothek finden Sie im "Service/Support"-Bereich auf   unter ... (TCON) passt nicht zur Instanz oder Server

Hierbei ist folgendes zu beachten:

n Die Aufrufparameter sind beim Baustein-Aufruf anzugeben. Neben den Aufrufpara-metern finden Sie alle Parameter im Instanz-DB.

n Die verwendete Schnittstelle muss zuvor konfiguriert werden:– VIPA System SLIO CP 040: Projektierung als "Modbus Master RTU" mit 60 Byte

IO-Size in der Hardwarekonfiguration.– Interne serielle RS485 Schnittstelle einer CPU von VIPA:

Projektierung über SFC 216 (SER_CFG) mit Protokoll "Modbus Master RTU".n FB 60 SEND und FB 61 RECEIVE (oder FB 65 SEND_RECV) sind für die Verwen-

dung des Bausteins zwingend erforderlich, auch wenn die interne serielle RS485Schnittstelle einer CPU von VIPA verwendet wird.

n Während einer Auftragsbearbeitung werden Änderungen an den Eingangsparame-tern nicht ausgewertet.

n Broadcast Request über MB_UNIT_ID = 0 werden nur für schreibende Funktionenakzeptiert.

n Unter einer der folgenden Bedingungen ist eine Auftragsbearbeitung abgeschlossenbzw. wird abgebrochen:– DONE = 1 bei Auftrag ohne Fehler– ERROR = 1 bei Auftrag mit Fehler– Ablauf vom Timeout (Parametrierung bei der Schnittstelle)

n Wird REQ zurückgesetzt bevor DONE oder ERROR gesetzt ist, wird STATUS 8200hgeliefert. Hierbei wird der aktive Auftrag weiterhin bearbeitet.

Der Funktionsbaustein liefert über STATUS die folgenden Status- und Fehlerinformati-onen.

STATUS DONE BUSY ERROR Beschreibung

0000h 1 0 0 Anweisung fehlerfrei ausgeführt.

7000h 0 0 0 Keine Verbindung aufgebaut oder Kommunikationsfehler.

7004h 0 0 0 Verbindung hergestellt und überwacht. Keine Auftragsbearbeitung aktiv.

7005h 0 1 0 Daten werden gesendet.

7006h 0 1 0 Daten werden empfangen.

8210h 0 0 1 Die Hardware ist inkompatibel zur Baustein-Bibliothek Modbus RTU/TCP.

8381h 0 0 1 Server liefert Exception-Code 01h.

8382h 0 0 1 Server liefert Exception-Code 03h oder falsche Startadresse.

8383h 0 0 1 Server liefert Exception-Code 02h.

8384h 0 0 1 Server liefert Exception-Code 04h.

8386h 0 0 1 Server liefert falschen Funktions-Code.

8388h 0 0 1 Server liefert falschen Wert oder falsche Quantity.

80C8h 0 0 1 Keine Antwort des Servers im definierten Zeitraum (Timeout überSchnittstelle parametrierbar).

8188h 0 0 1 MB_FUNCTION ungültig.

8189h 0 0 1 MB_DATA_ADDR ungültig.

818Ah 0 0 1 MB_DATA_LEN ungültig.

818Bh 0 0 1 MB_DATA_PTR ungültig.

Status- und Fehleranzeige

VIPA SPEED7 Library Modbus-Kommunikation - "Modbus Communication"

RTU > FB 72 - RTU_MB_MASTER - Modbus-RTU-Master

HB00 | OPL_SP7-LIB | SW90AS0MA V10.004 | de | 17-35 17

Page 18: VIPA SPEED7  · PDF fileDie Baustein-Bibliothek finden Sie im "Service/Support"-Bereich auf   unter ... (TCON) passt nicht zur Instanz oder Server

STATUS DONE BUSY ERROR Beschreibung

8201h 0 0 1 HARDWARE ungültig.

8202h 0 0 1 MB_UNIT_ID ungültig.

8200h 0 0 1 Eine andere Modbus-Anfrage wird zur Zeit über den Port verarbeitet.

4.2.1.1 BeispielVon einem Modbus-RTU-Slave mit Adresse 99 sollen mit Funktions-Code 03h, 100Register ab Startadresse 2000 gelesen und im Merkerbereich ab MB200 abgelegtwerden. Fehler sollen abgespeichert werden. Der Modbus-RTU-Master wird über dieinterne serielle Schnittstelle einer CPU von VIPA realisiert. CALL SFC 216 Protocol :=B#16#5 Parameter :=DB10 Baudrate:=B#16#9 CharLen:=B#16#3 Parity:=B#16#2 StopBits:=B#16#1 FlowControl:=B#16#1 RetVal:=MW100

1. Aufruf von SFC 216 (SER_CFG) zur Konfiguration der internen seriellen Schnitt-stelle der CPU von VIPA.

2. Protokoll: "Modbus Master RTU", 9600 Baud, 8 Datenbit, 1 Stoppbit, gerade Parität,kein Flusskontrolle.

3. Der DB10 enthält eine Variable vom Typ WORD mit einem Modbus-Timeout (Wertin ms).

CALL FB 72 , DB72 REQ :=M101.0 HARDWARE :=B#16#2 LADDR := MB_UNIT_ID :=B#16#63 MB_FUNCTION :=B#16#3 MB_DATA_ADDR:=W#16#7D0 MB_DATA_LEN :=100 MB_DATA_PTR :=P#M 200.0 BYTE 200 DONE :=M101.1 BUSY := ERROR :=M101.2 STATUS :=MW102

UN M 101.2 SPB ERR1 L MW 102 T MW 104ERR1: NOP 0 U M 101.1 R M 101.0

Aufgabenstellung

OB100

OB100 - Beschreibung

OB1

VIPA SPEED7 LibraryModbus-Kommunikation - "Modbus Communication"

RTU > FB 72 - RTU_MB_MASTER - Modbus-RTU-Master

HB00 | OPL_SP7-LIB | SW90AS0MA V10.004 | de | 17-35 18

Page 19: VIPA SPEED7  · PDF fileDie Baustein-Bibliothek finden Sie im "Service/Support"-Bereich auf   unter ... (TCON) passt nicht zur Instanz oder Server

1. Aufruf des Modbus-RTU-Master Hantierungsbausteins mit den korrekten Parame-tern.

2. Wenn die Schnittstelle im OB 100 korrekt initialisiert wurde, ist der Master einsatz-bereit und MW102 liefert 7004h zurück.

3. M101.0 in der CPU auf TRUE setzen.

ð Der Modbus-Request wird versendet und auf eine Antwort gewartet.

Wenn M101.0 automatisch zurück gesetzt wird, wurde der Auftrag fehlerfreibearbeitet und die gelesenen Daten liegen ab Merkerbyte 200 in der CPU.MW104 liefert 7004h und signalisiert die Bereitschaft für einen neuen Auftrag.

Wenn M101.0 nicht automatisch zurück gesetzt wird und MW104 einen Wertungleich 0 liefert, ist ein Fehler aufgetreten. Die Fehlerursache kann über denCode in MW104 ausgelesen werden (z.B. MW104 = 8382h wenn die Startad-resse 2000 im Server nicht vorhanden ist). MW102 liefert 7004h und signalisiertdie Bereitschaft für einen neuen Auftrag.

4.2.2 FB 73 - RTU_MB_SLAVE - Modbus-RTU-SlaveDieser Funktionsbaustein ermöglicht den Betrieb der internen seriellen RS485 Schnitt-stelle einer VIPA CPU oder eines VIPA System SLIO CP 040 als Modbus-RTU-Slave.

Aufrufparameter

Name Dekla-ration

Typ Beschreibung

ENABLE IN BOOL Aktivierung/Deaktivierung des Modbus-Server.

HARDWARE IN BYTE 1 = System SLIO CP 040 /

2 = VIPA SPEED7 CPU

LADDR IN INT Logische Adresse vom System SLIO CP 040 (Para-meter wird für VIPA SPEED7 CPU ignoriert).

MB_UNIT_ID IN BYTE Modbus: Geräteidentifikation = eigene Adresse (1 ...247).

MB_DATA_PTR IN ANY Modbus: Datenpuffer (nur Merkerbereich oder Daten-baustein vom Datentyp Byte zulässig) für den Zugriffmit Funktions-Code 03h, 06h und 10h.

NDR* OUT BOOL Neue Daten wurden durch den Modbus-Clientgeschrieben.

DR* OUT BOOL Daten wurden vom Modbus-Client gelesen.

ERROR* OUT BOOL Auftrag fertig mit Fehler - Parameter STATUS enthältdie Fehlerinformation.

STATUS* OUT WORD Erweiterte Status- und Fehlerinformationen.*) Parameter steht bis zum nächsten Aufruf des FBs zur Verfügung

OB1 - Beschreibung

Beschreibung

VIPA SPEED7 Library Modbus-Kommunikation - "Modbus Communication"

RTU > FB 73 - RTU_MB_SLAVE - Modbus-RTU-Slave

HB00 | OPL_SP7-LIB | SW90AS0MA V10.004 | de | 17-35 19

Page 20: VIPA SPEED7  · PDF fileDie Baustein-Bibliothek finden Sie im "Service/Support"-Bereich auf   unter ... (TCON) passt nicht zur Instanz oder Server

Parameter im Instanz-DB

Name Dekla-ration

Typ Beschreibung

INIT STAT BOOL Eine Flanke 0-1 führt einen Synchron Reset amSystem SLIO CP 040 durch.

REQUEST_COUNT STAT WORD Zähler für jedes empfangene Telegramm.

MESSAGE_COUNT STAT WORD Zähler für jeden gültigen Modbus-Request.

BROADCAST_COUNT STAT WORD Zähler für jeden gültigen Modbus-Broadcast-Request.

EXCEPTION_COUNT STAT WORD Zähler für jeden negativ quittierten Modbus-Request.

SUCCESS_COUNT STAT WORD Zähler für jeden positiv quittierten Modbus-Request.

BAD_CRC_COUNT STAT WORD Zähler für jeden gültigen Modbus-Request mit CRC-Fehler.

FC1_ADDR_OUTPUT_START STAT WORD Modbus Funktions-Code 01h Startregister für A0.0

Default: 0

FC1_ADDR_OUTPUT_END STAT WORD Modbus Funktions-Code 01h Endregister für Ax.y

Default: 19999

FC1_ADDR_MEMORY_START STAT WORD Modbus Funktions-Code 01h Startregister für M0.0

Default: 20000

FC1_ADDR_MEMORY_END STAT WORD Modbus Funktions-Code 01h Endregister für Mx.y

Default: 39999

FC2_ADDR_INPUT_START STAT WORD Modbus Funktions-Code 02h Startregister für E0.0

Default: 0

FC2_ADDR_INPUT_END STAT WORD Modbus Funktions-Code 02h Endregister für Ex.y

Default: 19999

FC2_ADDR_MEMORY_START STAT WORD Modbus Funktions-Code 02h Startregister für M0.0

Default: 20000

FC2_ADDR_MEMORY_END STAT WORD Modbus Funktions-Code 02h Endregister für Mx.y

Default: 39999

FC4_ADDR_INPUT_START STAT WORD Modbus Funktions-Code 04h Startregister für EW0

Default: 0

FC4_ADDR_INPUT_END STAT WORD Modbus Funktions-Code 04h Endregister für EWx

Default: 19999

FC4_ADDR_MEMORY_START STAT WORD Modbus Funktions-Code 04h Startregister für MW0

Default: 20000

FC4_ADDR_MEMORY_END STAT WORD Modbus Funktions-Code 04h Endregister für MWx

Default: 39999

FC5_ADDR_OUTPUT_START STAT WORD Modbus Funktions-Code 05h Startregister für A0.0

Default: 0

FC5_ADDR_OUTPUT_END STAT WORD Modbus Funktions-Code 05h Endregister für Ax.y

Default: 19999

VIPA SPEED7 LibraryModbus-Kommunikation - "Modbus Communication"

RTU > FB 73 - RTU_MB_SLAVE - Modbus-RTU-Slave

HB00 | OPL_SP7-LIB | SW90AS0MA V10.004 | de | 17-35 20

Page 21: VIPA SPEED7  · PDF fileDie Baustein-Bibliothek finden Sie im "Service/Support"-Bereich auf   unter ... (TCON) passt nicht zur Instanz oder Server

Name Dekla-ration

Typ Beschreibung

FC5_ADDR_MEMORY_START STAT WORD Modbus Funktions-Code 05h Startregister für M0.0

Default: 20000

FC5_ADDR_MEMORY_END STAT WORD Modbus Funktions-Code 05h Endregister für Mx.y

Default: 39999

FC15_ADDR_OUTPUT_START STAT WORD Modbus Funktions-Code 0Fh Startregister für A0.0

Default: 0

FC15_ADDR_OUTPUT_END STAT WORD Modbus Funktions-Code 0Fh Endregister für Ax.y

Default: 19999

FC15_ADDR_MEMORY_START STAT WORD Modbus Funktions-Code 0Fh Startregister für M0.0

Default: 20000

FC15_ADDR_MEMORY_END STAT WORD Modbus Funktions-Code 0Fh Endregister für Mx.y

Default: 39999

Hierbei ist folgendes zu beachten:

n Die Aufrufparameter sind beim Baustein-Aufruf anzugeben. Neben den Aufrufpara-metern finden Sie alle Parameter im Instanz-DB.

n Die verwendete Schnittstelle muss zuvor konfiguriert werden:– VIPA System SLIO CP 040: Projektierung als ASCII-Modul mit 60 Byte IO-Size in

der Hardwarekonfiguration.– Interne serielle RS485 Schnittstelle einer CPU von VIPA:

Projektierung über SFC 216 (SER_CFG) mit Protokoll "ASCII".n FB 60 SEND und FB 61 RECEIVE (oder FB 65 SEND_RECV) sind für die Verwen-

dung des Baustein zwingend erforderlich, auch wenn die interne serielle RS485Schnittstelle einer CPU von VIPA verwendet wird.

n Broadcast Request über MB_UNIT_ID = 0 werden nur für schreibende Funktionenakzeptiert.

n Die INPUT/OUTPUT Modbus-Adressen eines Funktions-Codes müssen vor denMEMORY Modbus-Adressen liegen und somit immer kleiner sein.

n Innerhalb eines Funktions-Codes darf keine Modbus-Adresse mehrfach definiertwerden, auch die 0 nicht!

n Der Slave kann nur einen Auftrag gleichzeitig bearbeiten. Neue Modbus-Anfragenwährend einer Auftragsbearbeitung werden ignoriert und nicht beantwortet.

Der Funktionsbaustein liefert über STATUS die folgenden Status- und Fehlerinformati-onen.

STATUS NDR DR ERROR Beschreibung

0000h 0 oder 1* 0 Anweisung fehlerfrei ausgeführt.

7000h 0 0 0 Keine Verbindung aufgebaut oder Kommunikationsfehler.

7005h 0 0 0 Daten werden gesendet.

7006h 0 0 0 Daten werden empfangen.

8210h 0 0 1 Die Hardware ist inkompatibel zur Baustein-Bibliothek Modbus RTU/TCP.

8380h 0 0 1 CRC-Fehler

Status- und Fehleranzeige

VIPA SPEED7 Library Modbus-Kommunikation - "Modbus Communication"

RTU > FB 73 - RTU_MB_SLAVE - Modbus-RTU-Slave

HB00 | OPL_SP7-LIB | SW90AS0MA V10.004 | de | 17-35 21

Page 22: VIPA SPEED7  · PDF fileDie Baustein-Bibliothek finden Sie im "Service/Support"-Bereich auf   unter ... (TCON) passt nicht zur Instanz oder Server

STATUS NDR DR ERROR Beschreibung

8381h 0 0 1 Exception-Code 01h, Funktions-Code wird nicht unterstützt.

8382h 0 0 1 Exception-Code 03h, Datenlänge oder Datenwert ungültig.

8383h 0 0 1 Exception-Code 02h, Ungültige Startadresse bzw. Adressbereich.

8384h 0 0 1 Exception-Code 04h, Bereichslängenfehler beim Zugriff auf Eingänge,Ausgänge oder Merker

8187h 0 0 1 MB_DATA_PTR ungültig.

8201h 0 0 1 HARDWARE ungültig.

8202h 0 0 1 MB_UNIT_ID ungültig.

8203h 0 0 1 Fragmentiertes Empfangstelegramm ungültig (SFC 218).*) Fehlerfreier Modbus-Auftrag mit Funktions-Code 05h, 06h, 0Fh oder 10h liefert NDR=1 und DR=0.

Fehlerfreier Modbus-Auftrag mit Funktons-Code 01h, 02h, 03h, 04h liefert DR=1 und NDR=0.

4.2.2.1 BeispielDie CPU stellt 100 Byte Daten im Merkerbereich ab MB200 für einen Modbus-Masterüber die Modbus-Register 0 ... 49 zur Verfügung. Die Daten können vom Modbus-Masterüber Funktions-Code 03h gelesen und über Funktions-Code 06h, 10h geschriebenwerden. Der Ausgang A1.0 in der CPU soll von einem Modbus-Master über den Funk-tions-Code 05h und die Startadresse 5008 angesteuert werden können. Fehler sollenabgespeichert werden. Der Modbus-RTU-Slave mit der Adresse 99 wird über die interneserielle Schnittstelle einer CPU von VIPA realisiert.

OB100 CALL SFC 216 Protocol :=B#16#1 Parameter :=DB10 Baudrate:=B#16#9 CharLen:=B#16#3 Parity:=B#16#2 StopBits:=B#16#1 FlowControl:=B#16#1 RetVal:=MW100

1. Aufruf von SFC 216 (SER_CFG) zur Konfiguration der internen seriellen Schnitt-stelle der CPU von VIPA.

2. Protokoll: "ASCII", 9600 Baud, 8 Datenbit, 1 Stoppbit, gerade Parität, kein Fluss-kontrolle.

3. Der DB10 enthält eine Variable vom Typ WORD und muss als "Dummy" übergebenwerden.

OB1 L 5000 T DB73.DBW 58

CALL FB 73 , DB73 ENABLE :=M101.0 HARDWARE :=B#16#2 LADDR := MB_UNIT_ID :=B#16#63 MB_DATA_PTR:=P#M 200.0 BYTE 100

Aufgabenstellung

OB100 - Beschreibung

VIPA SPEED7 LibraryModbus-Kommunikation - "Modbus Communication"

RTU > FB 73 - RTU_MB_SLAVE - Modbus-RTU-Slave

HB00 | OPL_SP7-LIB | SW90AS0MA V10.004 | de | 17-35 22

Page 23: VIPA SPEED7  · PDF fileDie Baustein-Bibliothek finden Sie im "Service/Support"-Bereich auf   unter ... (TCON) passt nicht zur Instanz oder Server

NDR :=M101.1 DR :=M101.2 ERROR :=M101.3 STATUS :=MW102

UN M 101.3 SPB ERR1 L MW 102 T MW 104ERR1: NOP 01. Aufruf des Modbus/TCP-Server Hantierungsbausteins mit den korrekten Parame-

tern.

2. Wenn die Schnittstelle im OB100 korrekt initialisiert wurde, ist der Slave einsatzbe-reit und MW102 wird zu 7006h geliefert.

3. Das Modbus-Startregister für die über Funktions-Code 05h erreichbaren Ausgängeim Prozessabbild wird im Beispiel über den ParameterFC5_ADDR_OUTPUT_START (Wort 58 im Instanz-Datenbaustein) geändert.

4. M101.0 in der CPU auf TRUE setzen.

ð Der Modbus-Slave arbeitet nun.

5. Der Master sendet einen Modbus-Request mit Funktions-Code 03h, Startadresse10 und Quantity 30.

ð Der Slave antwortet mit 60Byte ab MB200. DR wird für einen CPU-Zyklus ange-steuert und somit M101.2 auf "1" gesetzt.

6. Der Master sendet einen Modbus-Request mit Funktions-Code 05h, Startadresse5008 und dem Wert FF00h.

ð Der Slave quittiert den Auftrag und schreibt den Ausgang A1.0 auf "1". NDRwird für einen CPU-Zyklus angesteuert und somit M101.1 auf "1" gesetzt.

7. Der Master sendet einen Modbus-Request mit Funktions-Code 03h, Startadresse50 (nicht vorhanden!) und Quantity 1.

ð Der Slave antwortet mit einem Exception Code 02h und steuert ERROR/STATUS für einen CPU-Zyklus an. MW104 liefert 8383h.

4.3 FKT Modbus-Funktionscodes - "FKT Codes"Für Modbus gibt es Namenskonventionen, die hier kurz aufgeführt sind:

n Modbus unterscheidet zwischen Bit- und Wortzugriff; Bits = "Coils" und Worte ="Register".

n Bit-Eingänge werden als "Input-Status" bezeichnet und Bit-Ausgänge als "Coil-Status".

n Wort-Eingänge werden als "Input-Register" und Wort-Ausgänge als "Holding-Register" bezeichnet.

Üblicherweise erfolgt unter Modbus der Zugriff mittels der Bereiche 0x, 1x, 3x und 4x.

Mit 0x und 1x haben Sie Zugriff auf digitale Bit-Bereiche und mit 3x und 4x auf analogeWort-Bereiche.

OB1 - Beschreibung

Namenskonventionen

Bereichsdefinitionen

VIPA SPEED7 Library Modbus-Kommunikation - "Modbus Communication"

FKT Modbus-Funktionscodes - FKT Codes

HB00 | OPL_SP7-LIB | SW90AS0MA V10.004 | de | 17-35 23

Page 24: VIPA SPEED7  · PDF fileDie Baustein-Bibliothek finden Sie im "Service/Support"-Bereich auf   unter ... (TCON) passt nicht zur Instanz oder Server

Da aber bei den CPs von VIPA keine Unterscheidung zwischen Digital- und Analogdatenstattfindet, gilt folgende Zuordnung:

0x - Bit-Bereich für Ausgabe-Daten des Masters

Zugriff über Funktions-Code 01h, 05h, 0Fh

1x - Bit-Bereich für Eingabe-Daten des Masters

Zugriff über Funktions-Code 02h

3x - Wort-Bereich für Eingabe-Daten des Masters

Zugriff über Funktions-Code 04h

4x - Wort-Bereich für Ausgabe-Daten des Masters

Zugriff über Funktions-Code 03h, 06h, 10h, 16h

Mit folgenden Funktionscodes können Sie von einem Modbus-Master auf einen Slavezugreifen. Die Beschreibung erfolgt immer aus Sicht des Masters:

Code Befehl Beschreibung

01h Read n Bits n Bit lesen von Master-Ausgabe-Bereich 0x

02h Read n Bits n Bit lesen von Master-Eingabe-Bereich 1x

03h Read n Words n Worte lesen von Master-Ausgabe-Bereich 4x

04h Read n Words n Worte lesen von Master-Eingabe-Bereich 3x

05h Write 1 Bit 1 Bit schreiben in Master-Ausgabe-Bereich 0x

06h Write 1 Word 1 Wort schreiben in Master-Ausgabe-Bereich 4x

0Fh Write n Bits n Bit schreiben in Master-Ausgabe-Bereich 0x

10h Write n Words n Worte schreiben in Master-Ausgabe-Bereich 4x

16h Mask 1 Word 1 Wort in Master-Ausgabe-Bereich 4x maskieren

Byte-Reihenfolge im Wort

1 Wort

High Byte Low Byte

Liefert der Slave einen Fehler zurück, so wird der Funktionscode mit 80h "verodert"zurückgesendet. Ist kein Fehler aufgetreten, wird der Funktionscode zurückgeliefert.

Übersicht

Antwort des Kopplers

VIPA SPEED7 LibraryModbus-Kommunikation - "Modbus Communication"

FKT Modbus-Funktionscodes - FKT Codes

HB00 | OPL_SP7-LIB | SW90AS0MA V10.004 | de | 17-35 24

Page 25: VIPA SPEED7  · PDF fileDie Baustein-Bibliothek finden Sie im "Service/Support"-Bereich auf   unter ... (TCON) passt nicht zur Instanz oder Server

Slave-Antwort: Funktionscode OR 80h ® Fehler & Fehlernummer

Funktionscode ® OK

Zusätzlich erhalten Sie im Fehlerfall in einem weiteren Byte eine Fehlernummer. Hier gibtes folgende Fehlernummern:

01h: Funktionsnummer wird nicht unterstützt

02h: Adressierung fehlerhaft

03h: Daten fehlerhaft

04h: System SLIO Bus ist nicht initialisiert

07h: Allgemeiner Fehler

Code 01h: n Bit lesen von Master-Ausgabe-Bereich 0x.

Code 02h: n Bit lesen von Master-Eingabe-Bereich 1x.

Kommandotelegramm

Modbus/TCP-Header Slave-Adresse Funktions-Code Adresse 1. Bit Anzahl der Bits

x x 0 0 0 6

6Byte 1Byte 1Byte 1Wort 1Wort

Antworttelegramm

Modbus/TCP-Header Slave-Adresse

Funktions-Code

Anzahl gele-sene Bytes

Daten 1. Byte Daten 2. Byte ...

x x 0 0 0

6Byte 1Byte 1Byte 1Byte 1Byte 1Byte

max. 252Byte

03h: n Worte lesen von Master-Ausgabe-Bereich 4x.

04h: n Worte lesen von Master-Eingabe-Bereich 3x.

Kommandotelegramm

Modbus/TCP-Header Slave-Adresse Funktions-Code Adresse Wort Anzahl der Worte

x x 0 0 0 6

6Byte 1Byte 1Byte 1Wort 1Wort

Antworttelegramm

Modbus/TCP-Header Slave-Adresse

Funktions-Code

Anzahl gele-sene Bytes

Daten 1. Wort Daten 2. Wort ...

x x 0 0 0

6Byte 1Byte 1Byte 1Byte 1Wort 1Wort

max. 126Worte

Read n Bits 01h, 02h

Read n Words 03h, 04h

VIPA SPEED7 Library Modbus-Kommunikation - "Modbus Communication"

FKT Modbus-Funktionscodes - FKT Codes

HB00 | OPL_SP7-LIB | SW90AS0MA V10.004 | de | 17-35 25

Page 26: VIPA SPEED7  · PDF fileDie Baustein-Bibliothek finden Sie im "Service/Support"-Bereich auf   unter ... (TCON) passt nicht zur Instanz oder Server

Code 05h: 1 Bit schreiben in Master-Ausgabe-Bereich 0x.

Eine Zustandsänderung erfolgt unter "Zustand Bit" mit folgenden Werten:

"Zustand Bit" = 0000h ® Bit = 0

"Zustand Bit" = FF00h ® Bit = 1

Kommandotelegramm

Modbus/TCP-Header Slave-Adresse Funktions-Code Adresse Bit Zustand Bit

x x 0 0 0 6

6Byte 1Byte 1Byte 1Wort 1Wort

Antworttelegramm

Modbus/TCP-Header Slave-Adresse Funktions-Code Adresse Bit Zustand Bit

x x 0 0 0 6

6Byte 1Byte 1Byte 1Wort 1Wort

Code 06h: 1 Wort schreiben in Master-Ausgabe-Bereich 4x.

Kommandotelegramm

Modbus/TCP-Header Slave-Adresse Funktions-Code Adresse Wort Wert Wort

x x 0 0 0 6

6Byte 1Byte 1Byte 1Wort 1Wort

Antworttelegramm

Modbus/TCP-Header Slave-Adresse Funktions-Code Adresse Wort Wert Wort

x x 0 0 0 6

6Byte 1Byte 1Byte 1Wort 1Wort

Write 1 Bit 05h

Write 1 Word 06h

VIPA SPEED7 LibraryModbus-Kommunikation - "Modbus Communication"

FKT Modbus-Funktionscodes - FKT Codes

HB00 | OPL_SP7-LIB | SW90AS0MA V10.004 | de | 17-35 26

Page 27: VIPA SPEED7  · PDF fileDie Baustein-Bibliothek finden Sie im "Service/Support"-Bereich auf   unter ... (TCON) passt nicht zur Instanz oder Server

Code 0Fh: n Bit schreiben in Master-Ausgabe-Bereich 0x

Bitte beachten Sie, dass die Anzahl der Bits zusätzlich in Byte anzugeben sind.

Kommandotelegramm

Modbus/TCP-Header Slave-Adresse

Funk-tions-Code

Adresse1. Bit

AnzahlBits

AnzahlBytes

Daten 1.Byte

Daten 2.Byte

...

x x 0 0 0

6Byte 1Byte 1Byte 1Wort 1Wort 1Byte 1Byte 1Byte 1Byte

max. 248Byte

Antworttelegramm

Modbus/TCP-Header Slave-Adresse Funktions-Code Adresse 1.Bit Anzahl Bits

x x 0 0 0 6

6Byte 1Byte 1Byte 1Wort 1Wort

Code 10h: n Worte schreiben in Master-Ausgabe-Bereich.

Kommandotelegramm

Modbus/TCP-Header Slave-Adresse

Funk-tions-Code

Adresse1. Wort

AnzahlWorte

AnzahlBytes

Daten 1.Wort

Daten 2.Wort

...

x x 0 0 0

6Byte 1Byte 1Byte 1Wort 1Wort 1Wort 1Wort 1Wort 1Wort

max. 124Byte

Antworttelegramm

Modbus/TCP-Header Slave-Adresse Funktions-Code Adresse 1. Wort Anzahl Worte

x x 0 0 0 6

6Byte 1Byte 1Byte 1Wort 1Wort

Code 16h: Mit dieser Funktion können Sie ein Wort im Master-Ausgabe-Bereich 4x mas-kieren.

Kommandotelegramm

Modbus/TCP-Header Slave-Adresse Funktions-Code Adresse Wort AND Mask OR Mask

x x 0 0 0 8

6Byte 1Byte 1Byte 1Wort 1Wort 1Wort

Write n Bits 0Fh

Write n Words 10h

Mask 1 Word 16h

VIPA SPEED7 Library Modbus-Kommunikation - "Modbus Communication"

FKT Modbus-Funktionscodes - FKT Codes

HB00 | OPL_SP7-LIB | SW90AS0MA V10.004 | de | 17-35 27

Page 28: VIPA SPEED7  · PDF fileDie Baustein-Bibliothek finden Sie im "Service/Support"-Bereich auf   unter ... (TCON) passt nicht zur Instanz oder Server

Antworttelegramm

Modbus/TCP-Header Slave-Adresse Funktions-Code Adresse Wort AND Mask OR Mask

x x 0 0 0 8

6Byte 1Byte 1Byte 1Wort 1Wort 1Wort

VIPA SPEED7 LibraryModbus-Kommunikation - "Modbus Communication"

FKT Modbus-Funktionscodes - FKT Codes

HB00 | OPL_SP7-LIB | SW90AS0MA V10.004 | de | 17-35 28