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).
  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_EcCoeSdoWrite.
  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 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

  1. Mettre à l'échelle la valeur qui doit être écrite, en fonction du paramètre.
  2. 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.