Lecture du modbus RS-485 dans les paramètres de la passerelle Impulse C07W

1

.

Exigences

Pour modifier les paramètres, vous devez disposer du droit d'utilisateur "GatewaySettings" .

2

.

Comprendre les paramètres

Les paramètres sont toujours traités au format JSON par le système avant d'être envoyés à la passerelle.

Ces paramètres JSON sont divisés en deux parties :

Définitions d'esclaves

Dans "slaveDefinitions", vous déterminez ce que vous allez lire. Par "Esclave", il existe un certain nombre de paramètres :

  • adresse: il s'agit de l'identifiant de l'esclave modbus que vous souhaitez lire.
  • type:pour choisir vous-même le registre à lire, entre ici "generic-rtu".
  • débit en bauds : la vitesse de transmission exprimée en bits par seconde. Règle la même vitesse de transmission que sur l'esclave modbus.
  • bus: c'est là que la carte d'extension RTU est branchée. Si elle est sur l'expansion 1, vous choisis 102. S'il s'agit de l'extension 2, choisis 101.
  • serialconfig:utilise cette notation pour définir des paramètres de communication série avancés, tels que le nombre de bits de données, de bits d'arrêt et de bits de parité, ainsi que le protocole handshake protocol.

    baudrate: la vitesse de transmission exprimée en bits par seconde.
    bits de données: le nombre de bits utilisés par caractère.

    Pour la parité, les bits d'arrêt et le handshake, utilise les valeurs ENUM suivantes :

    parité :
    • 0 (Aucun): Pas de contrôle de parité.
    • 1 (impair): Le nombre total de bits de données est toujours un nombre impair.
    • 2 (Pair): Le nombre total de bits de données est toujours un nombre pair.
    • 3 (Mark): Le bit de parité est toujours à 1.
    • 4 (Espace): Le bit de parité est toujours 0.

bits d'arrêt:

    • 0 (Un): Un bit d'arrêt est utilisé.
    • 1 (OnePointFive): Un bit d'arrêt et demi est utilisé.
    • 2 (Deux): Deux bits d'arrêt sont utilisés.

handshake:

    • 0 (None): Aucun protocole handshake n'est appliqué.
    • 1 (RequestToSend/ClearToSend): RTS/CTS contrôle du flux.
    • 2 (XOn/XOff): Contrôle de flux basé sur le logiciel.

Exemple de bloc SlaveDefinitions:

    "slaveDefinitions": [

        {

            "name": "modbus.rtu",

            "slaves": [

                {

                    "address": 3,

                    "type": "generic-rtu",

                    "busdefinitiontype": 100,

                    "baudrate": 9600,

                    "bus": "101"

                },

                {

                    "address": 4,

                    "type": "generic-rtu",

                    "busdefinitiontype": 100,

                    "bus": "101",

                    "serialconfig": {

                        "baudrate": 19200,

                        "parity": 0,

                        "stopbits": 2,

                        "handshake": 0,

                        "databits": 8

                    }

                }

            ]

        }

    ]

Paramètres de l'esclave

Pour chaque esclave que vous avez défini dans SlaveDefinitions vous pouvez définir dans SlaveSettings les registres que vous souhaitez effectivement lire.

Tout d'abord, vous commencez dans SlaveSettings par définir le nom, toujours dans le format suivant:

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

- bus_id: le dernier chiffre du bus que vous avez noté dans SlaveDefinitions. Pour le bus 101, il s'agit de 1 et pour le bus 102 c'est 2.

- slave_id: l'identifiant de l'esclave que vous avez noté dans SlaveDefinitions.

Par exemple: modbus.rtu.mb_uart1.3 (Bus 101, donc nous utilisons 1. Slave id = 3).

En outre, dans MeasurementPaths, vous déterminez les registres modbus que vous souhaitez lire.

Vous voulez lire le bit X : "0000 0X00". Dans ce cas, vous utilisez "FirstBit" : 2 et "LastBit" : 2.

Vous voulez lire les bits XX : "XX00 0000". Dans ce cas, vous utilisez "FirstBit" : 6 et "LastBit" : 7.

Choisis Int16 (type 1 dans les paramètres de la passerelle) comme type de données.

Exemple de bloc SlaveSettings :

"slaveSettings" : [

        {

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

            "settings" : {

                "measurementPaths" : [

                    {

                        "measurementPath" : "voltage.uv",

                        "functionCode" : 4,

                        "Adresse de départ" : 0,

                        "dataType" : 1,

                        "facteur" : 1,

                        "minValue" : 0,

                        "maxValue" : 500

                    }

                ]

            }

        },

        {

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

            "settings" : {

                "measurementPaths" : [

                    {

                        "measurementPath" : "alarm_1,

                        "functionCode": 3,

                        "startAddress" : 1,

                        "dataType" : 1,

                        "facteur" : 1,

                        "minValue" : 0,

                        "maxValue": 1,

                        "firstBit": 7,

                        "lastBit": 7

                    }

                ]

            }

        }

    ]

3

.

Exemple d'une définition des paramètres complète:

{

    "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

                    }

                ]

            }

        }

    ]

}

    Related Articles

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.