PP - La Programmation
PP - La Programmation
PP - La Programmation
LA
PROGRAMMATION
GJ C
LA NORME
CEI 1131
La Norme CEI 1131
Définitions et informations générales
L’automate
programmable
Matériel
Logiciel
Accueil Outils logiciels
Windows ( 98, NT, XP…)
OS2
UNIX, Linux … Outils d’adaptation
La Norme CEI 1131
Définitions et informations générales
Fonctions:
stockage des DONNEES
Fonctions:
d’INTERFACE avec les capteurs et les actionneurs
M achine / Processus
La Norme CEI 1131
Définitions et informations générales
Fonctions: La fonction
Fonctions:
d’interface
Alimentation
traitement du signalcapteurs/actionneurs
SYSTEME
d’EXPLOITATION
converti:
Fonctions:
principale
alimentation -Les signaux
Exécution des program- Fonctions: d’E à des niveaux
mes d’applications stockage du programme
appropriés
d'applicationau traitement
-- Les signaux
Fonctions: d’S à des niveaux
stockage des DONNEES
La fonction de traitement du appropriés aux actionneurs
signal comprend le stockage
du programme d’application, Fonctions:
des données, du système d’INTERFACE avec les capteurs et les actionneurs
d’exploitation
M achine / Processus
La Norme CEI 1131
Définitions et informations générales
Reprise à froid
Reprise immédiate
Reprise à chaud
Reprise à froid
Reprise immédiate
Reprise à chaud
Reprise à froid
Reprise immédiate
Reprise à chaud
Langages LITTERAUX
Langages GRAPHIQUES
Langage SFC
Eléments communs
Un identificateur est un cordon de lettres, de chiffres et de
caractères de soulignement qui doit commencer par une lettre.
L’identificateur ne doit pas comporter de caractère espace
(SP)
Exemple:
bp_dcy
cp_avant
Exemple
bp_dcy : (* bouton poussoir NO de départ cycle *)
La Norme CEI 1131
La programmation
les Données
Les données sont définies par des mots clé relatifs à chaque
type et par le nombre de bits par élément d’information. Les
différents types reconnus par la norme sont:
- types de données élémentaires
- types de données génériques
- types de données dérivés
les Variables
Les variables permettent d’identifier des objets de données
dont le contenu peut varier, comme par exemple des donnée
associées aux E/S ou aux données internes de l’API. Une
variable sera déclarée comme appartenant à l’un des types de
données.
- variables à un seul élément
- variables à plusieurs éléments
La Norme CEI 1131
La programmation
Déclaration de variables
La Norme CEI 1131
La programmation
Le langage IL
La Norme CEI 1131
La programmation
Le langage ST
ENONCES
Affectation : A := B
Sélection : IF … THEN … ELSE …. END_IF
CASE … OF ; END_CASE
Itération : FOR … to .. ; END_FOR
WHILE …. ;END_WHILE
REPEAT … UNTIL ; END_REPEAT
La Norme CEI 1131
La programmation
Le langage FBD
La Norme CEI 1131
La programmation
Le langage LD
La Norme CEI 1131
La programmation
La FONCTION
1_ Définition
2 _ Représentation
3 _ Déclaration
Le BLOC FONCTIONNEL
1_ Définition
2 _ Représentation
3 _ Déclaration
Le BLOC FONCTIONNEL
La Norme CEI 1131
La programmation
Le BLOC FONCTIONNEL
La Norme CEI 1131
La programmation
Le PROGRAMME
1_ Définition
2 _ Représentation
3 _ Déclaration
Phase de conception
ANALYSE
Etude et description d’un point de vue
commande, outil : GRAFCET
SPECIFICATIONS
Déclaration des variables et spécifications
logicielles dans un langage de la norme
Phase de réalisation
CONFIGURATION
Etude et configuration matérielle de toutes les
variables déclarées
CODAGE A.P.I
Transcodage des spécifications logicielles
dans le code constructeur
La Norme CEI 1131
La programmation
Module 1
Module 2
Calcul des équations de
fonctionnement
Traitement
Module 3
Combinatoire général (tempo,
compteur ..
Affectation des
sorties
Module 4
Équations des sorties
1 SEULE EQUATION PAR SORTIE
La Norme CEI 1131
La programmation
F(A>B)=a3./b3+(a3Θb3)a2/b2+(a3Θb3)(a2Θb2)a1./b1+
(a3Θb3)(a2Θb2)(a1Θb1)a0./b0
F(A<B)= /a3.b3+(a3Θb3)/a2.b2+(a3Θb3)(a2Θb2)/a1.b1+
(a3Θb3)(a2Θb2)(a1Θb1)./a0.b0
F(A=B)= (a3Θb3)(a2Θb2)(a1Θb1)(a0Θb0)
La Norme CEI 1131
La programmation
COMPARATEUR BITS
FONCTION_COMPA
(* déclaration des variables*)
VAR_INPUT
a : ARRAY[0..3] OF BOOL ; (*valeur des poids binaire de A*)
b : ARRAY[0..3] OF BOOL ; (*valeur des poids binaire de B*)
END_VAR
VAR_OUPUT
Sup : BOOL ; (*valeur A>B *)
Inf : BOOL ; (* valeur A<B *)
Egal : BOOL ; (* valeur A=B *)
END_VAR
VAR
Vi : ARRAY [0..15] OF BOOL ; (* variables internes utilisées *)
END_VAR
La Norme CEI 1131
La programmation
COMPARATEUR BITS
FONCTION_COMPA
(* corps de fonction *)
END_FONCTION
La Norme CEI 1131
La programmation
Les blocs
fonctionnels
Bistables standards
La Norme CEI 1131
La programmation
Les blocs
fonctionnels
standards de compteurs
La Norme CEI 1131
La programmation
IN
PT
La Norme CEI 1131
La programmation
Les blocs fonctionnels standards de temporisateurs (TOF)
IN
PT
LA
GJ C
PROGRAMMATION
DU GRAFCET
La Programmation du grafcet
Introduction
Méthode asynchrone
La Programmation du grafcet
Introduction
Niveaux de synchronisme
L’implémentation du grafcet
REGLE 1
REGLE 2
REGLE 3
REGLE 4
REGLE 5
La Programmation du grafcet
Introduction
Niveaux de synchronisme
L’implémentation du grafcet
REGLE 1
REGLE 2 Famille ou type 1
REGLE 3
REGLE 4
REGLE 5
La Programmation du grafcet
Introduction
Niveaux de synchronisme
L’implémentation du grafcet
REGLE 1
REGLE 2 Famille ou type 2
3
REGLE 3
- Synchronisé
REGLE 4
- hiérarchisé
REGLE 5
La Programmation du grafcet
Introduction
RAPIDITÉ
Simplicité du programme
Architecture
décentralisée
Taille du programme
Technique de programmation
standart
Améliorée : sauts
Scrutation situationnelle
La Programmation du grafcet
Le langage SFC
La Programmation du grafcet
Le langage SFC
La Programmation du grafcet
Le langage SFC
La Programmation du grafcet
Le langage SFC
La Programmation du grafcet
Le langage SFC
1
Commande d'un chariot de transfert.
10 mn /X3
4 Si /poste A : ARRIERE
Poste A
La Programmation du grafcet
Le langage SFC
PROGRAMME_CHARIOT
VAR_INPUT
Dcy : BOOL; (*BP de marche*)
FcA : BOOL ; (*fin de course poste A*)
FcB : BOOL ; (*fin de course poste B*)
T/X3 :TIME :=t#10mn; (*variable d’attente en B, initialisée à 10mn*)
END_VAR
VAR_OUPUT
KMAV :BOOL ; (*contacteur marche avant*)
KMAR :BOOL ; (*contacteur marche arrière*)
VOM :BOOL ; (*voyant origine machine*)
END_VAR
La Programmation du grafcet
Introduction
1
INIT
Marche . OM
Dcy &f cA
2 Si /poste B : AVANT
AV KMAV /fcB
Poste B
fcB
3
ATT
10 mn /X3
ATT.T>=T/X3
4 Si /poste A : ARRIERE
AR KMAR /fcA
Poste A
fcA
La Programmation du grafcet
Introduction
1 _ Initialisation :
Peut être assurée par la déclaration des étapes initiales (langage
SFC) ou par programmation dans le respect de la règle 1 du grafcet.
Généralement exécutée à la mise sous tension.
2 _ Calcul des conditions d’évolutions :
Doit permettre de respecter le règle 2 et éventuellement la règle 4.
Associé au franchissement d’une transition, ce calcul peut concerner
l’ensemble des transitions ou seulement celles validées.
3 _ Calcul des conditions d’activation des étapes :
Correspond à la règle 3 du grafcet et si nécessaire à la règle 5
4 _ Combinatoire général :
Instruction de blocs fonctionnels standards ( tempo, compteur, …)
5 _ Equations des sorties :
Calcul des équations logiques des actions associées aux étapes
correspondant aux sorties de la PC
La Programmation du grafcet
Introduction
L’etape
Transition et réceptivité
Les règles 2 et 3 du grafcet précisent ces conditions d’évolution
généralisation
Mémoire monostable à marche prioritaire
La Programmation du grafcet
Méthode synchrone
i-1
r(i-1)
r(i)
i+1
r(i+1)
Toutes les étapes du grafcet à programmer seront traduites à partir des équations définies ci-dessus.
Ces équations n’utilisent que des données de type booléen, il faut donc utiliser des bits internes pour
matérialiser chaque variable d ‘étape Xi.
1 étape = 1 bit
Dans la pratique on utilisera les données de type WORD (cordon de 16 bits) pour implémenter un grafcet,
ceci nous autorise 16 étapes, mais ne représente pas un nombre limite d’étape pour un grafcet.
Nous appliquerons le même principe à calcul des conditions d’évolutions en utilisant un deuxième mot.
La Programmation du grafcet
Méthode synchrone
Etape initiale
Initialisation
Initialisation
X0 étape initiale
travail sur mot
La Programmation du grafcet
Méthode synchrone
Structure du programme
INITIALISATION
COMBINATOIRE GENERAL
INITIALISATION
Wmm := 1
COMBINATOIRE GENERAL
OM = a . /d
i-1
La méthode de programmation asynchrone ou APPEL/REPONSE du grafcet est une
r(i-1) méthode simple à mettre en œuvre et qui ne peut s’utiliser que pour des grafcets de
type 1 (famille 1). La condition d’enclenchement de la mémoire d’étape correspond à
i l’APPEL et le déclenchement à la REPONSE.
Equation
Toutes les étapes du grafcet à programmer seront traduites à partir de l’équation définie ci-dessus.
Cette équation n’utilise que des données de type booléen, il faut donc utiliser des bits internes pour
matérialiser chaque variable d ‘étape Xi.
1 étape = 1 bit
Comme dans la méthode précédente on utilisera les données de type WORD (cordon de 16 bits) pour
implémenter un grafcet, ceci nous autorise 16 étapes, mais ne représente pas un nombre limite d’étape
pour un grafcet.
La Programmation du grafcet
Méthode asynchrone
Initialisation
-modification de l’équation
Structure du programme
INITIALISATION
COMBINATOIRE GENERAL
OM = a ./d
INITIALISATION
Wmm := 1
COMBINATOIRE GENERAL
OM = a . /d
La méthode appel/réponse est une méthode simple à implémenter, peu consommatrice de données
automate mais qui trouve rapidement ses limites.
La Programmation du grafcet
Programmation bistable
La majorité des automates programmables actuels possèdent des adresses de bits bistables dans la mémoire
de données. L’accès à ces bits s’accompagne généralement par les instructions “SET” et “RESET”, ou par
l’utilisation de blocs fonctionnels (norme 1131-3) du type “RS”.
La Programmation du grafcet
Programmation bistable
L’utilisation en programmation des bits bistables permet, dans la majorité des automates et pour une grande
partie des grafcets, de ne pas avoir à calculer les conditions d’évolutions si l’on prend la précaution de regrouper
les activations et les désactivations dans le programme. La structure du programme peut alors avoir deux
organisations suivant la technique utilisée.
La Programmation du grafcet
Implémentation du grafcet global
Grafcet structuré
Le concept de macro représentation, utilisé dans le cas de la description du Grafcet de Production Normale (GPN),
ne présente pas de problèmes particuliers.
La programmation est fonction de l’outil de développement utilisé.
1°cas :
Le jeu d’instruction de l’automate inclut la programmation des macros-étapes, il suffit dans ce cas de respecter la
syntaxe donnée par le constructeur.
La Programmation du grafcet
Implémentation du grafcet global
Grafcet structuré
Le concept de macro représentation, utilisé dans le cas de la description du Grafcet de Production Normale (GPN),
ne présente pas de problèmes particuliers.
La programmation est fonction de l’outil de développement utilisé.
2°cas :
Le passage au point de vue PC du grafcet oblige à interpréter les macros-étapes par des grafcets connexes
bouclés.
Règle 4 : Effectuer les actions opératives de tous les métamodules en fin de programme
La Programmation du grafcet
Implémentation du grafcet global
Grafcet hiérarchisé
La Programmation du grafcet
Implémentation du grafcet global
Programmation des forçages
Le forçage d’un grafcet , programmé en méthode synchrone en utilisant des mots registres, se fait par
modification directe de la valeur du mot en utilisant le bloc fonctionnel de transfert de valeur MOVE.
Situation vide :
Le forçage en situation vide [F/G# :{}] correspond au forçage
à zéro du mot registre utilisé pour le grafcet forcé.
Exemple
La Programmation du grafcet
Implémentation du grafcet global
Programmation des forçages
•Situation initiale :
Le forçage en situation initiale [F/G# : (init)] correspond à
la mise à 1 dans le mot registre utilisé par le Grafcet des
bits correspondant aux étapes initiales
Exemple:
La Programmation du grafcet
Implémentation du grafcet global
Programmation des forçages
Situation donnée :
Le forçage dans une situation donnée [F/G# : (Xj)] correspond à
la mise à 1 dans le mot registre utilisé par le Grafcet du bit
correspondant a l’ étape Xj
Situation courante :
Le figeage du grafcet [F/G# (*)] peut s’obtenir de plusieurs façons:
A la mise sous tension, l’automate programmable fait un certain nombre de tests internes avant de commencer
son cycle de scrutation. Pour une initialisation contrôlée de l’application, il est nécessaire d’effectuer des
commandes particulières en début de programme. Nous appellerons cette phase: « le module d’initialisation ».
1°tour de cycle : Le premier tour de cycle est signalé par un bit système.
Le déverrouillage des sorties se fait par le Grafcet de sécurité au moment de l’alimentation des sorties.
La Programmation du grafcet
Implémentation du grafcet global
Montage des équations de sorties
Pour le respect de la règle de programmation des sorties (une seule équation par sortie), la forme finale de
l’équation d’une sortie aura la structure suivante.
Fin