Handbuch. TC3 Modbus TCP. TwinCAT 3. Version: Datum: Bestell-Nr.: 1.1 11.08.2015 TF6250



Ähnliche Dokumente
Dokumentation C9900-L100. License-Key-USB-Stick für TwinCAT 3.1. Version: Datum:

Hinweise zur Dokumentation. Übersicht. Übersicht. file://e:\documents and Settings\ttorresd\Local Settings\Temp\~hhB0A7.htm. Disclaimer.

Dokumentation C9900-L100. License-Key-USB-Stick für TwinCAT 3.1. Version: Datum:

Handbuch. Remote Access. TwinCAT 3. Version: Datum:

Handbuch. TC3 PLC HMI Web. TwinCAT 3. Version: Datum: Bestell-Nr.: TF1810

Handbuch. PLC Lib: Tc2_Math. TwinCAT 3. Version: Datum:

Handbuch. TC3 Wind Framework. TwinCAT 3. Version: Datum: Bestell-Nr.: TF8310

Handbuch. TC3 Virtual Serial COM. TwinCAT 3. Version Datum Bestell-Nr TF 6360

Windows 98 / Windows NT mit NCP WAN Miniport-Treiber 23. Oktober 1998

In der untenstehenden Tabelle finden Sie eine Beschreibung der Symbole, die in dieser Support Note verwendet werden.

Protokollbeschreibung Modbus TCP für EMU TCP/IP Modul

MODBUS/TCP und Beckhoff Steuerelemente

Synchronisations- Assistent

DIGSI 4 DIGSI 4.60 SP1. Produktinformation E50417-X1174-C107-B3. Stand 12/04. Copyright Siemens AG 2004 Änderungen vorbehalten

Handbuch. timecard Connector Version: REINER SCT Kartengeräte GmbH & Co. KG Goethestr Furtwangen

BANKETTprofi Telefonschnittstelle

Dokumentation QuickHMI Runtime Manager

Arbeiten mit Workflows Installationsleitfaden Zur Installation des d3 Workflows

ADDISON Aktenlösung Automatischer Rewe-Import. Technische Beschreibung

Ihr Benutzerhandbuch AVIRA ANTIVIR EXCHANGE

Prodanet ProductManager WinEdition

Inhaltverzeichnis 1 Einführung Zugang zu den Unifr Servern Zugang zu den Druckern Nützliche Links... 6

Dokumentation C9900-L100. License-Key-USB-Stick für TwinCAT 3.1. Version: Datum:

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Updateseite_BuV-PlugIn-NERZ-Gesamt

Historical Viewer. zu ETC5000 Benutzerhandbuch 312/15

Sage Treuhandaustausch onesage Version 2.2

Copyright MB Connect Line GmbH 2014

VMWARE HORIZON VIEW DOKUMENTATION V3.5.2 INHALTSVERZEICHNIS

teamsync Kurzanleitung

WIBU CodeMeter Licensing Key mit Ashlar-Vellum Software verwenden

TR75E002-A FA / Bedienungsanleitung Industrie-Handsender-Verwaltung IHV DEUTSCH

Dokumentation IBIS Monitor

Service & Support. Wie kann ein WinCC (TIA Portal) Projekt über Ethernet auf ein Bediengerät übertragen werden? WinCC (TIA Portal) FAQ Februar 2012

Import des persönlichen Zertifikats in Outlook Express

Anleitung zur Updateinstallation von ElsaWin 5.20

Installation OMNIKEY 3121 USB

2. Installation unter Windows 10 mit Internetexplorer 11.0

Sie können diesen Service verwenden, um fast beliebig große Dateien auch über 2 GB zu versenden.

Nutzung von GiS BasePac 8 im Netzwerk

Kommunikations-Management

Installationsanleitung Sander und Doll Mobilaufmaß. Stand

Programmierbare Systeme System HIMatrix. CSV Import/Export von Protokolldaten. Handbuch

Installation LehrerConsole (für Version 6.2)

System-Update Addendum

MC-Hx 006. Einbindung des MC-Hx Modul als MODBus TCP Slave. MB DataTec GmbH. Stand:

Installationsanleitung dateiagent Pro

Einrichten der TSM-Backup-Software unter dem Betriebssystem Windows

Installation und Inbetriebnahme von SolidWorks

Anleitung. Einrichtung vom HotSync Manager für den Palm 1550 bis 1800 unter Windows 7. Palm SPT 1500 / 1550 Palm SPT 1700 / Bits & Bytes Seite 1

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

SILworX Installation und Lizenzierung

Lizenzen auschecken. Was ist zu tun?

Kurzanleitung Wireless Studenten (Windows 8) BGS - Bildungszentrum Gesundheit und Soziales Gürtelstrasse 42/ Chur

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Print2CAD 2017, 8th Generation. Netzwerkversionen

Angaben zu einem Kontakt...1 So können Sie einen Kontakt erfassen...4 Was Sie mit einem Kontakt tun können...7

Anleitung für die Formularbearbeitung

MULTIWEB Banking. Installation und Update unter Windows

Norman Security Portal - Quickstart Guide

Redundante ETHERNET-Kommunikation mit WAGO- Medienredundanz-ETHERNET- Feldbuscontroller

Bitte unbedingt lesen! Update-Dokumentation

Übung - Konfigurieren einer Windows 7-Firewall

Startseite von Prinect Remote Access

IBM SPSS Statistics Version 24. Windows-Installationsanweisungen (Lizenz für einen berechtigten Benutzer) IBM

WLAN mit WPA (wpa4fh)

ANLEITUNG NETZEWERK INSTALATION

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook ( ) Zentrum für Datenverarbeitung der Universität Tübingen

Installationsanleitung

Installationsanleitung GAEB-Konverter 9

NODELOCKED LIZENZ generieren (ab ST4)

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

Medea3 Print-Client (m3_print)

UpToNet Installationsanleitung Einzelplatz und Netzwerk

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

KNX BAOS Gadget. Installations- und Bedienanleitung. WEINZIERL ENGINEERING GmbH. DE Burgkirchen Web:

- Tau-Office UNA - Setup Einzelplatzinstallation. * Der griechische Buchstabe T (sprich Tau ) steht für Perfektion. Idee und Copyright: rocom GmbH

Matrix42. Matrix42 Cloud Trial Erste Schritte. Version

Anleitung hr Remote Access

Installationsanleitung WSCAD Elektrohandwerk

Clientkonfiguration für Hosted Exchange 2010

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Copyright Nokia Mobile Phones Alle Rechte vorbehalten. Issue 4 KURZANLEITUNG ZU NOKIA PC SUITE für Nokia 6210

AutoCAD Dienstprogramm zur Lizenzübertragung

Installationsanleitung DIALOGMANAGER

Windows Server 2012 RC2 konfigurieren

Installation des COM Port Redirectors

Herstellen eines externen Netzwerkzuganges (VPN Zuganges)

Dokumentation zur Versendung der Statistik Daten

PC-Kaufmann Supportinformation - Proxy Konfiguration für Elster

A. Ersetzung einer veralteten Govello-ID ( Absenderadresse )

Anleitung. Lesezugriff auf die App CHARLY Termine unter Android Stand:

Benutzung der LS-Miniscanner

HTBVIEWER INBETRIEBNAHME

QTrade GmbH Landshuter Allee München Seite 1

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

CMS.R. Bedienungsanleitung. Modul Cron. Copyright CMS.R Revision 1

Konfiguration IKMZ / Universitätsrechenzentrum des Cisco VPN-Clients v3.6 Netze und Datenkommunikation

Bibliotheksbeschreibung. KNX_IP_750_889_02.lib. CODESYS-V2.3-Baustein für den KNX IP Anwendungscontroller

ASDI Benchmarking Projekt. Anleitung zum Datenexport

Transkript:

Handbuch TwinCAT 3 Version: Datum: Bestell-Nr.: 1.1 11.08.2015 TF6250

Inhaltsverzeichnis Inhaltsverzeichnis 1 Vorwort... 4 1.1 Hinweise zur Dokumentation... 4 1.2 Sicherheitshinweise... 5 2 Übersicht... 6 3 Installation... 7 3.1 Systemvoraussetzungen... 7 3.2 Installation... 7 3.3 Lizensierung... 10 4 Konfiguration... 15 4.1 Übersicht... 15 4.2 TwinCAT 3 Modbus TCP Konfigurator... 15 4.3 Default-Konfiguration... 17 5 Diagnose... 18 5.1 Modbus ADS Diagnose Interface... 18 6 SPS-Bibliotheken... 19 6.1 Übersicht... 19 6.2 Funktionsbausteine... 19 6.2.1 FB_MBReadCoils (Modbus-Funktion 1)... 19 6.2.2 FB_MBReadInputs (Modbus-Funktion 2)... 21 6.2.3 FB_MBReadRegs (Modbus-Funktion 3)... 23 6.2.4 FB_MBReadInputRegs (Modbus-Funktion 4)... 25 6.2.5 FB_MBWriteSingleCoil (Modbus-Funktion 5)... 27 6.2.6 FB_MBWriteSingleReg (Modbus-Funktion 6)... 29 6.2.7 FB_MBWriteCoils (Modbus-Funktion 15)... 30 6.2.8 FB_MBWriteRegs (Modbus-Funktion 16)... 32 6.2.9 FB_MBReadWriteRegs (Modbus-Funktion 23)... 34 6.2.10 FB_MBDiagnose (Modbus-Funktion 8)... 36 6.2.11 UDP... 38 6.3 Globale Konstanten... 50 6.3.1 Bibliotheksversion... 50 7 Beispiele... 52 7.1 Beispiel: Digitaler IO Zugriff (Lauflicht)... 52 7.2 Beispiel: Schreiben mehrerer Register... 53 8 Anhang... 54 8.1 Übersicht... 54 8.2 ADS Return Codes... 54 Version: 1.1 3

Vorwort 1 Vorwort 1.1 Hinweise zur Dokumentation Diese Beschreibung wendet sich ausschließlich an ausgebildetes Fachpersonal der Steuerungs- und Automatisierungstechnik, das mit den geltenden nationalen Normen vertraut ist. Zur Installation und Inbetriebnahme der Komponenten ist die Beachtung der nachfolgenden Hinweise und Erklärungen unbedingt notwendig. Das Fachpersonal hat sicherzustellen, dass die Anwendung bzw. der Einsatz der beschriebenen Produkte alle Sicherheitsanforderungen, einschließlich sämtlicher anwendbaren Gesetze, Vorschriften, Bestimmungen und Normen erfüllt. Disclaimer Diese Dokumentation wurde sorgfältig erstellt. Die beschriebenen Produkte werden jedoch ständig weiter entwickelt. Deshalb ist die Dokumentation nicht in jedem Fall vollständig auf die Übereinstimmung mit den beschriebenen Leistungsdaten, Normen oder sonstigen Merkmalen geprüft. Falls sie technische oder redaktionelle Fehler enthält, behalten wir uns das Recht vor, Änderungen jederzeit und 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. Marken Beckhoff, TwinCAT, EtherCAT, Safety over EtherCAT, TwinSAFE, XFC und XTS sind eingetragene und lizenzierte Marken der Beckhoff Automation GmbH. Die Verwendung anderer in dieser Dokumentation enthaltenen Marken oder Kennzeichen durch Dritte kann zu einer Verletzung von Rechten der Inhaber der entsprechenden Bezeichnungen führen. Patente Die EtherCAT Technologie ist patentrechtlich geschützt, insbesondere durch folgende Anmeldungen und Patente: EP1590927, EP1789857, DE102004044764, DE102007017835 mit den entsprechenden Anmeldungen und Eintragungen in verschiedenen anderen Ländern. Die TwinCAT Technologie ist patentrechtlich geschützt, insbesondere durch folgende Anmeldungen und Patente: EP0851348, US6167425 mit den entsprechenden Anmeldungen und Eintragungen in verschiedenen anderen Ländern. EtherCAT ist eine eingetragene Marke und patentierte Technologie lizensiert durch die Beckhoff Automation GmbH, Deutschland Copyright Beckhoff Automation GmbH & Co. KG, Deutschland. Weitergabe sowie Vervielfältigung dieses Dokuments, Verwertung und Mitteilung seines Inhalts sind verboten, soweit nicht ausdrücklich gestattet. Zuwiderhandlungen verpflichten zu Schadenersatz. Alle Rechte für den Fall der Patent-, Gebrauchsmusteroder Geschmacksmustereintragung vorbehalten. 4 Version: 1.1

Vorwort 1.2 Sicherheitshinweise Sicherheitsbestimmungen Beachten Sie die folgenden Sicherheitshinweise und Erklärungen! Produktspezifische Sicherheitshinweise finden Sie auf den folgenden Seiten oder in den Bereichen Montage, Verdrahtung, Inbetriebnahme usw. Haftungsausschluss Die gesamten Komponenten werden je nach Anwendungsbestimmungen in bestimmten Hard- und SoftwareKonfigurationen ausgeliefert. Änderungen der Hard- oder Software-Konfiguration, die über die dokumentierten Möglichkeiten hinausgehen, sind unzulässig und bewirken den Haftungsausschluss der Beckhoff Automation GmbH & Co. KG. Qualifikation des Personals Diese Beschreibung wendet sich ausschließlich an ausgebildetes Fachpersonal der Steuerungs-, Automatisierungs- und Antriebstechnik, das mit den geltenden Normen vertraut ist. Erklärung der Symbole In der vorliegenden Dokumentation werden die folgenden Symbole mit einem nebenstehenden Sicherheitshinweis oder Hinweistext verwendet. Die Sicherheitshinweise sind aufmerksam zu lesen und unbedingt zu befolgen! Akute Verletzungsgefahr! Wenn der Sicherheitshinweis neben diesem Symbol nicht beachtet wird, besteht unmittelbare Gefahr für Leben und Gesundheit von Personen! GEFAHR Verletzungsgefahr! Wenn der Sicherheitshinweis neben diesem Symbol nicht beachtet wird, besteht Gefahr für Leben und Gesundheit von Personen! WARNUNG Schädigung von Personen! Wenn der Sicherheitshinweis neben diesem Symbol nicht beachtet wird, können Personen geschädigt werden! VORSICHT Schädigung von Umwelt oder Geräten Wenn der Hinweis neben diesem Symbol nicht beachtet wird, können Umwelt oder Geräte geschädigt werden. Achtung Tipp oder Fingerzeig Dieses Symbol kennzeichnet Informationen, die zum besseren Verständnis beitragen. Hinweis Version: 1.1 5

Übersicht 2 Übersicht Das Supplement ermöglicht über eine Netzwerkverbindung (TCP/IP) über das offene Protokoll Modbus zu kommunizieren. Modbus ist ein offener Industriestandard der von der unabhängigen Modbus Organization gepflegt und verwaltet wird. Das Protokoll basiert auf einer Client/Server-Architektur. Das Supplement bietet die Möglichkeiten als Modbus Client oder Server zu dienen: Server-Funktionalität: [} 15] (1) Der TwinCAT Modbus TCP Server ermöglicht über das Netzwerk auf den vollständigen Speicherbereich der TwinCAT SPS zuzugreifen. Client-Funktionalität: [} 19] (2) Die mitgelieferte SPS-Bibliothek ermöglicht es, mit weiteren Modbus-Teilnehmern zu kommunizieren, um Informationen auszutauschen (z.b. Messwerte, Zustände) und zu steuern. 6 Version: 1.1

Installation 3 Installation 3.1 Systemvoraussetzungen Technische Daten Zielsystem Min. TwinCAT-Version 3.0.0 Min. TwinCAT-Level TF6250 TwinCAT 3 Modbus TCP Server Windows NT/2000/XP/Vista/7 PC (x86-kompatibel) TC1200 TC3 PLC Entwicklungsumgebung Zielplattform Einzubindende SPS-Bibliotheken TwinCAT v3.0.0 PC or CX (x86, ARM) Tc2_ModbusSrv 3.2 Installation Die 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 Sie die 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 Version: 1.1 7

Installation 3. Geben Sie Ihre Benutzerdaten ein. 4. Für eine vollständige Installation wählen Sie Complete" als Installationstyp. Alternativ können Sie jede Komponente separat installieren, indem Sie "Custom" wählen. 8 Version: 1.1

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 Version: 1.1 9

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 [} 10]. 3.3 Lizensierung Die TwinCAT 3 Function ist zusätzlich zur Vollversion auch in einer 7-Tage Testversion freischaltbar. Beide Lizenztypen sind über TwinCAT XAE aktivierbar. Weitere Information zum TwinCAT 3 Lizensierungsverfahren finden Sie im TwinCAT 3 Hilfesystem. Das folgende Dokument beschreibt den Lizensierungsvorgang einer TwinCAT 3 Function und gliedert sich dabei in die folgenden beiden Unterkapitel: Lizensierung einer 7-Tage Testversion [} 10] Lizensierung einer Vollversion [} 11] Lizensierung einer 7-Tage Testversion 1. Starten Sie TwinCAT XAE 2. Öffnen Sie ein bestehendes TwinCAT 3 Projekt, oder legen Sie ein neues Projekt an 3. Navigieren Sie im Solution Explorer zum Eintrag System\License 10 Version: 1.1

Installation 4. Öffnen Sie die Registerkarte Manage Licenses" und fügen Sie eine Runtime License" für Ihr Produkt 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 mit diesem Gerät über die TwinCAT XAE Toolbar verbinden 6. Aktivieren Sie in der Registerkarte Order Information" über den Button Activate 7 Days Trial License..." eine Testversion 7. Starten Sie im Anschluss daran das TwinCAT 3 System einmal neu Lizensierung einer Vollversion 8. Starten Sie TwinCAT XAE 9. Öffnen Sie ein bestehendes TwinCAT 3 Projekt oder legen Sie ein neues Projekt an Version: 1.1 11

Installation 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 Ihr Produkt hinzu (in diesem Screenshot " TE1300: TC3 Scope View Professional "). 12. Optional: Möchten Sie die Lizenz für ein Remote Gerät hinzufügen, müssen Sie sich zunächst mit diesem 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 zu lizensierende 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 12 Version: 1.1

Installation 15. Generieren Sie in der Registerkarte Order Information" über den Button Generate License Request 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 Ansprechpartner aus dem Beckhoff Vertrieb). 16. Nachdem Sie das License Request File gespeichert haben, fragt das System, ob die Datei per Mail an den 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 neue E-Mail für tclicense@beckhoff.com", die das License Request File" enthält 18. Senden Sie diesen Activation Request an Beckhoff HINWEIS! das License Response File wird an die dieselbe E-Mail Adresse versendet, die das License Request File verschickt hat 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 Version: 1.1 13

Installation 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ämtliche betroffenen Demo-Lizenzen werden entfernt 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. 14 Version: 1.1

Konfiguration 4 Konfiguration 4.1 Übersicht Der TwinCAT Modbus TCP Server kann Modbus-Funktionen über TCP/IP empfangen. Modbus-Bereiche Nach der Modbus Spezifikation sind die folgenden vier Modbus-Bereiche definiert: Modbus-Bereiche Datentyp Zugriff Anwendungsbeispiel digitale Eingänge (Discrete Inputs) 1 Bit nur Lesen digitale Ausgänge (Coils) 1 Bit Lesen und Schreiben Eingangs-Register 16 Bit nur Lesen Ausgangs-Register 16 Bit Lesen und Schreiben 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 [} 17] finden. Das Anpassen der Einstellung ermöglicht der Konfigurator [} 15]. ADS-Zugriff Damit auf die spezifizierten Modbus-Bereiche per ADS zugegriffen werden kann, fügen Sie bitte folgende Globalen Variablen zu Ihrem SPS-Projekt hinzu. VAR_GLOBAL GVL.mb_Input_Coils GVL.mb_Output_Coils GVL.mb_Input_Registers GVL.mb_Output_Registers Voraussetzungen : ARRAY [0..255] OF BOOL; : ARRAY [0..255] OF BOOL; : ARRAY [0..255] OF WORD; : ARRAY [0..255] OF WORD; Entwicklungsumgebung Zielplattform Einzubindende SPS-Bibliotheken TwinCAT v3.0.0 PC or CX (x86) Tc2_ModbusSrv 4.2 TwinCAT 3 Modbus TCP Konfigurator Der 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. Version: 1.1 15

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 [} 17]). HINWEIS! Zum Auslesen und Setzen der Konfiguration muss TwinCAT gestoppt werden, was vom Konfigurator übernommen wird. Auslesen der Konfiguration Die Konfiguration ist XML-basierend und kann mit einem Texteditor gelesen und modifiziert werden. Mit Ausführen von "Export Configuration" kann die aktuelle Konfiguration als XML-Datei lokal gespeichert werden. HINWEIS! Am einfachsten ist es, eine zuvor exportierte Konfiguration zu editieren und dann wieder zu importieren. Einlesen der Mapping-Information Mit "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 CE Die 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. 16 Version: 1.1

Konfiguration 4.3 Default-Konfiguration Das Standard-Mapping des Servers wird in der folgenden Tabelle dargestellt: Modbus-Bereiche Modbus-Adress Ads-Bereich digitale Eingänge (Inputs) 0x0000-0x7FFF Indexgruppe Indexoffset 0x8000-0x80FF 0xF031 - Prozessabbild der physikalischen Eingänge (Bit-Zugriff) Name der Variablen im SPS-Programm GVL.mb_Input_Coils 0xFA000 Datentyp ARRAY [0..255] OF BOOL digitale Ausgänge (Coils) 0x0000-0x7FFF Indexgruppe Indexoffset Eingangs-Register ( Input Registers) Ausgangs-Register (Registers) 0x8000-0x80FF 0xF031 - Prozessabbild der physikalischen Ausgänge (Bit-Zugriff) Name der VariaQblen im SPS-Programm GVL.mb_Output_Coils 0x1F4000 Datentyp ARRAY [0..255] OF BOOL 0x0000-0x7FFF Indexgruppe Indexoffset 0x8000-0x80FF 0xF030 - Prozessabbild der physikalischen Eingänge Name der Variablen im SPS-Programm GVL.mb_Input_Registers 0xFAFA0 Datentyp ARRAY [0..255] OF WORD 0x0000-0x2FFF Indexgruppe Indexoffset 0x3000-0x5FFF 0x6000-0x7FFF 0x8000-0x80FF 0xF030 - Prozessabbild der physikalischen Ausgänge 0x4020 - SPS-Memory- Bereich 0x4040 - SPS-Daten- Bereich Name der Variablen im SPS-Programm GVL.mb_Output_Register s 0x3E800 0x0 0x0 Datentyp ARRAY [0..255] OF WORD Der Server mappt diese auf die einzelnen Ads-Bereiche und ermöglicht den Zugriff auf das physikalische Prozessabbild und die SPS-Merker Bereiche. Das Anpassen der Einstellung ermöglicht der Konfigurator [} 15]. Version: 1.1 17

Diagnose 5 Diagnose 5.1 Modbus ADS Diagnose Interface Modbus ADS Diagnose Interface Per ADS können folgende Information abgefragt werden: Index Group Index Offset 0x2000 0 ADS Read 0x2000 1 ADS Read 0x2000 2 ADS Read Zugriff Datenty p UINT32 UINT32 UINT32 Beschreibung GetConnectedClientCount Rückgabe der Anzahl von verbundenen Modbus Clients GetModbusRequestCount Rückgabe der empfangenen Modbus Anfragen GetModbusResponseCount Rückgabe der gesendeten Modbus Antworten Minimale Modbus Server Version 1.0.50 1.0.50 1.0.50 18 Version: 1.1

6 SPS-Bibliotheken 6.1 Übersicht Die im Modbus-Protokoll definierten Funktionen sind als SPS-Bausteine in der Bibliothek TcModbusSrv.lib realisiert. Modbus TCP Funktion Funktions-Code SPS-Baustein Read Coils 1 FB_MBReadCoils [} 19] Read Inputs 2 FB_MBReadInputs [} 21] Read Registers 3 FB_MBReadRegs [} 23] Read Input Registers 4 FB_MBReadInputRegs [} 25] Write Single Coil 5 FB_MBWriteSingleCoil [} 27] Write Single Register 6 FB_MBWriteSingleReg [} 29] Write Multiple Coils 15 FB_MBWriteCoils [} 30] Write Multiple Registers 16 FB_MBWriteRegs [} 32] Read/Write Multiple Registers 23 FB_MBReadWriteRegs [} 34] Diagnose 8 FB_MBDiagnose [} 36] Voraussetzungen Entwicklungsumgebung Zielplattform Einzubindende SPS-Bibliotheken TwinCAT 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 Ausgang entspricht einem Bit der gelesenen Datenbytes. sipaddr ntcpport nunitid : STRING(15); : UINT:= MODBUS_TCP_PORT; : BYTE:=16#FF; Version: 1.1 19

nquantity nmbaddr cblength pdestaddr bexecute ttimeout : POINTER OF BYTE; : TIME; 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 über TCP/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 kann eine Einzelvariable, ein Array oder eine Struktur sein, dessen Adresse mit dem ADR - Operator ermittelt werden 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 überschritten werden darf. bbusy berror nerrid cbread bbusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt. berror: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausgang gesetzt, nachdem der bbusy-ausgang zurückgesetzt wurde. nerrid: Liefert bei einem gesetzten berror-ausgang die ADS-Fehlernummer [} 54]. cbread: Enthält die Anzahl der aktuell gelesenen Bytes. Beispiel für den Aufruf des Bausteins in FBD PROGRAM Test VAR fbreadcoils : FB_MBReadCoils; breadcoils breadcoilsbusy breadcoilserror nreadcoilserrorid nreadcoilscount nquantity : WORD := 10; nmbaddr : WORD := 5; arrdata : ARRAY [1..2] OF BYTE; 20 Version: 1.1

Nach steigender Flanke von "bexecute" und erfolgreicher Ausführung des ReadCoils-Befehls, wird der Inhalt der digitalen Ausgänge 6-15 in das Array arrdata geschrieben: Digitale Ausgänge Array-Offset Status 6-13 1 0x54 Status des Ausgangs 13 ist das MSB dieses Bytes (ganz links) Status des Ausgangs 6 ist das LSB dieses Bytes (ganz rechts) 14-15 2 0x02 da nur 10 Ausgänge gelesen werden sollen, werden die restlichen Bits (3-8) auf 0 gesetzt. Voraussetzungen Entwicklungsumgebung Zielplattform Einzubindende SPS-Bibliotheken TwinCAT 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 entspricht einem Bit der gelesenen Datenbytes. sipaddr : STRING(15); Version: 1.1 21

ntcpport nunitid nquantity nmbaddr cblength pdestaddr bexecute ttimeout : UINT:= MODBUS_TCP_PORT; : BYTE:=16#FF; : POINTER OF BYTE; : TIME; 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 über TCP/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 Puffer muss mindestens die Bytegröße: (nquantity + 7) / 8 besitzen. pdestaddr: Enthält die Adresse des Zielpuffers, in den die Daten gelesen werden sollen. Der Puffer kann eine Einzelvariable, ein Array oder eine Struktur sein, dessen Adresse mit dem ADR - Operator ermittelt werden 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 überschritten werden darf. bbusy berror nerrid cbread bbusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt. berror: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausgang gesetzt, nachdem der bbusy-ausgang zurückgesetzt wurde. nerrid: Liefert bei einem gesetzten berror-ausgang die ADS-Fehlernummer [} 54]. cbread: Enthält die Anzahl der aktuell gelesenen Bytes. Beispiel für den Aufruf des Bausteins in FBD PROGRAM Test VAR fbreadinputs : FB_MBReadInputs; breadinputs breadinputsbusy breadinputserror nreadinputserrorid nreadinputscount nquantity : WORD := 20; nmbaddr : WORD := 29; arrdata : ARRAY [1..3] OF BYTE; 22 Version: 1.1

Nach steigender Flanke von "bexecute" und erfolgreicher Ausführung des ReadInputs-Befehls, wird der Inhalt der digitalen Eingänge 30-49 in das Array arrdata geschrieben: Digitale Ausgänge Array-Offset Status 29-36 1 0x34 Status des Eingangs 36 ist das MSB dieses Bytes (ganz links) Status des Eingangs 29 ist das LSB dieses Bytes (ganz rechts) 37-44 2 0x56 Status des Eingangs 44 ist das MSB dieses Bytes (ganz links) Status des Eingangs 37 ist das LSB dieses Bytes (ganz rechts) 45-49 3 0x07 da nur 20 Eingänge gelesen werden sollen, werden die restlichen Bits (5-8) auf 0 gesetzt. Voraussetzungen Entwicklungsumgebung Zielplattform Einzubindende SPS-Bibliotheken TwinCAT 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ält die unteren acht Bits und das zweite Byte die oberen acht Bits. sipaddr ntcpport : STRING(15); : UINT:= MODBUS_TCP_PORT; Version: 1.1 23

nunitid nquantity nmbaddr cblength pdestaddr bexecute ttimeout : BYTE:=16#FF; : POINTER OF BYTE; : TIME; 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 über TCP/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. Der Puffer muss mindestens die Bytegröße: nquantity * 2 besitzen. pdestaddr: Enthält die Adresse des Zielpuffers, in den die Daten gelesen werden sollen. Der Puffer kann eine Einzelvariable, ein Array oder eine Struktur sein, dessen Adresse mit dem ADR - Operator ermittelt werden 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 überschritten werden darf. bbusy berror nerrid cbread bbusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt. berror: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausgang gesetzt, nachdem der bbusy-ausgang zurückgesetzt wurde. nerrid: Liefert bei einem gesetzten berror-ausgang die ADS-Fehlernummer [} 54]. cbread: Enthält die Anzahl der aktuell gelesenen Bytes. Beispiel für den Aufruf des Bausteins in FBD PROGRAM Test VAR fbreadregs breadregs breadregsbusy breadregserror nreadregserrorid nreadregscount nquantity nmbaddr arrdata : FB_MBReadRegs; : WORD:=2; : WORD:=24; : ARRAY [1..2] OF WORD; 24 Version: 1.1

Nach steigender Flanke von "bexecute" und erfolgreicher Ausführung des ReadRegs-Befehls, befinden sich der Inhalt der Register 25 und 26 in dem Array arrdata: Register Array-Offset Status 25 1 0x1234 ( als Byte 0x34 0x12) 26 2 0x5563 ( als Byte 0x63 0x55) Voraussetzungen Entwicklungsumgebung Zielplattform Einzubindende SPS-Bibliotheken TwinCAT 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. sipaddr ntcpport nunitid nquantity nmbaddr cblength pdestaddr bexecute : STRING(15); : UINT:= MODBUS_TCP_PORT; : BYTE:=16#FF; : POINTER OF BYTE; Version: 1.1 25

ttimeout : TIME; 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 über TCP/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 die Bytegröße: nquantity * 2 besitzen. pdestaddr: Enthält die Adresse des Zielpuffers, in den die Daten gelesen werden sollen. Der Puffer kann eine Einzelvariable, ein Array oder eine Struktur sein, dessen Adresse mit dem ADR - Operator ermittelt werden 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 überschritten werden darf. bbusy berror nerrid cbread bbusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt. berror: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausgang gesetzt, nachdem der bbusy-ausgang zurückgesetzt wurde. nerrid: Liefert bei einem gesetzten berror-ausgang die ADS-Fehlernummer [} 54]. cbread: Enthält die Anzahl der aktuell gelesenen Bytes. Beispiel für den Aufruf des Bausteins in FBD PROGRAM Test VAR fbreadregs : FB_MBReadRegs; breadregs breadregsbusy breadregserror nreadregserrorid nreadregscount nquantity : WORD := 3; nmbaddr : WORD:= 2; arrdata : ARRAY [1..3] OF WORD; 26 Version: 1.1

Nach steigender Flanke von "bexecute" und erfolgreicher Ausführung des ReadRegs-Befehls, befinden sich der Inhalt der Register 3-5 in dem Array arrdata: Register Array-Offset Status 3 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-Bibliotheken TwinCAT 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 um einen Bit-Zugriff. sipaddr ntcpport nunitid nmbaddr nvalue bexecute ttimeout : STRING(15); : UINT:= MODBUS_TCP_PORT; : BYTE:=16#FF; : TIME; Version: 1.1 27

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 über TCP/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 den Ausgang 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 überschritten werden darf. bbusy berror nerrid bbusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt. berror: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausgang gesetzt, nachdem der bbusy-ausgang zurückgesetzt wurde. nerrid: Liefert bei einem gesetzten berror-ausgang die ADS-Fehlernummer [} 54]. Beispiel für den Aufruf des Bausteins in FBD PROGRAM Test VAR fbwritesinglecoil : FB_MBWriteSingleCoil; bwritecoil bwritecoilbusy bwritecoilerror nwritecoilerrorid nmbaddr : WORD := 3; nvalue : WORD := 16#FF00; Nach steigender Flanke von "bexecute" und erfolgreicher Ausführung des WriteSingleCoil-Befehls, wird der digitale Ausgang 4 angeschaltet. 28 Version: 1.1

Voraussetzungen Entwicklungsumgebung Zielplattform Einzubindende SPS-Bibliotheken TwinCAT 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 um einen 16 Bit-Zugriff. sipaddr ntcpport nunitid nmbaddr nvalue bexecute ttimeout : STRING(15); : UINT:= MODBUS_TCP_PORT; : BYTE:=16#FF; : TIME; 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 über TCP/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 überschritten werden darf. bbusy berror nerrid bbusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt. berror: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausgang gesetzt, nachdem der bbusy-ausgang zurückgesetzt wurde. Version: 1.1 29

nerrid: Liefert bei einem gesetzten berror-ausgang die ADS-Fehlernummer [} 54]. Beispiel für den Aufruf des Bausteins in FBD PROGRAM Test VAR fbwritesinglereg bwritereg bwriteregbusy bwriteregerror : FB_MBWriteSingleReg; nwriteregerrorid nmbaddr : WORD := 4; nvalue : WORD := 16#1234; Nach steigender Flanke von "bexecute" und erfolgreicher Ausführung des WriteSingleReg-Befehls, wird in das Register 5 der Wert 16#1234 geschrieben. Voraussetzungen Entwicklungsumgebung Zielplattform Einzubindende SPS-Bibliotheken TwinCAT 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 digitaler Ausgang entspricht einem Bit der geschriebenen Datenbytes. 30 Version: 1.1

sipaddr ntcpport nunitid nquantity nmbaddr cblength psrcaddr bexecute ttimeout : STRING(15); : UINT:= MODBUS_TCP_PORT; : BYTE:=16#FF; : POINTER OF BYTE; : TIME; 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 über TCP/IP angesprochen wird, muss dieser Wert 16#FF entsprechen. nquantity: Anzahl der digitalen Ausgänge, die beschrieben werden sollen (Datenbits). Der Wert Null ist unzulä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 kann eine Einzelvariable, ein Array oder eine Struktur sein, dessen Adresse mit dem ADR - Operator ermittelt werden 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 überschritten werden darf. bbusy berror nerrid cbread bbusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt. berror: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausgang gesetzt, nachdem der bbusy-ausgang zurückgesetzt wurde. nerrid: Liefert bei einem gesetzten berror-ausgang die ADS-Fehlernummer [} 54]. Beispiel für den Aufruf des Bausteins in FBD PROGRAM Test VAR fbwritecoils bwritecoils bwritecoilsbusy bwritecoilserror nwritecoilserrorid : FB_MBWriteCoils; nwritecoilscount nquantity : WORD := 10; nmbaddr : WORD := 14; Version: 1.1 31

arrdata : ARRAY [1..2] OF BYTE := 16#75,16#03; Nach steigender Flanke von "bexecute" und erfolgreicher Ausführung des ReadCoils-Befehls, wird der Inhalt des 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 1 Output 22 21 20 19 18 17 16 15 X X X X X X 24 23 Voraussetzungen Entwicklungsumgebung Zielplattform Einzubindende SPS-Bibliotheken TwinCAT 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. sipaddr ntcpport nunitid nquantity : STRING(15); : UINT:= MODBUS_TCP_PORT; : BYTE:=16#FF; 32 Version: 1.1

nmbaddr cblength psrcaddr bexecute ttimeout : POINTER OF BYTE; : TIME; 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 über TCP/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 Registerwerte enthä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 kann eine Einzelvariable, ein Array oder eine Struktur sein, dessen Adresse mit dem ADR - Operator ermittelt werden 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 überschritten werden darf. bbusy berror nerrid bbusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt. berror: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausgang gesetzt, nachdem der bbusy-ausgang zurückgesetzt wurde. nerrid: Liefert bei einem gesetzten berror-ausgang die ADS-Fehlernummer [} 54]. Beispiel für den Aufruf des Bausteins in FBD PROGRAM Test VAR fbwriteregs : FB_MBWriteRegs; bwriteregs bwriteregsbusy bwriteregserror nwriteregserrorid nwriteregscount nquantity : WORD := 3; nmbaddr : WORD := 4; arrdata : ARRAY [1..3] OF WORD; Version: 1.1 33

Nach steigender Flanke von "bexecute" und erfolgreicher Ausführung des ReadRegs-Befehls, wird der Inhalt des Arrays arrdata in die Register 5-7 geschrieben. Voraussetzungen Entwicklungsumgebung Zielplattform Einzubindende SPS-Bibliotheken TwinCAT 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). sipaddr ntcpport nunitid nreadquantity nmbreadaddr nwritequantity nmbwriteaddr : STRING(15); : UINT:= MODBUS_TCP_PORT; : BYTE:=16#FF; 34 Version: 1.1

cbdestlength pdestaddr cbsrclength psrcaddr bexecute ttimeout : POINTER OF BYTE; : POINTER OF BYTE; : TIME; 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 über TCP/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 nicht zulä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 kann eine Einzelvariable, ein Array oder eine Struktur sein, dessen Adresse mit dem ADR - Operator ermittelt werden kann. cbsrclength: Enthält die max. verfügbare Bytegröße des Quellpuffers der die zu schreibende Registerwerte 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 kann eine Einzelvariable, ein Array oder eine Struktur sein, dessen Adresse mit dem ADR - Operator ermittelt werden 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 überschritten werden darf. bbusy berror nerrid cbread bbusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt. berror: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausgang gesetzt, nachdem der bbusy-ausgang zurückgesetzt wurde. nerrid: Liefert bei einem gesetzten berror-ausgang die ADS-Fehlernummer [} 54]. cbread: Enthält die Anzahl der aktuell gelesenen Bytes. Beispiel für den Aufruf des Bausteins in FBD PROGRAM Test VAR fbreadwriteregs breadwriteregs : FB_MBReadWriteRegs; Version: 1.1 35

breadwriteregsbusy breadwriteregserror nreadwriteregserrorid nreadwriteregscount nrdquantity nrdmbaddr nwrquantity nwrmbaddr arrrddata arrwrdata : ARRAY [1..9] OF WORD; : ARRAY [1..9] OF WORD; Nach steigender Flanke von "bexecute" und erfolgreicher Ausführung des ReadWriteRegs-Befehls, befinden sich in arrrddata die gelesenen Daten der Register und die Daten aus arrwrdata werden in die Register geschrieben. Voraussetzungen Entwicklungsumgebung Zielplattform Einzubindende SPS-Bibliotheken TwinCAT 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 zwischen dem Master und dem Slave oder für die Überprüfung der verschiedenen internen Fehlerzustände innerhalb des Slaves zur Verfügung. 36 Version: 1.1

sipaddr ntcpport nunitid nsubfnc nwritedata bexecute ttimeout : STRING(15); : UINT:= MODBUS_TCP_PORT; : BYTE:=16#FF; : TIME; 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 über TCP/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 überschritten werden darf. bbusy berror nerrid nreaddata bbusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt. berror: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausgang gesetzt, nachdem der bbusy-ausgang zurückgesetzt wurde. nerrid: Liefert bei einem gesetzten berror-ausgang die ADS-Fehlernummer [} 54]. nreaddata: Liefert das gelesene Datenwort. Beispiel für den Aufruf des Bausteins in FBD PROGRAM Test VAR fbdiagnose bdiagnose bdiagnosebusy bdiagnoseerror ndiagnoseerrorid nsubfnc nreaddata nwritedata : FB_MBDiagnose; Version: 1.1 37

Nach steigender Flanke von "bexecute" und erfolgreicher Ausführung des Dianose-Befehls, befindet sich in nreaddata das gelesene Datenwort. Voraussetzungen Entwicklungsumgebung Zielplattform Einzubindende SPS-Bibliotheken TwinCAT 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 Ausgang entspricht einem Bit der gelesenen Datenbytes. sipaddr ntcpport nunitid nquantity nmbaddr cblength pdestaddr bexecute ttimeout : STRING(15); : UINT:= MODBUS_TCP_PORT; : BYTE:=16#FF; : POINTER OF BYTE; : TIME; 38 Version: 1.1

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 über TCP/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 kann eine Einzelvariable, ein Array oder eine Struktur sein, dessen Adresse mit dem ADR - Operator ermittelt werden 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 überschritten werden darf. bbusy berror nerrid cbread bbusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt. berror: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausgang gesetzt, nachdem der bbusy-ausgang zurückgesetzt wurde. nerrid: Liefert bei einem gesetzten berror-ausgang die ADS-Fehlernummer [} 54]. cbread: Enthält die Anzahl der aktuell gelesenen Bytes. Voraussetzungen Entwicklungsumgebung Zielplattform Einzubindende SPS-Bibliotheken TwinCAT v3.0.0 PC or CX (x86) Tc2_ModbusSrv 6.2.11.2 FB_MBUdpReadInputs(Modbus-Funktion 2) Version: 1.1 39

Diese Funktion wird zum Lesen von 1 bis 2048 digitalen Eingängen benutzt. Ein digitaler Eingang entspricht einem Bit der gelesenen Datenbytes. sipaddr ntcpport nunitid nquantity nmbaddr cblength pdestaddr bexecute ttimeout : STRING(15); : UINT:= MODBUS_TCP_PORT; : BYTE:=16#FF; : POINTER OF BYTE; : TIME; 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 über TCP/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 Puffer muss mindestens die Bytegröße: (nquantity + 7) / 8 besitzen. pdestaddr: Enthält die Adresse des Zielpuffers, in den die Daten gelesen werden sollen. Der Puffer kann eine Einzelvariable, ein Array oder eine Struktur sein, dessen Adresse mit dem ADR - Operator ermittelt werden 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 überschritten werden darf. bbusy berror nerrid cbread bbusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt. berror: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausgang gesetzt, nachdem der bbusy-ausgang zurückgesetzt wurde. nerrid: Liefert bei einem gesetzten berror-ausgang die ADS-Fehlernummer [} 54]. cbread: Enthält die Anzahl der aktuell gelesenen Bytes. Voraussetzungen Entwicklungsumgebung Zielplattform Einzubindende SPS-Bibliotheken TwinCAT 3 v3.0.0 PC or CX (x86) Tc2_ModbusSrv 40 Version: 1.1

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ält die unteren acht Bits und das zweite Byte die oberen acht Bits. sipaddr ntcpport nunitid nquantity nmbaddr cblength pdestaddr bexecute ttimeout : STRING(15); : UINT:= MODBUS_TCP_PORT; : BYTE:=16#FF; : POINTER OF BYTE; : TIME; 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 über TCP/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. Der Puffer muss mindestens die Bytegröße: nquantity * 2 besitzen. pdestaddr: Enthält die Adresse des Zielpuffers, in den die Daten gelesen werden sollen. Der Puffer kann eine Einzelvariable, ein Array oder eine Struktur sein, dessen Adresse mit dem ADR - Operator ermittelt werden 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 überschritten werden darf. bbusy berror nerrid cbread Version: 1.1 41

bbusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt. berror: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausgang gesetzt, nachdem der bbusy-ausgang zurückgesetzt wurde. nerrid: Liefert bei einem gesetzten berror-ausgang die ADS-Fehlernummer [} 54]. cbread: Enthält die Anzahl der aktuell gelesenen Bytes. Voraussetzungen Entwicklungsumgebung Zielplattform Einzubindende SPS-Bibliotheken TwinCAT 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. sipaddr ntcpport nunitid nquantity nmbaddr cblength pdestaddr bexecute ttimeout : STRING(15); : UINT:= MODBUS_TCP_PORT; : BYTE:=16#FF; : POINTER OF BYTE; : TIME; 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 über TCP/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 die Bytegröße: nquantity * 2 besitzen. 42 Version: 1.1

pdestaddr: Enthält die Adresse des Zielpuffers, in den die Daten gelesen werden sollen. Der Puffer kann eine Einzelvariable, ein Array oder eine Struktur sein, dessen Adresse mit dem ADR - Operator ermittelt werden 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 überschritten werden darf. bbusy berror nerrid cbread bbusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt. berror: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausgang gesetzt, nachdem der bbusy-ausgang zurückgesetzt wurde. nerrid: Liefert bei einem gesetzten berror-ausgang die ADS-Fehlernummer [} 54]. cbread: Enthält die Anzahl der aktuell gelesenen Bytes. Voraussetzungen Entwicklungsumgebung Zielplattform Einzubindende SPS-Bibliotheken TwinCAT 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 um einen Bit-Zugriff. sipaddr ntcpport nunitid nmbaddr nvalue bexecute ttimeout : STRING(15); : UINT:= MODBUS_TCP_PORT; : BYTE:=16#FF; : TIME; Version: 1.1 43

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 über TCP/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 den Ausgang 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 überschritten werden darf. bbusy berror nerrid bbusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt. berror: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausgang gesetzt, nachdem der bbusy-ausgang zurückgesetzt wurde. nerrid: Liefert bei einem gesetzten berror-ausgang die ADS-Fehlernummer. [} 54] Voraussetzungen Entwicklungsumgebung Zielplattform Einzubindende SPS-Bibliotheken TwinCAT 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 um einen 16 Bit-Zugriff. sipaddr ntcpport nunitid nmbaddr nvalue : STRING(15); : UINT:= MODBUS_TCP_PORT; : BYTE:=16#FF; 44 Version: 1.1