Lesen von Modbus TCP/IP in den Einstellungen Gateway Impulse C07W

1

.

Anforderungen

Um Einstellungen zu bearbeiten, brauchen Sie das Benutzerrecht "GatewaySettings" .

2

.

Einstellungen verstehen

Die Einstellungen werden vom System immer im JSON-Format verarbeitet, bevor sie an das Gateway gesendet werden.

Diese JSON-Einstellungen sind in 2 Teile unterteilt:

SlaveDefinitions

In "slaveDefinitions" legen Sie fest, was Sie auslesen wollen. Unter "Slave" gibt es eine Reihe von Einstellungen:

  • address: das ist die IP-Adresse des Modbus-Slaves, den man auslesen möchte.
  • slaveId: dies ist die Slave-Id des Modbus-Slaves, den man auslesen möchte.
  • type: um selbst zu wählen, welches Register gelesen werden soll, geben Sie hier "generic-tcp" ein.

Beispiel für einen SlaveDefinitions-Block:

    "slaveDefinitions": [

        {

            "name": "modbus.tcp",

            "slaves": [

                {

                    "address": "192.168.2.11",

                    "port": 502,

                    "slaveId": 1,

                    "type": "generic-tcp"

                },

                {

                    "address": "192.168.2.12",

                    "port": 502,

                    "slaveId": 1,

                    "type": "generic-tcp"

                }

            ]

        }

    ]

SlaveSettings

Für jeden Slave, den Sie in SlaveDefinitions definiert haben, können Sie in SlaveSettings festlegen, welche Register Sie tatsächlich ausgelesen werden sollen.

In SlaveSettings beginnen Sie mit der Definition des Namens, immer in folgendem Format:

modbus.tcp.{ip_adres}__{port}.{slave_id}

  • - ip_adres: ist die IP-Adresse des Slaves. Hinweis: Verwenden Sie "_" anstelle eines ".".
  • - Port: Dies ist standardmäßig 502 für Modbus.
  • - slave_id: die Slave-ID, die Sie in den SlaveDefinitionen notiert haben.

Zum Beispiel: modbus.tcp.192_168_2_11__502.1 (IP-adres = 192.168.2.11. Slave id = 3).

Außerdem legen Sie in MeasurementPaths fest, welche Modbus-Register sie auslesen wollen.

  • MeasurementPath:dies ist der Name des Pfades, in dem die Daten gespeichert werden.
  • Funktionscodes
    • 1: Read Coil Status
    • 2: Read Input Status
    • 3: Read Holding Register
    • 4: Read Input Register
    • 5: Force Single Coil
    • 6: Preset Single Register
    • 15: Force Multiple Coils
    • 16: Preset Multiple Registers
  • startAddress:tragen Sie hier die Modbusadresse ein, die Sie auslesen möchten.
  • dataType:
    • 1: Int16
    • 2: Int32
    • 3: Int64
    • 11: UInt16
    • 12: UInt32
    • 13: UInt64
    • 21: Float
    • 22: Double
    • 30: Bool
  • minValue (optional): Wenn ein Mindestwert angegeben wird, wird er nicht weitergeleitet, wenn der gelesene Wert unter diesem Wert liegt.
  • maxValue (optional): Wird ein Maximalwert angegeben, wird er nicht weitergeleitet, wenn der gelesene Wert über diesem Wert liegt.
  • firstBit (optional): wenn Sie ein oder mehrere Bits eines Registers lesen wollen, geben Sie hier das erste Bit ein.
  • lastBit (optional): Wenn Sie ein oder mehrere Bits eines Registers lesen wollen, geben Sie hier das letzte Bit ein.

Sie wollen Bit X lesen: "0000 0X00". In diesem Fall verwenden Sie "FirstBit": 2 und "LastBit": 2.

Sie wollen die Bits XX auslesen: "XX00 0000". In diesem Fall verwenden Sie "FirstBit": 6 und "LastBit": 7.

Wählen Sie als Datentyp Int16 (1 in den Gateway-Einstellungen).

Beispiel für einen SlaveSettings-Block:

    "slaveSettings": [

        {

            "name": "modbus.tcp.192_168_2_11__502.1",

            "settings": {

                "measurementPaths": [

                    {

                        "measurementPath": "voltage.uv",

                        "functionCode": 4,

                        "startAddress": 0,

                        "dataType": 1,

                        "factor": 1,

                        "minValue": 0,

                        "maxValue": 500

                    }

                ]

            }

        },

        {

            "name": "modbus.tcp.192_168_2_12__502.1",

            "settings": {

                "measurementPaths": [

                    {

                        "measurementPath": "alarm_1,

                        "functionCode": 3,

                        "startAddress": 1,

                        "dataType": 1,

                        "factor": 1,

                        "minValue": 0,

                        "maxValue": 1,

                        "firstBit": 7,

                        "lastBit": 7

                    }

                ]

            }

        }

    ]

3

.

Beispiel für eine vollständige Einstellungsdefinition

{

    "slaveDefinitions": [

        {

            "name": "modbus.tcp",

            "slaves": [

                {

                    "address": "192.168.2.11",

                    "port": 502,

                    "slaveId": 1,

                    "type": "generic-tcp"

                },

                {

                    "address": "192.168.2.12",

                    "port": 502,

                    "slaveId": 1,

                    "type": "generic-tcp"

                }

            ]

        }

    ],

    "slaveSettings": [

        {

            "name": "modbus.tcp.192_168_2_11__502.1",

            "settings": {

                "measurementPaths": [

                    {

                        "measurementPath": "voltage.uv",

                        "functionCode": 4,

                        "startAddress": 0,

                        "dataType": 1,

                        "factor": 1,

                        "minValue": 0,

                        "maxValue": 500

                    }

                ]

            }

        },

        {

            "name": "modbus.tcp.192_168_2_12__502.1",

            "settings": {

                "measurementPaths": [

                    {

                        "measurementPath": "alarm_1,

                        "functionCode": 3,

                        "startAddress": 1,

                        "dataType": 1,

                        "factor": 1,

                        "minValue": 0,

                        "maxValue": 1,

                        "firstBit": 7,

                        "lastBit": 7

                    }

                ]

            }

        }

    ]

}

Fortgeschritten Tag hinzufügen

    Related Articles

Brauchen Sie Unterstützung?

Sie können die Antwort, die Sie suchen, nicht finden? Machen Sie sich keine Sorgen, wir sind hier, um Ihnen zu helfen!

Bitten Sie um Hilfe
Language Choice Disclaimer

These texts have been automatically translated using advanced AI translation tools. If you notice any inaccuracies or errors, please help us improve by sending a message to hello@calculus.group. Your feedback assists us in enhancing the quality of our multilingual documentation.