Acquisition des données
Last updated
Last updated
Lorsqu'on ajoute une variable, il sera demandé plusieurs paramètres :
Il s'agit de l'équipement qui héberge la variable. Il faut choisir dans la liste déroulante entre les différents équipements que vous avez défini dans l'onglet précédent.
Il s'agit du nom de la variable
Le Modbus prend en charge deux types d'opérations :
Lecture : il s'agit de la lecture de données comme des variables booléennes, entières, …
Écriture : il s'agit de l'écriture de données comme par exemple une action sur un bouton poussoir virtuel ou un changement de seuil sur le système de supervision
Il existe un certain nombre de zones de mémoire définies dans la spécification Modbus.
Valeur d'entrée booléenne, représentant généralement une entrée binaire vers l'automate.
Alias de zone mémoire "discrete-input:" ou "1" ou "1x"
bit-taille "1"
Lecture
Adresse de départ "1"
Valeur booléenne, représentant généralement une zone binaire de l'automate.
Alias de zone mémoire "coil:" ou "0" ou "0x"
bit-taille "1"
Lecture ou écriture
Adresse de départ "1"
Valeur d'entrée entiére, représentant généralement une entrée analogique vers l'API
Alias de zone mémoire "input-register:" ou "3" ou "3x"
Bit-taille "16"
Lecture
Adresse de départ "1"
Valeur entière, représentant généralement une zone mémoire de l'automate.
Alias de zone mémoire "holding-register:" ou "4" ou "4x"
bit-taille "16"
lecture écriture
adresse de départ "1"
Valeur entière, représentant généralement une zone mémoire de l'automate.
Alias de zone mémoire "extended-register:" ou "6" ou "6x" ;
bit-taille "16"
lecture écriture
adresse de départ "0"
Il s'agit de l'adresse de la zone mémoire de la variable.
Il s'agit de la taille de la variable
Il faut laisser la taille à 1 et jouer sur le type de variable
Il s'agit du type de la variable
Voici les types de données prises en charge :
BOOL (booléen)
SINT (int 8)
USINT (uint 8)
BYTE (uint 8)
INT (int 16)
UINT (uint 16)
MOT (uint 16)
DINT (int 32)
UDINT (uint 32)
DWORD (uint 32)
LINT (int 64)
ULINT (uint 64)
LWORD (uint 64)
REAL (flottant)
LREAL (double)
CHAR (char)
WCHAR (caractère de 2 octets)
Il s'agit de savoir de quel manière sont enregistrés/transmis l'octet de poids faible et supérieur.
De l’ordre des octets dans lequel l’octet de poids le plus faible est enregistré à l’adresse mémoire la plus petite ou transmis premièrement, et l’octet de poids supérieur est enregistré à l’adresse mémoire suivante ou transmis deuxièmement.
La plupart des zones de mémoire commencent à l'adresse 1, à l'exception de la zone de registre étendue qui commence à 0. Celles-ci sont toutes deux mappées à 0x0000 lorsqu'elles sont envoyées dans le protocole Modbus.
Les registres d'entrée, de maintien et étendus sont constitués de registres 16 bits tandis que les zones d'entrée et de bobine discrètes sont constituées de bits.
Les codes de fonction Modbus suivants sont pris en charge :
0x01 (lire les coils)
0x02 (Lire les entrées discrètes)
0x03 (Lire les registres de maintien)
0x04 (Lire les registres d'entrée)
0x05 (écrire une seule coils)
0x06 (écrire un seul registre)
0x0F (écrire plusieurs coils)
0x10 (écrire plusieurs registres)
0x14 (lire l'enregistrement de fichier) (lecture de registre étendue)
0x15 (écriture d'enregistrement de fichier) (écriture de registre étendue)