[traduction g]

Pourquoi votre automate programmable doit-il s'arrêter immédiatement ? Comment utiliser les interruptions d'un automate programmable ?

Un automate programmable exécute généralement la logique en boucle. On appelle cela un cycle de balayage. Certains automates peuvent interrompre les tâches de moindre priorité et exécuter une routine spécifique en cas d'événement matériel ou temporisé.

Table des matières

Siemens appelle ces routines des OB. Rockwell Logix les appelle des tâches. Imaginez ceci : vous lisez un bon livre. Soudain, votre téléphone sonne. Vous marquez la page. Vous répondez à l’appel. Une fois votre lecture terminée, vous reprenez votre livre.

UN Automate programmable Les interruptions fonctionnent de manière similaire. Le processeur ne s'arrête pas véritablement. Il interrompt plutôt les traitements de priorité inférieure, traite l'événement urgent, puis reprend son exécution là où il l'avait interrompue. Toutefois, le temps de réaction dépend de la priorité, du type de déclencheur et de la charge du processeur. Les réactions rapides sont bien réelles, mais elles ne relèvent pas de la magie.

Qu'est-ce qu'une interruption d'automate programmable, au juste ?

Les automates programmables classiques suivent généralement un schéma de base : mise à jour des sorties, lecture des entrées en mémoire, puis exécution du programme utilisateur avec ces valeurs stockées. Ce modèle convient à de nombreuses machines. Cependant, certains événements surviennent trop rapidement pour que la seule phase de cycle principale puisse fonctionner.

C’est pourquoi les fournisseurs proposent des blocs d’interruption matérielle (OB), des blocs d’interruption cycliques, des blocs d’interruption temporels et des tâches événementielles pour les travaux spécifiques. Dans Logix, le contrôleur exécute une tâche à la fois, et une tâche périodique ou événementielle peut interrompre une tâche de priorité inférieure puis reprendre le contrôle de la tâche précédente.

CS1H-CPU63H

Pourquoi devons-nous les faire cesser ?

Imaginez une lame de scie qui tourne à grande vitesse. Vous voulez attraper une capteur Il faut agir au bon moment. On ne peut pas se permettre de réagir trop tard. Si la logique principale est trop longue, la machine risque d'avancer plus loin que prévu avant que la tâche principale n'atteigne son but.

Le code événementiel est utile car il s'exécute lorsque le déclencheur se produit, au lieu d'attendre le prochain passage complet dans la logique ordinaire.

Mais voici le point délicat. Il n'est pas toujours nécessaire d'utiliser une astuce particulière de “ sortie immédiate ” pour avoir un impact rapide sur le monde réel. Sur Siemens, le système peut transférer les partitions d'image de processus de sortie affectées à un OB d'interruption indépendamment de… UPDAT_PO.

Sur Logix, une tâche traite normalement les sorties une fois terminée, sauf si vous désactivez cette option. Par conséquent, ne partez pas du principe qu'une étiquette de sortie standard est toujours trop lente et qu'une instruction miracle ne résout pas tous les problèmes. Commencez par vérifier comment votre automate gère les E/S. Choisissez ensuite la méthode la plus adaptée à votre plateforme.

Les différentes marques utilisent des appellations différentes. Siemens S7-1200 utilise des blocs d'organisation tels que les blocs d'organisation d'interruptions matérielles et les blocs d'organisation d'interruptions cycliques. Logix utilise des tâches continues, périodiques et événementielles.

L'objectif est le même dans les deux cas : réagir au bon moment sans bloquer l'ensemble du système. Les détails, en revanche, varient selon les marques.

Comment utiliser une fonction d'interruption d'un automate programmable ?

Honnêtement, c'est assez facile si on respecte les règles. On a souvent tendance à en faire toute une histoire. Il suffit de faire simple.

Sélectionnez le déclencheur. Indiquez à l'automate programmable quel événement doit lancer la routine rapide. Ce déclencheur peut être une modification d'une entrée numérique, un événement de mouvement, un événement HSC, une étiquette consommée ou une interruption temporisée.

Écrivez du code rapide. Veillez à ce qu'il soit court et concis. Tout code superflu augmente la latence et le risque de chevauchement ou de dépassement de délai.

Effacez l'indicateur. Dans de nombreux cas, le système gère lui-même l'appel d'événement. Toutefois, il peut être nécessaire de réinitialiser la condition de votre application ou de réarmer l'événement source pour que le prochain événement soit cohérent.

Attention également aux chevauchements. Dans Logix, si une tâche événementielle se déclenche à nouveau pendant son exécution, le contrôleur ignore ce déclenchement simultané.

CP1E-NA20DT-D

Quels types d'interruptions existent ?

Les noms varient d'une marque à l'autre. Il ne faut donc pas considérer l'appellation d'un fournisseur comme une référence absolue pour tous les automates programmables. Néanmoins, ces trois groupes constituent un cadre de travail fiable.

Type d'interruptionCe qu'il faitCas d'utilisation optimal
Matériel ou événementS'exécute lorsqu'un événement matériel ou logiciel configuré se produit et peut interrompre les tâches de priorité inférieure.Détection rapide des bords du capteur, marques d'enregistrement, événements HSC ou déclencheurs liés au mouvement
Périodique ou cycliqueS'exécute à intervalle fixe au lieu d'attendre l'analyse principaleTravail de contrôle régulier nécessitant une synchronisation précise
Gestion des pannes ou des diagnosticsS'exécute lorsqu'un processeur ou un module signale un événement temporel ou de diagnosticDétection des dépassements de capacité d'analyse, des débordements de file d'attente ou des diagnostics de modules

Comparons maintenant ces notions de synchronisation. Les valeurs exactes dépendent toujours du processeur, de la priorité, de la fréquence de déclenchement et de la charge totale du programme. Il faut donc considérer cela comme un guide, et non comme une règle absolue.

MétriqueCycle de balayage principalTâche d'interruption/événement matériel
Délai d'exécutionS'exécute dans le cadre de l'exécution cyclique normale du programme, et sa durée dépend de la charge et de la configuration de votre programme.S'exécute lorsqu'un déclencheur survient et peut interrompre les tâches de priorité inférieure, mais la latence réelle dépend toujours de la priorité et de la charge du système.
UrgenceConvient aux applications logiques machine classiques et au séquençage général.Idéal pour les événements urgents qui ne doivent pas attendre une logique de routine
Longueur du codePeut contenir une logique machine plus largeIl devrait rester court pour qu'il se termine avant le prochain déclenchement et évite les problèmes de chevauchement.

Comme vous pouvez le constater, la différence de vitesse peut être considérable. Cependant, il n'existe pas de temps de réponse idéal qui convienne à tous les automates programmables. Tout se joue dans les détails.

CJ1W-OD262

Faites-vous ces graves erreurs ?

Je vois ça tout le temps. Il ne faut pas supposer qu'une minuterie IEC standard se comportera de la même manière lors d'une interruption unique que lors d'une interruption OB1 ou d'une tâche cyclique normale.

Siemens indique que le minuteur ne se met à jour que lorsque l'instruction de minuterie s'exécute ou lorsque le code lit des membres clés du minuteur. Par conséquent, une interruption matérielle ou une tâche événementielle exécutée une seule fois par déclenchement peut entraîner un comportement du minuteur imprécis, voire trompeur. Une interruption cyclique ou une tâche périodique, en revanche, se comporte différemment car elle s'exécute de manière répétée.

De plus, évitez d'écrire des boucles mortes pour “ attendre ” que le temps passe. C'est comme accélérer à fond alors que la voiture est à l'arrêt : vous gaspillez du temps d'exécution et vous vous exposez à des problèmes. Siemens indique que les dépassements de capacité de balayage, les débordements de file d'attente et les conflits de synchronisation d'interruptions peuvent provoquer des erreurs de temps. Dans certains cas, des erreurs de temps de cycle répétées peuvent entraîner l'arrêt complet du processeur.

Une autre erreur majeure consiste à multiplier les interruptions. Chaque petit signal de capteur ne justifie pas une interruption. Rockwell prévient que chaque tâche supplémentaire consomme du temps de contrôleur au détriment des autres.

Il est également indiqué que si une tâche est déclenchée à nouveau pendant son exécution, le contrôleur ignore ce déclenchement simultané. Par conséquent, n'utilisez les interruptions qu'en cas de réelle nécessité. Autrement, votre solution rapide se transformera en un véritable casse-tête.

Alimentez vos projets avec des PLC Omron, Mitsubishi, Schneider flambant neufs et originaux – en stock, prêts maintenant !

Conclusion

Les interruptions ou les tâches événementielles suspendent les opérations de moindre priorité afin que l'automate puisse réagir rapidement aux événements urgents. Le processeur ne s'arrête pas ; il change de tâche puis reprend son fonctionnement normal. 

Elles sont utiles lorsqu'un événement ne doit pas attendre la logique cyclique normale. Les interruptions matérielles, les interruptions cycliques et les tâches événementielles servent toutes cet objectif de différentes manières. 

Votre code d'interruption doit être court. Un code long augmente la latence et le risque de chevauchement. 

Ne présumez pas que les temporisateurs standard se comporteront correctement dans une routine d'événement ponctuel. Si vous avez besoin d'un comportement temporisé, réfléchissez bien à savoir si vous souhaitez réellement un événement matériel, une tâche périodique ou une interruption cyclique. 

N’oubliez pas que l’utilisation d’E/S physiques immédiates n’est pas toujours indispensable pour une réaction rapide. Commencez par vérifier comment votre automate gère les images de processus, l’accès direct aux E/S et le traitement des sorties de tâches. 

Attention aux chevauchements, aux débordements de file d'attente et aux erreurs de temps de cycle. Une logique rapide est excellente. Une logique rapide qui ne se termine jamais est catastrophique. 

Contactez-nous

Remplissez simplement votre nom, votre adresse e-mail et une brève description de votre demande dans ce formulaire. Nous vous contacterons dans les 24 heures.

Ces sujets pourraient également vous intéresser

Les 5 meilleurs fournisseurs d'automates programmables Omron au Canada : Guide d'achat

Les 5 principaux fournisseurs d'automates programmables Omron au Canada : Guide d'achat

Trouver des pièces pour l'automatisation industrielle au Canada, c'est un peu comme essayer de se procurer un bon café dans une station-service à 3 h du matin. C'est frustrant, souvent décevant et généralement plus cher que nécessaire.

Je travaille dans ce secteur depuis plus de dix ans. J'ai rédigé des cahiers des charges, j'ai géré des mises à niveau et je me suis arraché les cheveux à attendre qu'un distributeur “ local ” me rappelle.

En savoir plus "
types de capteurs photoélectriques

Comprendre les capteurs photoélectriques et leurs applications

Les capteurs photoélectriques sont omniprésents dans l'automatisation industrielle moderne, agissant comme les « yeux » de nombreux systèmes. Ils assurent une détection sans contact cruciale des objets, impactant tout, des simples systèmes de convoyeurs à bande aux chaînes de montage robotisées complexes. Cet article plongera dans le monde des capteurs photoélectriques, en explorant leurs différents types, leurs principes de fonctionnement et leurs diverses applications. Si vous êtes impliqué dans la fabrication de machines, les solutions d'usine ou l'automatisation industrielle générale, la compréhension de ces capteurs est essentielle pour optimiser vos processus et garantir un fonctionnement efficace et fiable. Cette lecture vous permettra de comprendre cela.

En savoir plus "

Demandez un devis rapide

*nous respectons votre confidentialité et toutes les informations sont protégées.