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.
Instructions en langage LD
Le langage à contacts Ladder (LD) est un langage graphique défini dans la norme IEC 61131. Il se compose de différents composants : Les entrées : - Contact normalement ouvert : --| |-- - Contact normalement fermé : --|/|-- - Contact avec front montant : --|P|-- - Contact avec front descendant : --|N|-- Les sorties : - Bobine normalement ouverte : --( )-- - Bobine normalement fermée : --(/)-- - Bobine avec forçage à 1 : --(S)-- - Bobine avec forçage à 0 : --(R)-- Et permet de réaliser des fonctions logiques graphiquement : Fonction ET - (X . Y) ...

Compteur – ST
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 ...

Compteur – IL
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 ...

Temporisation – ST
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 ST Soit 3 temporisations avec des bases de temps ...

Temporisation – IL
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 IL Soit 3 temporisations avec des bases de temps ...

Génération de Fronts – ST
PLC3000 n’intègre pas les fonctions de Fronts Montant et Descendant. Cependant, ils peuvent très facilement être générés à partir des bits mémoires disponibles. Déclaration en ST La création d’un front montant sur %I0 est réalisée en considérant le bit mémoire %M1 généré de la manière suivante PROGRAM EDGE_R %M1 := %I0 AND NOT %M0; %M0 := %I0; END_PROGRAM La création d’un front descendant sur %I1 est réalisée en considérant le bit mémoire %M3 généré de la manière suivante <pre> PROGRAM EDGE_F %M3 := NOT %I1 AND NOT %M2; %M2 := NOT %I1; END_PROGRAM ...

Génération de Fronts – IL
PLC3000 n’intègre pas les fonctions de Fronts Montant et Descendant. Cependant, ils peuvent très facilement être générés à partir des bits mémoires disponibles. Déclaration en IL La création d’un front montant sur %I0 est réalisée en considérant le bit mémoire %M1 généré de la manière suivante <img width="300" height="130" src="https://plc3000.com/wp-content/uploads/2021/05/FrontMontant-300x130.jpg" alt="" loading="lazy" srcset="https://i1.wp.com/plc3000.com/wp-content/uploads/2021/05/FrontMontant.jpg?resize=300%2C130&ssl=1 300w, https://i1.wp.com/plc3000.com/wp-content/uploads/2021/05/FrontMontant.jpg?w=533&ssl=1 533w" sizes="(max-width: 300px) 100vw, 300px" /> <pre> LD %I0 ANDN %M0 ST %M1 LD %I0 ST %M0
La création d’un front descendant sur %I1 est réalisée en considérant le bit mémoire %M3 généré de la manière suivante
LDN %I1 ANDN %M2 ST %M3 ...
La création d’un front descendant sur %I1 est réalisée en considérant le bit mémoire %M3 généré de la manière suivante
LDN %I1 ANDN %M2 ST %M3 ...

Programmer en langage ST
1. Exemple de programmation en ST Soit l’équation logique : %M0 = %I0.%I1+%I2. /%I3 PROGRAM LogicalFunction %M0 := %I0 AND %I1 OR %I2 AND NOT %I3; END_PROGRAM 2. Exemple de programmation de Grafcet en ST
Soit le Grafcet suivant : a. Programmation Transition par Transition PROGRAM TrTr (* INIT *) IF %S2 THEN %M0 := TRUE; %M1 := FALSE; END_IF (* TRANSITIONS *) IF %M0 AND %I0 THEN %M1 := TRUE; %M0 := FALSE; END_IF IF %M1 AND %I1 THEN %M0 := TRUE; %M1 := FALSE; END_IF (* ACTIONS *) %Q0 := %M1; END_PROGRAM b. Programmation Transition par Transition avec ...
Soit le Grafcet suivant : a. Programmation Transition par Transition PROGRAM TrTr (* INIT *) IF %S2 THEN %M0 := TRUE; %M1 := FALSE; END_IF (* TRANSITIONS *) IF %M0 AND %I0 THEN %M1 := TRUE; %M0 := FALSE; END_IF IF %M1 AND %I1 THEN %M0 := TRUE; %M1 := FALSE; END_IF (* ACTIONS *) %Q0 := %M1; END_PROGRAM b. Programmation Transition par Transition avec ...

Instructions en langage ST
Le langage Structured Text (ST) est défini dans la norme IEC 61131. Il se compose de différentes instructions : := ; --> Affectation := TRUE; --> Affectation à 1 := FALSE; --> Affectation à 0 PROGRAM ... END_PROGRAM IF ... THEN ... ELSE ... END_IF FOR ... END_FOR WHILE ... END_WHILE REPEAT ... UNTIL ... END_REPEAT de l’ensemble des fonctions logiques de base : AND : ET OR : OU XOR : OU Exclusif et de leur complément : AND NOT : ET NON OR NOT : OU NON XOR NOT : ET Exclusif Aux instructions logiques sont associées des parenthèses ...

Programmer en langage IL
1. Exemple de programmation en IL Soit l’équation logique :%M0 = %I0.%I1+%I2. /%I3 LD %I0 AND %I1 OR( %I2 ANDN %I3 ) ST %M0 2. Exemple de programmation de Grafcet en IL Soit le Grafcet suivant : a. Programmation Transition par Transition * INIT LD %S2 S %M0 R %M1 * TRANSITIONS LD %M0 AND %I0 S %M1 R %M0 * LD %M1 AND %I1 S %M0 R %M1 * ACTIONS LD %M1 ST %Q0 b. Programmation Transition par Transition avec Bits de franchissabilité
* INIT LD %S2 S %M0 R %M1 * TRANSITIONS LD %M0 AND %I0 ST %M10 ...
* INIT LD %S2 S %M0 R %M1 * TRANSITIONS LD %M0 AND %I0 ST %M10 ...