READ_VAR : Lecture de données à partir d'un équipement Modbus

Description de la fonction

Le bloc fonction READ_VAR permet de lire des données sur un équipement externe utilisant le protocole Modbus.

Représentation graphique

Description des paramètres spécifiques du bloc fonction READ_VAR

Entrée

Type

Commentaire

ObjType

ObjectType

ObjType est le type d'objet à lire (MW, I, IW, Q).

FirstObj

DINT

FirstObj est l'index du premier objet à lire.

Quantity

UINT

Quantity est le nombre d'objets à lire :

  • 1 à 125 : registres (types MW et IW)

  • 1 à 2000 : bits (types I et Q)

Buffer

POINTER TO BYTE

Adresse du pointeur sur le tableau qui contient les données reçues qui ont été lues de l’appareil cible. Le tableau doit être égal ou supérieur aux données à lire. Par exemple, la lecture de 4 registres requiert un tableau de 4 mots et la lecture de 32 bits requiert un tableau de 2 mots ou 4 octets dont chaque bit est défini sur la valeur correspondante de l'équipement distant. Vous devez utiliser la fonction ADR pour transmettre l'adresse du premier octet du tableau (voir le 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 reçues sur l’équipement cible. Il est recommandé de lier le paramètre Quantity défini des données à lire dans la déclaration du tampon comme dans l’exemple suivant.

Les paramètres d'entrée et de sortie communs à tous les blocs fonction de la bibliothèque PLCCommunication sont décrits dans une autre section.

Exemple

Cet exemple montre l’implémentation du bloc fonction READ_VAR en association avec le bloc fonction ADDM afin de lire deux registres commençant à l’adresse 1 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.

La figure ci-dessous illustre la déclaration et l'utilisation de la fonction READ_VAR :