Académique Documents
Professionnel Documents
Culture Documents
2
Saber MARAOUI
Plan
- Langage SFC
- Bits de sauvegarde internes
- Temporisateurs
- Compteurs
- Types de données et déclaration des
variables
- Fonctions et fonctions blocs standards
Langage SFC
Langage SFC (Sequentiel Function Chart): présentation
Le langage SFC (Sequentiel Function Chart) a été défini pour pouvoir diviser un problème
complexe en des unités plus petites et plus manipulable, et aussi pour décrire le flux de
commande entre ces unités.
La séquence d’exécution de ces unités dépond des conditions statiques définies par le
programme et des conditions dynamiques définies par les E/S. Les unités peuvent elles même
être programmées utilisant les autres langages de programmations des API.
Les processus pouvant être décris par un comportement séquentiels caractérisé par des étapes,
sont particulièrement adaptés pour que leur fonctionnement soit décrit avec ce langage.
Identification des étapes en SFC
En SFC, une étape peut être identifiée graphiquement par un rectangle et un nom d’étape
(ou double rectangle pour l’étape initiale) ou textuellement via une déclaration :
Step Identifiant
Identifiant
(* Corps de l’étape pour décrire les actions *
End_step
Appel de la transition :
Description des actions
Une action est utilisée pour décrire les instructions à exécuter en association avec une
étape active.
Ces instructions peuvent être une action booléenne ou une séquence d’instructions
programmées en LD, IL, FBD, ST ou un sous-programme en SFC.
Un bloc action est constitué d’une action avec une condition d’exécution (appelée
qualificateur d’action) et un indicateur booléen variable (optionnel).
Un bloc d’action peut être définit en version graphique ou textuelle
Du point de vue programmation, ils peuvent être considères de la même manière qu’un relais
externe de sortie ou d’entrée.
Ces bits ont des appellations qui varient d’un constructeur à un autre, (relais auxiliaires pour
Mitsubishi, drapeaux (flags) pour Siemens, bit de sauvegarde pour Allen Bradley…,)
Mitsubishi utilise Mnnn, avec nnn est un nombre dans une zone prédéfinie de M100 à M377 (octal),
le PLC-5 de Allen Bradley, le bit de sauvegarde (bit storage) est noté B3/n où n est le numéro du signal
(e.g. B3/100). Dans cette notation B est pour Bit storage, 3 vient du fait que le PLC-5 maintient les
données en fichiers (fichier 3 pour ces bits, fichier 4 pour les timers (T4), fichier 5 pour les compteurs
(C5), …).
Pour utiliser un relais interne, il doit être active par une ligne d’un programme et sa sortie doit ensuite servir
a actionner les contacts d’un interrupteur sur une ou plusieurs autres lignes du programme. Les relais
internes peuvent être programmes avec autant d’ensembles de contacts que nécessaire.
Séquencement de sorties
Séquencement de moteurs
Temporisation cyclique marche-arrêt
Temporisation TOF, temporisation à déclanchement
Son fonctionnement est le contraire de celui de TON
Dans certain API la temporisation TON et TOF sont intéfrées
Version Siemens
Version Allen-Bradley
Exemple d’application
Compteurs
Principe des compteurs
Un compteur est initialise a une valeur de présélection et, lorsque ce nombre
d’impulsions d’entrée a été reçu, il actionne ses contacts. Les contacts normale- ment
ouverts sont fermes, les contacts normalement fermes sont ouverts.
II existe deux types de compteurs : les compteurs dégressifs et les compteurs progressifs.
Un compteur dégressifs ou compteur décrémental, décompte a partir de la valeur
présélectionnée jusqu’ à zéro
On peut aussi avoir un compteur incrémental/décrémental à la fois
(а) Programme pour un API de Mitsubishi, (b) de Siemens et (c) de Toshiba.
Booléenne/string Entiers signés Entiers non signés Réels (FP) Temps, durée et
date
BOOL INT UINT REAL TIME
BYTE SINT USINT LREAL DATE
Fonctions numériques
Fonctions de conversion de types
Fonction MOD
***: ADD ou Mul (+, *) ***: SUB ou Div (-, /)
Fonctions arithmétiques
Fonctions de sélection
Fonction limite
*** : MAX ou MIN
Multiplexeur
Sélection d’une entrée
Fonction pour variable de type Temps et Date
Conversion de temps