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).
- Ouvrir le logiciel d'ingénierie MOVISUITE® et rechercher le paramètre.
- 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.
- Créer une instance pour le bloc fonction
FB_EcCoeSdoRead. - 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 |
- 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.

