Kanäle

<< Click to Display Table of Contents >>

Navigation:  Komponenten > Treiber > Modbus Master >

Kanäle

 

Import / Export

Diese Funktion vereinfacht das Anlegen der Kanäle, da nicht jeder Kanal im Kanal Editor einzeln angelegt werden muss.

Wichtig dabei ist das das zu importierende Dokument ein XML File ist mit der korrekten Formatierung. Am einfachsten wird ein Kanal angelegt, dieser exportiert, bearbeitet/ergänzt und anschließend wieder importiert.

 

Beispiel XML-Datei Aufbau:

<?xml version="1.0" encoding="utf-8"?>

<ModbusChannelList>

<ModbusChannel Name="FC3_22_BIT" Id="31" DeviceId="10" Address="25" Count="1" ValueType="BIT" Function="SPECIAL_HOLDING_REGISTER_RW_BIT_ACCESS" Factor="1" Offset="0" Unit="" NullOnReadError="False" TriggerWriteAll="False" StaticRegister="False" MinValidValue="0" MaxValidValue="0" />

 <ModbusChannel Name="FC3_BIT" Id="25" DeviceId="10" Address="27" Count="1" ValueType="BIT" Function="SPECIAL_HOLDING_REGISTERS_RO_BIT_ACCESS" Factor="1" Offset="0" Unit="" NullOnReadError="False" TriggerWriteAll="False" StaticRegister="False" MinValidValue="0" MaxValidValue="0" />

 <ModbusChannel Name="FC6_BIT" Id="21" DeviceId="10" Address="26" Count="1" ValueType="BIT" Function="SPECIAL_HOLDING_REGISTER_WO_BIT_ACCESS" Factor="1" Offset="0" Unit="" NullOnReadError="False" TriggerWriteAll="False" StaticRegister="False" MinValidValue="0" MaxValidValue="0" />

 ...

 ...

</ModbusChannelList>

 

Kanäle

Name

Geräte ID [0 - 247]

Funktion

Register Adresse [dezimal]

Datentyp

Anzahl Register

Faktor

Offset

Min valide value

Max valide value

Einheit

Null bei Lesefehler senden

Löst "alle schreiben" aus

Kanal001

1

Coil lesen (1)

0

Bit

1

1

0

0

0

 

 

 

...

 

 

 

 

 

 

 

 

 

 

 

 

 

Spalten, welche mit (*) markiert sind, können gemeinsam editiert werden. Hierfür müssen die Zeilen markiert sein.

 

Bezeichnung

Beschreibung

Name

Bezeichnung des Kanals welcher im Ordner Dynamisch im Kommunikationsfenster angezeigt wird. Mit # können Unterordner erstellt werden, wobei der Text vor # der Ordner-Name darstellt und der Text nach dem # der Datenpunkt-Name ist. Somit lassen sich Datenpunkte zusammenfassen. Beispiel: Strom#L1; Strom#L2; Strom#L3 - Im Ordner Dynamisch erscheint ein Ordner Strom, welcher die Datenpunkte L1; L2; L3 beinhaltet.

Geräte ID [0 - 247]

In den Geräteeinstellungen des Modbus Geräts vergebene Geräte ID, jedem Gerät muss eine eigene ID zugewiesen werden damit es auch eindeutig identifiziert werden kann. Entfällt bei den meisten Modbus-TCP Verbindungen. Über die ID 0 wird ein Broadcast an alle Geräte gesendet.

Funktion

Zum Abfragen von Werten werden verschiedenen Funktionscodes verwendet.  Der Code wird normalerweise als Text und Zahl in Klammer angegeben. Der Zahlencode ist immer eindeutig. Der benötigte Funktionscode muss dem Produkthandbuch entsprechend gewählt werden.

Register Adresse [dezimal]

Adresse des Startregisters, ab hier werden die Werte ausgelesen oder geschrieben. Die Adresse muss in dezimal angegeben werden, in den Zuordnungstabellen sind diese häufig in HEX angegeben. Die Umrechnung kann z.B. über die Excel Funktion „=hex2dec“ oder dem Windows-Taschenrechner (Ansicht\Programmierer) erfolgen.

Datentyp

Der spezifische Datentyp für die auszulesenden Register, Eingänge, Ausgänge usw.

Werden die auszulesenden Daten in mehreren Registern dargestellt, muss der Datentyp dementsprechend angepasst werden.

Anzahl Register

Anzahl der Register die abgefragt werden sollen (meist für Texte).

Faktor

Die ausgelesenen Werte können direkt mit einem Faktor versehen werden. Der Faktor gilt auch für das Beschreiben der Register. Von Master zu Slave wird dividiert, von Slave zu Master wird multipliziert.

Offset

Es kann ein Offset für das Ergebnis eingestellt werden, z.B. bei Temperaturen.

Min valid value

Einstellung um nur zulässige Werte zwischen diesem Mindestwert und dem Maximalwert ausgeben zu lassen. Ungültige Werte werden nicht am Datenpunkt ausgegeben (nur am Diagnose-Ausgang). Ist Min und Max value 0, wird der Grenzwert ignoriert. Die Ausgabe am Datenpunkt hängt auch von der Einstellung "Null bei Lesefehler senden".

Max valid value

Einstellung um nur zulässige Werte zwischen  Mindestwert und diesem Maximalwert ausgeben zu lassen. Ungültige Werte werden nicht am Datenpunkt ausgegeben (nur am Diagnose-Ausgang). Ist Min und Max value 0, wird der Grenzwert ignoriert. Die Ausgabe am Datenpunkt hängt auch von der Einstellung "Null bei Lesefehler senden".

Einheit

Hier kann die Einheit des Wertes eingetragen werden. Diese wird im Ordner Dynamisch --> Einheit als Text ausgegeben.

Null bei Lesefehler senden

Kann das angegebene Register nicht oder nicht mehr ausgelesen werden, wird der Ausgang auf undefiniert gesetzt, keine Zahl 0. Ist ein Min/Max-Wert eingetragen gilt dies auch für Werte, welche außerhalb der Grenzen liegen.

Löst "alle schreiben" aus

Ist diese Option für einen Kanal gesetzt und wird dieser beschrieben, werden alle anderen beschreibbare Register auch neu geschrieben. Ohne diese Option wird nur dieses eine Register beschrieben.

 

 

Methode

Datentyp

Dienst

Code

Zugriff

Bemerkung

Bitweise

Ausgänge/Coils

Coils lesen

1

Read (lesen)

Lesen digitaler Ausgänge (z.B. Relais)

Bitweise

Ausgänge

Diskreten Eingang lesen

2

Read (lesen)

Lesen digitaler Eingänge

Wortweise

Ausgang

Internes Register lesen (Holding)

3

Read (lesen)

Lesen von Messwerten, Zählerständen, Mittelwerten,

Lesen der Geräte-Konfiguration

Wortweise

Ausgänge

Eingangsregister lesen (Input)

4

Read (lesen)

Lesen von analogen Eingängen

Bitweise

Eingänge/Coils

Coil setzen

5

Write (schreiben)

Schreiben eines digitalen Ausgangs (z.B. Relais)

Wortweise

Eingänge/Coils

Register schreiben

6

Write (schreiben)

Schreiben von Werten

Schreiben von Geräte-Konfiguration

Bitweise

Eingänge

Mehrere Coils setzen

15

Write (schreiben)

Schreiben mehrere digitaler Ausgänge (z.B. Relais)

Wortweise

Eingänge

Mehrere interne Register schreiben

16

Write (schreiben)

Schreiben von mehreren Werten

Wortweise

Bidirektional

Internes Register lesen/schreiben

3/6

Read/Write (lesen/schreiben)

Lesen und schreiben eines Wertes

Wortweise

Bidirektional

Mehrere interne Register lesen/schreiben

3/16

Read/Write (lesen/schreiben)

Lesen und schreiben von mehreren Werten

Bitweise

Bidirektional

Coil lesen/schreiben

1/5

Read/Write (lesen/schreiben)

Lesen und schreiben eines digitalen Ausgangs

Coils lesen/schreiben

Bidirektional

Mehrere Coils lesen/schreiben

1/15

Read/Write (lesen/schreiben)

Lesen und schreiben von mehreren digitalen Ein-/Ausgänge.

Wortweise/Bit-Zugriff

Ausgänge

Eingangsregister Bit-Zugriff lesend

4

Read (lesen)

Lesen von analogen Eingängen

Die Werte werden auf EisBärseite in einzelnen Bits ausgeben bzw. gesetzt.

Wortweise/Bit-Zugriff

Bidirektional

Internes Register Bit-Zugriff lesen/schreiben

3/22

Read/Write (lesen/schreiben)

Lesen und schreiben von Messwerten, Zählerständen, Mittelwerten, Lesen und schreiben der Geräte-Konfiguration

Die Werte werden auf EisBärseite in einzelnen Bits ausgeben bzw. gesetzt.

Bitweise

Bidirektional

Mehrere interne Register Bit-Zugriff lesen/schreiben

3/6 3/22

Read/Write (lesen/schreiben)

Lesen und schreiben von mehreren Werten als Bit-Zugriff