Lesen des Modbus RS-485 in den Einstellungen Gateway Impulse C07W

1

.

Anforderungen

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

2

.

Verstehen der Einstellungen

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:

  • Adress: 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 ein "generic-rtu" ein.
  • baud rate: die Übertragungsrate, ausgedrückt in Bits pro Sekunde. Stellen Sie die gleiche Baudrate wie beim Modbus-Slave ein.
  • Bus: hier wird die RTU-Erweiterungskarte eingesteckt. Wenn sie sich auf Erweiterung 1 befindet, wählen Sie 102. Wenn sie sich auf Erweiterung 2 befindet, wählen Sie 101.
  • serialconfig:verwende Sie diese Notation, um erweiterte serielle Kommunikationsparameter zu setzen, wie z.B. die Anzahl der Datenbits, Stopbits und Paritätsbits, und welches Handshake-Protokoll verwendet werden soll.

    Baudrate: die Übertragungsrate, ausgedrückt in Bits pro Sekunde.
    Datenbits: die Anzahl der Bits, die pro Zeichen verwendet werden.

    Für Parität, Stoppbits und handshake werden folgende ENUM-Werte verwendet:

    Parität:
    • 0 (None): Keine Paritätsprüfung.
    • 1 (Odd): Die Gesamtzahl der Datenbits ist immer eine ungerade Zahl.
    • 2 (Even): Die Gesamtzahl der Datenbits ist immer eine gerade Zahl.
    • 3 (Mark): Das Paritätsbit ist immer 1.
    • 4 (Space): Das Paritätsbit ist immer 0.

Stop-Bits:

    • 0 (One): Es wird ein Stoppbit verwendet.
    • 1 (OnePointFive): Eineinhalb stoppbits werden verwendet.
    • 2 (Zwei): Es werden zwei Stoppbits verwendet.

handshake:

    • 0 (None): Es wird kein Handshake-Protokoll angewendet.
    • 1 (RequestToSend/ClearToSend): RTS/CTS flow-control.
    • 2 (XOn/XOff): Softwarebasierte flow-control.

Beispiel für einen SlaveDefinitions-Block:

    "slaveDefinitions": [

        {

            "name": "modbus.rtu",

            "slaves": [

                {

                    "address": 3,

                    "type": "generic-rtu",

                    "busdefinitiontype": 100,

                    "baud rate": 9600,

                    "bus": "101"

                },

                {

                    "address": 4,

                    "type": "generic-rtu",

                    "busdefinitiontype": 100,

                    "bus": "101",

                    "serialconfig": {

                        "baud rate": 19200,

                        "parity": 0,

                        "stop bits": 2,

                        "handshake": 0,

                        "data bits": 8

                    }

                }

            ]

        }

    ]

SlaveSettings

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

In SlaveSettings beginnt man zunächst mit der Definition des Namen, immer in folgendem Format:

modbus.rtu.mb_uart{bus_id}.{slave_id}

- bus_id: die letzte Ziffer des Busses, die Sie in den SlaveDefinitions notiert haben. Für Bus 101 ist sie 1 und für Bus 102 ist es die 2.

- slave_id: die Slave-ID, die Sie in SlaveDefinitions notiert haben.

Zum Beispiel: modbus.rtu.mb_uart1.3 (Bus 101, also verwenden wir 1. Slave id = 3).

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

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 "LetztesBit": 7.

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

Beispiel für einen SlaveSettings-Block:

"slaveSettings": [

        {

            "name": "modbus.rtu.mb_uart1.3",

            "settings": {

                "measurementPaths": [

                    {

                        "measurementPath": "voltage.uv",

                        "functionCode": 4,

                        "startAddress": 0,

                        "dataType": 1,

                        "factor": 1,

                        "minValue":0,

                        "maxValue": 500

                    }

                ]

            }

        },

        {

            "name": "modbus.rtu.mb_uart1.4",

            "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.rtu",

            "slaves": [

                {

                    "address": 3,

                    "type": "generic-rtu",

                    "busdefinitiontype": 100,

                    "baudrate": 9600,

                    "bus": "101"

                },

                {

                    "address": 4,

                    "type": "generic-rtu",

                    "busdefinitiontype": 100,

                    "baudrate": 9600,

                    "bus": "101"

                }

            ]

        }

    ],

    "slaveSettings": [

        {

            "name": "modbus.rtu.mb_uart1.3",

            "settings": {

                "measurementPaths": [

                    {

                        "measurementPath": "voltage.uv",

                        "functionCode": 4,

                        "startAddress": 0,

                        "dataType": 1,

                        "factor": 1,

                        "minValue": 0,

                        "maxValue": 500

                    }

                ]

            }

        },

        {

            "name": "modbus.rtu.mb_uart1.4",

            "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.