Bus de terrain
Les automates programmables industriels
Thèmes abordés
• L’automate programmable industriel
Str ct re et fonctionnement – Structure et fonctionnement
• Aperçu de la programmation avec les langages IEC 1131.
Bus de terrain - Systèmes de commande industriels 1
Structure électronique d’une commande industrielle
• Ordinateur
E éc te le programme q i pilote l’installation – Exécute le programme qui pilote l’installation.
– Habituellement, ce programme
• Lit l’état des capteurs pour connaître l’état de l’installation.
• Définit l’état souhaité des actuateurs d’après le procédé à réaliser.
• Ecrit les commandes des actuateurs.
• Entrées Sorties
– Un système de commande comporte de nombreuses entrées et
Bus de terrain - Systèmes de commande industriels 2
Un système de commande comporte de nombreuses entrées et sorties.
– Selon le type de signaux à exploiter, on trouve des entrées sorties tout-ou-rien ou analogiques.
Systèmes de contrôle
Rappel de la structure et du fonctionnement d’un ordinateur
M M
Données (8) Contrôle (2) Adresses (16)
CPU Mémoire RA M
Contrôleur de Périphérique 1Mémoire RO M
Elément Adresse
Contrôleur de Périphérique 2
Bus de terrain - Systèmes de commande industriels 3
Elément Adresse
ROM (programme de démarrage) 0000-1FFF
RAM (données) 2000-7FFF
Contrôleur Périphérique 1 (Entrées) A000-A00F Contrôleur Périphérique 2 (Sorties) A040-A07F
Système de commande
L’automate programmable
• Système électronique à μP
Pré po r le milie ind striel – Prévu pour le milieu industriel.
– Structure modulaire.
– Nombre d’entrées/sorties adaptable.
• Remplit des fonctions d’automatisation, à programmer
– logique combinatoire – temporisations, comptages
séquencement (machine d’états)
Bus de terrain - Systèmes de commande industriels 4
– séquencement (machine d’états) – calcul numérique, régulation
– collection de données pour le contrôle de qualité – surveillance et gestion des erreurs
L’automate programmable industriel
Structure matérielle - la CPU et le bus interne
• Les automates actuels ont une structure modulaire
Permet d’adapter le nombre d’entrées sorties a besoins de – Permet d’adapter le nombre d’entrées sorties aux besoins de
l’application.
• Un automate est généralement constitué
– D’une carte CPU.
– De cartes d’entrées sorties.
– D’un bus interne pour relier la CPU aux cartes d’entrée sortie.
Bus de terrain - Systèmes de commande industriels 5
Structure matérielle – les entrées sorties sur bus parallèle interne
• Sur certains automates programmables
le b s CPU passe directement dans le fond de panier et – le bus CPU passe directement dans le « fond de panier » et
communique avec les cartes d’entrée sortie.
• Les temps de réponse pour lire une entrée ou écrire une sortie sont alors minimaux.
– Quelques centaines de nanosecondes.
– Négligeables.
• Limitations
1 2 3 1 2 3Bus de terrain - Systèmes de commande industriels 6
• Limitations
– Ces bus ont des limites en taille.
– Frein à la modularité.
CPU
Carte de sortie 1 Carte de sortie 2 Carte de sortie 3 Carte d’entrées Carte d’entrées Carte d’entréesL’automate programmable industriel
Structure matérielle – les entrées sorties sur bus série interne
• Certains automates utilisent un bus série interne :
Simplifie la connectique des modules – Simplifie la connectique des modules.
– Permet d’utiliser un bus plus long.
– Offrent donc une plus grande extensibilité.
• Les temps de latence pour lire ou écrire une sortie
– Sont alors nettement plus longs.
– restent acceptables pour de nombreuses applications.
1 2 3 1 2 3 e 4 es 4
Bus de terrain - Systèmes de commande industriels 7
CPU
Carte de sortie 1 Carte de sortie 2 Carte de sortie 3 Carte d’entrées Carte d’entrées Carte d’entrées Extension dubus pour plus d’E/S Câble de
prolongation
Carte de sorti Carte d’entrée
L’automate programmable industriel
Illustration – Beckhoff CX1000
Bus de terrain - Systèmes de commande industriels 8
L’automate programmable industriel
Illustration – Beckhoff CX1000
Bus de terrain - Systèmes de commande industriels 9
Environnement de développement logiciel
1. Développement et compilation
2. Transfert
3. Exécution
Bus de terrain - Systèmes de commande industriels 10
L’automate programmable industriel
Principe de fonctionnement cyclique
• Exécution cyclique
Un a tomate programmable e éc te périodiq ement ne o – Un automate programmable exécute périodiquement une ou
plusieurs tâches.
– Pour chaque tâche, on peut définir une périodicité différente.
– Une même tâche peut exécuter plusieurs programmes.
Tâche 1 10 ms
Programme régulation du four
Bus de terrain - Systèmes de commande industriels 11
Application automate programmable
Tâche 2 50 ms
Programme éjection des mauvais biscuits
Programme Conditionnement
Les solutions automatisées
Exemple pratique
Résistance chauffante
Four à pain industriel Système de commande :
Régulation de la température à 300 °C
On/Off
Chauffe
Bus de terrain - Systèmes de commande industriels 12
industriel
Capteur de température (thermocouple)
Mesure de température Tension
proportionnelle à la température
Architectures centralisées
Exemple de programme pour automate (exécution cyclique)
PROGRAM MAIN VAR
CapteurTemperature AT %IW40 : INT;
InterrupteurChauffage AT %QX10.0 : BOOL;
Temperature : REAL;
END_VAR VAR CONSTANT
GainCapteurTemperature = 0.1; // Degré par bit END_VAR
(* Gestion de la resistance chauffante *)
Temperature = CapteurTemperature * GainCapteurTemperature;
Bus de terrain - Systèmes de commande industriels 13
Temperature CapteurTemperature GainCapteurTemperature;
IF Temperature > 310 THEN
InterrupteurChauffage := FALSE;
ELSIF Temperature < 300 THEN InterrupteurChauffage := TRUE;
END_IF;
END_PROGRAM;
Comment piloter un processus cyclique
• Exemple de la régulation du four
PROGRAM RegulationFour VAR
CapteurTemperature AT %IW40 : INT;
InterrupteurChauffage AT %QX10.0 : BOOL;
Temperature : REAL;
END_VAR VAR CONSTANT
GainCapteurTemperature = 0.1; // Degré par bit END_VAR
(* Gestion de la resistance chauffante *)
Temperature = CapteurTemperature * GainCapteurTemperature;
IF Temperature > 310 THEN
I t t Ch ff FALSE
Bus de terrain - Systèmes de commande industriels 14
InterrupteurChauffage := FALSE;
ELSIF Temperature < 300 THEN InterrupteurChauffage := TRUE;
END_IF;
END_PROGRAM;
• Il exécute rapidement quelques opérations et se termine.
• Il est appelé périodiquement par la tâche 1.
L’automate programmable industriel
Conséquences du fonctionnement cyclique sur les performances
• Gigue
Si Tâche 1 et Tâche 2 sont prêtes sim ltanément – Si Tâche 1 et Tâche 2 sont prêtes simultanément
• Tâche 2 sera exécutée après Tâche 1.
• La cadence d’exécution est respectée.
• L’échéance précise n’est pas respectée.
• Charge CPU
– Si une tâche effectue un traitement plus long que sa période
• 100 % CPU consommée.
Bus de terrain - Performance des systèmes de commande industriels 15
• L’automate ne peut plus respecter la cadence d’exécution.
• En général, il se met dans un état d’erreur et s’arrête.
– Si on diminue la période d’une tâche (on augmente la cadence)
• La charge CPU augmente.
L’automate programmable industriel
Fonctionnement interne du logiciel de l’automate
• Le logiciel automate tourne dans une boucle infinie.
• Il exécute le pseudo code suivant en permanenceIl exécute le pseudo code suivant en permanence BOUCLE_INFINIE
SI temps écoulé pour Tache1 >= 10 ms ALORS Copier entrées dans variables associées.
Appeler les programmes de Tache1.
Copier variables vers sorties associées.
FIN SI
SI temps écoulé pour Tache2 >= 50 ms ALORS
C i t é d i bl ié
Bus de terrain - Systèmes de commande industriels 16
Copier entrées dans variables associées.
Appeler les programmes de Tache2.
Copier variables vers sorties associées.
FIN SI
FIN BOUCLE_INFINIE
L’automate programmable industriel
Avantages
• Les valeurs des variables d’entrée sont figées pendant tout le cycle.
– Effet bénéfique : Elimination des aléas.
Q i il i i l l d M ’é i fi é d
– Que pourrait-il arriver si la valeur de « Mesure » n’était pas figée pendant l’exécution du programme ci-dessous ?
PROGRAM MAIN VAR
Mesure AT %IW2 : INT;
Commande AT %QW5 : INT;
END_VAR VAR CONSTANT
Gain := 12.5;
END_VAR
(* La valeur de la sortie Commande est non signée
Bus de terrain - Systèmes de commande industriels 17
( La valeur de la sortie Commande est non signée.
Elle ne doit jamais être affectée d’une valeur négative.
*)
IF Mesure > 0 THEN
Commande := Gain * Mesure;
ELSE
Commande := 0;
END_PROGRAM;
Avantages
• Simplicité du matériel et du noyau d’exécution
Possibilité de gérer des tâches parallèles – Possibilité de gérer des tâches parallèles.
– Sans système d’exploitation multitâche.
– Réalisable sur des microprocesseurs peu puissants.
• Simplicité de la programmation
– Pour des applications très simples, il existe des langages ne nécessitant quasiment aucune connaissance en programmation
• Exemple : le langage « CONTACT ».
Bus de terrain - Systèmes de commande industriels 18
Exemple : le langage CONTACT .
L’automate programmable industriel
Inconvénients
• Modèle de programmation cyclique
Mal adapté a applications séq entielles comple es – Mal adapté aux applications séquentielles complexes.
Bus de terrain - Systèmes de commande industriels 19
L’automate programmable industriel
Comment piloter une séquence : exemple simple – tri de colis par taille
Colis à trier Barrière optique
Vue de dessus Vue de côté
Vérin avec capteurs de fin de course intégrés
Bus de terrain - Performance des systèmes de commande industriels 20
Tapis roulant de course intégrés
L’automate programmable industriel
Comment piloter une séquence : l’approche habituelle prise en défaut
PROGRAM TriColis VAR
BarriereOptique AT %IX12.2 : INT;
DetecteurFinMouvement AT %IX12.1 : INT;
CommandeVanne AT %QX10.0 : BOOL;
END_VAR
IF BarriereOptique THEN CommandeVanne := TRUE;
WHILE NOT DetecteurFinMouvement DO END_WHILE
CommandeVanne := FALSE;
Bus de terrain - Performance des systèmes de commande industriels 21
END_IF END_PROGRAM;
• Cette approche ne fonctionne pas avec un automate
– Le programme automate boucle pendant toute la durée du mouvement.
– La variable DetecteurFinMouvement est figée.
– Incompatible avec le principe de fonctionnement cyclique.
Comment piloter une séquence : les machines d’état.
Attente 1 PROGRAM TriColis
Attente VAR
Avancer le vérin BarriereOptique
2
FinMouvement
BarriereOptique AT %IX12.2 : INT;
FinMouvement AT %IX12.1 : INT;
CommandeVanne AT %QX10.0 : BOOL;
Etat: INT := 1;
END_VAR
IF Etat = 1 THEN
IF BarriereOptique THEN CommandeVanne := TRUE;
Etat := 2;
END_IF
ELSIF Etat = 2 THEN
IF DetecteurFinMouvement THEN
Bus de terrain - Performance des systèmes de commande industriels 22
Reculer le vérin 3
NOT BarriereOptique (* attente du départ du colis *)
IF DetecteurFinMouvement THEN CommandeVanne := FALSE;
Etat := 3;
END_IF ELSE
IF NOT BarriereOptique THEN Etat := 1;
END_IF END_IF END_PROGRAM;
• Temporisation des états
Noter simplement à côté d’ n état le temps pendant leq el il doit
L’automate programmable industriel
Gestion du temps dans les machines d’état.
– Noter simplement à côté d’un état le temps pendant lequel il doit être occupé avant de pouvoir être quitté.
Attente
Mettre S1 à 1 E1
5 s
Bus de terrain - Systèmes de commande industriels 23
Mettre S1 à 1
Mettre S1 à 0 5 s
5 s
• Utilisation de temporisateurs
Démarrer n temporisate r à l’entrée d’ n état
L’automate programmable industriel
Gestion du temps dans les machines d’état.
– Démarrer un temporisateur à l’entrée d’un état.
– Tester la fin de la temporisation sur une transition.
Attente
Mettre S1 à 1 E1
Bus de terrain - Systèmes de commande industriels 24
Démarrer Timer1(5s)
Mettre S1 à 0
Timer1.Ecoule 5 s
Bus de terrain - Systèmes de commande industriels 25
Présentation de la norme
• IEC
International Electrotechnical Commission – International Electrotechnical Commission – Fondée en 1906, basée à Londres
– Siège déplacé à Genève en 1948 – www.iec.ch
• 1131
– Numéro de la norme
IEC 1131 3 IEC 61131 3 ?
Bus de terrain - Systèmes de commande industriels 26
• IEC 1131-3 ou IEC 61131-3 ?
– Pour des questions d’harmonisation de numérotation, IEC-1131 a été renommée IEC-61131 sans aucun autre changement.
– Une norme qui définit 5 langages pour automates programmables.
Programmation IEC1131
Les 5 langages
• IEC 1131 définit les langages suivants :
IL : Instr ction List langage te te de très bas ni ea – IL : Instruction List, langage texte de très bas niveau.
– ST: Structured Text, langage texte évolué.
– LD: Ladder Diagram, schéma de contact.
– FBD: Function Block Diagram, enchaînement graphique de fonctions.
– SFC: Structured Function Chart, encore appelé Grafcet.
Représentation graphique de séquences.
Bus de terrain - Systèmes de commande industriels 27
• IEC 1131 supporte les mélanges
– Il est possible de programmer différentes parties d’une application avec chacun de ces langages.
Programmation IEC1131
Constituants de base d’une application
• POU
– Program Organization Unit – Program Organization Unit.
– 1 POU = 1 module dans un projet IEC 1131.
– 3 types de POU : Fonction, Bloc fonctionnel, Program.
• Fonctions
– Même concept qu’en Ada ou en C.
• Bloc fonctionnel (Function Block)
– Correspond à la création d’un nouveau type.
Bus de terrain - Systèmes de commande industriels 28
– On crée autant d’instances que nécessaire.
– Exemple : Timer TON.
• Program
– POU de niveau principal, appelé par une tâche.
Programmation IEC1131
Constituants de base d’une application – structure d’un projet
Application automate
programmable Tâches
PROGRAM
FUNCTION
Bus de terrain - Systèmes de commande industriels 29
FUNCTION BLOCK
Eléments communs – les éléments de base
(* Ceci est un commentaire *) (* Déclaration de variables *) VAR
Nom: TYPE;
END_VAR;
VAR_INPUT (* Paramètres d’entrée d’une fonction *) Nom: TYPE;
END_VAR;
Bus de terrain - Systèmes de commande industriels 30
(* On peut utiliser de même :
VAR_OUTPUT : Paramètres de sortie d’une fonction (référence)
VAR_INOUT : Paramètres d’entrée et sortie d’une fonction (référence) VAR_GLOBAL : Variables globales
*)
Programmation IEC1131
Eléments communs – les éléments de base
(* Déclaration de variables persistantes *) VAR RETAIN
Nom: TYPE;
END_VAR;
(* Ces variables conservent leur valeur même si on éteint l’automate.
Utilisation
- Variables d’état.
- Compteurs de production
Bus de terrain - Systèmes de commande industriels 31
- Compteurs de production
*)
Programmation IEC1131
Types de données pour les entiers
Type Description Bits Valeurs
SINT Short Integer 8 -128 à +127
INT Integer 16 -32768 à +32767
DINT Double Integer 32 -231 à 231-1
LINT Long Integer 64 -263 à 263- 1
USINT Unsigned Short Integer 8 0 à 255
Bus de terrain - Systèmes de commande industriels 32
USINT Unsigned Short Integer 8 0 à 255
UINT Unsigned Integer 16 0 à 65535
UDINT Unsigned Double Integer 32 0 à 232– 1 ULINT Unsigned Long Integer 64 0 à 264 - 1
Programmation IEC1131
Autres types de données de base
Type Description Valeurs
BOOL Booléen TRUE, FALSE
TIME Durée T#50ms T#2d3h7m4s10ms TIME#50ms
REAL Réel 1.23E4
LREAL Réel étendu 1.23E4
STRING Texte "Erreur"
Bus de terrain - Systèmes de commande industriels 33
DATE Date D#2020-12-25 DATE#2020-12-25
TIME_OF_DAY Horaire TOD#10:50:23 TIME_OF_DAY#10:50:23 DATE_AND_TIME Date + Horaire DT#2020-12-25-10:50:23.10
Créer de nouveaux types
• Les types énumérés - exemple
TYPE TYPE
SIGNAL_FEU:(Rouge, Orange, Vert, OrangeClignotant);
END_TYPE VAR
Feu1, Feu2 : SIGNAL_FEU;
END_VAR
Bus de terrain - Systèmes de commande industriels 34
Feu1 := Rouge;
Programmation IEC1131
Accès aux entrées sorties
• Principe
– Les entrées et les sorties sont déclarées et utilisées comme des
Taille (en bits) Entrée Sortie
variables.
– Une syntaxe spéciale permet de préciser leur emplacement physique et la taille mémoire correspondante.
CommandeVanne AT %QX8.5 : BOOL;
– L’adressage est dépendant du constructeur.
Bus de terrain - Systèmes de commande industriels 35
1 %IX0.0 %QX0.0
8 %IB7 %QB4
16 %IW20 %QW12
32 %ID8 %QD16
64 %IL40 %QL32
Programmation IEC1131
Accès aux entrées sorties
• Syntaxe spéciale
Il est possible de séparer la déclaration des ariables d’entrée – Il est possible de séparer la déclaration des variables d’entrée
sortie et leur adressage.
– Possibilité très intéressante dans le cas des Function Blocks.
• Mise en œuvre
– Déclaration sans adresse dans le programme (ex: Main) CommandeVanne AT %Q* : BOOL;
– Adressage défini dans une section séparée
Bus de terrain - Systèmes de commande industriels 36
Adressage défini dans une section séparée VAR_CONFIG
Main.CommandeVanne AT %QX4.0: BOOL;
END_VAR
Programmation IEC1131
Instruction List (IL) - Aperçu
• Langage textuel de très bas niveau.
G d’ bl d l’ t t bl
• Genre d’assembleur de l’automate programmable.
• Approche peu séduisante aujourd’hui.
• Mais encore largement utilisée !
(* Load IN1 into the calculation register *) LD IN1
(* Subtract IN2 from that register, storing the result into that register *)
Bus de terrain - Systèmes de commande industriels 37
SUB IN2
(* Perform the Absolute Value function on that register *) ABS
(* Store the value in the register into the variable called Error_Calc *) ST Error_Calc
Structured Text (ST) - Présentation
• Langage textuel évolué.
Propose les str ct res de contrôle habit elles – Propose les structures de contrôle habituelles.
– Permet ainsi une programmation structurée
• Permet donc une programmation beaucoup plus lisible.
• Utilisé pour
– Ecrire des programmes, fonction, function block.
– Ecrire les actions dans les diagrammes SFC.
Bus de terrain - Systèmes de commande industriels 38
Programmation IEC1131
Structured Text (ST) – Résumé des instructions – les opérateurs
( ) Parenthèses Priorité la plus haute
Function(…)( ) Appel de fonctionAppel de fonction
** Elévation à une puissance
- NOT
Opposé Négation logique
* / MOD
Produit Quotient Modulo +
-
Addition Soustraction
Bus de terrain - Systèmes de commande industriels 39
<, >, <=, >= Comparaison
=
<>
Egalite Inégalité
AND, & Et logique entre booléens
XOR Ou exclusif logique entre booléens
OR Ou logique entre booléens Priorité la plus basse
Programmation IEC1131
Structured Text (ST) – Résumé des instructions - Test
• Affectation
Variable := Valeur;
Variable : Valeur;
• Test
D := B * B – 4 * A * C;
IF D < 0.0 THEN NSolution := 0;
ELSIF D = 0.0 THEN NSolution := 1;
X1 := (-B) / (2.0 * A);
Bus de terrain - Systèmes de commande industriels 40
ELSE
NSolution := 2;
X1 := (-B + sqrt(D)) / (2.0 * A);
X2 := (-B - sqrt(D)) / (2.0 * A);
END_IF
Programmation IEC1131
Structured Text (ST) – Résumé des instructions - Sélection
• Sélection
CASE Feu1 OF CASE Feu1 OF ROUGE:
QRouge := TRUE; QVert := FALSE; QOrange := FALSE;
ORANGE:
QRouge := FALSE; QVert := FALSE; QOrange := TRUE;
VERT:
QRouge := FALSE; QVert := TRUE; QOrange := FALSE;
ELSE
Bus de terrain - Systèmes de commande industriels 41
ELSE
QRouge := FALSE; QVert := FALSE; QOrange := FALSE;
END_CASE
• Retour de valeur de fonction
RETURN 10; // sort de la fonction
Structured Text (ST) – Résumé des instructions - Boucles
• For
FOR I := 1 TO 100 DO
(* instructions de la boucle ici *) END_FOR
FOR I := 100 TO 1 BY -2 DO
(* instructions de la boucle ici *) END_FOR
• While
WHILE I <= 100 DO
(* instructions de la boucle ici *) END WHILE
Bus de terrain - Systèmes de commande industriels 42
END_WHILE
• Repeat Until
REPEAT
(* instructions de la boucle ici *) UNTIL I > 100
END_REPEAT
Programmation IEC1131
Structured Function Chart (SFC) - Présentation
• Principe
Langage graphiq e po r faciliter la programmation de séq ences – Langage graphique pour faciliter la programmation de séquences.
– Génère automatiquement le code de la machine d’état correspondante.
– Comporte principalement 2 éléments :
• Places ou états
• Transitions.
• Les actions des différents états
Bus de terrain - Systèmes de commande industriels 43
– Elles sont écrites en ST ou en IL.
– On peut définir une action d’entrée, d’état, et de sortie.
• Les conditions des transitions
– Elles sont écrites également en ST ou en IL
Programmation IEC1131
Structured Function Chart (SFC) - Exemple
Init QRouge := TRUE;
QVert := FALSE;
Init
EtatRouge
EtatVert
Q
QOrange := FALSE;
QRouge := FALSE;
QVert := TRUE;
QOrange := FALSE;
QRouge := FALSE;
TRUE T#20s
T#15s
Bus de terrain - Systèmes de commande industriels 44
EtatOrange
QRouge := FALSE;
QVert := FALSE;
QOrange := TRUE;
TRUE
TRUE T#5s
Programmation IEC1131
Structured Function Chart (SFC) – Résumé des principales formes Init
Etat1
Etat2
Etat4
Alternative
Bus de terrain - Systèmes de commande industriels 45
Etat3 Etat5
Séquences parallèles
Ladder (LD) - Exemple
Bus de terrain - Systèmes de commande industriels 46
Programmation IEC1131
Function Block Diagram (FBD) – Exemple
Bus de terrain - Systèmes de commande industriels 47
Programmation IEC1131
Fonction
• Une fonction
Même principe q e dans les langages é ol és C C# Basic – Même principe que dans les langages évolués C++, C#, Basic, …
• Exemples de fonction
– SIN, COS Y := SIN(X);
• Le résultat ne dépend que des paramètres d’entrée.
• Les variables sont locales.
Bus de terrain - Systèmes de commande industriels 48
• Représentation graphique
Fonction
Programmation IEC1131
Bloc fonctionnel
• Un bloc fonctionnel est constitué
De ariables – De variables
• d’entrée et de sortie.
• internes.
• Ces variables conservent leur valeur entre 2 appels consécutifs.
– Utilisées comme variable d’état.
– un bloc de code.
• Le résultat ne dépend pas seulement des valeurs d’entrée
Bus de terrain - Systèmes de commande industriels 49
– Tient aussi compte des variables d’état internes.
– Les variables de sortie peuvent donc prendre des valeurs différentes pour un même ensemble de valeur appliquées en entrée.
Bloc fonctionnel - exemple
• Le bloc TON (Timer ON)
TON
IN PT
Q T#100ms ET
IN
FALSE TRUE
Bus de terrain - Systèmes de commande industriels 50
Q
ET
PT PT
FALSE TRUE
T#0 PT
Programmation IEC1131
Bloc fonctionnel - Utilisation
• En FBD
Le bloc est simplement posé s r n diagramme – Le bloc est simplement posé sur un diagramme.
– Ses entrées et sorties sont reliées vers d’autres blocs fonctionnels.
• En ST
VAR
Timer1, Timer2: TON;
Input AT %I*: BOOL;
Output1 AT %Q*: BOOL;
Bus de terrain - Systèmes de commande industriels 51
p
Output2 AT %Q*: BOOL;
END_VAR
Timer1(PT := T#100ms, IN := Input);
Output1 := Timer1.Q;
Programmation IEC1131
Quel langage choisir ?
• Premier critère
Le choi est parfois restreint par les langages s pportés par l’o til – Le choix est parfois restreint par les langages supportés par l’outil
de développement.
• Recommandation
– Préférer ST pour toutes les opérations de base – Pour les séquences : SFC
• Attention à la modularité pour les séquences complexes.
• L’édition graphique est parfois fastidieuse.
Bus de terrain - Systèmes de commande industriels 52
g p q p
• Un SFC ne s’imprime pas de façon satisfaisante.
– Pour les applications complexes, préférer ST même pour les séquences.
• Impose un travail d’analyse supplémentaire (traduction des machines d’état)
Bus de terrain - Systèmes de commande industriels 53