MODBUS Address-Mapping eNet1
Definitionen
Datentypen
Der Modbus beschränkt sich auf die Grunddatentypen Character, String, int16, uint16, int32, uint32, int64, uint64, float32 und float64
Fliesskomma-Zahlen
Die speziellen Zustände/Werte NaN, +Inf und -Inf der Fliesskommazahlen (float32 und float64) werden für Physische I/O und reglerinterne Signale wie folgt interpretiert:
Wert/Zustand | Bedeutung |
---|---|
NaN | Kein Signal vorhanden, bzw. Signalquelle inaktiv. |
+Inf | Fühler-Unterbruch der Signalquelle |
-Inf | Fühler-Kurzschluss der Signalquelle |
Function Codes
Die Function Codes entsprechen den Definitionen der Modbus-Spezifikation V1.1b3 und haben folgende Bedeutungen:
Function Code | Funktions-Bezeichnung | Anwendung |
---|---|---|
0x01 | Read Coils | Lesen von digitalen Ausgängen und Signalen |
0x02 | Read Discrete Inputs | Lesen von digitalen Eingängen |
0x03 | Read Holding Registers | Lesen von analogen Ausgängen und Signalen |
0x04 | Read Input Registers | Lesen von analogen Eingängen |
0x05 | Write Single Coils | Schreiben eines einzelnen, digitalen Ausgangs oder Signals |
0x06 | Write Single Register | Schreiben eines einzelnen, analogen Ausgangs oder Signals |
0x0F | Write Multiple Coils | Schreiben mehrerer digitalen Ausgänge oder Signale |
0x10 | Write Multiple Registers | Schreiben mehrerer analogen Ausgänge oder Signale |
0x14 | Read File Record | Parameterwerte der Funktionsmodule in Textform auslesen |
0x15 | Write File Record | Parameterwerte der Funktionsmodule in Textform setzen/schreiben |
0x17 | Read/Write Multiple Registers | Schreiben und dann Lesen von Holding Registers (analogen Ausgängen oder Signalen) in einem Aufruf |
0x2B/0x0E | Encapsulated Interface Transport/Read Device Identification | Geräte-Informationen wie Geräte-Typ, Soft- unf Hardware-Versionen, Seriennummer usw. auslesen |
Modulnummern von Systemfunktionen
Modulnummer | Systemfunktion |
---|---|
104 | Eingänge |
103 | Ausgänge |
109 | Signale |
102 | Datenlogger |
106 | Netzwerk |
108 | System |
107 | Geräte-Info |
105 | Uhr |
Geräte-Info
Read Device Identification (Function Code 0x2B/0x0E)
ObjectID | Object Name / Description | Value | Type | Category |
---|---|---|---|---|
0x00 | VendorName | "Dolder Electronic AG" | UTF8-String | Basic |
0x01 | ProductCode | "eNet1c" | UTF8-String | |
0x02 | MajorMinorRevision | "Hardware-Version=2.20, Software-Version=2.12" |
UTF8-String | |
0x03 | VendorUrl | "www.dolder-electronic.ch" | UTF8-String | Regular |
0x04 | ProductName | "Universalregler eNet1-control" | UTF8-String | |
0x05 | ModelName | "eNet1c" | UTF8-String | |
0x06 | UserApplicationName | Benutzerdefinierter Gerätename zur Identifikation
des Reglers in einem Verbund. Eingabe unter → Geräte-Informationen → Service-Einstellungen → Geräte-Name |
UTF8-String | |
0x80 | SerialNumber | Seriennummer des Reglers | UTF8-String | Extended |
0x81 | nDigitalInputs | siehe Abschnitt Informations-Register (Register 1, Adresse 0) | UTF8-String | |
0x82 | nDigitalAnalogInputs | siehe Abschnitt Informations-Register (Register 2, Adresse 1) | UTF8-String | |
0x83 | nDigitalOutputs | siehe Abschnitt Informations-Register (Register 3, Adresse 2) | UTF8-String | |
0x84 | nDigitalAnalogOutputs | siehe Abschnitt Informations-Register (Register 4, Adresse 3) | UTF8-String | |
0x85 | nAnalogInputs | siehe Abschnitt Informations-Register (Register 5, Adresse 4) | UTF8-String | |
0x86 | nAnalogOutputs | siehe Abschnitt Informations-Register (Register 6, Adresse 5) | UTF8-String | |
0x87 | nDigitalSignals | siehe Abschnitt Informations-Register (Register 7, Adresse 6) | UTF8-String | |
0x88 | nAnalogSignals | siehe Abschnitt Informations-Register (Register 8, Adresse 7) | UTF8-String |
Informations-Register
Register | Funktion des Registers | Function Code | Adresse | Datentyp |
---|---|---|---|---|
nDigitalInputs | Liefert die Anzahl vorhandener digitaler Eingänge.
Die gültigen Adressen in Ref0 bis Ref3 sind entsprechend begrenzt. |
0x04 | 0 | Input Register (16 Bit) uint16 |
nDigitalAnalogInputs | Liefert die Anzahl vorhandener analoger Eingänge,
die als Digital-Eingänge verwendet werden können.
Die gültigen Adressen in Ref5 bis Ref8 sind entsprechend begrenzt. |
0x04 | 1 | Input Register (16 Bit) uint16 |
nDigitalOutputs | Liefert die Anzahl vorhandener digitaler Ausgänge.
Die gültigen Adressen in Ref10 bis Ref13 sind entsprechend begrenzt. |
0x04 | 2 | Input Register (16 Bit) uint16 |
nDigitalAnalogOutputs | Liefert die Anzahl vorhandener analoger Ausgänge,
die als Digital-Ausgänge verwendet werden können.
Die gültigen Adressen in Ref15 bis Ref18 sind entsprechend begrenzt. |
0x04 | 3 | Input Register (16 Bit) uint16 |
nAnalogInputs | Liefert die Anzahl vorhandener analoger Eingänge.
Die gültigen Adressen in Ref20 bis Ref25 sind entsprechend begrenzt. |
0x04 | 4 | Input Register (16 Bit) uint16 |
nAnalogOutputs | Liefert die Anzahl vorhandener analoger Ausgänge.
Die gültigen Adressen in Ref30 bis Ref35 sind entsprechend begrenzt. |
0x04 | 5 | Input Register (16 Bit) uint16 |
nDigitalSignals | Liefert die Anzahl vorhandener digitaler Signale.
Die gültigen Adressen in Ref40 bis Ref55 sind entsprechend begrenzt. |
0x04 | 6 | Input Register (16 Bit) uint16 |
nAnalogSignals | Liefert die Anzahl vorhandener analoger Signale.
Die gültigen Adressen in Ref60 bis Ref75 sind entsprechend begrenzt. |
0x04 | 7 | Input Register (16 Bit) uint16 |
Physische Ein- und Ausgänge
Digitale Eingänge
Der Eingang mit Nummer n kann wie folgt adressiert werden:
Ref# | Eingang | Funktion des Parameters | Function Code | Adresse | Datentyp | Adress-Beispiele |
---|---|---|---|---|---|---|
0 | Digitale Eingänge DIn | aktueller Wert des Eingangs | 0x02, 0x04✶ | 100 + (n-1) | Discrete Input 1 Bit read only |
Digitaleingang DI3 ⇒ n = 3 Adresse = 100 + 3 - 1 = 102 |
1 | Simulations-Wert des Eingangs | 0x01, 0x03✶, 0x05, 0x06✶, 0x0F, 0x10✶, 0x17✶ | Ref0 + 100 200 + (n-1) |
Coil 1 Bit read/write |
Simulations-Wert von DI4 ⇒ n = 4 Adresse = 200 + 4 - 1 = 203 |
|
2 | 0: Auto (Regelbetrieb), 1: Simulation | 0x01, 0x03✶, 0x05, 0x06✶, 0x0F, 0x10✶, 0x17✶ | Ref0 + 200 300 + (n-1) |
Coil 1 Bit read/write |
Simulator von DI2 ⇒ n = 2 Adresse = 300 + 2 - 1 = 301 |
|
3 | 0: Eingang deaktiviert, 1: Eingang aktiviert | 0x01, 0x03✶, 0x05, 0x06✶, 0x0F, 0x10✶, 0x17✶ | Ref0 + 300 400 + (n-1) |
Coil 1 Bit read/write |
Eingang DI1 aktivieren ⇒ n = 1 Adresse = 400 + 1 - 1 = 400 |
|
5 | Analoge Eingänge AIn als Logik-Eingänge |
aktueller Wert des Eingangs | 0x02, 0x04✶ | 500 + (n-1) | Discrete Input 1 Bit read only |
Analogeingang AI3 ⇒ n = 3 Adresse = 500 + 3 - 1 = 502 |
6 | Simulations-Wert des Eingangs | 0x01, 0x03✶, 0x05, 0x06✶, 0x0F, 0x10✶, 0x17✶ | Ref5 + 100 600 + (n-1) |
Coil 1 Bit read/write |
Simulations-Wert von AI7 ⇒ n = 7 Adresse = 600 + 7 - 1 = 606 |
|
7 | 0: Auto (Regelbetrieb), 1: Simulation | 0x01, 0x03✶, 0x05, 0x06✶, 0x0F, 0x10✶, 0x17✶ | Ref5 + 200 700 + (n-1) |
Coil 1 Bit read/write |
Simulator von AI8 ⇒ n = 8 Adresse = 700 + 8 - 1 = 707 |
|
8 | 0: Eingang deaktiviert, 1: Eingang aktiviert | 0x01, 0x03✶, 0x05, 0x06✶, 0x0F, 0x10✶, 0x17✶ | Ref5 + 300 800 + (n-1) |
Coil 1 Bit read/write |
Eingang AI4 aktivieren ⇒ n = 4 Adresse = 800 + 4 - 1 = 803 |
✶ Digitale Eingänge, Ausgänge und Signale (Modbus Discrete Inputs bzw. Coils) lassen sich auch mit den Function Codes für Input- bzw. Holding-Register lesen bzw. schreiben. Beim Lesezugriff wird dabei anstatt eines Bits 0 oder 1 jeweils ein 16Bit-Integerwert von 0x0000 bzw. 0x0001 zurückgegeben. Beim Schreibzugriff wird jeder 16Bit-Integer-Wert, der nicht 0x0000 ist, als Bitwert = 1 geschrieben. Ein Wert von 0x0000 setzt das Bit auf 0.
Digitale Ausgänge
Der Ausgang mit Nummer n kann wie folgt adressiert werden:
Ref# | Ausgang | Funktion des Parameters | Function Code | Adresse | Datentyp | Adress-Beispiele |
---|---|---|---|---|---|---|
10 | Digitale Ausgänge DOn | aktueller Wert des Ausgangs | 0x01, 0x03✶, 0x05, 0x06✶, 0x0F, 0x10✶, 0x17✶ | 1000 + (n-1) | Coil 1 Bit read/write |
Digitalausgang DO6 ⇒ n = 6 Adresse = 1000 + 6 - 1 = 1005 |
11 | Handbetriebs-Zustand des Ausgangs | 0x01, 0x03✶, 0x05, 0x06✶, 0x0F, 0x10✶, 0x17✶ | Ref10 + 100 1100 + (n-1) |
Coil 1 Bit read/write |
Handbetriebs-Zustand von DO4 ⇒ n = 4 Adresse = 1100 + 4 - 1 = 1103 |
|
12 | 0: Auto (Regelbetrieb), 1: Handbetrieb | 0x01, 0x03✶, 0x05, 0x06✶, 0x0F, 0x10✶, 0x17✶ | Ref10 + 200 1200 + (n-1) |
Coil 1 Bit read/write |
Handbetrieb von DO1 ⇒ n = 1 Adresse = 1200 + 1 - 1 = 1200 |
|
13 | 0: Ausgang deaktiviert, 1: Ausgang aktiviert | 0x01, 0x03✶, 0x05, 0x06✶, 0x0F, 0x10✶, 0x17✶ | Ref10 + 300 1300 + (n-1) |
Coil 1 Bit read/write |
Ausgang DO3 aktivieren ⇒ n = 3 Adresse = 1300 + 3 - 1 = 1302 |
|
15 | Analoge Ausgänge AOn als Logik-Ausgänge | aktueller Wert des Ausgangs | 0x01, 0x03✶, 0x05, 0x06✶, 0x0F, 0x10✶, 0x17✶ | 1500 + (n-1) | Coil 1 Bit read/write |
Analogausgang AO3 ⇒ n = 3 Adresse = 1500 + 3 - 1 = 1502 |
16 | Handbetriebs-Zustand des Ausgangs | 0x01, 0x03✶, 0x05, 0x06✶, 0x0F, 0x10✶, 0x17✶ | Ref15 + 100 1600 + (n-1) |
Coil 1 Bit read/write |
Handbetriebs-Zustand von AO4 ⇒ n = 4 Adresse = 1600 + 4 - 1 = 1603 |
|
17 | 0: Auto (Regelbetrieb), 1: Handbetrieb | 0x01, 0x03✶, 0x05, 0x06✶, 0x0F, 0x10✶, 0x17✶ | Ref15 + 200 1700 + (n-1) |
Coil 1 Bit read/write |
Handbetrieb von AO2 ⇒ n = 2 Adresse = 1700 + 2 - 1 = 1701 |
|
18 | 0: Ausgang deaktiviert, 1: Ausgang aktiviert | 0x01, 0x03✶, 0x05, 0x06✶, 0x0F, 0x10✶, 0x17✶ | Ref15 + 300 1800 + (n-1) |
Coil 1 Bit read/write |
Ausgang AO1 aktivieren ⇒ n = 1 Adresse = 1800 + 1 - 1 = 1800 |
✶ Digitale Eingänge, Ausgänge und Signale (Modbus Discrete Inputs bzw. Coils) lassen sich auch mit den Function Codes für Input- bzw. Holding-Register lesen bzw. schreiben. Beim Lesezugriff wird dabei anstatt eines Bits 0 oder 1 jeweils ein 16Bit-Integerwert von 0x0000 bzw. 0x0001 zurückgegeben. Beim Schreibzugriff wird jeder 16Bit-Integer-Wert, der nicht 0x0000 ist, als Bitwert = 1 geschrieben. Ein Wert von 0x0000 setzt das Bit auf 0.
Analoge Eingänge
Der Eingang mit Nummer n kann wie folgt adressiert werden:
Ref# | Eingang | Funktion des Parameters | Function Code | Adresse | Datentyp | Adress-Beispiele |
---|---|---|---|---|---|---|
20 | Analoge Eingänge AIn | aktueller Wert des Eingangs | 0x04 | 2000 + 2*(n-1) | Input Registers (16 Bit) 32 Bit float read only |
Analogeingang AI8 ⇒ n = 8 Adresse = 2000 + 2 * (8 - 1) = 2014 |
22 | Simulations-Wert des Eingangs | 0x03, 0x10, 0x17 | Ref20 + 200 2200 + 2*(n-1) |
Holding Registers (16 Bit) 32 Bit float read/write |
Simulations-Wert von AI5 ⇒ n = 5 Adresse = 2200 + 2 * (5 - 1) = 2208 |
|
24 | 0: Auto (Regelbetrieb), 1: Simulation | 0x01, 0x03✶, 0x05, 0x06✶, 0x0F, 0x10✶, 0x17✶ | 2400 + (n-1) | Coil 1 Bit read/write |
Simulation von AI2 aktivieren ⇒ n = 2 Adresse = 2400 + 2 - 1 = 2401 |
|
25 | 0: Eingang deaktiviert, 1: Eingang aktiviert | 0x01, 0x03✶, 0x05, 0x06✶, 0x0F, 0x10✶, 0x17✶ | 2500 + (n-1) | Coil 1 Bit read/write |
Eingang AI7 aktivieren ⇒ n = 7 Adresse = 2500 + 7 - 1 = 2506 |
|
26 | Digitale Eingänge DIn als Analog-Eingänge Wert 1 |
aktueller Wert 1 des Eingangs | 0x04 | 2600 + 2*(n-1) | Input Registers (16 Bit) 32 Bit float read only |
Analogwert 1 von DI1 ⇒ n = 1 Adresse = 2600 + 2 * (1 - 1) = 2600 |
28 | Simulations-Wert 1 des Eingangs | 0x03, 0x10, 0x17 | Ref26 + 200 2800 + 2*(n-1) |
Holding Registers (16 Bit) 32 Bit float read/write |
Simulations-Wert des Analogwerts 1 von DI4 ⇒ n = 4 Adresse = 2800 + 2 * (4 - 1) = 2806 |
|
30 | 0: Auto (Regelbetrieb), 1: Simulation 1 | 0x01, 0x03✶, 0x05, 0x06✶, 0x0F, 0x10✶, 0x17✶ | 3000 + (n-1) | Coil 1 Bit read/write |
Simulation Analogwert 1 von DI2 aktivieren ⇒ n = 2 Adresse = 3000 + 2 - 1 = 3001 |
|
31 | 0: Eingang 1 deaktiviert, 1: Eingang 1 aktiviert | 0x01, 0x03✶, 0x05, 0x06✶, 0x0F, 0x10✶, 0x17✶ | 3100 + (n-1) | Coil 1 Bit read/write |
Analogwert 1 von Eingang DI3 aktivieren ⇒ n = 3 Adresse = 3100 + 3 - 1 = 3102 |
|
32 | Digitale Eingänge DIn als Analog-Eingänge Wert 2 |
aktueller Wert 2 des Eingangs | 0x04 | 3200 + 2*(n-1) | Input Registers (16 Bit) 32 Bit float read only |
Analogwert 2 von DI1 ⇒ n = 1 Adresse = 3200 + 2 * (1 - 1) = 3200 |
34 | Simulations-Wert 2 des Eingangs | 0x03, 0x10, 0x17 | Ref32 + 200 3400 + 2*(n-1) |
Holding Registers (16 Bit) 32 Bit float read/write |
Simulations-Wert des Analogwerts 2 von DI4 ⇒ n = 4 Adresse = 3400 + 2 * (4 - 1) = 3406 |
|
30 | 0: Auto (Regelbetrieb), 1: Simulation 2 | 0x01, 0x03✶, 0x05, 0x06✶, 0x0F, 0x10✶, 0x17✶ | 3600 + (n-1) | Coil 1 Bit read/write |
Simulation Analogwert 2 von DI2 aktivieren ⇒ n = 2 Adresse = 3600 + 2 - 1 = 3601 |
|
31 | 0: Eingang deaktiviert, 1: Eingang 2 aktiviert | 0x01, 0x03✶, 0x05, 0x06✶, 0x0F, 0x10✶, 0x17✶ | 3700 + (n-1) | Coil 1 Bit read/write |
Analogwert 2 von Eingang DI3 aktivieren ⇒ n = 3 Adresse = 3700 + 3 - 1 = 3702 |
✶ Digitale Eingänge, Ausgänge und Signale (Modbus Discrete Inputs bzw. Coils) lassen sich auch mit den Function Codes für Input- bzw. Holding-Register lesen bzw. schreiben. Beim Lesezugriff wird dabei anstatt eines Bits 0 oder 1 jeweils ein 16Bit-Integerwert von 0x0000 bzw. 0x0001 zurückgegeben. Beim Schreibzugriff wird jeder 16Bit-Integer-Wert, der nicht 0x0000 ist, als Bitwert = 1 geschrieben. Ein Wert von 0x0000 setzt das Bit auf 0.
Analoge Ausgänge
Der Ausgang mit Nummer n kann wie folgt adressiert werden:
Ref# | Ausgang | Funktion des Parameters | Function Code | Adresse | Datentyp | Adress-Beispiele |
---|---|---|---|---|---|---|
40 | Analoge Ausgänge AOn | aktueller Wert des Ausgangs | 0x03, 0x10, 0x17 | 4000 + 2*(n-1) | Holding Registers (16 Bit) 32 Bit float read/write |
Analogausgang AO4 ⇒ n = 4 Adresse = 4000 + 2 * (4 - 1) = 4006 |
42 | Handbetriebs-Zustand des Ausgangs | 0x03, 0x10, 0x17 | Ref40 + 200 4200 + 2*(n-1) |
Holding Registers (16 Bit) 32 Bit float read/write |
Handbetriebs-Zustand von AO2 ⇒ n = 2 Adresse = 4200 + 2 * (2 - 1) = 4202 |
|
44 | 0: Auto (Regelbetrieb), 1: Handbetrieb | 0x01, 0x03✶, 0x05, 0x06✶, 0x0F, 0x10✶, 0x17✶ | 4400 + (n-1) | Coil 1 Bit read/write |
Handbetrieb von AO1 ⇒ n = 1 Adresse = 4400 + 1 - 1 = 4400 |
|
45 | 0: Ausgang deaktiviert, 1: Ausgang aktiviert | 0x01, 0x03✶, 0x05, 0x06✶, 0x0F, 0x10✶, 0x17✶ | 4500 + (n-1) | Coil 1 Bit read/write |
Ausgang AO3 aktivieren ⇒ n = 3 Adresse = 4500 + 3 - 1 = 4502 |
✶ Digitale Eingänge, Ausgänge und Signale (Modbus Discrete Inputs bzw. Coils) lassen sich auch mit den Function Codes für Input- bzw. Holding-Register lesen bzw. schreiben. Beim Lesezugriff wird dabei anstatt eines Bits 0 oder 1 jeweils ein 16Bit-Integerwert von 0x0000 bzw. 0x0001 zurückgegeben. Beim Schreibzugriff wird jeder 16Bit-Integer-Wert, der nicht 0x0000 ist, als Bitwert = 1 geschrieben. Ein Wert von 0x0000 setzt das Bit auf 0.
Regler-interne Signale
Digitale Signale
Das Signal mit Nummer n kann wie folgt adressiert werden:
Ref# | Signal | Funktion des Parameters | Function Code | Adresse | Datentyp | Adress-Beispiele |
---|---|---|---|---|---|---|
50 | Digitale Signale DSn | aktueller Wert des Signals | 0x01, 0x03✶, 0x05, 0x06✶, 0x0F, 0x10✶, 0x17✶ | 5000 + (n-1) | Coil 1 Bit read/write |
Digitalsignal DS25 ⇒ n = 25 Adresse = 5000 + 25 - 1 = 5024 |
55 | Simulations-Wert des Signals | 0x01, 0x03✶, 0x05, 0x06✶, 0x0F, 0x10✶, 0x17✶ | Ref50 + 500 5500 + (n-1) |
Coil 1 Bit read/write |
Simulations-Wert von DS13 ⇒ n = 13 Adresse = 5500 + 2 * (13 - 1) = 5524 |
|
60 | 0: Auto (Regelbetrieb), 1: Simulation | 0x01, 0x03✶, 0x05, 0x06✶, 0x0F, 0x10✶, 0x17✶ | Ref50 + 1000 6000 + (n-1) |
Coil 1 Bit read/write |
Simulation von DS2 aktivieren ⇒ n = 2 Adresse = 6000 + 2 - 1 = 6001 |
|
65 | 0: Signal deaktiviert, 1: Signal aktiviert | 0x01, 0x03✶, 0x05, 0x06✶, 0x0F, 0x10✶, 0x17✶ | Ref50 + 1500 6500 + (n-1) |
Coil 1 Bit read/write |
Eingang DS7 aktivieren ⇒ n = 7 Adresse = 6500 + 7 - 1 = 6506 |
✶ Digitale Eingänge, Ausgänge und Signale (Modbus Discrete Inputs bzw. Coils) lassen sich auch mit den Function Codes für Input- bzw. Holding-Register lesen bzw. schreiben. Beim Lesezugriff wird dabei anstatt eines Bits 0 oder 1 jeweils ein 16Bit-Integerwert von 0x0000 bzw. 0x0001 zurückgegeben. Beim Schreibzugriff wird jeder 16Bit-Integer-Wert, der nicht 0x0000 ist, als Bitwert = 1 geschrieben. Ein Wert von 0x0000 setzt das Bit auf 0.
Analoge Signale
Das Signal mit Nummer n kann wie folgt adressiert werden:
Ref# | Signal | Funktion des Parameters | Function Code | Adresse | Datentyp | Adress-Beispiele |
---|---|---|---|---|---|---|
70 | Analoges Signal ASn | aktueller Wert des Signals | 0x03, 0x10, 0x17 | 7000 + 2*(n-1) | Holding Registers (16 Bit) 32 Bit float read/write |
Analogsignal AS5 ⇒ n = 5 Adresse = 7000 + 2 * (5 - 1) = 7008 |
75 | Simulations-Wert des Signals | 0x03, 0x10, 0x17 | Ref70 + 500 7500 + 2*(n-1) |
Holding Registers (16 Bit) 32 Bit float read/write |
Simulations-Wert von AS16 ⇒ n = 16 Adresse = 7500 + 2 * (16 - 1) = 7530 |
|
80 | 0: Auto (Regelbetrieb), 1: Simulation | 0x01, 0x03✶, 0x05, 0x06✶, 0x0F, 0x10✶, 0x17✶ | 8000 + (n-1) | Coil 1 Bit read/write |
Simulation von AS1 aktivieren ⇒ n = 1 Adresse = 8000 + 1 - 1 = 8000 |
|
85 | 0: Signal deaktiviert, 1: Signal aktiviert | 0x01, 0x03✶, 0x05, 0x06✶, 0x0F, 0x10✶, 0x17✶ | 8500 + (n-1) | Coil 1 Bit read/write |
Eingang AS32 aktivieren ⇒ n = 32 Adresse = 8500 + 32 - 1 = 8531 |
✶ Digitale Eingänge, Ausgänge und Signale (Modbus Discrete Inputs bzw. Coils) lassen sich auch mit den Function Codes für Input- bzw. Holding-Register lesen bzw. schreiben. Beim Lesezugriff wird dabei anstatt eines Bits 0 oder 1 jeweils ein 16Bit-Integerwert von 0x0000 bzw. 0x0001 zurückgegeben. Beim Schreibzugriff wird jeder 16Bit-Integer-Wert, der nicht 0x0000 ist, als Bitwert = 1 geschrieben. Ein Wert von 0x0000 setzt das Bit auf 0.
Zustände der Funktionsmodule
Der Zustand des Funktionsmoduls mit Nummer n kann wie folgt adressiert werden:
Ref# | Signal | Funktion des Parameters | Function Code | Adresse | Datentyp | Adress-Beispiele |
---|---|---|---|---|---|---|
90 | Störung ERR0 | Sammelfehler, aktiv wenn mindestens ein Modul eine Störung hat | 0x02 | 10000 | Discrete Input 1 Bit read only |
|
91 | Störung ERRn | Störungszustand des Funktionsmoduls n | 0x02 | 10000 + n✶ | Discrete Input 1 Bit read only |
Das Funktionsmodul Eingänge (n=104✶) hat eine Störung (z.B. Fühler-Unterbruch) ⇒ Störsignal ERR104 an Adresse 10104 ist 1. |
✶ Die Definitionen der Modulnummern von Systemfunktionen sind unter Definitionen im Unterabschnitt "Modulnummern von Systemfunktionen" zu finden.
Die Modulnummern der Benutzer-konfigurierten Funktionen werden vom eNet1 beim Hinzufügen der Funktion von 2 bis 99 vergeben. Wenn ein Funktionsmodul in der
Detailansicht der erweiterten eNet1-Webseitenansicht geladen ist, so ist die Modulnummer in der URL sichtbar:
http://169.254.37.1/index-auth.html?modul=2
Konfigurationen, Einstellungen und Messwerte
Mit Hilfe der Modbus-Datei-Zugriffs-Funktionen (Function Codes 0x14 und 0x15) kann auf die Parameter aller Funktionsmodule zugegriffen werden.
File Number
Die File Number ergibt sich aus der Nummer des Funktionsmoduls m, auf welches zugegriffen werden soll, sowie aus der Informationsgruppe wie folgt:
File Number | Informationsgruppe | Sprache/Format | Inhaltskurzbeschreibung |
---|---|---|---|
m | Parameter-Werte | UTF8-Text | Vollständiger Zugriff auf alle Konfigurationsparameter, Betriebs- und Benutzer-Einstellungen, Messwerte und weiterer Kenngrössen (u.a. Modulbezeichnung) des Moduls mit Nummer n-1 |
1000 + m✶ | Binärformat (Datentyp siehe File Record) |
||
2000 + m✶ | Parameter-Datentyp | UTF8-Text | String zur Kennzeichnung der Datentypen der Parameter-Werte im Binärformat. Daten dieser Informationsgruppe können nur gelesen werden (read only). |
10000 + m | Parameter-Bezeichnungen | Deutsch UTF8-Text |
Parameterbezeichnung, wie auf der Webseite dargestellt. Diese kann z.B. zum Erstellen einer eigenen Bedienoberfläche verwendet werden. Daten dieser Informationsgruppe können nur gelesen werden (read only). |
✶ derzeit nicht implementiert
Record Number
Die einzelnen Parameter innerhalb des Funktionsmoduls sind
über die Record Number adressierbar. Die Parameter-Nummern bzw.
Record Number der einzelnen Parameter werden auf der Webseite
des Reglers in der jeweiligen Parameter-Beschreibung (Klick
auf Parameter-Bezeichnung) angezeigt.
Die Parameter-Nummern sind wie folgt gruppiert:
Record Number | Lese-/Schreibzugriff | Inhaltskurzbeschreibung |
---|---|---|
0 bis 999 ✶ | Modulspezifische Informationen, wie Funktionstyp (RW), Modul-Bezeichnung (RW), Statusmeldungen (R) usw. | |
1000 bis 1999 | RW | Konfigurations-Parameter des jeweiligen Moduls, abhängig vom Funktionstyp. |
2000 bis 2999 | RW | Betriebs-Einstellungen des jeweiligen Moduls, abhängig vom Funktionstyp. |
3000 bis 3999 | RW | Benutzer-Einstellungen des jeweiligen Moduls, abhängig vom Funktionstyp. |
4000 bis 4999 | R | Messwerte (dieser Adressbereich kann nur gelesen werden) des jeweiligen Moduls, abhängig vom Funktionstyp. |
✶ derzeit nicht implementiert