Uitlezen modbus TCP/IP in settings Gateway Impulse C07W

1

.

Vereisten

Om settings te bewerken heeft u het gebruikersrecht “GatewaySettings” nodig.

2

.

Settings begrijpen

De settings worden steeds in JSON-formaat verwerkt door het systeem, voor ze naar de gateway worden verstuurd.

Deze JSON settings zijn opgedeeld in 2 delen:

SlaveDefinitions

In “slaveDefinitions” bepaal je wat je zal uitlezen. Per “Slave” zijn er een aantal instellingen:

  • address: dit is het IP-adres van de modbus slave die je wilt uitlezen.
  • slaveId: dit is het slave-id van de modbus slave die je wilt uitlezen.
  • type: om zelf te kiezen welke register je wilt uitlezen geef je hier “generic-tcp” in.

Voorbeeld van een SlaveDefinitions blok:

    "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

Voor iedere slave die je in SlaveDefinitions hebt gedefinieerd, kunt u in SlaveSettings bepalen welke registers je effectief wilt uitlezen.

Allereerst start je in SlaveSettings met het bepalen van de naam, steeds in het volgende formaat:

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

  • ·         ip_adres: is het IP-adres van de slave. Let op: gebruik “_” in plaats van een “.”.
  • ·         port: deze is default 502 voor modbus.
  • ·         slave_id: het slave id dat je in de SlaveDefinitions hebt genoteerd.

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

Verder bepaal je in MeasurementPaths welke modbus registers je wilt uitlezen.

  • measurementPath: dit is de naam van het pad waar de data op wordt gezet.
  • functionCode:
    • 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: vul hier het modbus address in dat je wilt uitlezen.
  • dataType:
    • 1: Int16
    • 2: Int32
    • 3: Int64
    • 11: UInt16
    • 12: UInt32
    • 13: UInt64
    • 21: Float
    • 22: Double
    • 30: Bool
  • minValue (optioneel): indien er een minimum value is ingevuld wordt deze niet doorgestuurd als de uitgelezen waarde onder deze waarde zit.
  • maxValue (optioneel): indien er een maximum value is ingevuld wordt deze niet doorgestuurd als de uitgelezen waarde boven deze waarde zit.
  • firstBit (optioneel): wanneer u van een register één of meerdere bits wilt uitlezen, vult u hier de eerste bit in.
  • lastBit (optioneel): wanneer u van een register één of meerdere bits wilt uitlezen, vult u hier de laatste bit in.

Je wilt bit X uitlezen: “0000 0X00”. In dit geval gebruik je “FirstBit”: 2 en “LastBit”: 2.

Je wilt bits XX uitlezen: “XX00 0000”. In dit geval gebruik je “FirstBit”: 6 en “LastBit”: 7.

Kies als datatype voor Int16 (1 in de gateway settings).

Voorbeeld van een SlaveSettings blok:

    "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

.

Voorbeeld van een complete settings definitie

{

    "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

                    }

                ]

            }

        }

    ]

}

    Articles Connexes

Besoin d'aide?

Vous ne trouvez pas la réponse que vous cherchez ? Ne vous inquiétez pas, nous sommes là pour vous aider.

Demander de l'aide

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.