Exemple : écriture de paramètres
La fonction SDO WRITE permet d'écrire les paramètres. Pour cela, l'index et le sous-index du paramètre qui doit être écrit sont nécessaires.
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_EcCoeSdoWrite. - Affectation des entrées du bloc fonction

Entrée | Valeur |
|---|---|
sNetID | ID réseau du maître EtherCAT® |
nSlaveAddr | Adresse EtherCAT® de l'appareil sur lequel les données doivent être écrites. |
nIndex | Index du paramètre qui doit être écrit. 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 écrit. |
pDstBuf | Pointeur sur la plage de données dans laquelle se trouvent les valeurs qui doivent être écrites. |
cbBufLen | Espace mémoire maximal en octets occupé par le paramètre qui doit être écrit. 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 l'écriture. |
tTimeout | Durée de time out du bloc fonction |
- Mettre à l'échelle la valeur qui doit être écrite, en fonction du paramètre.
- Pour démarrer la procédure, l'entrée bExecute doit détecter un front "Rising Edge" (front positif).
- Dans le présent exemple, la limite de tension a été écrite avec une nouvelle valeur. La valeur a été mise à l'échelle avec un facteur de 1000 avant l'exécution de la fonction.
- Les sortie bBusy et bError signalent l'état de la fonction. Si un défaut apparaît lors de l'exécution de la fonction que l'entrée bError a été activée, la sortie nErrId indique le numéro de défaut.

