Unified-E Modbus Adapter Betrifft: Version 1.5.0.0 und höher Stand: Februar 2017 Inhalt 1 Allgemeines... 2 2 Adapter-Parameter in Unified-E... 2 3 Adressierung von Datenpunkten... 4 Unified-E Modbus Adapter Seite 1 von 5
1 Allgemeines Mit dem Unified-E Modbus Adapter kann auf Steuerungen mit dem Modbus-Protokoll zugegriffen werden. Unterschieden wird: Serielle/USB-Schnittstelle: Es wird Modbus RTU verwendet. Ethernet-Schnittstelle: Es wird Modbus/TCP verwendet. Speicherbereiche bei Modbus: Modbus kennt vier Speicherbereiche, der Zugriff erfolgt über Registernummern. Halte-Register: Es handelt sich um 16-bit Register, die sowohl gelesen als auch gesetzt werden können. Digitaler Ausgang: Dort sind die Register der digitalen Ausgänge zu finden, die sowohl gelesen als auch gesetzt werden können. Der Register-Wert ist immer 0 oder 1 (BOOL). Eingangs-Register: Es handelt sich um 6-bit Register, die jeweils einen analogen Eingang wiederspiegeln. Ein Eingangs-Register kann nur gelesen werden. Digitaler Eingang: Dort sind die Register der digitalen Eingänge zu finden, die folglich nur gelesen werden können. Der Register-Wert ist immer 0 oder 1 (BOOL). Auch wenn Modbus nur 16-bit (WORD)-Register kennt ist es möglich, auch einzelne Bits, Bytes, 32-bit Werte oder Zeichenketten zu lesen und zu setzen (wie in Kapitel 3 beschrieben). 2 Adapter-Parameter in Unified-E Beispiel: Serielle Schnittstelle Beispiel: Ethernet-Schnittstelle Unified-E Modbus Adapter Seite 2 von 5
Adresse TCP/IP-Schnittstelle: Die IP-Adresse Serielle Schnittstelle: Der COM-Port, z. B. COM6 Common Gruppe Interface: Die Schnittstelle ist zu wählen, die zugehörigen Parameter werden dann entsprechend unten eingeblendet. Slave ID: Die Slave-ID des Modbus-Slaves. Byte ordering: Bestimmt, wie die Bytes bei numerischen Typen interpretiert werden sollen. "Big-endian (highest byte first)": Das höchstwertige Byte ist in der Byte-Sequenz an der ersten Position. "Little-Endian (lowest byte first)": Das niederwertigste Byte ist in der Byte-Sequenz an der ersten Position. Virtual register size: Bestimmt, ob die Standard--Adressierung von 16-bit Registern oder ob die Datenpunkt- Startadresse als 8-bit Byte-Adresse interpretiert werden soll. "8-bit": Dies ist sinnvoll für, wenn Auf einzelne Bytes zugegriffen werden soll, oder die Startadresse eines Datenpunktes erst beim zweiten Byte im Modbus-Register beginnt Wenn der Adressraum der Steuerung standardmässig bereits 8-bit Register hat (z. B. bei einer S7-Steuerung). Dann ist die Start-Adresse beim Datenpunkt identisch mit der Register-Adresse bei der Steuerung. Bei diesem Modus gilt: Modbus-Startregister = 2 * Datenpunkt-Startadresse "16-bit": Die Standard-Adressierung für Modbus. Serial/USB-Port Gruppe Baud rate: Eine vordefinierte Baud-Rate ist zu wählen (2400 230400) Parity: Beschreibt, ob und wie Übertragungsfehler erkannt werden sollen (siehe auch Spezifikation der RS-232 Schnittstelle). Stop bits: Beschreibt, wie die Synchronisation bei der Übertragung erfolgen soll sollen (siehe auch Spezifikation der RS-232 Schnittstelle). Timeout [ms]: Der Timeout-Wert für COM-Port Verbindung. Dieser wird für das Senden und Empfangen verwendet. Unified-E Modbus Adapter Seite 3 von 5
TCP/IP Gruppe TCP Port: Der Port, über den der Modbus-Slave angesprochen werden soll. Timeout [ms]: Der Timeout-Wert für die Socket-Verbindung. Dieser Wert wird für das Senden und Empfangen verwendet. 3 Adressierung von Datenpunkten Die Adresse eines Datenpunktes in der Datenpunkt-Tabelle hat folgenden Aufbau: <Adressbereich>:<Startregister[.<Bitnummer>]>:<Datentyp> Adressbereich-Kürzel: "H": Halte-Register (Holding register) "C": Digitaler Ausgang (Coil), Datentyp BOOL muss gesetzt werden "I": Eingangs-Register (Input register) "D": Digitaler Eingang (Digital input), Datentyp BOOL muss gesetzt werden Startregister: Die Modbus-Startadresse. Bei Halte- und Eingangsregistern gilt: Je nachdem, was im Adapter-Parameter " Virtual register size" gewählt wurde, ist damit die Byte- oder Modbus-Startadresse (Standard-Adressierung) gemeint. Bitnummer: Bei numerischen Datentypen kann mit ".<Bitnummer>" das jeweilige Bit adressiert werden. Beispiel: "H:100.3:WORD" adressiert das vierte Bit vom WORD-Wert. Datentyp: Bei Datentypen, die grösser sind als die Registergrösse werden beginnend vom Startregister die nachfolgenden Register zusätzlich verwendet. Mögliche Datentypen: BOOL, nur verwenden bei digitalen Ein- und Ausgängen (Adressbereich "C" und "D") BYTE, USINT SINT WORD, UINT DWORD, UDINT INT DINT LINT ULINT REAL LREAL STRING[<Anzahl>]; die Anzahl muss im Bereich 1 bis 100 liegen, bei der Startadresse (erstes Byte) steht die aktuelle Länge, die einzelnen Zeichen werden als ANSI-Byte interpretiert. ARRAY mit numerischen Werten. Syntax: <Basistyp>[<Anzahl Elemente>] Unified-E Modbus Adapter Seite 4 von 5
Beispiele: C:0:BOOL: Adressiert einen digitalen Ausgang 0 H:0:REAL: Adressiert einen REAL-Wert, beginnend bei Startadresse 0 Modbus-Kommunikation mit einer S7-1200 via TCP/IP Unified-E Modbus Adapter Seite 5 von 5