Maître

Une instance du type « IoDrvEtherCAT » est générée pour chaque maître EtherCAT inséré dans l'arborescence des appareils.

Entrées (maître)

Name

Type de données

Description

xRestart

BOOL

Front montant : le maître est redémarré et tous les paramètres de configuration sont rechargés.

xStopBus

BOOL

TRUE : la communication est interrompue. Aucun autre télégramme EtherCAT n'est envoyé. La plupart des appareils doivent ensuite être redémarrés car ils sont passés à l'état d'erreur.

Sorties (maître)

Name

Type de données

Description

xConfigFinished

BOOL

TRUE : le transfert de tous les paramètres de configuration s'est terminé sans erreur. La communication sur le bus est en cours.

xDistributedClockInSync

BOOL

Si des horloges distribuées sont utilisées, l'automate est synchronisé avec le premier esclave EtherCAT pour lequel l'option DC est activée.
La sortie devient TRUE dès que la synchronisation est terminée avec succès. Ce signal peut alors être utilisé, par exemple, pour activer des blocs fonction SoftMotion uniquement lorsque l'automate est en mode synchrone, autrement des sauts de position peuvent se produire. Lorsque l'API démarre, la sortie est FALSE et passe à TRUE après quelques secondes. Si la synchronisation est perdue en raison d'erreurs, la sortie est réinitialisée sur FALSE.

xError

BOOL

La sortie devient TRUE si
• une erreur se produit lors du démarrage de la pile EtherCAT
• la communication avec les esclaves est interrompue car aucun autre message ne peut être reçu (par exemple en raison d'une rupture de câble).

xSyncInWindow

BOOL

La sortie devient TRUE si l'option Sync Window Monitoring est activée et que tous les esclaves sont synchronisés dans la Sync Window.

Exemples

Caractéristiques du maître

Paramètres

Description

AutoSetOperational

TRUE : Le maître essaie de redémarrer les esclaves immédiatement après une interruption de la communication.
Défaut : FALSE

ConfigRead

TRUE : la lecture de la configuration est terminée et l'utilisateur peut modifier les paramètres, par exemple pour ajouter des SDO qu'il a lui-même définis.

DCInSyncWindow

Fenêtre de temps pour XDistributedClockInSync. La gigue doit se trouver dans la fenêtre pour que le signal de sortie XDistributedClockInSync reste définitivement TRUE.
Défaut : 50 microsecondes

DCClockReferenceTime

Renvoie l'heure actuelle du premier esclave avec « Distributed Clock ». Ce temps est le temps de référence pour tous les autres esclaves et l'automate lui-même.

DCIntegralDivider

Facteur intégral pour la boucle de contrôle d'horloge distribuée ;
Défaut : 20

DCPropFactor

Facteur proportionnel pour la boucle de contrôle d'horloge distribuée ;
Défaut : 25

DCSyncToMaster

Synchronisation d'horloge distribuée sur le maître ; s'il est défini sur TRUE, alors tous les esclaves sont synchronisés avec le maître au lieu d'une synchronisation du premier esclave avec l'API.
Défaut : FALSE

DCSyncToMasterWithSysTime

Synchronisation d'horloge distribuée sur le maître
TRUE : tous les esclaves sont synchronisés sur l'heure système du maître. L'heure lue par « SysTimeRtcHighResGet » permet de répartir l'heure système de l'automate sur tous les esclaves EtherCAT.
Défaut : FALSE

EnableTaskOutputMessage

Les messages EtherCAT sont normalement envoyés par la tâche de cycle de bus et les sorties esclaves sont également utilisées par chaque tâche. Dans la tâche de cycle de bus, toutes les sorties sont écrites et toutes les entrées sont lues. Dans d'autres tâches, les sorties sont transférées une fois de plus afin qu'elles puissent être immédiatement écrites dans les esclaves correspondants. Il s'agit d'une tentative de maintenir le temps mort jusqu'à l'écriture aussi court que possible. Avec les horloges distribuées, cela peut causer des problèmes dans certains appareils, par exemple les servo-contrôleurs ne sont pas synchronisés avec l' « interruption de synchronisation », mais utilisent le temps d'écriture pour la synchronisation interne. Dans ce cas, plusieurs accès en écriture peuvent se produire au cours d'un cycle. Si « EnableTaskOutputMessage » est défini sur FALSE, seule la tâche de cycle de bus est utilisée. D'autres tâches ne généreront aucun autre message.
Défaut : TRUE

FirstSlave

Pointeur vers le premier esclave sous le maître

FrameAtTaskStart

TRUE : La trame pour les esclaves est transmise au début de la tâche (avant la tâche CEI), ce qui assure une gigue minimale. Cette commande est utilisée pour obtenir des mouvements fluides des servocommandes. Si ce flag est mis à TRUE, la trame du tampon de sortie est écrite au cycle suivant (voir schéma ci-dessous).
Défaut : FALSE

LastInstance

Pointeur vers la liste principale liée -> maître précédent

LastMessage

Cette propriété renvoie une chaîne avec le dernier message de la pile EtherCAT. Si le démarrage a réussi, « All slaves done » est renvoyé. La même chaîne est utilisée pour le message de diagnostic, qui est affiché dans la fenêtre de l'éditeur d'appareil maître EtherCAT en mode en ligne.

NextInstance

Pointeur vers la liste principale liée -> prochain maître

NumberActiveSlaves

Cette propriété renvoie le nombre d'esclaves réellement connectés. StartConfigWithLessDevice := TRUE: le nombre d'appareils réels peut être déterminé.

OpenTimeout

Délai d'expiration pour l'ouverture de la carte réseau.
Défaut : 4 secondes.

StartConfigWithLessDevice

Est utilisé pour influencer le comportement de démarrage de la pile. La pile EtherCAT s'arrête normalement si, par exemple, cinq servocontrôleurs sont configurés dans le projet, mais que trois seulement sont connectés. Cependant, si StartConfigWithLessDevice := TRUE dans le premier cycle, la pile essaiera quand même de démarrer. Il est ainsi possible, par exemple, de réaliser une configuration universelle de 10 servo-contrôleurs, mais de conserver le nombre de variable réellement connectée. Il est à noter que l'ID fabricant et l'ID produit de chaque esclave sont toujours vérifiés. Si une incompatibilité est trouvée, la pile est arrêtée.

Effet de « FrameAtTaskStart »
Effet de « FrameAtTaskStart »