I/O EtherCAT BK1120
Ajout d’Entrées/Sorties déportées sur bus EtherCAT
Présentation du module BK1120
Scan du bus EtherCAT
Pour scanner les Entrées/Sorties déportées qui sont connéctées sur le bus EtherCAT, il faut déployer l’onglet IO est faire un Scan. N’oubliez pas que sur un bus EtherCAT, il est nécessaire de brancher directement la carte Ethernet du PC sur le module d’Entrées/Sorties déportées sans passer par un Switch! On branche en direct!
Faire OK sur le HINT. Les I/O de chez Beckhoff sont reconnues automatiquement, les I/O de fabricants tiers peuvent nécessiter une configurationn manuelle.
Un I/O a été trouvé.
On autorise le Scan des Box et le Free Run (Le Free Run permet de piloter/forcer directement les Entrées/Sorties )
Le module d’I/O déporté BK1120 est bien reconnu, ainsi que les cartes d’entrées-sorties associées :
- KL1104 -> 4 channel Digital Input
- KL2114 -> 4 channel Digital Output
- KL3001 -> 1 channel Anolog Input
- KL9010 -> carte de terminaison du bus interne
Lecture et forçage des I/O
Avant de démarrer l’association (mappage) des entrées/sorties, vérifions que celles-ci puissent être lues dans le cas des entrées digitales et forcées pour les sorties digitales. L’activation du de l’interrupteur sur l’entrée digitale doit être vue dans le signal déroulant si vous avez activé le free RUN comme précisé précédemmment.
Les sorties digitales peuvent être forcées en faisant des Online Write ‘0’ ou ‘1’
Liens entre I/O déportées et variables PLC
Nous pouvons maintenant réaliser le liens entre les entrées/sorties déportées et les variable de l’automate. Dans GVLs (Global Variable Lists) faire Add et Global Variable List.
Nommer cette liste IO par exemple et faire Open.
Dans la liste, ajouter les deux variables (Bouton et Led) de la manière suivante :
N’oubliez pas de sauvegarder et de faire un Build. Une avertissement peut apparaître comme ci-dessous, faire OK.
Nous pouvons maintenant faire le lien (link) entre les entrées-sorties physiques déportés et les variables globales de l’automate. Choisir l’Entrée du module déporté à affecter, faire Linked to …
Et choisir la variable IO.bBP1
Vérifier que le Linked To ait bien pris en compte l’assocition de variables :
De la même manière, nous affectons la variable de sortie bLED à la sortie physique du module déporté :
Programme en Ladder
Nous allons maintenant effectuer un programme en Ladder. Effaçons le programme MAIN précédent en faisant Delete :
Faire Add puis POU…
Dans Add POU…, nommer le programme MAIN, vérifiez bien que
- le type est Program
- et choisir l’implementation langage en Ladder Logic Diagram
Placer un Contact dans le MAIN à l’aide du menu d’outils ToolBox à droite. Cliquer sur ce contact pour l’associer à la variable bBP1 qui se troue dans PLC1 -> GVLs -> IO -> bBP1
Placer un Coil à la suite du Contact et l’associer à la variable bLED.
Test
On fait un save, un Build et on active le projet.
On fait OK pour passer en mode RUN :
On fait :
- Login,
- puis Yes,
- puis Start (F5)
On remarque que l’activation de l’interrupteur provoque l’allumage de la LED. La désactivation de l’interrupteur provoque l’extinction de la LED. Notre programme est opérationnel et la communication avec le module d’Entrées / Sorties déportés est fonctionnelle.
Pour stopper le Runtime, faire Stop (Shift+F5) et pour sortir faire Log Out.
Conclusion
Nous venons de réaliser notre premier programme sous TwinCAT permettant de communiquer avec un module d’Entrées/Sorties déportées avec le protocole EtherCAT et le logiciel TwinCAT.
EtherCAT permet de hautes performances temporelles, comme par exemple, d’avoir une période de rafraîchissement de 100 µs pour un ensemble de 100 axes motorisés. Pour atteindre ces perfomances, il est nécessaire d’être en mode Real-Time avec le hardware IPC adapté à la charge de calcul.