Sujet :
- Est-il possible que l'EPOS4 arrête le mouvement d'un moteur si aucune commande ou donnée n'est plus transmise par le maître (PLC, PC, ...), par exemple en raison d'une panne ou d'une interruption de la ligne de communication ?
Situation :
Une application exige que le contrôleur de moteur (par exemple EPOS4) détecte si l'échange de données du système superviseur (= maître, par exemple PLC, PC, ...) est déconnecté. Cela peut être dû à un dysfonctionnement du maître ou, plus probablement, à une interruption de la ligne de données. Le contrôleur de moteur doit passer automatiquement à l'état d'erreur et arrêter le mouvement du moteur.
Solution :
La réponse à cette question dépend fortement de l'interface de bus utilisée par votre système. Il existe quelques solutions possibles en fonction de l'interface de bus mentionnée ci-dessous. Les aspects de sécurité de la solution requise et les mesures supplémentaires éventuellement nécessaires doivent être pris en compte (comme indiqué dans la dernière section "Remarque générale : normes de sécurité").
I.) CANopen:
I.1.) Principes de base
Si une interface CAN et un maître CANopen (par exemple un automate programmable) sont utilisés, le protocole dit "Heartbeat" sert de base pour détecter une communication d'interface bloquée d'un maître CANopen ou d'appareils esclaves (par exemple EPOS4).
Au moins un ou plusieurs dispositifs d'un réseau CAN sont appelés "heartbeat producer(s)", tandis que tous les dispositifs peuvent être appelés "Heartbeat consumers". Si un "heartbeat consumer" ne détecte pas de messages "Heartbeat" du "Heartbeat producer" dans un laps de temps configuré, le "Heartbeat consumer" se met en état d'"erreur CAN heartbeat" (EPOS4 : code d'erreur = 0x8130). Le "Heartbeat consumer" (= contrôleur de moteur) arrête généralement le moteur et désactive l'étage de puissance en cas d'état d'erreur de communication. Dans le cas d'un EPOS4, il est possible de sélectionner (= configurer) la méthode d'arrêt préférée à partir d'une liste.
I.2.) Conseils de configuration
Si l'esclave (par exemple EPOS4) doit arrêter le mouvement du moteur par lui-même dans le cas où il n'y a plus de communication par le maître, la configuration suivante est recommandée :
- Le maître CANopen (par ex. PLC) doit être le "Heartbeat producer".
La configuration nécessaire doit être effectuée par l'objet "Producer heartbeat time" (0x1017) du maître ou par ses outils de mise en service initiale ou de gestion du système. - Les esclaves CANopen (par exemple EPOS4) doivent être des "Heartbeat consumers".
Ceci est configuré par l'objet "Consumer heartbeat time" (0x1016) de chaque esclave ou très facilement par le "CANopen / Error protocol" d'EPOS Studio.
- Règle générale :
"Consumer heartbeat time" >= "Producer heartbeat time" + 20 ms
- Règle générale :
- EPOS4: réaction en cas d'erreur
La réaction de l'EPOS4 en cas de "CAN heartbeat error" (et d'autres états d'erreur de communication) peut être configurée par l'objet "Abort connection option code" (0x6007).
I.3.) Maître CANopen : Exigences
Le "gestionnaire de système" ou d'autres outils fournis par les fournisseurs de maîtres CANopen en temps réel (par exemple, PLC) offrent généralement un moyen simple de configurer "Heartbeat" et de l'activer automatiquement au démarrage du système.
Conseil dans le cas de maîtres non temps réel :
Même en l'absence d'un maître en temps réel (par exemple, un PC ou un microcontrôleur), il peut être possible de transmettre des messages périodiques de "heartbeat" (battement de cœur). Ces messages doivent être générés et transmis en tant que tâche d'une boucle principale cyclique du code d'application d'un maître, par exemple. De telles solutions basées sur le code d'application peuvent entraîner une variation plus importante (c'est-à-dire moins précise) de la périodicité du message "Heartbeat" si le temps de traitement de la boucle principale dépend des états et des actions au sein de ses différentes autres tâches. Il est recommandé de configurer le "Consumer heartbeat time" des esclaves de manière plus tolérante dans un tel cas, c'est-à-dire de le fixer à deux ou jusqu'à cinq fois le temps d'exécution prévu de la boucle principale du maître, par exemple :
"Consumer heartbeat time" = 3 x "Master's main loop processing time"
Restriction de "EPOS Command library":
L' "EPOS Command Library" ne prend pas en charge la génération automatique de messages "Heartbeat" et, dans le cas d'un EPOS4, il n'y a pas non plus d'appel de fonction présent dans la bibliothèque pour générer le message "Heartbeat" requis dans la boucle principale d'une application. Si l' "EPOS Command library" est utilisé par un système basé sur Windows ou Linux, "Heartbeat" ne peut pas être utilisé.
I.4.) Référence croisée
- "EPOS4 Application Notes Collection":
- Chapitre "5.6. Heartbeat Protocol"
- "EPOS4 Firmware Specification":
- Chapitre "6.2.9 Consumer heartbeat time" (Object: 0x1016)
- Chapitre 6.2.89 "Abort connection option code" (Object: 0x6007)
- Chapitre "7.2.34 CAN heartbeat error" (Error code: 0x8130)
- EPOS Studio's "CANopen Wizard / Error Protocol":
II.) Communication EtherCAT :
II.1.) Notions de base
Un réseau EtherCAT ne nécessite pas de configuration spécifique pour détecter les problèmes causés par des lignes de communication interrompues. EtherCAT est toujours basé sur un échange cyclique de données (typ. toutes les 1 - 5 ms) en état opérationnel. Si l'échange de données n'a plus lieu, chaque appareil peut déclencher son état d'erreur. Dans le cas d'un EPOS4, il s'agit d'une "erreur de communication EtherCAT" (= code d'erreur : 0x8180). La réaction de l'EPOS4 en cas d'erreur de communication peut être configurée par l'objet "Abort connection option code" (Object : 0x6007).
II.2.) Référence croisée
- "EPOS4 Firmware Specification":
- Chapitre 6.2.89 "Abort connection option code" (Object: 0x6007)
- Chapitre "7.2.36 EtherCAT communication error" (Error code: 0x8180)
III.) RS232 et USB
III.1.) Principes de base
En raison du fait qu'il n'y a pas d'échange de données périodique obligatoire par le protocole RS232 et USB, il est impossible pour un EPOS4 (ou EPOS2) de juger s'il n'y a effectivement pas de données transmises par le maître ou si la communication est interrompue en raison d'une rupture de la ligne de données (ou d'un dysfonctionnement du maître).
III.2) Solution de secours
La configuration et le câblage suivants permettent au maître de commander l'arrêt du moteur si la ligne de communication ne fonctionne plus. Les conditions préalables à la solution décrite sont que le maître (par exemple Raspberry Pi, microcontrôleur) dispose d'au moins une sortie numérique et que le maître ainsi que l'EPOS4 fonctionnent toujours correctement.
- L'une des entrées numériques de l'EPOS4 doit être configurée comme "Quick stop".
- Le maître interroge périodiquement (par exemple toutes les 100 ms) le contenu d'un objet de l'EPOS4.
- Conseil :
Les objets les plus utiles pour l'interrogation cyclique sont généralement le "Statusword" (0x6041) ou la "Position actual value" (0x6064). La plupart des applications auront de toute façon besoin des données actualisées de ces objets à plusieurs reprises.
- Conseil :
- Si le maître ne reçoit plus de réponse à la demande d'objet de l'EPOS4 (c'est-à-dire qu'il y a un délai d'attente), cela indique généralement que la ligne de communication est perturbée ou interrompue. Le maître peut alors activer sa sortie numérique, ce qui déclenche la réaction "Quick stop" de l'EPOS4.
Conditions préalables : Cette méthode d'arrêt suppose que ...
- ... le maître fonctionne encore correctement et est en mesure de régler la sortie numérique.
- ... la ligne I/O n'est pas non plus interrompue.
- ... l'EPOS4 fonctionne encore correctement et peut réagir au signal "Quick stop".
Remarque générale : Normes de sécurité ?
Veuillez noter que toutes les solutions mentionnées ci-dessus ne peuvent répondre à des exigences ou à des normes de sécurité spécifiques (SIL ...). Si l'appareil ou la machine finale doit répondre à des normes de sécurité spécifiques ou s'il existe un risque de blessure humaine, il peut être nécessaire d'utiliser un contrôleur de sécurité distinct et certifié qui peut arrêter le moteur "en toute sécurité" en cas de dysfonctionnement critique d'un composant (maître, esclave ou câblage).
Commentaires
0 commentaire
Cet article n'accepte pas de commentaires.