Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht...

59
Handbuch TC3 Modbus TCP TwinCAT 3 1.2 20.09.2016 TF6250 Version: Datum: Bestell-Nr.:

Transcript of Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht...

Page 1: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

Handbuch

TC3 Modbus TCP

TwinCAT 3

1.220.09.2016TF6250

Version:Datum:Bestell-Nr.:

Page 2: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.
Page 3: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

Inhaltsverzeichnis

Inhaltsverzeichnis1 Vorwort ....................................................................................................................................................... 4

1.1 Hinweise zur Dokumentation ............................................................................................................  41.2 Sicherheitshinweise ..........................................................................................................................  5

2 Übersicht .................................................................................................................................................... 6

3 Installation.................................................................................................................................................. 73.1 Systemvoraussetzungen ..................................................................................................................  73.2 Installation.........................................................................................................................................  73.3 Installation Windows CE .................................................................................................................  103.4 Lizensierung ...................................................................................................................................  12

4 Konfiguration ........................................................................................................................................... 174.1 Übersicht.........................................................................................................................................  174.2 TwinCAT 3 Modbus TCP Konfigurator ...........................................................................................  174.3 Default-Konfiguration ......................................................................................................................  19

5 Diagnose .................................................................................................................................................. 205.1 Modbus ADS Diagnose Interface ...................................................................................................  20

6 SPS-Bibliotheken..................................................................................................................................... 216.1 Übersicht.........................................................................................................................................  216.2 Funktionsbausteine.........................................................................................................................  21

6.2.1 FB_MBReadCoils (Modbus-Funktion 1) .............................................................................  216.2.2 FB_MBReadInputs (Modbus-Funktion 2) ...........................................................................  236.2.3 FB_MBReadRegs (Modbus-Funktion 3).............................................................................  256.2.4 FB_MBReadInputRegs (Modbus-Funktion 4).....................................................................  276.2.5 FB_MBWriteSingleCoil (Modbus-Funktion 5) .....................................................................  296.2.6 FB_MBWriteSingleReg (Modbus-Funktion 6).....................................................................  316.2.7 FB_MBWriteCoils (Modbus-Funktion 15) ...........................................................................  326.2.8 FB_MBWriteRegs (Modbus-Funktion 16) ...........................................................................  346.2.9 FB_MBReadWriteRegs (Modbus-Funktion 23) ..................................................................  366.2.10 FB_MBDiagnose (Modbus-Funktion 8)...............................................................................  386.2.11 UDP .................................................................................................................................... 40

6.3 Globale Konstanten ........................................................................................................................  526.3.1 Bibliotheksversion ............................................................................................................... 52

7 Beispiele................................................................................................................................................... 547.1 Beispiel: Digitaler IO Zugriff (Lauflicht) ...........................................................................................  547.2 Beispiel: Schreiben mehrerer Register ...........................................................................................  55

8 Anhang ..................................................................................................................................................... 568.1 Übersicht.........................................................................................................................................  568.2 ADS Return Codes .........................................................................................................................  56

TC3 Modbus TCP 3Version: 1.2

Page 4: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

Vorwort

1 Vorwort

1.1 Hinweise zur DokumentationDiese Beschreibung wendet sich ausschließlich an ausgebildetes Fachpersonal der Steuerungs- undAutomatisierungstechnik, das mit den geltenden nationalen Normen vertraut ist.Zur Installation und Inbetriebnahme der Komponenten ist die Beachtung der nachfolgenden Hinweise undErklärungen unbedingt notwendig.

Das Fachpersonal hat sicherzustellen, dass die Anwendung bzw. der Einsatz der beschriebenen Produktealle Sicherheitsanforderungen, einschließlich sämtlicher anwendbaren Gesetze, Vorschriften, Bestimmungenund Normen erfüllt.

DisclaimerDiese Dokumentation wurde sorgfältig erstellt. Die beschriebenen Produkte werden jedoch ständig weiterentwickelt.Deshalb ist die Dokumentation nicht in jedem Fall vollständig auf die Übereinstimmung mit denbeschriebenen Leistungsdaten, Normen oder sonstigen Merkmalen geprüft.Falls sie technische oder redaktionelle Fehler enthält, behalten wir uns das Recht vor, Änderungen jederzeitund ohne Ankündigung vorzunehmen.Aus den Angaben, Abbildungen und Beschreibungen in dieser Dokumentation können keine Ansprüche aufÄnderung bereits gelieferter Produkte geltend gemacht werden.

MarkenBeckhoff®, TwinCAT®, EtherCAT®, Safety over EtherCAT®, TwinSAFE®, XFC®und XTS® sind eingetrageneund lizenzierte Marken der Beckhoff Automation GmbH.Die Verwendung anderer in dieser Dokumentation enthaltenen Marken oder Kennzeichen durch Dritte kannzu einer Verletzung von Rechten der Inhaber der entsprechenden Bezeichnungen führen.

PatenteDie EtherCAT Technologie ist patentrechtlich geschützt, insbesondere durch folgende Anmeldungen undPatente:EP1590927, EP1789857, DE102004044764, DE102007017835mit den entsprechenden Anmeldungen und Eintragungen in verschiedenen anderen Ländern.

Die TwinCAT Technologie ist patentrechtlich geschützt, insbesondere durch folgende Anmeldungen undPatente:EP0851348, US6167425 mit den entsprechenden Anmeldungen und Eintragungen in verschiedenenanderen Ländern.

EtherCAT® ist eine eingetragene Marke und patentierte Technologie lizensiert durch die BeckhoffAutomation GmbH, Deutschland

Copyright© Beckhoff Automation GmbH & Co. KG, Deutschland.Weitergabe sowie Vervielfältigung dieses Dokuments, Verwertung und Mitteilung seines Inhalts sindverboten, soweit nicht ausdrücklich gestattet.Zuwiderhandlungen verpflichten zu Schadenersatz. Alle Rechte für den Fall der Patent-, Gebrauchsmuster-oder Geschmacksmustereintragung vorbehalten.

TC3 Modbus TCP4 Version: 1.2

Page 5: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

Vorwort

1.2 Sicherheitshinweise

SicherheitsbestimmungenBeachten Sie die folgenden Sicherheitshinweise und Erklärungen!Produktspezifische Sicherheitshinweise finden Sie auf den folgenden Seiten oder in den Bereichen Montage,Verdrahtung, Inbetriebnahme usw.

HaftungsausschlussDie gesamten Komponenten werden je nach Anwendungsbestimmungen in bestimmten Hard- und Software-Konfigurationen ausgeliefert. Änderungen der Hard- oder Software-Konfiguration, die über diedokumentierten Möglichkeiten hinausgehen, sind unzulässig und bewirken den Haftungsausschluss derBeckhoff Automation GmbH & Co. KG.

Qualifikation des PersonalsDiese Beschreibung wendet sich ausschließlich an ausgebildetes Fachpersonal der Steuerungs-,Automatisierungs- und Antriebstechnik, das mit den geltenden Normen vertraut ist.

Erklärung der SymboleIn der vorliegenden Dokumentation werden die folgenden Symbole mit einem nebenstehendenSicherheitshinweis oder Hinweistext verwendet. Die Sicherheitshinweise sind aufmerksam zu lesen undunbedingt zu befolgen!

GEFAHR

Akute Verletzungsgefahr!Wenn der Sicherheitshinweis neben diesem Symbol nicht beachtet wird, besteht unmittel-bare Gefahr für Leben und Gesundheit von Personen!

WARNUNG

Verletzungsgefahr!Wenn der Sicherheitshinweis neben diesem Symbol nicht beachtet wird, besteht Gefahr fürLeben und Gesundheit von Personen!

VORSICHT

Schädigung von Personen!Wenn der Sicherheitshinweis neben diesem Symbol nicht beachtet wird, können Personengeschädigt werden!

Achtung

Schädigung von Umwelt oder GerätenWenn der Hinweis neben diesem Symbol nicht beachtet wird, können Umwelt oder Gerätegeschädigt werden.

Hinweis

Tipp oder FingerzeigDieses Symbol kennzeichnet Informationen, die zum besseren Verständnis beitragen.

TC3 Modbus TCP 5Version: 1.2

Page 6: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

Übersicht

2 ÜbersichtDas Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zukommunizieren.

Modbus ist ein offener Industriestandard der von der unabhängigen Modbus Organization gepflegt undverwaltet wird.

Das Protokoll basiert auf einer Client/Server-Architektur. Das Supplement bietet die Möglichkeiten alsModbus Client oder Server zu dienen:

Server-Funktionalität: [} 17]

(1) Der TwinCAT Modbus TCP Server ermöglicht über das Netzwerk auf den vollständigen Speicherbereichder TwinCAT SPS zuzugreifen.

Client-Funktionalität: [} 21]

(2) Die mitgelieferte SPS-Bibliothek ermöglicht es, mit weiteren Modbus-Teilnehmern zu kommunizieren, umInformationen auszutauschen (z.B. Messwerte, Zustände) und zu steuern.

TC3 Modbus TCP6 Version: 1.2

Page 7: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

Installation

3 Installation

3.1 SystemvoraussetzungenTechnische Daten TF6250 TwinCAT 3 Modbus TCP ServerZielsystem Windows NT/2000/XP/Vista/7

PC (x86-kompatibel)Min. TwinCAT-Version 3.0.0Min. TwinCAT-Level TC1200 TC3 | PLC

Entwicklungsumgebung Zielplattform Einzubindende SPS-BibliothekenTwinCAT v3.0.0 PC or CX (x86, ARM) Tc2_ModbusSrv

3.2 InstallationDie Installation der TwinCAT 3 Function für Windows basierte Betriebssysteme erfolgt Schritt-für-Schritt.

1. Führen Sie einen Doppelklick auf die herunter geladene Datei „TFxxxx" aus.Hinweis: Bitte starten Sie die Installation unter Windows per „Als Administrator ausführen", indem Siedie Setup-Dateien mit der rechten Maus anklicken und die entsprechende Option im Kontextmenüauswählen.

2. Klicken Sie auf „Next" und akzeptieren Sie dann die Endbenutzervereinbarung

TC3 Modbus TCP 7Version: 1.2

Page 8: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

Installation

3. Geben Sie Ihre Benutzerdaten ein.

4. Für eine vollständige Installation wählen Sie „Complete" als Installationstyp. Alternativ können Sie jedeKomponente separat installieren, indem Sie "Custom" wählen.

TC3 Modbus TCP8 Version: 1.2

Page 9: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

Installation

5. Wählen Sie „Next“ und „Install" um die Installation zu beginnen.

Das TwinCAT System muss gestoppt werden um mit der Installation fortzufahren.

6. Bestätigen Sie den Dialog mit „Yes“

TC3 Modbus TCP 9Version: 1.2

Page 10: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

Installation

7. Wählen Sie „Finish" um das Setup zu beenden.

ð Damit ist die Installation abgeschlossen.

Der nächste Schritt nach einer erfolgreichen Installation ist die Lizensierung der TC3 Function [} 12].

3.3 Installation Windows CEDieser Teil der Dokumentation beschreibt, wie eine TwinCAT 3 Function TFxxx auf einem BeckhoffEmbedded Controller mit Windows CE installiert werden kann.

Der Setup Prozess besteht aus 4 Schritten:

1. Download der Setup Datei2. Installation auf einem Host Computer3. Übertragung der ausführbaren Datei auf das Windows CE Gerät4. Installation der Software

Im letzten Abschnitt finden Sie Hinweise zum Upgrade.

Download der Setup DateiDie CAB Installationsdatei für Windows CE ist Teil des TFxxx Setups. Daher müssen Sie nur dasentsprechende Setup von www.beckhoff.com beziehen, welches automatisch alle Versionen für WindowsXP, Windows 7 und Windows CE (x86 und ARM) enthält.

Installation auf einem Host ComputerNach der Installation enthält der Installationsordner drei Verzeichnisse - jeweils ein Verzeichnis proHardwareplattform:

• CE-ARM: ARM-basierte Embedded Controller, welche unter Windows CE laufen, z.B. CX8090,CX9020

• CE-X86: X86-basierte Embedded Controller, welche unter Windows CE laufen, z.B. CX50xx. CX20x0

TC3 Modbus TCP10 Version: 1.2

Page 11: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

Installation

• Win32: Embedded Controller, welche unter Windows XP, Windows 7 oder Windows EmbeddedStandard laufen

Die Verzeichnisse CE-ARM und CE-X86 enthalten die CAB-Dateien der Function ( hier TF6310) fürWindows CE - in Bezug auf die jeweilige Hardwareplattform Ihres Windows CE Geräts. Diese Dateienmüssen auf das Windows CE Gerät kopiert werden.

Übertragung der ausführbaren Datei auf das Windows CE GerätÜbertragen Sie die ausführbare Datei auf Ihr Windows CE Gerät. Zur Dateiübertragung stehen Ihnenmehrere Wege offen:

• über Netzwerkfreigaben• über den integrierten FTP-Server• über ActiveSync• über CF/SD Karten

Für weitere Informationen konsultieren Sie bitte den Windows CE Bereich in unserem Information System.

Installation der SoftwareNachdem die CAB-Datei auf das Windows CE Gerät übertragen wurde, müssen Sie die Datei dortausführen. Den darauf folgenden Installationsdialog können Sie mit OK bestätigen. Nachdem die Installationbeendet wurde, starten Sie das CE Gerät neu.

Nachdem das Gerät neu gestartet wurde, werden die ausführbaren Dateien der Function TFxxxxautomatisch im Hintergrund geladen und sind nun verfügbar.

Die Software wird in dem folgenden Verzeichnis auf dem CE-Gerät installiert: \Hard Disk\TwinCAT\Functions\TFxxxx

Hinweise zum UpgradeFalls bereits eine ältere Version der Function auf dem Windows CE Gerät installiert ist, sind folgende Schritteauf dem Windows CE Gerät notwendig um ein Upgrade auf eine neuere Version durchzuführen:

1. Öffnen Sie den CE Explorer, indem Sie auf Start --> Run klicken und "explorer" eingeben2. Navigieren Sie nach \Hard Disk\TwinCAT\Functions\TFxxx\xxxx3. Benennen Sie die Datei „Tc*.exe“ in „Tc*.old“ um4. Starten Sie das Windows CE Gerät neu5. Übertragen Sie die neue CAB-Datei auf das Windows CE Gerät6. Führen Sie die CAB-Datei auf dem CE-Gerät aus und installieren Sie die neue Version7. Löschen Sie die Datei „Tc*.old“8. Starten Sie das Windows CE Gerät neuð Nachdem der Neustart durchgeführt wurde ist die neue Version aktiv.

TC3 Modbus TCP 11Version: 1.2

Page 12: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

Installation

3.4 LizensierungDie TwinCAT 3 Function ist zusätzlich zur Vollversion auch in einer 7-Tage Testversion freischaltbar. BeideLizenztypen sind über TwinCAT XAE aktivierbar. Weitere Information zum TwinCAT 3Lizensierungsverfahren finden Sie im TwinCAT 3 Hilfesystem. Das folgende Dokument beschreibt denLizensierungsvorgang einer TwinCAT 3 Function und gliedert sich dabei in die folgenden beidenUnterkapitel:

• Lizensierung einer 7-Tage Testversion [} 12]

• Lizensierung einer Vollversion [} 13]

Lizensierung einer 7-Tage Testversion1. Starten Sie TwinCAT XAE2. Öffnen Sie ein bestehendes TwinCAT 3 Projekt, oder legen Sie ein neues Projekt an3. Navigieren Sie im “Solution Explorer” zum Eintrag „System\License“

4. Öffnen Sie die Registerkarte „Manage Licenses" und fügen Sie eine „Runtime License" für IhrProdukt hinzu (in diesem Screenshot „TE1300: TC3 Scope View Professional")

5. Optional : Möchten Sie die Lizenz für ein Remote Gerät hinzufügen, müssen Sie sich zunächst mitdiesem Gerät über die TwinCAT XAE Toolbar verbinden

TC3 Modbus TCP12 Version: 1.2

Page 13: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

Installation

6. Aktivieren Sie in der Registerkarte „Order Information" über den Button „Activate 7 Days TrialLicense..." eine Testversion

7. Starten Sie im Anschluss daran das TwinCAT 3 System einmal neu

Lizensierung einer Vollversion8. Starten Sie TwinCAT XAE9. Öffnen Sie ein bestehendes TwinCAT 3 Projekt oder legen Sie ein neues Projekt an

10. Navigieren Sie im "Solution Explorer" zum Eintrag „SYSTEM/License"

11. Öffnen Sie die Registerkarte „Manage Licenses" und fügen Sie eine „Runtime License" für IhrProdukt hinzu (in diesem Screenshot " TE1300: TC3 Scope View Professional ").

TC3 Modbus TCP 13Version: 1.2

Page 14: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

Installation

12. Optional: Möchten Sie die Lizenz für ein Remote Gerät hinzufügen, müssen Sie sich zunächst mitdiesem Gerät über die TwinCAT XAE Toolbar verbinden

13. Öffnen Sie die Registerkarte „Order Information"Die Felder „System-ID" und „HW Platform" können nicht geändert werden, sie beschreiben die zulizensierende Plattform. Generell wird eine TwinCAT 3 Lizenz an zwei Kennzahlen gebunden:Die „System-ID" identifiziert Ihr Gerät eindeutig.Die „HW Platform" ist eine Kennzahl für die Performanz des Gerätes.

14. Tragen Sie optional eine eigene Bestellnummer und einen Kommentar für Ihre Zwecke ein

15. Generieren Sie in der Registerkarte „Order Information" über den Button „Generate LicenseRequest File..." eine Lizenzanforderungs-Datei, die durch einen Beckhoff-Lizenzserver validiert wird(wenn Ihnen Ihre „Beckhoff License ID“ nicht bekannt ist, wenden Sie sich an Ihren Ansprechpartneraus dem Beckhoff Vertrieb).

16. Nachdem Sie das „License Request File“ gespeichert haben, fragt das System, ob die Datei per Mail anden Beckhoff Lizenz Server geschickt werden soll:

17. Wenn Sie den Dialog mit „Yes" bestätigen, öffnet sich Ihr Standard E-Mail Client und erzeugt eine neueE-Mail für „[email protected]", die das „License Request File" enthält

18. Senden Sie diesen Activation Request an BeckhoffHINWEIS! das „License Response File“ wird an die dieselbe E-Mail Adresse versendet, die das

„License Request File“ verschickt hat

TC3 Modbus TCP14 Version: 1.2

Page 15: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

Installation

19. Kurz darauf erhalten Sie vom Beckhoff-Lizenzserver eine Lizenzdatei,importieren Sie sie über den Button „Activate License Response File...“, um das Produkt zu aktivieren

20. Wählen Sie in Ihrem Ordnersystem das erhaltene „License Response File" aus

21. Das „License Response File" wird importiert und alle enthaltenen Lizenzen werden aktiviert, sämtlichebetroffenen Demo-Lizenzen werden entfernt

TC3 Modbus TCP 15Version: 1.2

Page 16: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

Installation

22. Starten Sie TwinCAT neu, um die Lizenz zu aktivieren

HINWEIS! Das Lizenzfile wird automatisch auf Ihre lokale Festplatte unter „...\TwinCAT\3.1\Target\License" kopiert.

TC3 Modbus TCP16 Version: 1.2

Page 17: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

Konfiguration

4 Konfiguration

4.1 ÜbersichtDer TwinCAT Modbus TCP Server kann Modbus-Funktionen über TCP/IP empfangen.

Modbus-BereicheNach der Modbus Spezifikation sind die folgenden vier Modbus-Bereiche definiert:

Modbus-Bereiche Datentyp Zugriff Anwendungsbeispieldigitale Eingänge (DiscreteInputs)

1 Bit nur Lesen

digitale Ausgänge (Coils) 1 Bit Lesen undSchreiben

Eingangs-Register 16 Bit nur Lesen

Ausgangs-Register 16 Bit Lesen undSchreiben

Nach der Installation sind die Modbus-Bereiche auf die Speicherbereiche der SPS gemappt.

Die Standardeinstellung des Modbus TCP Servers können Sie im Artikel über das Default-Mapping [} 19]finden. Das Anpassen der Einstellung ermöglicht der Konfigurator [} 17].

ADS-ZugriffDamit auf die spezifizierten Modbus-Bereiche per ADS zugegriffen werden kann, fügen Sie bitte folgendeGlobalen Variablen zu Ihrem SPS-Projekt hinzu.VAR_GLOBALGVL.mb_Input_Coils        : ARRAY [0..255] OF BOOL;GVL.mb_Output_Coils     : ARRAY [0..255] OF BOOL;GVL.mb_Input_Registers     : ARRAY [0..255] OF WORD;GVL.mb_Output_Registers     : ARRAY [0..255] OF WORD;END_VAR

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS-BibliothekenTwinCAT v3.0.0 PC or CX (x86) Tc2_ModbusSrv

4.2 TwinCAT 3 Modbus TCP KonfiguratorDer Konfigurator ermöglicht die IP-Adresse, den TCP-Port und das Adress-Mapping zu ändern.

Das Setup installiert den Konfigurator(TcModbusSrvCfg.exe) standardmäßig unter dem Verzeichnis\TwinCAT3\Functions\TF6250-Modbus-TCP.

Er ermöglicht die aktive Einstellung des Servers auszulesen und zu ändern.

TC3 Modbus TCP 17Version: 1.2

Page 18: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

Konfiguration

IP Address: Adresse unter der der Server erreichbar ist. Wenn keine Adresse gesetzt ist, wird die lokale IP-Adresse verwendet (Default-Einstellung).

Port: Konfigurierter Port unter der der TwinCAT Modbus TCP Server angesprochen werden kann (Default-Port = 502).

Get Configuration: Auslesen der IP Adresse und des Ports.

Set Configuration: Setzen der IP Adresse und des Ports.

Export Configuration: Auslesen der aktuellen Konfiguration.

Import Configuration: Einlesen einer neuen Konfiguration.

Set Default Configuration: Stellt die Standardeinstellung wieder her (verwenden der lokalen IP-Adresse,Port = 502, Default Modbus-Mapping [} 19]).

HINWEIS! Zum Auslesen und Setzen der Konfiguration muss TwinCAT gestoppt werden, was vomKonfigurator übernommen wird.

Auslesen der KonfigurationDie Konfiguration ist XML-basierend und kann mit einem Texteditor gelesen und modifiziert werden. MitAusführen von "Export Configuration" kann die aktuelle Konfiguration als XML-Datei lokal gespeichertwerden.

HINWEIS! Am einfachsten ist es, eine zuvor exportierte Konfiguration zu editieren und dann wiederzu importieren.

Einlesen der Mapping-InformationMit "Import Configuration" kann eine (geänderte) Konfiguration eingelesen und aktiviert werden.

HINWEIS! Sie können die Verknüpfung per Variablennamen oder per Indexgroup/Offset(performanter) realisieren.

Windows CEDie Standardkonfiguration befindet sich in der TcModbusSrv.xml (Pfad: \TwinCAT3\Functions\TF6250-Modbus-TCP\Server). Wenn Sie die Einstellungen in der Datei ändern, wird ein Neustart benötigt.

TC3 Modbus TCP18 Version: 1.2

Page 19: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

Konfiguration

4.3 Default-KonfigurationDas Standard-Mapping des Servers wird in der folgenden Tabelle dargestellt:

Modbus-Bereiche Modbus-Adress Ads-Bereichdigitale Eingänge (Inputs) 0x0000 - 0x7FFF Indexgruppe Indexoffset

0xF031 - Prozessabbildder physikalischenEingänge (Bit-Zugriff)

0xFA000

0x8000 - 0x80FF Name der Variablen imSPS-Programm

Datentyp

GVL.mb_Input_Coils ARRAY [0..255] OFBOOL

digitale Ausgänge (Coils) 0x0000 - 0x7FFF Indexgruppe Indexoffset0xF031 - Prozessabbildder physikalischenAusgänge (Bit-Zugriff)

0x1F4000

0x8000 - 0x80FF Name der VariaQblen imSPS-Programm

Datentyp

GVL.mb_Output_Coils ARRAY [0..255] OFBOOL

Eingangs-Register ( InputRegisters)

0x0000 - 0x7FFF Indexgruppe Indexoffset0xF030 - Prozessabbildder physikalischenEingänge

0xFAFA0

0x8000 - 0x80FF Name der Variablen imSPS-Programm

Datentyp

GVL.mb_Input_Registers ARRAY [0..255] OFWORD

Ausgangs-Register(Registers)

0x0000 - 0x2FFF Indexgruppe Indexoffset0xF030 - Prozessabbildder physikalischenAusgänge

0x3E800

0x3000 - 0x5FFF 0x4020 - SPS-Memory-Bereich

0x0

0x6000 - 0x7FFF 0x4040 - SPS-Daten-Bereich

0x0

0x8000 - 0x80FF Name der Variablen imSPS-Programm

Datentyp

GVL.mb_Output_Registers

ARRAY [0..255] OFWORD

Der Server mappt diese auf die einzelnen Ads-Bereiche und ermöglicht den Zugriff auf das physikalischeProzessabbild und die SPS-Merker Bereiche.

Das Anpassen der Einstellung ermöglicht der Konfigurator [} 17].

TC3 Modbus TCP 19Version: 1.2

Page 20: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

Diagnose

5 Diagnose

5.1 Modbus ADS Diagnose InterfaceModbus ADS Diagnose Interface

Per ADS können folgende Information abgefragt werden:

IndexGroup

IndexOffset

Zugriff Datentyp

Beschreibung Minimale ModbusServer Version

0x2000 0 ADSRead

UINT32 GetConnectedClientCountRückgabe der Anzahl vonverbundenen Modbus Clients

1.0.50

0x2000 1 ADSRead

UINT32 GetModbusRequestCountRückgabe der empfangenenModbus Anfragen

1.0.50

0x2000 2 ADSRead

UINT32 GetModbusResponseCountRückgabe der gesendetenModbus Antworten

1.0.50

TC3 Modbus TCP20 Version: 1.2

Page 21: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

SPS-Bibliotheken

6 SPS-Bibliotheken

6.1 ÜbersichtDie im Modbus-Protokoll definierten Funktionen sind als SPS-Bausteine in der Bibliothek TcModbusSrv.librealisiert.

Modbus TCP Funktion Funktions-Code SPS-BausteinRead Coils 1 FB_MBReadCoils [} 21]Read Inputs 2 FB_MBReadInputs [} 23]Read Registers 3 FB_MBReadRegs [} 25]Read Input Registers 4 FB_MBReadInputRegs [} 27]Write Single Coil 5 FB_MBWriteSingleCoil [} 29]Write Single Register 6 FB_MBWriteSingleReg [} 31]Write Multiple Coils 15 FB_MBWriteCoils [} 32]Write Multiple Registers 16 FB_MBWriteRegs [} 34]Read/Write Multiple Registers 23 FB_MBReadWriteRegs [} 36]Diagnose 8 FB_MBDiagnose [} 38]

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS-BibliothekenTwinCAT v3.0.0 PC or CX (x86) Tc2_ModbusSrv

6.2 Funktionsbausteine

6.2.1 FB_MBReadCoils (Modbus-Funktion 1)

Diese Funktion wird zum Lesen von 1 bis 2048 digitalen Ausgängen (Coils) benutzt. Ein digitaler Ausgangentspricht einem Bit der gelesenen Datenbytes.

VAR_INPUT

VAR_INPUT    sIPAddr         : STRING(15);    nTCPPort        : UINT:= MODBUS_TCP_PORT;    nUnitID         : BYTE:=16#FF;

TC3 Modbus TCP 21Version: 1.2

Page 22: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

SPS-Bibliotheken

    nQuantity         : WORD;    nMBAddr         : WORD;    cbLength        : UDINT;    pDestAddr         : POINTER OF BYTE;    bExecute        : BOOL;    tTimeout        : TIME;END_VAR

sIPAddr: Ist ein String, der die IP-Adresse des Zielgerätes enthält.

nTCPPort: Portnummer des Zielgerätes.

nUnitID: Identifizierungsnummer eines Gerätes eines seriellen Sub-Netzwerkes. Wenn ein Gerät direkt überTCP/IP angesprochen wird, muss dieser Wert 16#FF entsprechen.

nQuantity: Anzahl der zu lesenden digitalen Eingänge (Datenbits). Der Wert Null ist unzulässig.

nMBAddr: Startadresse der zu lesenden digitalen Eingänge (Bitoffset).

cbLength: Enthält die max. verfügbare Bytegröße des Zielpuffers, in den die Daten gelesen werden sollen.Der Puffer muss mindestens die Bytegröße: (nQuantity + 7) / 8 besitzen.

pDestAdd: Enthält die Adresse des Zielpuffers, in den die Daten gelesen werden sollen. Der Puffer kanneine Einzelvariable, ein Array oder eine Struktur sein, dessen Adresse mit dem ADR - Operator ermitteltwerden kann.

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Funktionsbaustein aktiviert.

tTimeout: Gibt die Timeout-Zeit an, die bei der Ausführung des ADS-Kommandos nicht überschrittenwerden darf.

VAR_OUTPUT

VAR_OUTPUT    bBUSY     : BOOL;    bError     : BOOL;    nErrId     : UDINT;    cbRead     : UDINT;END_VAR

bBusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eineRückmeldung erfolgt.

bError: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausganggesetzt, nachdem der bBusy-Ausgang zurückgesetzt wurde.

nErrId: Liefert bei einem gesetzten bError-Ausgang die ADS-Fehlernummer [} 56].

cbRead: Enthält die Anzahl der aktuell gelesenen Bytes.

Beispiel für den Aufruf des Bausteins in FBD

PROGRAM TestVAR    fbReadCoils         : FB_MBReadCoils;    bReadCoils         : BOOL;    bReadCoilsBusy         : BOOL;    bReadCoilsError     : BOOL;    nReadCoilsErrorId    : UDINT;    nReadCoilsCount     : UDINT;    nQuantity            : WORD := 10;    nMBAddr             : WORD := 5;    arrData             : ARRAY [1..2] OF BYTE;END_VAR

TC3 Modbus TCP22 Version: 1.2

Page 23: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

SPS-Bibliotheken

Nach steigender Flanke von "bExecute" und erfolgreicher Ausführung des ReadCoils-Befehls, wird der Inhaltder digitalen Ausgänge 6 - 15 in das Array arrData geschrieben:

Digitale Ausgänge Array-Offset Status6-13 1 0x54 Status des Ausgangs 13 ist

das MSB dieses Bytes (ganz links)Status des Ausgangs 6 ist das LSBdieses Bytes (ganz rechts)

14-15 2 0x02 da nur 10 Ausgänge gelesenwerden sollen, werden dierestlichen Bits (3-8) auf 0 gesetzt.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS-BibliothekenTwinCAT v3.0.0 PC or CX (x86) Tc2_ModbusSrv

6.2.2 FB_MBReadInputs (Modbus-Funktion 2)

Diese Funktion wird zum Lesen von 1 bis 2048 digitalen Eingängen benutzt. Ein digitaler Eingang entsprichteinem Bit der gelesenen Datenbytes.

VAR_INPUT

VAR_INPUT    sIPAddr    : STRING(15);

TC3 Modbus TCP 23Version: 1.2

Page 24: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

SPS-Bibliotheken

    nTCPPort    : UINT:= MODBUS_TCP_PORT;    nUnitID    : BYTE:=16#FF;    nQuantity     : WORD;    nMBAddr     : WORD;    cbLength    : UDINT;    pDestAddr     : POINTER OF BYTE;    bExecute    : BOOL;    tTimeout    : TIME;END_VAR

sIPAddr: Ist ein String, der die IP-Adresse des Zielgerätes enthält.

nTCPPort: Portnummer des Zielgerätes.

nUnitID: Identifizierungsnummer eines Gerätes eines seriellen Sub-Netzwerkes. Wenn ein Gerät direkt überTCP/IP angesprochen wird, muss dieser Wert 16#FF entsprechen.

nQuantity: Anzahl der zu lesenden digitalen Eingänge (Datenbits). Der Wert Null ist nicht zulässig.

nMBAddr: Startadresse der zu lesenden digitalen Eingänge (Bitoffset).

cbLength: Enthält die max. verfügbare Bytegröße des Zielpuffers für die zu lesenden Datenbytes. Der Puffermuss mindestens die Bytegröße: (nQuantity + 7) / 8 besitzen.

pDestAddr: Enthält die Adresse des Zielpuffers, in den die Daten gelesen werden sollen. Der Puffer kanneine Einzelvariable, ein Array oder eine Struktur sein, dessen Adresse mit dem ADR - Operator ermitteltwerden kann.

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Funktionsbaustein aktiviert.

tTimeout: Gibt die Timeout-Zeit an, die bei der Ausführung des ADS-Kommandos nicht überschrittenwerden darf.

VAR_OUTPUT

VAR_OUTPUT    bBUSY         : BOOL;    bError    : BOOL;    nErrId    : UDINT;    cbRead    : UDINT;END_VAR

bBusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eineRückmeldung erfolgt.

bError: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausganggesetzt, nachdem der bBusy-Ausgang zurückgesetzt wurde.

nErrId: Liefert bei einem gesetzten bError-Ausgang die ADS-Fehlernummer [} 56].

cbRead: Enthält die Anzahl der aktuell gelesenen Bytes.

Beispiel für den Aufruf des Bausteins in FBD

PROGRAM TestVAR    fbReadInputs         : FB_MBReadInputs;    bReadInputs         : BOOL;    bReadInputsBusy         : BOOL;    bReadInputsError    : BOOL;    nReadInputsErrorId     : UDINT;    nReadInputsCount    : UDINT;    nQuantity             : WORD := 20;    nMBAddr             : WORD := 29;    arrData             : ARRAY [1..3] OF BYTE;END_VAR

TC3 Modbus TCP24 Version: 1.2

Page 25: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

SPS-Bibliotheken

Nach steigender Flanke von "bExecute" und erfolgreicher Ausführung des ReadInputs-Befehls, wird derInhalt der digitalen Eingänge 30 - 49 in das Array arrData geschrieben:

Digitale Ausgänge Array-Offset Status29-36 1 0x34 Status des Eingangs 36 ist

das MSB dieses Bytes (ganz links)Status des Eingangs 29 ist dasLSB dieses Bytes (ganz rechts)

37-44 2 0x56 Status des Eingangs 44 istdas MSB dieses Bytes (ganz links)Status des Eingangs 37 ist dasLSB dieses Bytes (ganz rechts)

45-49 3 0x07 da nur 20 Eingänge gelesenwerden sollen, werden dierestlichen Bits (5-8) auf 0 gesetzt.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS-BibliothekenTwinCAT v3.0.0 PC or CX (x86) Tc2_ModbusSrv

6.2.3 FB_MBReadRegs (Modbus-Funktion 3)

Diese Funktion wird zum Lesen von 1 bis 128 Ausgangs-Registern (16 Bit) benutzt. Das erste Byte enthältdie unteren acht Bits und das zweite Byte die oberen acht Bits.

VAR_INPUT

VAR_INPUT    sIPAddr    : STRING(15);    nTCPPort    : UINT:= MODBUS_TCP_PORT;    nUnitID    : BYTE:=16#FF;

TC3 Modbus TCP 25Version: 1.2

Page 26: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

SPS-Bibliotheken

    nQuantity     : WORD;    nMBAddr    : WORD;    cbLength    : UDINT;    pDestAddr     : POINTER OF BYTE;    bExecute    : BOOL;    tTimeout    : TIME;END_VAR

sIPAddr: Ist ein String, der die IP-Adresse des Zielgerätes enthält.

nTCPPort: Portnummer des Zielgerätes.

nUnitID: Identifizierungsnummer eines Gerätes eines seriellen Sub-Netzwerkes. Wenn ein Gerät direkt überTCP/IP angesprochen wird, muss dieser Wert 16#FF entsprechen.

nQuantity: Anzahl der zu lesenden Ausgangs-Register (Datenworte). Der Wert Null ist nicht zulässig.

nMBAddr: Startadresse der zu lesenden Ausgangs-Register (Wortoffset).

cbLength: Enthält die max. verfügbare Bytegröße des Zielpuffers für die zu lesenden Registerwerte. DerPuffer muss mindestens die Bytegröße: nQuantity * 2 besitzen.

pDestAddr: Enthält die Adresse des Zielpuffers, in den die Daten gelesen werden sollen. Der Puffer kanneine Einzelvariable, ein Array oder eine Struktur sein, dessen Adresse mit dem ADR - Operator ermitteltwerden kann.

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Funktionsbaustein aktiviert.

tTimeout: Gibt die Timeout-Zeit an, die bei der Ausführung des ADS-Kommandos nicht überschrittenwerden darf.

VAR_OUTPUT

VAR_OUTPUT    bBUSY     : BOOL;    bError     : BOOL;    nErrId     : UDINT;    cbRead     : UDINT;END_VAR

bBusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eineRückmeldung erfolgt.

bError: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausganggesetzt, nachdem der bBusy-Ausgang zurückgesetzt wurde.

nErrId: Liefert bei einem gesetzten bError-Ausgang die ADS-Fehlernummer [} 56].

cbRead: Enthält die Anzahl der aktuell gelesenen Bytes.

Beispiel für den Aufruf des Bausteins in FBD

PROGRAM TestVAR    fbReadRegs         : FB_MBReadRegs;    bReadRegs             : BOOL;    bReadRegsBusy         : BOOL;    bReadRegsError         : BOOL;    nReadRegsErrorId    : UDINT;    nReadRegsCount         : UDINT;    nQuantity             : WORD:=2;    nMBAddr             : WORD:=24;    arrData             : ARRAY [1..2] OF WORD;END_VAR

TC3 Modbus TCP26 Version: 1.2

Page 27: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

SPS-Bibliotheken

Nach steigender Flanke von "bExecute" und erfolgreicher Ausführung des ReadRegs-Befehls, befinden sichder Inhalt der Register 25 und 26 in dem Array arrData:

Register Array-Offset Status25 1 0x1234 ( als Byte 0x34 0x12)26 2 0x5563 ( als Byte 0x63 0x55)

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS-BibliothekenTwinCAT v3.0.0 PC or CX (x86) Tc2_ModbusSrv

6.2.4 FB_MBReadInputRegs (Modbus-Funktion 4)

Diese Funktion wird zum Lesen von 1 bis 128 Eingangs-Registern (16Bit) benutzt. Beachten Sie die Byte-Reihenfolge Little Endian.

VAR_INPUT

VAR_INPUT    sIPAddr    : STRING(15);    nTCPPort    : UINT:= MODBUS_TCP_PORT;    nUnitID    : BYTE:=16#FF;    nQuantity     : WORD;    nMBAddr    : WORD;    cbLength    : UDINT;    pDestAddr     : POINTER OF BYTE;    bExecute    : BOOL;

TC3 Modbus TCP 27Version: 1.2

Page 28: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

SPS-Bibliotheken

    tTimeout    : TIME;END_VAR

sIPAddr: Ist ein String, der die IP-Adresse des Zielgerätes enthält.

nTCPPort: Portnummer des Zielgerätes.

nUnitID: Identifizierungsnummer eines Gerätes eines seriellen Sub-Netzwerkes. Wenn ein Gerät direkt überTCP/IP angesprochen wird, muss dieser Wert 16#FF entsprechen.

nQuantity: Anzahl der zu lesenden Eingangs-Register (Datenworte). Der Wert Null ist nicht zulässig.

nMBAddr: Startadresse der zu lesenden Eingangs-Register (Wortoffset).

cbLength: Enthält die max. verfügbare Bytegröße des Zielpuffers. Der Puffer muss mindestens dieBytegröße: nQuantity * 2 besitzen.

pDestAddr: Enthält die Adresse des Zielpuffers, in den die Daten gelesen werden sollen. Der Puffer kanneine Einzelvariable, ein Array oder eine Struktur sein, dessen Adresse mit dem ADR - Operator ermitteltwerden kann.

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Funktionsbaustein aktiviert.

tTimeout: Gibt die Timeout-Zeit an, die bei der Ausführung des ADS-Kommandos nicht überschrittenwerden darf.

VAR_OUTPUT

VAR_OUTPUT    bBUSY         : BOOL;    bError     : BOOL;    nErrId    : UDINT;    cbRead    : UDINT;END_VAR

bBusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eineRückmeldung erfolgt.

bError: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausganggesetzt, nachdem der bBusy-Ausgang zurückgesetzt wurde.

nErrId: Liefert bei einem gesetzten bError-Ausgang die ADS-Fehlernummer [} 56].

cbRead: Enthält die Anzahl der aktuell gelesenen Bytes.

Beispiel für den Aufruf des Bausteins in FBD

PROGRAM TestVAR    fbReadRegs         : FB_MBReadRegs;    bReadRegs             : BOOL;    bReadRegsBusy         : BOOL;    bReadRegsError         : BOOL;    nReadRegsErrorId    : UDINT;    nReadRegsCount         : UDINT;    nQuantity             : WORD := 3;    nMBAddr             : WORD:= 2;    arrData             : ARRAY [1..3] OF WORD;END_VAR

TC3 Modbus TCP28 Version: 1.2

Page 29: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

SPS-Bibliotheken

Nach steigender Flanke von "bExecute" und erfolgreicher Ausführung des ReadRegs-Befehls, befinden sichder Inhalt der Register 3-5 in dem Array arrData:

Register Array-Offset Status3 1 0x4543 ( als Byte 0x43 0x45)4 2 0x5234 ( als Byte 0x34 0x52)5 2 0x1235 ( als Byte 0x35 0x12)

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS-BibliothekenTwinCAT v3.0.0 PC or CX (x86) Tc2_ModbusSrv

6.2.5 FB_MBWriteSingleCoil (Modbus-Funktion 5)

Diese Funktion wird zum Beschreiben eines digitalen Ausgangs benutzt (Coil). Dabei handelt es sich umeinen Bit-Zugriff.

VAR_INPUT

VAR_INPUT    sIPAddr    : STRING(15);    nTCPPort    : UINT:= MODBUS_TCP_PORT;    nUnitID    : BYTE:=16#FF;    nMBAddr    : WORD;    nValue    : WORD;    bExecute    : BOOL;    tTimeout    : TIME;END_VAR

TC3 Modbus TCP 29Version: 1.2

Page 30: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

SPS-Bibliotheken

sIPAddr: Ist ein String, der die IP-Adresse des Zielgerätes enthält.

nTCPPort: Portnummer des Zielgerätes.

nUnitID: Identifizierungsnummer eines Gerätes eines seriellen Sub-Netzwerkes. Wenn ein Gerät direkt überTCP/IP angesprochen wird, muss dieser Wert 16#FF entsprechen.

nMBAddr: Adresse des digitalen Ausgangs (Bitoffset).

nValue: Wert, der in den digitalen Ausgang geschrieben werden soll. Der Wert 16#FF00 schaltet denAusgang ein und der Wert 16#0000 schaltet den Ausgang ab.

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Funktionsbaustein aktiviert.

tTimeout: Gibt die Timeout-Zeit an, die bei der Ausführung des ADS-Kommandos nicht überschrittenwerden darf.

VAR_OUTPUT

VAR_OUTPUT    bBUSY         : BOOL;    bError    : BOOL;    nErrId    : UDINT;END_VAR

bBusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eineRückmeldung erfolgt.

bError: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausganggesetzt, nachdem der bBusy-Ausgang zurückgesetzt wurde.

nErrId: Liefert bei einem gesetzten bError-Ausgang die ADS-Fehlernummer [} 56].

Beispiel für den Aufruf des Bausteins in FBD

PROGRAM TestVAR    fbWriteSingleCoil     : FB_MBWriteSingleCoil;    bWriteCoil         : BOOL;    bWriteCoilBusy         : BOOL;    bWriteCoilError     : BOOL;    nWriteCoilErrorId     : UDINT;    nMBAddr             : WORD := 3;    nValue             : WORD := 16#FF00;END_VAR

Nach steigender Flanke von "bExecute" und erfolgreicher Ausführung des WriteSingleCoil-Befehls, wird derdigitale Ausgang 4 angeschaltet.

TC3 Modbus TCP30 Version: 1.2

Page 31: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

SPS-Bibliotheken

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS-BibliothekenTwinCAT v3.0.0 PC or CX (x86) Tc2_ModbusSrv

6.2.6 FB_MBWriteSingleReg (Modbus-Funktion 6)

Diese Funktion wird zum Beschreiben eines einzelnen Ausgangsregisters benutzt. Dabei handelt es sich umeinen 16 Bit-Zugriff.

VAR_INPUT

VAR_INPUT    sIPAddr    : STRING(15);    nTCPPort    : UINT:= MODBUS_TCP_PORT;    nUnitID    : BYTE:=16#FF;    nMBAddr    : WORD;    nValue    : WORD;    bExecute    : BOOL;    tTimeout    : TIME;END_VAR

sIPAddr: Ist ein String, der die IP-Adresse des Zielgerätes enthält.

nTCPPort: Portnummer des Zielgerätes.

nUnitID: Identifizierungsnummer eines Gerätes eines seriellen Sub-Netzwerkes. Wenn ein Gerät direkt überTCP/IP angesprochen wird, muss dieser Wert 16#FF entsprechen.

nMBAddr: Adresse des Ausgangs-Registers (Wortoffset).

nValue: Wert, der in das Register geschrieben werden soll (Datenwort).

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Funktionsbaustein aktiviert.

tTimeout: Gibt die Timeout-Zeit an, die bei der Ausführung des ADS-Kommandos nicht überschrittenwerden darf.

VAR_OUTPUT

VAR_OUTPUT    bBUSY     : BOOL;    bError     : BOOL;    nErrId     : UDINT;END_VAR

bBusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eineRückmeldung erfolgt.

bError: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausganggesetzt, nachdem der bBusy-Ausgang zurückgesetzt wurde.

TC3 Modbus TCP 31Version: 1.2

Page 32: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

SPS-Bibliotheken

nErrId: Liefert bei einem gesetzten bError-Ausgang die ADS-Fehlernummer [} 56].

Beispiel für den Aufruf des Bausteins in FBD

PROGRAM TestVAR    fbWriteSingleReg    : FB_MBWriteSingleReg;    bWriteReg             : BOOL;    bWriteRegBusy         : BOOL;    bWriteRegError         : BOOL;    nWriteRegErrorId    : UDINT;    nMBAddr             : WORD := 4;    nValue             : WORD := 16#1234; END_VAR

Nach steigender Flanke von "bExecute" und erfolgreicher Ausführung des WriteSingleReg-Befehls, wird indas Register 5 der Wert 16#1234 geschrieben.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS-BibliothekenTwinCAT v3.0.0 PC or CX (x86) Tc2_ModbusSrv

6.2.7 FB_MBWriteCoils (Modbus-Funktion 15)

Diese Funktion wird zum Beschreiben von 1 bis 2048 digitalen Ausgängen (Coils) benutzt. Ein digitalerAusgang entspricht einem Bit der geschriebenen Datenbytes.

TC3 Modbus TCP32 Version: 1.2

Page 33: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

SPS-Bibliotheken

VAR_INPUT

VAR_INPUT    sIPAddr    : STRING(15);    nTCPPort    : UINT:= MODBUS_TCP_PORT;    nUnitID    : BYTE:=16#FF;    nQuantity     : WORD;    nMBAddr    : WORD;    cbLength    : UDINT;    pSrcAddr    : POINTER OF BYTE;    bExecute    : BOOL;    tTimeout    : TIME;END_VAR

sIPAddr: Ist ein String, der die IP-Adresse des Zielgerätes enthält.

nTCPPort: Portnummer des Zielgerätes.

nUnitID: Identifizierungsnummer eines Gerätes eines seriellen Sub-Netzwerkes. Wenn ein Gerät direkt überTCP/IP angesprochen wird, muss dieser Wert 16#FF entsprechen.

nQuantity: Anzahl der digitalen Ausgänge, die beschrieben werden sollen (Datenbits). Der Wert Null istunzulässig.

nMBAddr: Startadresse der digitalen Ausgänge, die beschrieben werden sollen (Bitoffset).

cbLength: Enthält die max. verfügbare Bytegröße des Quellpuffers, der die zu schreibenden Daten enthält.Der Puffer muss mindestens die Bytegröße: (nQuantity + 7 ) / 8 besitzen.

pSrcAddr: Enthält die Adresse des Quellpuffers, der die zu schreibenden Daten enthält. Der Puffer kanneine Einzelvariable, ein Array oder eine Struktur sein, dessen Adresse mit dem ADR - Operator ermitteltwerden kann.

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Funktionsbaustein aktiviert.

tTimeout: Gibt die Timeout-Zeit an, die bei der Ausführung des ADS-Kommandos nicht überschrittenwerden darf.

VAR_OUTPUT

VAR_OUTPUT    bBUSY         : BOOL;    bError    : BOOL;    nErrId    : UDINT;    cbRead    : UDINT;END_VAR

bBusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eineRückmeldung erfolgt.

bError: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausganggesetzt, nachdem der bBusy-Ausgang zurückgesetzt wurde.

nErrId: Liefert bei einem gesetzten bError-Ausgang die ADS-Fehlernummer [} 56].

Beispiel für den Aufruf des Bausteins in FBD

PROGRAM TestVAR    fbWriteCoils         : FB_MBWriteCoils;    bWriteCoils         : BOOL;    bWriteCoilsBusy        : BOOL;    bWriteCoilsError     : BOOL;    nWriteCoilsErrorId    : UDINT;    nWriteCoilsCount     : UDINT;    nQuantity             : WORD := 10;    nMBAddr             : WORD := 14;

TC3 Modbus TCP 33Version: 1.2

Page 34: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

SPS-Bibliotheken

    arrData             : ARRAY [1..2] OF BYTE := 16#75,16#03;END_VAR

Nach steigender Flanke von "bExecute" und erfolgreicher Ausführung des ReadCoils-Befehls, wird der Inhaltdes Arrays arrData in die Ausgänge 15-24 geschrieben:

Bit 0 1 1 1 0 1 0 1 0 0 0 0 0 0 1 1Output 22 21 20 19 18 17 16 15 X X X X X X 24 23

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS-BibliothekenTwinCAT v3.0.0 PC or CX (x86) Tc2_ModbusSrv

6.2.8 FB_MBWriteRegs (Modbus-Funktion 16)

Diese Funktion wird zum Beschreiben von 1 bis 128 Ausgangs-Registern (16 Bit) benutzt.

VAR_INPUT

VAR_INPUT    sIPAddr    : STRING(15);    nTCPPort    : UINT:= MODBUS_TCP_PORT;    nUnitID    : BYTE:=16#FF;    nQuantity     : WORD;    nMBAddr    : WORD;    cbLength    : UDINT;

TC3 Modbus TCP34 Version: 1.2

Page 35: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

SPS-Bibliotheken

    pSrcAddr    : POINTER OF BYTE;    bExecute    : BOOL;    tTimeout    : TIME;END_VAR

sIPAddr: Ist ein String, der die IP-Adresse des Zielgerätes enthält.

nTCPPort: Portnummer des Zielgerätes.

nUnitID: Identifizierungsnummer eines Gerätes eines seriellen Sub-Netzwerkes. Wenn ein Gerät direkt überTCP/IP angesprochen wird, muss dieser Wert 16#FF entsprechen.

nQuantity: Anzahl der zu schreibenden Ausgangs-Register (Datenworte).

nMBAddr: Startadresse der zu schreibenden Ausgangs-Register (Wortoffset).

cbLength: Enthält die max. verfügbare Bytegröße des Quellpuffers der die zu schreibende Registerwerteenthält.. Der Puffer muss mindestens die Bytegröße: nQuantity * 2 besitzen.

pSrcAddr: Enthält die Adresse des Quellpuffers, der die zu schreibenden Daten enthält. Der Puffer kanneine Einzelvariable, ein Array oder eine Struktur sein, dessen Adresse mit dem ADR - Operator ermitteltwerden kann.

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Funktionsbaustein aktiviert.

tTimeout: Gibt die Timeout-Zeit an, die bei der Ausführung des ADS-Kommandos nicht überschrittenwerden darf.

VAR_OUTPUT

VAR_OUTPUT    bBUSY         : BOOL;    bError    : BOOL;    nErrId    : UDINT;END_VAR

bBusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eineRückmeldung erfolgt.

bError: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausganggesetzt, nachdem der bBusy-Ausgang zurückgesetzt wurde.

nErrId: Liefert bei einem gesetzten bError-Ausgang die ADS-Fehlernummer [} 56].

Beispiel für den Aufruf des Bausteins in FBD

PROGRAM TestVAR    fbWriteRegs         : FB_MBWriteRegs;    bWriteRegs            : BOOL;    bWriteRegsBusy         : BOOL;    bWriteRegsError     : BOOL;    nWriteRegsErrorId     : UDINT;    nWriteRegsCount     : UDINT;    nQuantity             : WORD := 3;    nMBAddr             : WORD := 4;    arrData             : ARRAY [1..3] OF WORD;END_VAR

TC3 Modbus TCP 35Version: 1.2

Page 36: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

SPS-Bibliotheken

Nach steigender Flanke von "bExecute" und erfolgreicher Ausführung des ReadRegs-Befehls, wird der Inhaltdes Arrays arrData in die Register 5-7 geschrieben.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS-BibliothekenTwinCAT v3.0.0 PC or CX (x86) Tc2_ModbusSrv

6.2.9 FB_MBReadWriteRegs (Modbus-Funktion 23)

Diese Funktion liest zuerst 1 bis 128 Ausgangs-Register (16 bit) und beschreibt danach 1 bis 128 Ausgangs-Register (16 Bit).

VAR_INPUT

VAR_INPUT    sIPAddr         : STRING(15);    nTCPPort        : UINT:= MODBUS_TCP_PORT;    nUnitID         : BYTE:=16#FF;    nReadQuantity     : WORD;    nMBReadAddr     : WORD;    nWriteQuantity     : WORD;    nMBWriteAddr     : WORD;

TC3 Modbus TCP36 Version: 1.2

Page 37: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

SPS-Bibliotheken

    cbDestLength     : UDINT;    pDestAddr         : POINTER OF BYTE;    cbSrcLength     : UDINT;    pSrcAddr        : POINTER OF BYTE;    bExecute        : BOOL;    tTimeout        : TIME;END_VAR

sIPAddr: Ist ein String, der die IP-Adresse des Zielgerätes enthält.

nTCPPort: Portnummer des Zielgerätes.

nUnitID: Identifizierungsnummer eines Gerätes eines seriellen Sub-Netzwerkes. Wenn ein Gerät direkt überTCP/IP angesprochen wird, muss dieser Wert 16#FF entsprechen.

nReadQuantity: Anzahl der zu lesenden Ausgangs-Register (Datenworte). Der Wert Null ist nicht zulässig.

nMBReadAddr: Startadresse der zu lesenden Ausgangs-Register (Wortoffset).

nWriteQuantity: Anzahl der zu schreibenden Ausgangs-Register (Datenworte). Der Wert Null ist nichtzulässig.

nMBWriteAddr: Startadresse der zu schreibenden Ausgangs-Register (Wortoffset).

cbDestLength: Enthält die max. verfügbare Bytegröße des Zielpuffers für die zu lesenden Registerwerte.Der Puffer muss mindestens die Bytegröße: nReadQuantity * 2 besitzen.

pDestAddr: Enthält die Adresse des Zielpuffers, in den die Daten gelesen werden sollen. Der Puffer kanneine Einzelvariable, ein Array oder eine Struktur sein, dessen Adresse mit dem ADR - Operator ermitteltwerden kann.

cbSrcLength: Enthält die max. verfügbare Bytegröße des Quellpuffers der die zu schreibendeRegisterwerte enthält. Der Puffer muss mindestens die Bytegröße: nWriteQuantity* 2 besitzen.

pSrcAddr: Enthält die Adresse des Quellpuffers, der die zu schreibenden Daten enthält. Der Puffer kanneine Einzelvariable, ein Array oder eine Struktur sein, dessen Adresse mit dem ADR - Operator ermitteltwerden kann.

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Funktionsbaustein aktiviert.

tTimeout: Gibt die Timeout-Zeit an, die bei der Ausführung des ADS-Kommandos nicht überschrittenwerden darf.

VAR_OUTPUT

VAR_OUTPUT    bBUSY         : BOOL;    bError    : BOOL;    nErrId    : UDINT;    cbRead    : UDINT;END_VAR

bBusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eineRückmeldung erfolgt.

bError: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausganggesetzt, nachdem der bBusy-Ausgang zurückgesetzt wurde.

nErrId: Liefert bei einem gesetzten bError-Ausgang die ADS-Fehlernummer [} 56].

cbRead: Enthält die Anzahl der aktuell gelesenen Bytes.

Beispiel für den Aufruf des Bausteins in FBD

PROGRAM TestVAR    fbReadWriteRegs             : FB_MBReadWriteRegs;    bReadWriteRegs             : BOOL;

TC3 Modbus TCP 37Version: 1.2

Page 38: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

SPS-Bibliotheken

    bReadWriteRegsBusy         : BOOL;    bReadWriteRegsError         : BOOL;    nReadWriteRegsErrorId     : UDINT;    nReadWriteRegsCount         : UDINT;    nRdQuantity             : WORD;    nRdMBAddr                 : WORD;    nWrQuantity             : WORD;    nWrMBAddr                 : WORD;    arrRdData                 : ARRAY [1..9] OF WORD;    arrWrData                 : ARRAY [1..9] OF WORD;END_VAR

Nach steigender Flanke von "bExecute" und erfolgreicher Ausführung des ReadWriteRegs-Befehls, befindensich in arrRdData die gelesenen Daten der Register und die Daten aus arrWrData werden in die Registergeschrieben.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS-BibliothekenTwinCAT v3.0.0 PC or CX (x86) Tc2_ModbusSrv

6.2.10 FB_MBDiagnose (Modbus-Funktion 8)

Die Diagnose-Funktion stellt eine Reihe von Tests für die Überprüfung des Übertragungssystems zwischendem Master und dem Slave oder für die Überprüfung der verschiedenen internen Fehlerzustände innerhalbdes Slaves zur Verfügung.

TC3 Modbus TCP38 Version: 1.2

Page 39: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

SPS-Bibliotheken

VAR_INPUT

VAR_INPUT    sIPAddr    : STRING(15);    nTCPPort    : UINT:= MODBUS_TCP_PORT;    nUnitID    : BYTE:=16#FF;    nSubFnc    : WORD;    nWriteData    : WORD;    bExecute    : BOOL;    tTimeout    : TIME;END_VAR

sIPAddr: Ist ein String, der die IP-Adresse des Zielgerätes enthält.

nTCPPort: Portnummer des Zielgerätes.

nUnitID: Identifizierungsnummer eines Gerätes eines seriellen Sub-Netzwerkes. Wenn ein Gerät direkt überTCP/IP angesprochen wird, muss dieser Wert 16#FF entsprechen.

nSubFnc: Die Subfunktion, die ausgeführt werden soll.

nWriteData: Das Datenwort, das geschrieben werden soll.

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Funktionsbaustein aktiviert.

tTimeout: Gibt die Timeout-Zeit an, die bei der Ausführung des ADS-Kommandos nicht überschrittenwerden darf.

VAR_OUTPUT

VAR_OUTPUT    bBusy         : BOOL;    bError    : BOOL;    nErrId    : UDINT;    nReadData     : WORD;END_VAR    

bBusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eineRückmeldung erfolgt.

bError: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausganggesetzt, nachdem der bBusy-Ausgang zurückgesetzt wurde.

nErrId: Liefert bei einem gesetzten bError-Ausgang die ADS-Fehlernummer [} 56].

nReadData: Liefert das gelesene Datenwort.

Beispiel für den Aufruf des Bausteins in FBD

PROGRAM TestVAR    fbDiagnose         : FB_MBDiagnose;    bDiagnose             : BOOL;    bDiagnoseBusy         : BOOL;    bDiagnoseError         : BOOL;    nDiagnoseErrorId    : UDINT;    nSubFnc             : WORD;    nReadData             : WORD;    nWriteData         : WORD;END_VAR

TC3 Modbus TCP 39Version: 1.2

Page 40: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

SPS-Bibliotheken

Nach steigender Flanke von "bExecute" und erfolgreicher Ausführung des Dianose-Befehls, befindet sich innReadData das gelesene Datenwort.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS-BibliothekenTwinCAT v3.0.0 PC or CX (x86) Tc2_ModbusSrv

6.2.11 UDP

6.2.11.1 FB_MBUdpReadCoils (Modbus-Funktion 1)

Diese Funktion wird zum Lesen von 1 bis 2048 digitalen Ausgängen (Coils) benutzt. Ein digitaler Ausgangentspricht einem Bit der gelesenen Datenbytes.

VAR_INPUT

VAR_INPUT    sIPAddr    : STRING(15);    nTCPPort    : UINT:= MODBUS_TCP_PORT;    nUnitID    : BYTE:=16#FF;    nQuantity     : WORD;    nMBAddr    : WORD;    cbLength    : UDINT;    pDestAddr     : POINTER OF BYTE;    bExecute    : BOOL;    tTimeout    : TIME;END_VAR

TC3 Modbus TCP40 Version: 1.2

Page 41: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

SPS-Bibliotheken

sIPAddr: Ist ein String, der die IP-Adresse des Zielgerätes enthält.

nTCPPort: Portnummer des Zielgerätes.

nUnitID: Identifizierungsnummer eines Gerätes eines seriellen Sub-Netzwerkes. Wenn ein Gerät direkt überTCP/IP angesprochen wird, muss dieser Wert 16#FF entsprechen.

nQuantity: Anzahl der zu lesenden digitalen Eingänge (Datenbits). Der Wert Null ist unzulässig.

nMBAddr: Startadresse der zu lesenden digitalen Eingänge (Bitoffset).

cbLength: Enthält die max. verfügbare Bytegröße des Zielpuffers, in den die Daten gelesen werden sollen.Der Puffer muss mindestens die Bytegröße: (nQuantity + 7) / 8 besitzen.

pDestAdd: Enthält die Adresse des Zielpuffers, in den die Daten gelesen werden sollen. Der Puffer kanneine Einzelvariable, ein Array oder eine Struktur sein, dessen Adresse mit dem ADR - Operator ermitteltwerden kann.

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Funktionsbaustein aktiviert.

tTimeout: Gibt die Timeout-Zeit an, die bei der Ausführung des ADS-Kommandos nicht überschrittenwerden darf.

VAR_OUTPUT

VAR_OUTPUT    bBUSY         : BOOL;    bError    : BOOL;    nErrId    : UDINT;    cbRead    : UDINT;END_VAR

bBusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eineRückmeldung erfolgt.

bError: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausganggesetzt, nachdem der bBusy-Ausgang zurückgesetzt wurde.

nErrId: Liefert bei einem gesetzten bError-Ausgang die ADS-Fehlernummer [} 56].

cbRead: Enthält die Anzahl der aktuell gelesenen Bytes.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS-BibliothekenTwinCAT v3.0.0 PC or CX (x86) Tc2_ModbusSrv

6.2.11.2 FB_MBUdpReadInputs(Modbus-Funktion 2)

TC3 Modbus TCP 41Version: 1.2

Page 42: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

SPS-Bibliotheken

Diese Funktion wird zum Lesen von 1 bis 2048 digitalen Eingängen benutzt. Ein digitaler Eingang entsprichteinem Bit der gelesenen Datenbytes.

VAR_INPUT

VAR_INPUT    sIPAddr    : STRING(15);    nTCPPort    : UINT:= MODBUS_TCP_PORT;    nUnitID    : BYTE:=16#FF;    nQuantity     : WORD;    nMBAddr    : WORD;    cbLength    : UDINT;    pDestAddr     : POINTER OF BYTE;    bExecute    : BOOL;    tTimeout    : TIME;END_VAR

sIPAddr: Ist ein String, der die IP-Adresse des Zielgerätes enthält.

nTCPPort: Portnummer des Zielgerätes.

nUnitID: Identifizierungsnummer eines Gerätes eines seriellen Sub-Netzwerkes. Wenn ein Gerät direkt überTCP/IP angesprochen wird, muss dieser Wert 16#FF entsprechen.

nQuantity: Anzahl der zu lesenden digitalen Eingänge (Datenbits). Der Wert Null ist nicht zulässig.

nMBAddr: Startadresse der zu lesenden digitalen Eingänge (Bitoffset).

cbLength: Enthält die max. verfügbare Bytegröße des Zielpuffers für die zu lesenden Datenbytes. Der Puffermuss mindestens die Bytegröße: (nQuantity + 7) / 8 besitzen.

pDestAddr: Enthält die Adresse des Zielpuffers, in den die Daten gelesen werden sollen. Der Puffer kanneine Einzelvariable, ein Array oder eine Struktur sein, dessen Adresse mit dem ADR - Operator ermitteltwerden kann.

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Funktionsbaustein aktiviert.

tTimeout: Gibt die Timeout-Zeit an, die bei der Ausführung des ADS-Kommandos nicht überschrittenwerden darf.

VAR_OUTPUT

VAR_OUTPUT    bBUSY         : BOOL;    bError    : BOOL;    nErrId    : UDINT;    cbRead    : UDINT;END_VAR

bBusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eineRückmeldung erfolgt.

bError: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausganggesetzt, nachdem der bBusy-Ausgang zurückgesetzt wurde.

nErrId: Liefert bei einem gesetzten bError-Ausgang die ADS-Fehlernummer [} 56].

cbRead: Enthält die Anzahl der aktuell gelesenen Bytes.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS-BibliothekenTwinCAT 3 v3.0.0 PC or CX (x86) Tc2_ModbusSrv

TC3 Modbus TCP42 Version: 1.2

Page 43: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

SPS-Bibliotheken

6.2.11.3 FB_MBUdpReadRegs(Modbus-Funktion 3)

Diese Funktion wird zum Lesen von 1 bis 128 Ausgangs-Registern (16 Bit) benutzt. Das erste Byte enthältdie unteren acht Bits und das zweite Byte die oberen acht Bits.

VAR_INPUT

VAR_INPUT    sIPAddr    : STRING(15);    nTCPPort    : UINT:= MODBUS_TCP_PORT;    nUnitID    : BYTE:=16#FF;    nQuantity     : WORD;    nMBAddr    : WORD;    cbLength    : UDINT;    pDestAddr     : POINTER OF BYTE;    bExecute    : BOOL;    tTimeout    : TIME;END_VAR

sIPAddr: Ist ein String, der die IP-Adresse des Zielgerätes enthält.

nTCPPort: Portnummer des Zielgerätes.

nUnitID: Identifizierungsnummer eines Gerätes eines seriellen Sub-Netzwerkes. Wenn ein Gerät direkt überTCP/IP angesprochen wird, muss dieser Wert 16#FF entsprechen.

nQuantity: Anzahl der zu lesenden Ausgangs-Register (Datenworte). Der Wert Null ist nicht zulässig.

nMBAddr: Startadresse der zu lesenden Ausgangs-Register (Wortoffset).

cbLength: Enthält die max. verfügbare Bytegröße des Zielpuffers für die zu lesenden Registerwerte. DerPuffer muss mindestens die Bytegröße: nQuantity * 2 besitzen.

pDestAddr: Enthält die Adresse des Zielpuffers, in den die Daten gelesen werden sollen. Der Puffer kanneine Einzelvariable, ein Array oder eine Struktur sein, dessen Adresse mit dem ADR - Operator ermitteltwerden kann.

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Funktionsbaustein aktiviert.

tTimeout: Gibt die Timeout-Zeit an, die bei der Ausführung des ADS-Kommandos nicht überschrittenwerden darf.

VAR_OUTPUT

VAR_OUTPUT    bBUSY         : BOOL;    bError    : BOOL;    nErrId    : UDINT;    cbRead    : UDINT;END_VAR

TC3 Modbus TCP 43Version: 1.2

Page 44: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

SPS-Bibliotheken

bBusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eineRückmeldung erfolgt.

bError: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausganggesetzt, nachdem der bBusy-Ausgang zurückgesetzt wurde.

nErrId: Liefert bei einem gesetzten bError-Ausgang die ADS-Fehlernummer [} 56].

cbRead: Enthält die Anzahl der aktuell gelesenen Bytes.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS-BibliothekenTwinCAT 3 v3.0.0 PC or CX (x86) Tc2_ModbusSrv

6.2.11.4 FB_MBUdpReadInputRegs(Modbus-Funktion 4)

Diese Funktion wird zum Lesen von 1 bis 128 Eingangs-Registern (16Bit) benutzt.

VAR_INPUT

VAR_INPUT    sIPAddr    : STRING(15);    nTCPPort    : UINT:= MODBUS_TCP_PORT;    nUnitID    : BYTE:=16#FF;    nQuantity     : WORD;    nMBAddr    : WORD;    cbLength    : UDINT;    pDestAddr     : POINTER OF BYTE;    bExecute    : BOOL;    tTimeout    : TIME;END_VAR

sIPAddr: Ist ein String, der die IP-Adresse des Zielgerätes enthält.

nTCPPort: Portnummer des Zielgerätes.

nUnitID: Identifizierungsnummer eines Gerätes eines seriellen Sub-Netzwerkes. Wenn ein Gerät direkt überTCP/IP angesprochen wird, muss dieser Wert 16#FF entsprechen.

nQuantity: Anzahl der zu lesenden Eingangs-Register (Datenworte). Der Wert Null ist nicht zulässig.

nMBAddr: Startadresse der zu lesenden Eingangs-Register (Wortoffset).

cbLength: Enthält die max. verfügbare Bytegröße des Zielpuffers. Der Puffer muss mindestens dieBytegröße: nQuantity * 2 besitzen.

TC3 Modbus TCP44 Version: 1.2

Page 45: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

SPS-Bibliotheken

pDestAddr: Enthält die Adresse des Zielpuffers, in den die Daten gelesen werden sollen. Der Puffer kanneine Einzelvariable, ein Array oder eine Struktur sein, dessen Adresse mit dem ADR - Operator ermitteltwerden kann.

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Funktionsbaustein aktiviert.

tTimeout: Gibt die Timeout-Zeit an, die bei der Ausführung des ADS-Kommandos nicht überschrittenwerden darf.

VAR_OUTPUT

VAR_OUTPUT    bBUSY         : BOOL;    bError    : BOOL;    nErrId    : UDINT;    cbRead    : UDINT;END_VAR

bBusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eineRückmeldung erfolgt.

bError: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausganggesetzt, nachdem der bBusy-Ausgang zurückgesetzt wurde.

nErrId: Liefert bei einem gesetzten bError-Ausgang die ADS-Fehlernummer [} 56].

cbRead: Enthält die Anzahl der aktuell gelesenen Bytes.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS-BibliothekenTwinCAT v3.0.0 PC or CX (x86) Tc2_ModbusSrv

6.2.11.5 FB_MBUdpWriteSingleCoil (Modbus-Funktion 5)

Diese Funktion wird zum Beschreiben eines digitalen Ausgangs benutzt (Coil). Dabei handelt es sich umeinen Bit-Zugriff.

VAR_INPUT

VAR_INPUT    sIPAddr    : STRING(15);    nTCPPort    : UINT:= MODBUS_TCP_PORT;    nUnitID    : BYTE:=16#FF;    nMBAddr    : WORD;    nValue    : WORD;    bExecute    : BOOL;    tTimeout    : TIME;END_VAR

TC3 Modbus TCP 45Version: 1.2

Page 46: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

SPS-Bibliotheken

sIPAddr: Ist ein String, der die IP-Adresse des Zielgerätes enthält.

nTCPPort: Portnummer des Zielgerätes.

nUnitID: Identifizierungsnummer eines Gerätes eines seriellen Sub-Netzwerkes. Wenn ein Gerät direkt überTCP/IP angesprochen wird, muss dieser Wert 16#FF entsprechen.

nMBAddr: Adresse des digitalen Ausgangs (Bitoffset).

nValue: Wert, der in den digitalen Ausgang geschrieben werden soll. Der Wert 16#FF00 schaltet denAusgang ein und der Wert 16#0000 schaltet den Ausgang ab.

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Funktionsbaustein aktiviert.

tTimeout: Gibt die Timeout-Zeit an, die bei der Ausführung des ADS-Kommandos nicht überschrittenwerden darf.

VAR_OUTPUT

VAR_OUTPUT    bBUSY         : BOOL;    bError    : BOOL;    nErrId    : UDINT;END_VAR

bBusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eineRückmeldung erfolgt.

bError: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausganggesetzt, nachdem der bBusy-Ausgang zurückgesetzt wurde.

nErrId: Liefert bei einem gesetzten bError-Ausgang die ADS-Fehlernummer. [} 56]

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS-BibliothekenTwinCAT v3.0.0 PC or CX (x86) Tc2_ModbusSrv

6.2.11.6 FB_MBUdpWriteSingleReg(Modbus-Funktion 6)

Diese Funktion wird zum Beschreiben eines einzelnen Ausgangsregisters benutzt. Dabei handelt es sich umeinen 16 Bit-Zugriff.

VAR_INPUT

VAR_INPUT    sIPAddr    : STRING(15);    nTCPPort    : UINT:= MODBUS_TCP_PORT;    nUnitID    : BYTE:=16#FF;    nMBAddr    : WORD;    nValue    : WORD;

TC3 Modbus TCP46 Version: 1.2

Page 47: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

SPS-Bibliotheken

    bExecute    : BOOL;    tTimeout    : TIME;END_VAR

sIPAddr: Ist ein String, der die IP-Adresse des Zielgerätes enthält.

nTCPPort: Portnummer des Zielgerätes.

nUnitID: Identifizierungsnummer eines Gerätes eines seriellen Sub-Netzwerkes. Wenn ein Gerät direkt überTCP/IP angesprochen wird, muss dieser Wert 16#FF entsprechen.

nMBAddr: Adresse des Ausgangs-Registers (Wortoffset).

nValue: Wert, der in das Register geschrieben werden soll (Datenwort).

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Funktionsbaustein aktiviert.

tTimeout: Gibt die Timeout-Zeit an, die bei der Ausführung des ADS-Kommandos nicht überschrittenwerden darf.

VAR_OUTPUT

VAR_OUTPUT    bBUSY        : BOOL;    bError    : BOOL;    nErrId    : UDINT;END_VAR

bBusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eineRückmeldung erfolgt.

bError: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausganggesetzt, nachdem der bBusy-Ausgang zurückgesetzt wurde.

nErrId: Liefert bei einem gesetzten bError-Ausgang die ADS-Fehlernummer [} 56].

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS-BibliothekenTwinCAT 3 v3.0.0 PC or CX (x86) Tc2_ModbusSrv

6.2.11.7 FB_MBUdpWriteCoils (Modbus-Funktion 15)

TC3 Modbus TCP 47Version: 1.2

Page 48: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

SPS-Bibliotheken

Diese Funktion wird zum Beschreiben von 1 bis 2048 digitalen Ausgängen (Coils) benutzt. Ein digitalerAusgang entspricht einem Bit der geschriebenen Datenbytes.

VAR_INPUT

VAR_INPUT    sIPAddr    : STRING(15);    nTCPPort    : UINT:= MODBUS_TCP_PORT;    nUnitID    : BYTE:=16#FF;    nQuantity     : WORD;    nMBAddr    : WORD;    cbLength    : UDINT;    pSrcAddr    : POINTER OF BYTE;    bExecute    : BOOL;    tTimeout    : TIME;END_VAR

sIPAddr: Ist ein String, der die IP-Adresse des Zielgerätes enthält.

nTCPPort: Portnummer des Zielgerätes.

nUnitID: Identifizierungsnummer eines Gerätes eines seriellen Sub-Netzwerkes. Wenn ein Gerät direkt überTCP/IP angesprochen wird, muss dieser Wert 16#FF entsprechen.

nQuantity: Anzahl der digitalen Ausgänge, die beschrieben werden sollen (Datenbits). Der Wert Null istunzulässig.

nMBAddr: Startadresse der digitalen Ausgänge, die beschrieben werden sollen (Bitoffset).

cbLength: Enthält die max. verfügbare Bytegröße des Quellpuffers, der die zu schreibenden Daten enthält.Der Puffer muss mindestens die Bytegröße: (nQuantity + 7 ) / 8 besitzen.

pSrcAddr: Enthält die Adresse des Quellpuffers, der die zu schreibenden Daten enthält. Der Puffer kanneine Einzelvariable, ein Array oder eine Struktur sein, dessen Adresse mit dem ADR - Operator ermitteltwerden kann.

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Funktionsbaustein aktiviert.

tTimeout: Gibt die Timeout-Zeit an, die bei der Ausführung des ADS-Kommandos nicht überschrittenwerden darf.

VAR_OUTPUT

VAR_OUTPUT    bBUSY         : BOOL;    bError    : BOOL;    nErrId    : UDINT;    cbRead    : UDINT;END_VAR

bBusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eineRückmeldung erfolgt.

bError: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausganggesetzt, nachdem der bBusy-Ausgang zurückgesetzt wurde.

nErrId: Liefert bei einem gesetzten bError-Ausgang die ADS-Fehlernummer [} 56].

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS-BibliothekenTwinCAT v3.0.0 PC or CX (x86) Tc2_ModbusSrv

TC3 Modbus TCP48 Version: 1.2

Page 49: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

SPS-Bibliotheken

6.2.11.8 FB_MBUdpWriteRegs (Modbus-Funktion 16)

Diese Funktion wird zum Beschreiben von 1 bis 128 Ausgangs-Registern (16 Bit) benutzt.

VAR_INPUT

VAR_INPUT    sIPAddr    : STRING(15);    nTCPPort    : UINT:= MODBUS_TCP_PORT;    nUnitID    : BYTE:=16#FF;    nQuantity     : WORD;    nMBAddr    : WORD;    cbLength    : UDINT;    pSrcAddr    : POINTER OF BYTE;    bExecute    : BOOL;    tTimeout    : TIME;END_VAR

sIPAddr: Ist ein String, der die IP-Adresse des Zielgerätes enthält.

nTCPPort: Portnummer des Zielgerätes.

nUnitID: Identifizierungsnummer eines Gerätes eines seriellen Sub-Netzwerkes. Wenn ein Gerät direkt überTCP/IP angesprochen wird, muss dieser Wert 16#FF entsprechen.

nQuantity: Anzahl der zu schreibenden Ausgangs-Register (Datenworte).

nMBAddr: Startadresse der zu schreibenden Ausgangs-Register (Wortoffset).

cbLength: Enthält die max. verfügbare Bytegröße des Quellpuffers der die zu schreibende Registerwerteenthält. Der Puffer muss mindestens die Bytegröße: nQuantity * 2 besitzen.

pSrcAddr: Enthält die Adresse des Quellpuffers, der die zu schreibenden Daten enthält. Der Puffer kanneine Einzelvariable, ein Array oder eine Struktur sein, dessen Adresse mit dem ADR - Operator ermitteltwerden kann.

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Funktionsbaustein aktiviert.

tTimeout: Gibt die Timeout-Zeit an, die bei der Ausführung des ADS-Kommandos nicht überschrittenwerden darf.

VAR_OUTPUT

VAR_OUTPUT    bBUSY         : BOOL;    bError    : BOOL;    nErrId    : UDINT;END_VAR

bBusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eineRückmeldung erfolgt.

TC3 Modbus TCP 49Version: 1.2

Page 50: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

SPS-Bibliotheken

bError: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausganggesetzt, nachdem der bBusy-Ausgang zurückgesetzt wurde.

nErrId: Liefert bei einem gesetzten bError-Ausgang die ADS-Fehlernummer [} 56].

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS-BibliothekenTwinCAT v3.0.0 PC or CX (x86) Tc2_ModbusSrv

6.2.11.9 FB_MBUdpReadWriteRegs(Modbus-Funktion 23)

Diese Funktion liest zuerst 1 bis 128 Ausgangs-Register (16 bit) und beschreibt danach 1 bis 128 Ausgangs-Register (16 Bit).

VAR_INPUT

VAR_INPUT    sIPAddr         : STRING(15);    nTCPPort        : UINT:= MODBUS_TCP_PORT;    nUnitID         : BYTE:=16#FF;    nReadQuantity     : WORD;    nMBReadAddr     : WORD;    nWriteQuantity     : WORD;    nMBWriteAddr     : WORD;    cbDestLength     : UDINT;    pDestAddr         : POINTER OF BYTE;    cbSrcLength     : UDINT;    pSrcAddr        : POINTER OF BYTE;    bExecute        : BOOL;    tTimeout        : TIME;END_VAR

sIPAddr: Ist ein String, der die IP-Adresse des Zielgerätes enthält.

nTCPPort: Portnummer des Zielgerätes.

nUnitID: Identifizierungsnummer eines Gerätes eines seriellen Sub-Netzwerkes. Wenn ein Gerät direkt überTCP/IP angesprochen wird, muss dieser Wert 16#FF entsprechen.

nReadQuantity: Anzahl der zu lesenden Ausgangs-Register (Datenworte). Der Wert Null ist nicht zulässig.

nMBReadAddr: Startadresse der zu lesenden Ausgangs-Register (Wortoffset).

nWriteQuantity: Anzahl der zu schreibenden Ausgangs-Register (Datenworte). Der Wert Null ist nichtzulässig.

TC3 Modbus TCP50 Version: 1.2

Page 51: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

SPS-Bibliotheken

nMBWriteAddr: Startadresse der zu schreibenden Ausgangs-Register (Wortoffset).

cbDestLength: Enthält die max. verfügbare Bytegröße des Zielpuffers für die zu lesenden Registerwerte.Der Puffer muss mindestens die Bytegröße: nReadQuantity * 2 besitzen.

pDestAddr: Enthält die Adresse des Zielpuffers, in den die Daten gelesen werden sollen. Der Puffer kanneine Einzelvariable, ein Array oder eine Struktur sein, dessen Adresse mit dem ADR - Operator ermitteltwerden kann.

cbSrcLength: Enthält die max. verfügbare Bytegröße des Quellpuffers der die zu schreibendeRegisterwerte enthält. Der Puffer muss mindestens die Bytegröße: nWriteQuantity* 2 besitzen.

pSrcAddr: Enthält die Adresse des Quellpuffers, der die zu schreibenden Daten enthält. Der Puffer kanneine Einzelvariable, ein Array oder eine Struktur sein, dessen Adresse mit dem ADR - Operator ermitteltwerden kann.

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Funktionsbaustein aktiviert.

tTimeout: Gibt die Timeout-Zeit an, die bei der Ausführung des ADS-Kommandos nicht überschrittenwerden darf.

VAR_OUTPUT

VAR_OUTPUT    bBUSY         : BOOL;    bError    : BOOL;    nErrId    : UDINT;    cbRead    : UDINT;END_VAR

bBusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eineRückmeldung erfolgt.

bError: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausganggesetzt, nachdem der bBusy-Ausgang zurückgesetzt wurde.

nErrId: Liefert bei einem gesetzten bError-Ausgang die ADS-Fehlernummer [} 56].

cbRead: Enthält die Anzahl der aktuell gelesenen Bytes.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS-BibliothekenTwinCAT v3.0.0 PC or CX (x86) Tc2_ModbusSrv

6.2.11.10 FB_MBUdpDiagnose (Modbus-Funktion 8)

TC3 Modbus TCP 51Version: 1.2

Page 52: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

SPS-Bibliotheken

Die Diagnose-Funktion stellt eine Reihe von Tests für die Überprüfung des Übertragungssystems zwischendem Master und dem Slave oder für die Überprüfung der verschiedenen internen Fehlerzustände innerhalbdes Slaves zur Verfügung.

VAR_INPUT

VAR_INPUT    sIPAddr    : STRING(15);    nTCPPort    : UINT:= MODBUS_TCP_PORT;    nUnitID    : BYTE:=16#FF;    nSubFnc    : WORD;    nWriteData    : WORD;    bExecute    : BOOL;    tTimeout    : TIME;END_VAR

sIPAddr: Ist ein String, der die IP-Adresse des Zielgerätes enthält.

nTCPPort: Portnummer des Zielgerätes.

nUnitID: Identifizierungsnummer eines Gerätes eines seriellen Sub-Netzwerkes. Wenn ein Gerät direkt überTCP/IP angesprochen wird, muss dieser Wert 16#FF entsprechen.

nSubFnc: Die Subfunktion, die ausgeführt werden soll.

nWriteData: Das Datenwort, das geschrieben werden soll.

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Funktionsbaustein aktiviert.

tTimeout: Gibt die Timeout-Zeit an, die bei der Ausführung des ADS-Kommandos nicht überschrittenwerden darf.

VAR_OUTPUT

VAR_OUTPUT    bBusy         : BOOL;    bError    : BOOL;    nErrId    : UDINT;    nReadData     : WORD;END_VAR

bBusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eineRückmeldung erfolgt.

bError: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausganggesetzt, nachdem der bBusy-Ausgang zurückgesetzt wurde.

nErrId: Liefert bei einem gesetzten bError-Ausgang die ADS-Fehlernummer [} 56].

nReadData: Liefert das gelesene Datenwort.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS-BibliothekenTwinCAT v3.0.0 PC or CX (x86) Tc2_ModbusSrv

6.3 Globale Konstanten

6.3.1 BibliotheksversionAlle Bibliotheken haben eine bestimmte Version. Diese Version ist u. a. im SPS-Bibliotheks-Repository zusehen. Eine globale Konstante enthält die Information über die Bibliotheksversion:

TC3 Modbus TCP52 Version: 1.2

Page 53: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

SPS-Bibliotheken

Global_Version

VAR_GLOBAL CONSTANT    stLibVersion_Tc2_ModbusSrv : ST_LibVersion;END_VAR

Um zu sehen ob die Version die Sie haben auch die Version ist die Sie brauchen, benutzen Sie die FunktionF_CmpLibVersion.

Hinweis: Alle anderen Möglichkeiten Bibliotheksversionen zu vergleichen, die Sie von TwinCAT 2 kennen,sind veraltet!

TC3 Modbus TCP 53Version: 1.2

Page 54: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

Beispiele

7 Beispiele

7.1 Beispiel: Digitaler IO Zugriff (Lauflicht)Dieses Beispiel verdeutlicht, wie Sie per Modbus auf die Echtzeitumgebung eines TwinCAT Systemszugreifen können.

Das Standard-Mapping [} 19] des ModbusServers mappt die digitalen Ausgänge (Coils) auf dasProzessabbild der physikalischen Ausgänge der SPS.PROGRAM MAINVAR    Q00 AT%QX0.0         : BOOL;    Q01 AT%QX0.1         : BOOL;    Q02 AT%QX0.2         : BOOL;    Q03 AT%QX0.3         : BOOL;    Q04 AT%QX0.4         : BOOL;    Q05 AT%QX0.5         : BOOL;    Q06 AT%QX0.6         : BOOL;    Q07 AT%QX0.7         : BOOL;

    fbWriteCoils         : FB_MBWriteCoils;    bWrite             : BOOL;    nValue             : INT;END_VAR

IF NOT bWrite THEN    nValue := nValue + 1;

    bWrite := TRUE;

    fbWriteCoils.nQuantity := 8;    fbWriteCoils.cbLength := SIZEOF(nValue);    fbWriteCoils.pSrcAddr := ADR(nValue);    fbWriteCoils.tTimeout := T#5s;    fbWriteCoils(bExecute:=TRUE);

ELSEIF NOT fbWriteCoils.bBUSY THEN        bWrite :=FALSE;    END_IF    fbWriteCoils(bExecute:=FALSE);END_IF

Nach steigender Flanke an bWrite, wird das Lauflicht in den Bereich der physikalischen Ausgänge der SPSgeschrieben (Q00-Q07).

Die Bitorder wird wie folgt gesetzt:

Bit 8 MSB 7 6 5 4 3 2 1 LSBOutput 7 6 5 4 3 2 1 0

MSB = Most significant bit (Höchstwertiges Bit)

LSB = Least significant bit (Niederwertiges Bit)

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS-BibliothekenTwinCAT v3.0.0 PC or CX (x86) Tc2_ModbusSrv

TC3 Modbus TCP54 Version: 1.2

Page 55: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

Beispiele

7.2 Beispiel: Schreiben mehrerer RegisterDieses Beispiel verdeutlicht, wie Sie per Modbus auf die Echtzeitumgebung eines TwinCAT Systemszugreifen können.

Die Modbusadresse 0x3000 zeigt bei einem Standard-Mapping [} 19] des ModbusServers auf denMerkerbereich der SPS (ADS-Indexgruppe 0x4020).

Nachdem Sie bWriteRegs aufrufen, wird das Array arrValue in den Merkerbereich und somit in die VariableM0 geschrieben.PROGRAM MAINVARipAddr     : STRING(15) := '';M0 AT%MB0 : ARRAY [0..3] OF WORD;arrValue : ARRAY [0..3] OF WORD;fbWriteRegs : FB_MBWriteRegs;bWriteRegs : BOOL;END_VAR

IF NOT bWriteRegs THENarrValue[0]:= arrValue[0]+1;arrValue[1]:= arrValue[1]+1;arrValue[2]:= arrValue[2]+1;arrValue[3]:= arrValue[3]+1;

bWriteRegs :=TRUE;

fbWriteRegs.sIPAddr :=ipAddr;fbWriteRegs.nQuantity := 4;fbWriteRegs.nMBAddr := 16#3000;fbWriteRegs.cbLength := SIZEOF(arrValue);fbWriteRegs.pSrcAddr := ADR(arrValue);fbWriteRegs.tTimeout := T#5s;fbWriteRegs(bExecute:=TRUE);

ELSEIF NOT fbWriteRegs.bBUSY THENbWriteRegs :=FALSE;END_IFfbWriteRegs(bExecute:=FALSE);END_IF

Das Array arrValue wird in den Merkerbereich der SPS (M0), nach einer steigenden Flanke an bWriteRegs,geschrieben.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS-BibliothekenTwinCAT v3.0.0 PC or CX (x86) Tc2_ModbusSrv

TC3 Modbus TCP 55Version: 1.2

Page 56: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

Anhang

8 Anhang

8.1 Übersicht

TwinCAT ADS Return-Code

Hex Dezimal Quelle0x00000000-0x00007800 0-30720 TwinCAT System Fehlercodes0x00008000-0x000080FF 32768-33023 Interne TwinCAT Modbus TCP0x80070000-0x8007FFFF 2147942400-2148007935 Fehlerquelle = Fehlercode -

0x80070000 =Win32 SystemFehlercode

TwinCAT Modbus TCP Return-Code

Funktionsspezifischer ADS Return-Code Mögliche Ursache0x8001 Nicht implementierte Modbus-Funktion0x8002 Ungültige Adresse oder Länge0x8003 Ungültige Parameter: falsche Registeranzahl0x8004 Fehler im Modbus-Server

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS-BibliothekenTwinCAT v3.0.0 PC or CX (x86) Tc2_ModbusSrv

8.2 ADS Return CodesFehlercode: 0x000 [} 56]..., 0x500 [} 57]..., 0x700 [} 57]..., 0x1000 [} 59]......

Globale Fehlercodes

TC3 Modbus TCP56 Version: 1.2

Page 57: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

Anhang

Hex Dec Beschreibung0x0 0 Kein Fehler0x1 1 Interner Fehler0x2 2 Keine Echtzeit0x3 3 Zuweisung gesperrt-Speicherfehler0x4 4 Postfach voll0x5 5 Falsches HMSG0x6 6 Ziel-Port nicht gefunden0x7 7 Zielrechner nicht gefunden0x8 8 Unbekannte Befehl-ID0x9 9 Ungültige Task-ID0xA 10 Kein IO0xB 11 Unbekannter ADS-Befehl0xC 12 Win32 Fehler0xD 13 Port nicht angeschlossen0xE 14 Ungültige ADS-Länge0xF 15 Ungültige AMS Net ID0x10 16 niedrige Installationsebene0x11 17 Kein Debugging verfügbar0x12 18 Port deaktiviert0x13 19 Port bereits verbunden0x14 20 ADS Sync Win32 Fehler0x15 21 ADS Sync Timeout0x16 22 ADS Sync AMS Fehler0x17 23 Keine Index-Map für ADS Sync vorhanden0x18 24 Ungültiger ADS-Port0x19 25 Kein Speicher0x1A 26 TCP Sendefehler0x1B 27 Host nicht erreichbar0x1C 28 Ungültiges AMS Fragment

Router Fehlercodes

Hex Dec Name Beschreibung0x500 1280 ROUTERERR_NOLOCKEDMEMORY Lockierter Speicher kann nicht zugewiesen werden.0x501 1281 ROUTERERR_RESIZEMEMORY Die Größe des Routerspeichers konnte nicht geändert

werden.0x502 1282 ROUTERERR_MAILBOXFULL Das Postfach hat die maximale Anzahl der möglichen

Meldungen erreicht. Die aktuell gesendete Nachricht wur-de abgewiesen.

0x503 1283 ROUTERERR_DEBUGBOXFULL Das Postfach hat die maximale Anzahl der möglichenMeldungen erreicht.Die gesendete Nachricht wird nicht im ADS Monitor an-gezeigt.

0x504 1284 ROUTERERR_UNKNOWNPORTTYPE Der Porttyp ist unbekannt.0x505 1285 ROUTERERR_NOTINITIALIZED Router ist nicht initialisiert.0x506 1286 ROUTERERR_PORTALREADYINUSE Die gewünschte Portnummer ist bereits vergeben.0x507 1287 ROUTERERR_NOTREGISTERED Der Port ist nicht registriert.0x508 1288 ROUTERERR_NOMOREQUEUES Die maximale Anzahl von Ports ist erreicht.0x509 1289 ROUTERERR_INVALIDPORT Der Port ist ungültig.0x50A 1290 ROUTERERR_NOTACTIVATED Der Router ist nicht aktiv.

Allgemeine ADS Fehlercodes

TC3 Modbus TCP 57Version: 1.2

Page 58: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

Anhang

Hex Dec Name Beschreibung0x700 1792 ADSERR_DEVICE_ERROR Gerätefehler0x701 1793 ADSERR_DEVICE_SRVNOTSUPP Service wird vom Server nicht unterstützt0x702 1794 ADSERR_DEVICE_INVALIDGRP Ungültige Index-Gruppe0x703 1795 ADSERR_DEVICE_INVALIDOFFSET Ungültiger Index-Offset0x704 1796 ADSERR_DEVICE_INVALIDACCESS Lesen und schreiben nicht gestattet.0x705 1797 ADSERR_DEVICE_INVALIDSIZE Parametergröße nicht korrekt0x706 1798 ADSERR_DEVICE_INVALIDDATA Ungültige Parameter-Werte0x707 1799 ADSERR_DEVICE_NOTREADY Gerät ist nicht betriebsbereit0x708 1800 ADSERR_DEVICE_BUSY Gerät ist beschäftigt0x709 1801 ADSERR_DEVICE_INVALIDCONTEXT Ungültiger Kontext (muss in Windows sein)0x70A 1802 ADSERR_DEVICE_NOMEMORY Nicht genügend Speicher0x70B 1803 ADSERR_DEVICE_INVALIDPARM Ungültige Parameter-Werte0x70C 1804 ADSERR_DEVICE_NOTFOUND Nicht gefunden (Dateien,...)0x70D 1805 ADSERR_DEVICE_SYNTAX Syntax-Fehler in Datei oder Befehl0x70E 1806 ADSERR_DEVICE_INCOMPATIBLE Objekte stimmen nicht überein0x70F 1807 ADSERR_DEVICE_EXISTS Objekt ist bereits vorhanden0x710 1808 ADSERR_DEVICE_SYMBOLNOTFOUND Symbol nicht gefunden0x711 1809 ADSERR_DEVICE_SYMBOLVERSIONINVALID Symbol-Version ungültig0x712 1810 ADSERR_DEVICE_INVALIDSTATE Gerät im ungültigen Zustand0x713 1811 ADSERR_DEVICE_TRANSMODENOTSUPP AdsTransMode nicht unterstützt0x714 1812 ADSERR_DEVICE_NOTIFYHNDINVALID Notification Handle ist ungültig0x715 1813 ADSERR_DEVICE_CLIENTUNKNOWN Notification-Client nicht registriert0x716 1814 ADSERR_DEVICE_NOMOREHDLS Keine weitere Notification Handle0x717 1815 ADSERR_DEVICE_INVALIDWATCHSIZE Größe der Notification zu groß0x718 1816 ADSERR_DEVICE_NOTINIT Gerät nicht initialisiert0x719 1817 ADSERR_DEVICE_TIMEOUT Gerät hat einen Timeout0x71A 1818 ADSERR_DEVICE_NOINTERFACE Interface Abfrage fehlgeschlagen0x71B 1819 ADSERR_DEVICE_INVALIDINTERFACE Falsches Interface angefordert0x71C 1820 ADSERR_DEVICE_INVALIDCLSID Class-ID ist ungültig0x71D 1821 ADSERR_DEVICE_INVALIDOBJID Object-ID ist ungültig0x71E 1822 ADSERR_DEVICE_PENDING Anforderung steht aus0x71F 1823 ADSERR_DEVICE_ABORTED Anforderung wird abgebrochen0x720 1824 ADSERR_DEVICE_WARNING Signal-Warnung0x721 1825 ADSERR_DEVICE_INVALIDARRAYIDX Ungültiger Array-Index0x722 1826 ADSERR_DEVICE_SYMBOLNOTACTIVE Symbol nicht aktiv0x723 1827 ADSERR_DEVICE_ACCESSDENIED Zugriff verweigert0x724 1828 ADSERR_DEVICE_LICENSENOTFOUND Fehlende Lizenz0x725 1829 ADSERR_DEVICE_LICENSEEXPIRED Lizenz abgelaufen0x726 1830 ADSERR_DEVICE_LICENSEEXCEEDED Lizenz überschritten0x727 1831 ADSERR_DEVICE_LICENSEINVALID Lizenz ungültig0x728 1832 ADSERR_DEVICE_LICENSESYSTEMID Lizenz der System-ID ungültig0x729 1833 ADSERR_DEVICE_LICENSENOTIMELIMIT Lizenz nicht zeitlich begrenzt0x72A 1834 ADSERR_DEVICE_LICENSEFUTUREISSUE Lizenzproblem: Zeitpunkt in der Zukunft0x72B 1835 ADSERR_DEVICE_LICENSETIMETOLONG Lizenz-Zeitraum zu lang0x72c 1836 ADSERR_DEVICE_EXCEPTION Exception beim Systemstart0x72D 1837 ADSERR_DEVICE_LICENSEDUPLICATED Lizenz-Datei zweimal gelesen0x72E 1838 ADSERR_DEVICE_SIGNATUREINVALID Ungültige Signatur0x72F 1839 ADSERR_DEVICE_CERTIFICATEINVALID öffentliches Zertifikat0x740 1856 ADSERR_CLIENT_ERROR Clientfehler0x741 1857 ADSERR_CLIENT_INVALIDPARM Dienst enthält einen ungültigen Parameter0x742 1858 ADSERR_CLIENT_LISTEMPTY Polling-Liste ist leer0x743 1859 ADSERR_CLIENT_VARUSED Var-Verbindung bereits im Einsatz0x744 1860 ADSERR_CLIENT_DUPLINVOKEID Die aufgerufene ID ist bereits in Benutzung0x745 1861 ADSERR_CLIENT_SYNCTIMEOUT Timeout ist aufgetreten0x746 1862 ADSERR_CLIENT_W32ERROR Fehler im Win32 Subsystem0x747 1863 ADSERR_CLIENT_TIMEOUTINVALID Ungültiger Client Timeout-Wert0x748 1864 ADSERR_CLIENT_PORTNOTOPEN ADS-Port nicht geöffnet0x750 1872 ADSERR_CLIENT_NOAMSADDR Interner Fehler in Ads-Sync

TC3 Modbus TCP58 Version: 1.2

Page 59: Handbuch TC3 Modbus TCP - download.beckhoff.com · Übersicht2Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren.

Anhang

Hex Dec Name Beschreibung0x751 1873 ADSERR_CLIENT_SYNCINTERNAL Hash-Tabelle-Überlauf0x752 1874 ADSERR_CLIENT_ADDHASH Schlüssel nicht gefunden im Hash0x753 1875 ADSERR_CLIENT_REMOVEHASH Keine weitere Symbole im Cache0x754 1876 ADSERR_CLIENT_NOMORESYM Ungültige Antwort empfangen0x755 1877 ADSERR_CLIENT_SYNCRESINVALID Sync Port ist gesperrt

RTime Fehlercodes

Hex Dec Name Beschreibung0x1000 4096 RTERR_INTERNAL Interner Fehler im TwinCAT Echtzeit-System.0x1001 4097 RTERR_BADTIMERPERIODS Timer-Wert ist nicht gültig.0x1002 4098 RTERR_INVALIDTASKPTR Task-Pointer hat den ungültigen Wert 0 (null).0x1003 4099 RTERR_INVALIDSTACKPTR Task Stackpointer hat den ungültigen Wert 0.0x1004 4100 RTERR_PRIOEXISTS Die Request Task Priority ist bereits vergeben.0x1005 4101 RTERR_NOMORETCB Kein freies TCB (Task Control Block) zur Verfügung. Ma-

ximale Anzahl von TCBs beträgt 64.0x1006 4102 RTERR_NOMORESEMAS Keine freien Semaphoren zur Verfügung. Maximale An-

zahl der Semaphoren beträgt 64.0x1007 4103 RTERR_NOMOREQUEUES Kein freier Platz in der Warteschlange zur Verfügung.

Maximale Anzahl der Plätze in der Warteschlange be-trägt 64.

0x100D 4109 RTERR_EXTIRQALREADYDEF Ein externer Synchronisations-Interrupt wird bereits an-gewandt.

0x100E 4110 RTERR_EXTIRQNOTDEF Kein externer Synchronisations-Interrupt angewandt.0x100F 4111 RTERR_EXTIRQINSTALLFAILED Anwendung des externen Synchronisierungs- Interrupts

ist fehlgeschlagen0x1010 4112 RTERR_IRQLNOTLESSOREQUAL Aufruf einer Service-Funktion im falschen Kontext0x1017 4119 RTERR_VMXNOTSUPPORTED Intel VT-x Erweiterung wird nicht unterstützt.0x1018 4120 RTERR_VMXDISABLED Intel VT-x Erweiterung ist nicht aktiviert im BIOS.0x1019 4121 RTERR_VMXCONTROLSMISSING Fehlende Funktion in Intel VT-x Erweiterung.0x101A 4122 RTERR_VMXENABLEFAILS Aktivieren von Intel VT-x schlägt fehl.

TCP Winsock-Fehlercodes

Hex Dec Name Beschreibung0x274c 10060 WSAETIMEDOUT Verbindungs Timeout aufgetreten.

Fehler beim Herstellen der Verbindung, da die Gegenstelle nach einer be-stimmten Zeitspanne nicht ordnungsgemäß reagiert hat, oder die hergestellteVerbindung konnte nicht aufrecht erhalten werden, da der verbundene Hostnicht reagiert hat.

0x274d 10061 WSAECONNREFUSED Verbindung abgelehnt.

Es konnte keine Verbindung hergestellt werden, da der Zielcomputer dies ex-plizit abgelehnt hat. Dieser Fehler resultiert normalerweise aus dem Versuch,eine Verbindung mit einem Dienst herzustellen, der auf dem fremden Host in-aktiv ist—das heißt, einem Dienst, für den keine Serveranwendung ausgeführtwird.

0x2751 10065 WSAEHOSTUNREACH Keine Route zum Host

Ein Socketvorgang bezog sich auf einen nicht verfügbaren Host.Weitere Winsock-Fehlercodes: Win32-Fehlercodes

TC3 Modbus TCP 59Version: 1.2