Ressources gratuites pour l’enseignement de l’automatisme
Notre mission est d’aider les enseignants d’automatisme à se focaliser sur leur étudiants et de leur fournir la meilleure formation possible. C’est pour cela que nous avons réalisé PLC3000. C’est également pour cela que nous mettons à votre disposition tous les contenus gratuits ci-dessous.
Pourquoi faut-il éviter les boucles du langage ST ?
Le langage Structured Text (ST) figure parmi les langages du standard IEC 61131 supportés par PLC3000. Comparé à d'autres langages comme l'Instruction List (IL), le ST offre des expressions relativement d'un plus haut niveau d'abstraction. Il permet notamment de faire des boucles. Or, l'utilisation des itérations est en générale une mauvaise pratique lorsqu'on programme des automates.La recommandation d'éviter les boucles en automatismes industriels, repose sur la structure des automates et de leur mode de fonctionnement. Un automate dispose de plusieurs entrées/sorties qui sont connectées à un système à automatiser ou à superviser. Les entrées reflètent l'état de capteurs, de boutons ...
Boucles – ST
Le langage Structured Text (ST) supporte 3 sortes de boucles:
- FOR ... DO ... END_FOR: Répète un traitement pour un nombre d'itérations donné
- WHILE ... DO ... END_WHILE: Répète un traitement tant qu'une condition est vraie
- REPEAT ... UNTIL ... END_REPEAT
: Effectue un traitement au moins une fois puis le repète jusqu'à ce qu'une condition devienne vraie
Eléments de logique Séquentielle
Fonctions logiques séquentielles Les fonctions logiques séquentielles ont la particularité d'être dépendantes du temps dans leur évolution. Elles sont régies par plusieurs variables d'entrée, mais également par l'état mémorisé d'une ou de plusieurs variables. Elles sont souvent synthétisées par des bascules. Afin d'illustrer l'intérêt des fonctions logique séquentielles, nous vous proposons quelques exemples de réalisation. Quelques rappels de logique séquentielle : Nous souhaitons activer la sortie %Q0 à l'appui sur un bouton poussoir %I1, la laisser activée jusqu'à l'appui sur le bouton poussoir %I0. En supposant que l'appui simultané sur %I0 et %I1 n'est pas possible, la table de vérité ...
Eléments de logique Combinatoire
Théorie
La logique combinatoire est utilisée comme base pour la conception de langages de programmation fonctionnels. Elle répond à un modèle théorique de calcul. L’information traitée est de type binaire. Elle est représentée par des signaux électriques à 2 états {0; 1}.Une fonction logique définit l'état de variables de sortie en fonction de la combinaison de variables d'entrée, sans que la notion de temps n’intervienne. L'état des sorties n'est régi que par les états des variables d’entrée. Pour les différentes variables :• Variables d’entrée : il s'agit de signaux provenant d'autres systèmes ou d'organes de commande, tels que des boutons poussoir, ...
La logique combinatoire est utilisée comme base pour la conception de langages de programmation fonctionnels. Elle répond à un modèle théorique de calcul. L’information traitée est de type binaire. Elle est représentée par des signaux électriques à 2 états {0; 1}.Une fonction logique définit l'état de variables de sortie en fonction de la combinaison de variables d'entrée, sans que la notion de temps n’intervienne. L'état des sorties n'est régi que par les états des variables d’entrée. Pour les différentes variables :• Variables d’entrée : il s'agit de signaux provenant d'autres systèmes ou d'organes de commande, tels que des boutons poussoir, ...
Propriétés des Automates
Les automates programmables respectant la norme IEC 63111-1, comme la solution PLC3000, se caractérisent par un fonctionnement en cycle. Un cycle est composé en général de 5 phases : 1. Lecture des entrées, 2. Scrutation du programme, 3. Ecriture des sorties, 4. Services de communication, 5. Fonctionnalités internes. La scrutation du programme est toujours réalisée de haut en bas et de gauche à droite. Ce fonctionnement doit être connu, et peut être utilisé pour la réalisation de fonctions particulières. Unicité de la sortie L’ordre de programmation des lignes de code a une importance cruciale. En codant les lignes suivantes : ...
Programmer en LD
1. Exemple de programmation en LDSoit l’équation logique :%M0 = %I0.%I1+%I2. /%I3 2. Exemple de programmation de Grafcet en ST
Soit le Grafcet suivant : a. Programmation Transition par TransitionInitialisation Test des Réceptivités et Franchissement des Transitions Déclaration des Sorties b. Programmation Transition par Transition avec Bits de franchissabilitéInitialisation Test des Réceptivités Franchissement des Transitions Déclaration des Sorties c. Programmation Etape par Etape d. Programmation Etape par Etape avec Bits de franchissabilitéMise en équation des Etapes avec variables intermédiaires Activation des Etapes Déclaration des sorties
...
Soit le Grafcet suivant : a. Programmation Transition par TransitionInitialisation Test des Réceptivités et Franchissement des Transitions Déclaration des Sorties b. Programmation Transition par Transition avec Bits de franchissabilitéInitialisation Test des Réceptivités Franchissement des Transitions Déclaration des Sorties c. Programmation Etape par Etape d. Programmation Etape par Etape avec Bits de franchissabilitéMise en équation des Etapes avec variables intermédiaires Activation des Etapes Déclaration des sorties
...
Mnémoniques en langage LD
A chaque variable peut être associé une mnémonique. Il est alors possible d’utiliser la mnémonique ou la variable de manière totalement transparente dans les programmes. Pour associer la variable Switch à l’entrée %I0, les variables RedLight et GreenLight aux sorties %Q0 et %Q1 respectivement, il suffit de le spécifier lors de la création des variables dans l’éditeur de code Ladder. Dans l'éditeur de code Ladder, les variables déclarées s'affichent: ...
Génération de Fronts – LD
PLC3000 avec le langage Ladder intègre les fonctions de Fronts Montant et Descendant.Déclaration en LDUn Front Montant est déclaré lors de la création de la variable dans l’éditeur de code Ladder. Un Front Montant sur l'entrée %I0 : Un Front Descendant est déclaré lors de la création de la variable dans l’éditeur de code Ladder. Un Front Descendant sur l'entrée %I1 : ...
Temporisation – LD
La norme IEC 61131 offre une définition des temporisations. PLC3000 intègre uniquement les Temporisation de type TON qu’il est possible de paramétrer en définissant la base de temps %Ti.TB, et la valeur de présélection %Ti.PV. La temporisation est déclenchée par l’activation de son entrée %Ti.IN, et sa sortie %Ti.Q passe à 1 lorsque la valeur courante de la temporisation atteint la valeur de présélection.Les bases de temps %Ti.TB qu’il est possible de déclarer sont les suivantes : 10, 100 ms ; 1, 10 s ; 1 min.Déclaration en LD
Une Temporisation, sa valeur de présélection et sa base de temps sont ...
Une Temporisation, sa valeur de présélection et sa base de temps sont ...
Compteur – LD
La norme IEC 61131 offre une définition des compteurs. PLC3000 intègre les compteurs et décompteurs. Dans ce cas, il est nécessaire de définir une valeur de présélection %Ci.PV, paramétrable avec une valeur entière. La valeur courante d’un compteur est mise à 0 lorsque %Ci.R est activé. La valeur courante d’un compteur est mise à la valeur de présélection %Ci.PV, lorsque %Ci.LD est activé. La valeur courante d’un compteur s’incrémente à chaque nouvelle activation de l’entrée %Ci.CU, elle se décrémente à chaque nouvelle activation de l’entrée %Ci.CD.Un compteur possède deux sorties ; %Ci.QU passe à 1 lorsque la valeur courante du compteur ...