WRITE_VAR : écrire des données sur un équipement Modbus
Le bloc fonction WRITE_VAR permet d'écrire des objets sur un équipement externe utilisant le protocole Modbus.
Description des paramètres spécifiques du bloc fonction WRITE_VAR
Entrée |
Type |
Commentaire |
---|---|---|
ObjType |
ObjectType |
ObjType décrit le ou les types d'objet à écrire (MW, Q). |
FirstObj |
DINT |
Le paramètre FirstObj indique l'index du premier objet à écrire. |
Quantity |
UINT |
Le paramètre Quantity indique le nombre d'objets à lire : o1 à 123 : registres (type MW) o1 à 1968 : bits (type Q) |
Buffer |
POINTER TO BYTE |
Adresse du pointeur sur le tableau qui contient les données à écrire sur l’appareil cible. Le tableau doit être égal ou supérieur aux données à écrire. Par exemple, si 4 registres doivent être écrits dans un tableau de 4 mots et l'écriture de 32 bits requiert un tableau de 2 mots ou 4 octets, chaque bit est défini sur la valeur correspondante. Utilisez la fonction ADR pour transmettre l'adresse du premier octet du tableau (reportez-vous au diagramme CFC dans l'exemple). |
NOTE : Pour empêcher tout accès non autorisé, par exemple un accès de pointeur (hors limites) dans la mémoire, veillez à ce que la taille du tableau lié à l’entrée Buffer soit égale ou supérieure aux données qui seront écrites sur l’équipement cible. Il est recommandé de lier le paramètre Quantity défini des données à écrire dans la déclaration du tampon comme dans l’exemple suivant.
|
INCOMPATIBILITE DES DONNEES ECHANGEES |
Vérifiez que les données échangées sont compatibles car les alignements de structures de données ne sont pas identiques pour tous les équipements. |
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. |
Cet exemple montre l’implémentation du bloc fonction WRITE_VAR en association avec le bloc fonction ADDM afin d’écrire 10 entrées (bobines) commençant à l’adresse 0 d’un esclave Modbus. L’esclave Modbus est défini avec l’adresse 8 et doit être joignable via l’interface de ligne série 1. La condition préalable est la configuration de Modbus Manager en tant que maître sous l'interface de ligne série 1.