Comprendre les réglages
Les paramètres sont toujours traités par le système au format JSON, avant d’être envoyés à la passerelle, et sont divisés en deux parties :
slaveDéfinitions
Dans slaveDefinitions, c’est vous qui décidez de ce que vous allez lire. Il existe plusieurs réglages pour chaque esclave :
Terrain | Valeur (comme par exemple) | Description |
|---|---|---|
« adresse » | "192.168.2.11" | L’adresse IP de l’esclave modbus. |
« Port » | 502 | Le numéro de port de l’esclave modbus. |
« slaveid » | 1 | L’identifiant esclave de l’esclave modbus. |
« type » | « generic-TCP » | Pour choisir le registre que vous souhaitez lire, spécifiez generic-tcp. |
Exemple d’un bloc slaveDefinitions
"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"
}
]
}
]EsclaveParamètres
Pour chaque esclave que vous avez défini dans slaveDefinitions, vous pouvez déterminer dans slaveSettings quels registres vous souhaitez réellement lire. Tout d’abord, vous commencez par déterminer le nom, toujours dans le format suivant :
modbus.tcp. {ip_address}__{port}. {slave_id}
ip_address : l’adresse IP de l’esclave. Utilisez un underline (« _ ») au lieu d’un point (« . »).
Port : Ceci est la norme 502 pour Modbus.
slave_id : l’identifiant esclave que vous avez spécifié dans slaveDefinitions.
Par exemple : modbus.tcp.192_168_2_11__502.1 → adresse IP = 192.168.2.11, Port = 502, ID esclave = 1.
De plus, dans measurementPaths, vous déterminez quels registres modbus vous souhaitez lire.
Terrain | Valeur (comme par exemple) | Description |
|---|---|---|
« MeasurementPath » | « voltage.uv » | Le nom du chemin sur lequel les données sont placées. |
« functionCode » | 4 | Type de registre à lire :
|
« startAddress » | 0 | L’adresse du modbus que vous souhaitez lire. |
« DataType » | 1 | Type de données à lire :
|
« facteur » | 1 | Cela détermine la factorisation de la valeur de lecture.
|
« minValue » (Optionnel) | 0 | Si une valeur minimale a été saisie, elle ne sera pas transmise si la mesure est inférieure à cette valeur. |
« maxValue » (Optionnel) | 500 | Si une valeur maximale a été saisie, elle ne sera pas transmise si la mesure est supérieure à cette valeur. |
« firstBit » (optionnel) | 7 | Si vous souhaitez lire un ou plusieurs bits d’un registre, entrez le premier bit ici. Choisissez Int16 comme type de données (type 1 dans les paramètres de la passerelle).
|
« lastBit » (optionnel) | 7 | Si vous souhaitez lire un ou plusieurs bits d’un registre, entrez le premier bit ici. Choisissez Int16 comme type de données (type 1 dans les paramètres de la passerelle).
|
Exemple de bloc slaveSettings
"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
}
]
}
}
]Exemple de définition complète des paramètres
{
"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
}
]
}
}
]
}