Exemple : lecture de paramètres

La fonction SDO READ permet de lire les paramètres. Pour cela, l'index et le sous-index du paramètre à lire doivent être connus.

La fonction SDO est détaillée à l'aide d'un exemple. Dans l'exemple, la fonction est exécutée dans un maître EtherCAT® de la société Beckoff Automation GmbH, dans l'outil d'ingénierie TwinCAT 3.

Procéder comme suit.

  • Les bibliothèques et blocs fonction de la fonction nécessaires pour le maître EtherCAT® ont été intégrées dans le projet TwinCAT (voir Fonctions SDO READ et WRITE).
  1. Ouvrir le logiciel d'ingénierie MOVISUITE® et rechercher le paramètre.
  2. Passer le curseur de la souris sur le champ de saisie ou le champ d'affichage du paramètre et noter l'index du paramètre qui apparaît dans l'info-bulle. Le sous-index est séparé du numéro de l'index par un point.
  3. Créer une instance pour le bloc fonction FB_EcCoeSdoRead.
  4. Affectation des entrées du bloc fonction

Entrée

Valeur

sNetID

ID réseau du maître EtherCAT®

nSlaveAddr

Adresse EtherCAT® de l'appareil dont les données doivent être lues.

nIndex

Index du paramètre qui doit être lu.

En cas d'utilisation d'un module double-axes, l'index du deuxième axe est affecté d'un offset de 0x1000 (4096 déc).

nSubIndex

Sous-index du paramètre qui doit être lu.

pDstBuf

Pointeur sur la plage de données dans laquelle les paramètres lus doivent être sauvegardés.

cbBufLen

Espace mémoire maximal en octets occupé par le paramètre qui doit être lu.

Pour les variateurs de vitesse du système d'automatisation modulaire MOVI‑C®, l'espace mémoire maximal des paramètres est toujours de quatre octets.

bExecute

Front positif qui déclenche la lecture.

tTimeout

Durée de time out du bloc fonction

  1. Pour démarrer la procédure, l'entrée bExecute doit détecter un front "Rising Edge" (front positif).
    • La valeur actuelle du paramètre est affichée dans la variable correspondante. La variable doit encore être mise à l'échelle adéquate, afin que la valeur réelle non mise à l'échelle soit affichée dans l'unité utilisateur correcte.
    • Dans le présent exemple, la valeur de la tension du circuit intermédiaire a été lue. Cette valeur doit être mise à l'échelle avec un facteur de 1000.
    • Les sortie bBusy et bError signalent l'état de la fonction SDO. Si un défaut apparaît lors de l'exécution de la fonction SDO et que l'entrée bError a été activée, la sortie nErrId indique le numéro de défaut.