Communication
6.5.3 Précautions et enregistrement des paramètres dans la mémoire non volatile
Bon nombre des paramètres d'écriture sont enregistrés dans la mémoire non volatile. Cette
mémoire possède un nombre de cycles d'écriture limité (habituellement 100 000) et par conséquent, il
est conseillé d'éviter d'écrire continuellement sur celle-ci.
La colonne E2PROM indique si un Holding Register est enregistré ou non dans la mémoire non
volatile.
Les points de consigne (registres 41010 à 41015) sont enregistrés directement lorsqu'ils sont
modifiés. Le reste des paramètres ne sont enregistrés sur E2PROM que lorsque la commande
correspondante (la 32) est écrite dans le registre de commandes (registre 41001). Si la commande
d'écriture dans la mémoire non volatile n'est pas exécutée à l'extinction de l'appareil, la valeur écrite
est perdue et l'ancienne valeur est récupérée.
6.5.4 Adressage des paramètres et variables
La répartition et l'accès aux paramètres et variables de l'appareil dans les registres MODBUS
sont les suivants :
1. La lecture des trois entrées numériques s'effectue par la commande READ DISCRETE
INPUTS. Voir tableau Discrete inputs 6.5.10.3.1.
2. La lecture de l'état des trois sorties numériques s'effectue par la commande READ COILS.
Voir tableau Coils 6.5.10.4.
3. L'écriture sur les trois sorties numériques s'effectue par les commandes WRITE SINGLE
COIL ou WRITE MULTIPLE COIL. Voir tableau Coils 6.5.10.4. L'écriture sur une sortie
numérique n'est possible que si elle est configurée pour le mode à distance (PC_Ctrl). Voir
la section 3.12.3.
4. La lecture des variables ou paramètres en lecture seule s'effectue par la commande READ
INPUT REGISTER. Voir tableau Input Registers 6.5.10.2.1
5. La lecture des paramètres de lecture/écriture s'effectue par la commande READ HOLDING
REGISTER et leur écriture s'effectue par la commande WRITE SINGLE REGISTER et
WRITE MULTIPLE REGISTER. Voir tableau Holding Registers 6.5.10.1.1. Il est important
de tenir compte du fait que chaque registre MODBUS est de 16 bits. Par conséquent, pour
écrire sur une variable de 32 bits occupant 2 registres, il faut utiliser la commande WRITE
MULTIPLE REGISTER en une seule opération car l'appareil vérifie la valeur pour valider
l'opération et il est plus simple de valider la valeur si la commande est reçue complètement
(les 32 bits).
6.5.5 Registre de commandes
Le registre de commande (holding register 41001) est utilisé pour exécuter des fonctions sur
l'appareil.
Ces fonctions peuvent être : tarer, enregistrer des paramètres sur la mémoire non volatile, etc. Le
tableau 6.5.7.2 présente la liste des commandes disponibles. L'exécution s'effectue en écrivant le code
correspondant dans ce registre. La fonction TARE PRÉDÉFINIE nécessite l'écriture préalable de la
valeur de la tare dans le registre des données de la commande (adresses 41002, 41003). Si la
commande ne peut être exécutée pour une raison quelconque, un code d'erreur sera envoyé.
6.5.6 Codes d'erreur envoyés
Dès lors que l'appareil reçoit une commande MODBUS (avec adresse et checksum corrects), il
répond par les données demandées ou une indication de l'état de l'opération. En cas d'erreur, il répond
par les codes standards suivants :
Erreur
ILLEGAL
FUNCTION
ILLEGAL
DATA
ADDRESS
6-8
Code
-
La fonction reçue n'est pas reconnue par l'appareil.
1
Le format de commande reçu est incorrect.
-
L'appareil ne possède pas de registres pour cette adresse.
-
Tentative d'écriture dans un registre de lecture seule.
-
Tentative d'écriture dans un registre accessible uniquement en
-
2
mode A DISTANCE.
Tentative d'écriture partielle (un seul registre) sur une variable
-
de 32 bits (2 registres).
Causes possibles