Vous êtes sur la page 1sur 42

Formation T.S.A.I.I.

Technicien Supérieur en Automatique


et Informatique Industrielle

AFPA Mulhouse

Langage PL7_(Micro, Junior ou Pro)

Introduction.
Le langage PL7 des automates TSX37 et TSX 57 reprend l’essentiel de la structure du
logiciel PL7 des automates des séries V3, V4 et V5.
Il présente l’avantage de travailler sous WIN, contrairement à son « ancêtre » qui utilisait
OS2.
De nouvelles fonctionnalités et une ergonomie conviviale font de ce logiciel le classique des
automates SCHNEIDER.

Sommaire page
1. PRÉSENTATION GÉNÉRALE...................................................................................................................................1
1.1. Création d'une application........................................................................................................................................1
1.2. Structure d'une application......................................................................................................................................3
2. CONFIGURATIONS....................................................................................................................................................4
2.1. Configuration matérielle...........................................................................................................................................4
2.2. Configuration logicielle.............................................................................................................................................5
2.3. Configuration GRAFCET...........................................................................................................................................6
3. ÉDITIONS....................................................................................................................................................................7
3.1. Édition des variables.................................................................................................................................................7
3.2. Saisie des symboles et commentaires....................................................................................................................8
4. ADRESSAGE DES OBJETS DES TSX.....................................................................................................................9
4.1. Adressage des modules d’E/S.................................................................................................................................9
4.2. Liste des mots et bits associés..............................................................................................................................10
4.3. Rangement des mots en mémoire.........................................................................................................................11
5. PROGRAMMATION..................................................................................................................................................12
5.1. Programmation à contacts ou Ladder LD............................................................................................................12
5.2. Éléments graphiques de base................................................................................................................................13
5.3. Barre d'outils............................................................................................................................................................14
5.4. Principe d'exécution................................................................................................................................................15
5.5. Ordre d'exécution....................................................................................................................................................16
5.6. Saisie d'un programme en LD................................................................................................................................17
5.7. Bloc fonctions en Ladder.......................................................................................................................................18
5.8. Programmation en Grafcet (GR7)..........................................................................................................................23
6. PRÉSENTATION DU LANGAGE LITTÉRAL STRUCTURÉ...................................................................................27
6.1. Principe.....................................................................................................................................................................27
6.2. Les instructions.......................................................................................................................................................28
6.3. Structure d'un programme littéral.........................................................................................................................33
7. CONFIGURATION DE LA COMMUNICATION CONSOLE/AUTOMATE...............................................................40
7.1. Principe.....................................................................................................................................................................40
7.2. Configuration.............................................................................................................................................................40

M1_Automates 04_Langage PL7 Page 0


TSAII Mulhouse Langage PL7 11/04/23

1. PRÉSENTATION GÉNÉRALE

1.1. Création d'une application


 Sélectionner la commande Fichier/Nouveau.

 Sélectionner le type de processeur.

 Sélectionner suivant le cas le type de carte mémoire. Le type de carte mémoire


peut toujours être modifié par la suite lors de la configuration du processeur.

 Suivant la version du processeur, l'option Grafcet doit être sélectionnée pour être
utilisée dans l'application.

Processeurs V1.0
- Cette génération de processeurs ne supporte pas le langage Grafcet.

Processeurs V1.5 et V2.0


- L'utilisation du langage Grafcet doit être déclarée dès la création de l'application.

Remarque : Il est impossible de changer cette option par la suite.

M1_Automates 04_Langage PL7 Page 1


TSAII Mulhouse Langage PL7 11/04/23

Processeurs V3.0 et suivants :


- Ces processeurs supportent les nouvelles fonctionnalités liées au PL7 V3.0.
Le choix du langage Grafcet s'effectue lors de la création de la section Grafcet.

On obtient Créer par un clic à droite sur Section

En cliquant sur Créer on ouvre la boite de dialogue ci-dessous.


Une liste est proposée dans la rubrique langage (G7 correspond au Grafcet).

M1_Automates 04_Langage PL7 Page 2


TSAII Mulhouse Langage PL7 11/04/23

1.2. Structure d'une application

La constitution d'une application avec le logiciel PL7 s'appuie autour d'éditeurs et d'outils
accessibles à partir de l'écran Navigateur Application .

Celui-ci présente le contenu de l'application sous forme arborescente. Il permet de se


déplacer à l'intérieur et d'accéder directement aux différents services selon les droits du
logiciel utilisé.

Éditeur de configuration

Éditeur de programme

Éditeur de DFB

Éditeur de variable

Éditeur de table d'animation


Éditeur de documentation
Éditeur d'écrans d'exploitation

L'accès à chaque éditeur est réalisé soit en cliquant sur le bouton droit de la souris puis
en choisissant Ouvrir dans le menu ou double clic gauche sur l'icône.

M1_Automates 04_Langage PL7 Page 3


TSAII Mulhouse Langage PL7 11/04/23

2. CONFIGURATIONS

2.1. Configuration matérielle

 Sélectionner la position du module à configurer (clic ou touches flèches). (Les


touches PgUp, PgDn, TAB et MAJ+TAB permettent de sélectionner un rack
différent).

 Sélectionner la commande Édition/Ajouter un module ou effectuer un double clic


sur la position sélectionnée (touche Entrée).

 Une boîte de dialogue est affichée présentant par famille la liste des modules
pouvant être configurés en fonction de la position sélectionnée

 Sélectionner la famille (clic ou touches flèches), le module et valider par OK.

M1_Automates 04_Langage PL7 Page 4


TSAII Mulhouse Langage PL7 11/04/23

2.2. Configuration logicielle

 Effectuer un double clic gauche à la souris sur le répertoire Configuration.

 Effectuer de même sur le répertoire Configuration logicielle.

La configuration logicielle permet de définir pour l'application:


- le nombre des différents types de blocs fonctions,
- le nombre de mots des registres,
- le nombre de bits internes %M,
- le nombre de mots internes %MW,
- le nombre de constantes %KW.

 Pour chacun des champs à modifier : sélectionner le champ puis saisir la valeur
désirée. Note: Un contrôle interdit la saisie de valeurs supérieures au nombre
maximum autorisé.

 Valeurs

Timers....................................................
.............0 à 255 (Timers + Timers série 7 256)
Timers série 7........................................ .............0 à 255 (Timers + Timers série 7 256)
Monostables.......................................... .....................................0 à 255
Compteurs............................................. .....................................0 à 255
Registres....................................................................................0 à 255
Drums....................................................
.....................................0 à 255
Nombre de mots par registre................. .....................................0 à 255
Bits internes %Mi (booléens) ................ .........................dépend du processeur
Mots internes %Mwi (numériques) ........ ............dépend des tailles mémoire disponibles
Constantes %KWi.................................. ............dépend des tailles mémoire disponibles

 Valider la configuration par la commande Edition/Valider (Ctrl + W)

M1_Automates 04_Langage PL7 Page 5


TSAII Mulhouse Langage PL7 11/04/23

2.3. Configuration GRAFCET

La configuration des objets Grafcet requiert au préalable:


- une version de processeur utilisée supportant le langage Grafcet,
- la création de la section Grafcet pour les processeurs V3.0.

Pour configurer les objets Grafcet:

 Effectuer un double clic gauche à la souris sur le répertoire Configuration ou se


positionner sur celui-ci puis appuyer sur la touche flèche droite.
 Effectuer de même sur le répertoire Configuration des objets Grafcet.

La configuration logicielle permet de définir pour l'application:


- le nombre de macro-étapes,
- le nombre d'étapes (Chart + macro-étapes),
- le nombre d'étapes actives,
- le nombre de transitions valides

 Pour chacun des champs à modifier : sélectionner le champ puis saisir la valeur
désirée.
 Note: Un contrôle interdit la saisie de valeurs supérieures au nombre maximum
autorisé.

 Valeurs

Nombre d'étapes (Chart).......................................


...................................250
Nombre de macro-étapes......................................
....................................64
Nombre d'étapes de macro-étapes........................ ......................250 par macro-étape
Nombre d'étapes (Chart + macro-étapes).............. ..................................1024
Nombre d'étapes actives.......................................
...................................250
Nombre de transitions valides................................
...................................400

M1_Automates 04_Langage PL7 Page 6


TSAII Mulhouse Langage PL7 11/04/23

3. ÉDITIONS

3.1. Édition des variables

L'éditeur permet la saisie/modification/visualisation de toutes les variables avec leurs


paramètres et attributs.

Pour accéder à l'éditeur de variables :

 Ouvrir le navigateur application

 Effectuer un double clic gauche à la souris sur le répertoire Variables ou se


positionner sur celui-ci puis appuyer sur flèche droite.

 Ouvrir l'éditeur de variables pour cela :

Effectuer un double clic gauche à la souris sur le type de variables désiré ou se


positionner sur celui-ci puis appuyer sur Enter.

Tous les objets PL7 peuvent être symbolisés

Exemple : %MW10 a pour symbole TEMPERATURE.

Un symbole est une chaîne de 32 caractères alphanumériques maximum, dont le


premier caractère est alphabétique. Le langage PL7 ne fait pas la différence entre les
majuscules et les minuscules (par exemple : le symbole Brûleur_1 est équivalent au symbole
BRULEUR_1).

M1_Automates 04_Langage PL7 Page 7


TSAII Mulhouse Langage PL7 11/04/23

3.2. Saisie des symboles et commentaires

3.2.1. Caractères utilisables

- Caractères alphabétiques : A à Z minuscules, majuscules, accentués,


- Caractères numériques : chiffres de 0 à 9 (ils ne peuvent pas être placés en début de
symbole).
- Caractère "_" ( il ne peut être placé ni en début, ni en fin de symbole).

3.2.2. Cas des objets structurés

Les objets bits extraits de mots, bits ou mots de blocs fonction peuvent être écrits sous
une forme symbolique, mais s'ils ne sont pas symbolisés, ils peuvent hériter du symbole de
l'objet de base.

Exemples :

- Si le mot %MW10 a pour symbole "température", le tableau de mots %MW10 :12 est
symbolisé par température :12.

- Si le mot %MW100 a pour symbole "four_1", le mot indexé %MW10 [%MW100] est
symbolisé par température[four_1].

3.2.3. Commentaire

Un commentaire de 508 caractères peut être associé à chaque repère même si celui-ci
n'a pas de symbole.

3.2.4. Stockage

Les symboles ne sont pas stockés dans l'automate mais dans le terminal.

M1_Automates 04_Langage PL7 Page 8


TSAII Mulhouse Langage PL7 11/04/23

4. ADRESSAGE DES OBJETS DES TSX P O IN T C LE

4.1. Adressage des modules d’E/S

L'adressage des principaux objets bits et


mots de modules d'entrées/sorties est défini par les caractères suivants :

TSX Micro

Symbole Type d’objet Format Position (x) Rang


% I, Q, M ou K X, W, D ou F x.i r
I = Entrée X = Booléens et numéro de voie (i) r=0 à127
Q = Sortie du module
M = Information en TSX Micro
lecture/écriture
K = Information de W = Mots
configuration D = Double mots
F = Flottants

TSX Premium

Symbole Type d’objet Format Adresse rack (x) Rang


% I, Q, M ou K X, W, D ou F xy.i r
I = Entrée X = Booléens Position (y) et numéro r=0 à127
Q = Sortie de voie (i) du module
M = Information en TSX Premium
lecture/écriture
K = Information de
configuration W = Mots
D = Double mots
F = Flottants

Exemple : d'adressage des entrées/sorties

TSX Micro

%I2.05 = entrée du module 1/2 format, position n°2, voie 5.


%Q8.0 = sortie du module 1/2 format, position n°8. , voie 0.

TSX Premium

%I3.6 = entrée du module : rack 0, position 3, voie 6.


%Q206.15 = sortie du module : rack 2, position 6 (06), voie 15.

M1_Automates 04_Langage PL7 Page 9


TSAII Mulhouse Langage PL7 11/04/23

4.2. Liste des mots et bits associés

Mots et bits Nature Adressage Limites Possibilités


(1)
M = Mots internes Simple longueur %Mwi R/W
Double longueur %Mdi (1)
R/W
(1)
Flottant %Mfi R/W
Octet (2) %MBi (1)
R/W

K = Mots constants Simple longueur %Kwi (1)


R/W(3)
(1)
Double longueur %Kdi R/W(3)
Flottant %Kfi (1)
R/W(3)
(1)
Octet (2) %KBi R/W(3)

I, Q = Mots de module E simple longueur %IWxy.i 0<i<127 R/W


d’E/S E double longueur %IDxy.i 0<i<126 R/W
S simple longueur %QWxy.i 0<i<127 R/W
S double longueur %QDxy.i 0<i<126 R/W

N = Mots communs %NW{j}k 0<j<31 R/W


sur le réseau 0<k<3

S = Mots système Simple longueur Double %Swi 0<i<127 R/W(4)


longueur %SDi 0<i<126 R/W(4)

Bits extraits de Mots bit j de mot interne %MWi:Xj 0<j<15 R/W

bit j de mot constant %KWi:Xj 0<j<15 R/W(3)


R/W
bit j de mot d'entrée %IWi:Xj 0<j<15
R/W
bit j de mot de sortie %QWi:Xj 0<j<15
R/W R/W(4)
bit j de mot système %SWi:Xj 0<j<15
R/W
bit j de mot commun NW{j}k:Xm 0<j<15
% réseau 0

(1)
La limite maximum dépend de la taille mémoire disponible et du nombre de mots
déclaré en configuration logicielle.
(2)
Cet objet n'existe pas autrement qu'en adresse de départ d'une chaîne de caractères
%MBi:L ou %KBi:L.
(3)
Écriture uniquement par console.
(4)
Écriture selon i.

M1_Automates 04_Langage PL7 Page 10


TSAII Mulhouse Langage PL7 11/04/23

4.3. Rangement des mots en mémoire


Les octets, mots simples, double longueur et flottant sont rangés à l'intérieur de l'espace
données dans une même zone mémoire.

%MW0 %MB1 %MB0


%MD0
%MW1 %MB3 %MB2
%MD1
%MW2 %MB5 %MB4
P O IN T C LE %MD2
%MW3 %MB7 %MB6

%MWi
%MDi
%MWi+1

Possibilité de recouvrement entre objets

Le mot double longueur %MDi (ou %MFi) correspond aux mots simple longueur %MWi
et %MWi+1 (le mot %MWi renfermant les poids faibles et le mot %MWi+1 les poids forts du
mot %MDi).
Le mot simple longueur %MWi correspond aux octets %MBj et %MBj+1 (avec j=2.i).

Les objets mots peuvent être adressés par le logiciel suivant quatre formats .

B : Octet ce format est exclusivement utilisé pour les opérations sur chaîne de
caractères. L'indice doit être pair.

W : Simple longueur ces mots de 16 bits contiennent une valeur algébrique comprise
entre: -32 768 et 32 767.

Exemple:
Poids forts Poids faibles
0111 0111 0011 0100

D : Double longueur ces mots de 32 bits peuvent contenir une valeur algébrique
comprise entre : -2 147 483 647 et 2 147 483 647.Ces mots s'implantent en mémoire sur
deux mots simple longueur consécutifs.

Exemple:
1er mot 2ème mot
Poids forts Poids faibles Poids forts Poids faibles
0111 0111 0011 0100 0111 0111 0011 0100

F : Flottant le format flottant utilisé est celui de la norme IEEE. La longueur des mots
est de 32 bits, ce qui correspond à des nombres flottants simple précision (Valeur comprise
entre –3.402824E+38 et +3.402824E+38).
Exemples : 1285.28 ou 12.8528E+2

M1_Automates 04_Langage PL7 Page 11


TSAII Mulhouse Langage PL7 11/04/23

5. PROGRAMMATION

5.1. Programmation à contacts ou Ladder LD

Un programme écrit en LD se compose d'une suite de réseaux exécutés


séquentiellement par l'automate.

Dessiné entre deux barres de potentiel, un réseau est un ensemble d'éléments


graphiques représentant :
 Les entrées/sorties de l'automate (boutons-poussoirs, détecteurs, relais,
voyants...),
 Des fonctions d'automatismes (temporisateurs, compteurs...),
 Des opérations arithmétiques et logiques et des opérations de transfert,
 Les variables internes de l'automate.

Ces éléments graphiques sont reliés entre eux par des connexions horizontales et
verticales.

Chaque réseau (nommé Rung) comporte:

- Une zone de saisie de l'étiquette (cellule située en haut et à gauche du rung),


l'étiquette est facultative (%Li:, avec i compris entre 0 et 999). Elle permet de repérer
un réseau de contacts dans un module de programme

- Une zone de saisie du commentaire (1ère ligne à droite de l'étiquette), Le


commentaire est facultatif et peut occuper 3 lignes maximum (soit 222 caractères),
encadrés de part et d'autre par les caractères (* et *) ajoutés automatiquement par
l'éditeur. CTRL+ ENTER permet le retour ligne.

Barres de potentiel

- Une zone de saisie (Test et Action) des éléments graphiques :


* 7 lignes et 11 colonnes (taille maximum) pour une application de niveau L1
* 16 lignes et 11 colonnes (taille maximum) pour une application de niveau L2

- La zone Test (colonnes 1 à 10) accueille:


* les contacts,
* les blocs fonctions,
* les blocs comparaison.

- La zone Action (colonne 11) accueille:


* les bobines,
* les blocs opérations.

M1_Automates 04_Langage PL7 Page 12


TSAII Mulhouse Langage PL7 11/04/23

5.2. Éléments graphiques de base

Contact à fermeture. Passant quand l'objet bit associé est à l'état 1

Contact à ouverture. Passant quand l'objet bit associé est à l'état 0

Front montant. Détection du passage de 0 à 1 de l'objet bit associé

Front descendant. Détection du passage de 1 à 0 de l'objet bit associé

Connexion horizontale. Permet de relier en série les éléments de test et d'action

Connexion verticale. Permet de relier en parallèle les éléments de test et


d'action. Permet également la suppression d'une connexion verticale

Liaison directe de l'élément de test à l'action

Bobine directe. L'objet bit associé prend la valeur du résultat de la zone test

Bobine inverse. L'objet bit associé prend la valeur inverse du résultat de la zone
test
Bobine SET. L'objet bit associé est mis à 1 et mémorisé si le résultat de la zone
test est à 1
Bobine RESET. L'objet bit associé est mis à 0 et mémorisé si le résultat de la
zone test est à 1

Saut à un label amont ou aval

Bloc opération (arithmétiques et logiques)

Bloc comparaison horizontale. La sortie passe à 1 lorsque le test est vérifié

Bloc comparaison verticale. La sortie correspondante passe à 1 lorsque le test


est vérifié

Fonctions Halt/Call/Return

Appel de fonction graphique (Tempo, compteur, monostable, registre,


programmateur cyclique)

Blocs fonctions textuelles

M1_Automates 04_Langage PL7 Page 13


TSAII Mulhouse Langage PL7 11/04/23

5.3. Barre d'outils

Organiser les fenêtres en mosaïque


verticale
Organiser les fenêtres en mosaïque
horizontale
Organiser les fenêtres en cascade
Lancer/stopper l'animation
Passer l'automate en STOP
Passer l'automate en RUN
Connexion à l'automate
Déconnexion de l'automate (Mode local)
Transfert Automate  Console

Bibliothèque de fonctions
Références croisées
Navigateur application
Atteindre
Valider les modifications en cours
Annuler les dernières modifications
Imprimer tout ou partie de l'application
Enregistrer l'application
Ouvrir une application
Nouvelle application

Remarque : Toutes ces fonctions sont aussi disponibles par menu

M1_Automates 04_Langage PL7 Page 14


TSAII Mulhouse Langage PL7 11/04/23

5.4. Principe d'exécution


L'exécution d'un réseau s'effectue réseau connexe par réseau connexe, puis au sein
d'un réseau connexe, dans le sens de gauche à droite
Un réseau connexe contient des éléments graphiques tous reliés entre eux par des
éléments de liaison (hors barre de potentiel), mais indépendants des autres éléments
graphiques du réseau (pas de liaisons verticales vers le haut ou vers le bas en limite de
réseau connexe).

Réseau
connexe 1

Réseau
connexe 2

Réseau
connexe 3

Le premier réseau connexe évalué est celui dont le coin gauche est situé le plus en haut
à gauche.

Un réseau connexe est évalué dans le sens de l'équation : évaluation du réseau de haut
en bas, ligne par ligne, et dans chaque ligne de gauche à droite. Dans le cas où une liaison
verticale de convergence serait rencontrée, le sous réseau qui lui est associé est évalué
(selon la même logique) avant de continuer l'évaluation du réseau qui l'englobe.

En respectant cet ordre d'exécution, le système :

- Évalue l'état logique de chaque contact, en fonction de la valeur courante des objets
internes de l'application ou de l'état des entrées des modules d'entrées/sorties acquis
en début de cycle.
- Exécute les traitements associés aux fonctions, aux blocs fonctions et aux sous
programmes
- Met à jour les objets bits associés aux bobines (la mise à jour des sorties des
modules d'entrées/sorties s'effectue en fin de cycle),
- Débranche vers un autre réseau étiqueté du même module programme (saut JMP),
ou retourne au module appelant (RETURN) ou arrêt du programme (HALT).

Nota : un réseau de contacts ne doit pas contenir des réseaux connexes imbriqués.

M1_Automates 04_Langage PL7 Page 15


TSAII Mulhouse Langage PL7 11/04/23

5.5. Ordre d'exécution

- évaluation du réseau jusqu'à rencontre de la 1ère liaison verticale de convergence :


contacts A, B, C
- Évaluation du 1er sous réseau : contact D
- Poursuite de l'évaluation du réseau jusqu'à la rencontre de la 2ème liaison verticale
de convergence: contact E
- Évaluation du 2ème sous réseau : contacts F et G
- Évaluation de la bobine H.

Exemple de réseau "booléen" :

Ordre d'évaluation:

• bobine 1 : INIT, DCY, ETAPE_1, SORTIE_1


• bobine 2 : MANU, DIAG_OK, AUTO, UP_1
• bobine 3 : INIT, DOWN_1

M1_Automates 04_Langage PL7 Page 16


TSAII Mulhouse Langage PL7 11/04/23

5.6. Saisie d'un programme en LD

5.6.1. Saisir l'étiquette

L'étiquette est facultative (%Li:, avec i compris entre 0 et 999 cellule haut-gauche du
rung). Elle permet de repérer un réseau de contacts dans un module de programme et est
positionnée en début d'un réseau de contacts.

Avec la souris : double cliquer sur la zone étiquette, renseigner l'étiquette (0 à 999) puis
valider par ENTER.

5.6.2. Saisir le commentaire

Le commentaire est facultatif (1ère ligne à droite de l'étiquette) et peut occuper 3 lignes
maximum (soit 222 caractères alphanumériques), encadrés de part et d'autre par les
caractères (* et *) ajouté automatiquement par l'éditeur. CTRL+ ENTER permet le retour
ligne.

Avec la souris : double cliquer sur la zone commentaire, saisir le commentaire puis
valider par ENTER.

>> indique que l'affichage du commentaire est tronqué: faire un double clic dans la zone
commentaire.

Le logiciel propose 2 modes de saisie d'un réseau de contacts :

- avec renseignement
- sans renseignement

La commande Edition/Saisir avec renseignement permet de passer d'un mode à


l'autre.

Le mode saisie sans renseignement permet dans un premier temps de construire le


réseau de contacts sans renseigner les éléments graphiques et de les renseigner une fois le
graphisme terminé.

M1_Automates 04_Langage PL7 Page 17


TSAII Mulhouse Langage PL7 11/04/23

5.6.3. Pour saisir un élément graphique

Avec la souris :

1. Cliquer sur l'élément graphique situé dans la palette graphique,

2. Cliquer sur la grille à l'endroit désiré,

3. Saisir la variable correspondante (par défaut le mode saisie avec renseignement est
actif) et valider par ENTER. Procéder de la même manière pour les autres éléments
du réseau de contacts (Rung).

4. Valider le réseau de contacts par la touche ENTER, par la commande Edition/Valider


ou cliquer sur l'icône

En cas d'erreur détectée durant la validation, le rung reste en rouge, dans le cas
contraire, les variables associées aux éléments graphiques sont de couleur bleu.

5.7. Bloc fonctions en Ladder


Le logiciel met à disposition de l’utilisateur différentes fonctions d’automatisme
préprogrammées, à savoir
Les temporisateurs,
les monostables,
les compteurs,
et les registres.

M1_Automates 04_Langage PL7 Page 18


TSAII Mulhouse Langage PL7 11/04/23

5.7.1. Temporisateur %TMi


Le temporisateur dispose de 3 modes de fonctionnement :.
TON: ce mode permet de gérer des retards à l'enclenchement. Ce retard est programmable
et peut être modifiable ou non par terminal..
TOF : ce mode permet de gérer des retards au déclenchement. Ce retard est programmable
et peut être modifiable ou non par terminal..
TP : ce mode permet d'élaborer une impulsion de durée précise. Cette durée est
programmable et peut être modifiable ou non par terminal.

Accès au Caractéristiques.

Caractéristiques
Numéro temporisateur %TMi 0 à 63
Base de temps TB 1mn (par défaut), 1s, 100ms, 10ms,
Plus la base de temps est faible, plus la précision du temporisateur est grande.
16 Tempo. maxi avec TB = 10 ms
Valeur courante %TMi.V
Mot qui croît de 0 à %TMi.P sur écoulement du temporisateur. Peut être lu, testé,
mais non écrit par programme (1).
Valeur de présélection %TMi.P 0<%TMi.P<9999.
Mot qui peut être lu, testé, et écrit par programme.
Est mis à la valeur 9999 par défaut.
La durée ou retard élaboré est égal à %TMi.P x TB.
Réglage par terminal (MODIF) Y/N Y:
Possibilité de modification de la valeur de présélection %TMi.P en réglage.N :
Pas d'accès en réglage.
Entrée "Armement" IN Sur front montant (mode TON ou TP) ou front
descendant (mode TOF), démarre le temporisateur.
Sortie "Temporisateur" Q Bit associé %TMi.Q,
Sa mise à 1 dépend de la fonction réalisée TON, TOF ou TP.

Note : Il est possible d’utiliser des blocs Temporisateurs «Timers PL7 ».

M1_Automates 04_Langage PL7 Page 19


TSAII Mulhouse Langage PL7 11/04/23

5.7.2. Monostable %Qi

Le bloc fonction monostable permet d'élaborer une impulsion de durée précise.


Cette durée est programmable et peut être modifiable ou non par terminal.

Caractéristiques
Numéro %MNi 0 à 7
Base de temps TB 1mn, 1s, 100ms, 10ms (1mn par défaut)
Valeur courante %MNi.V
Mot qui décroît de %MNi.P vers 0 sur écoulement du temporisateur. Peut être lu,
testé, mais non écrit
Valeur de présélection %MNi.P 0 < %MNi.P < 9999.
Mot pouvant être lu, testé, écrit. La durée (PRESET) est égale à : %MNi.P x TB
Modification MODIF Y/N Y:
Possibilité de modification de la valeur de présélection en réglage. N :
Pas d'accès en réglage.
Entrée "Départ" S(Start) Sur front montant %MNi.V = %MNi.P puis
%MNi.V décroît vers 0
Sortie "Monostable" R(Running) Le bit associé %MNi.R est à 1 si %MNi.V > 0
(écoulement "en cours" monostable) %MNi.R = 0 si %MNi.V = 0

5.7.3. Compteur %Ci

Le bloc fonction compteur/décompteur permet d'effectuer le comptage ou le décomptage


d'événements, ces deux opérations peuvent être simultanées.

Caractéristiques
Numéro de compteur %Ci 0 à 31
Valeur courante %Ci.V Mot incrémenté ou décrémenté en fonction des
entrées CU et CD. Peut être lu, testé mais non écrit par programme (1).
Valeur de préselection %Ci.P 0<%Ci.P<9999.
Mot pouvant être lu, testé, écrit. (Mis à 9999 par défaut)
Réglage par terminal (MODIF) Y/N Y: possibilité de modification de la valeur de
présélection en réglage. N : pas d'accès en réglage.
Entrée remise à zéro R Sur état 1 : %Ci.V = 0.
Entrée présélection S Sur état 1: %Ci.V = %Ci.P.
Entrée comptage CU Incrémente %Ci.V sur front montant.
Entrée décomptage CD Décrémente %Ci.V sur front montant.
Sortie débordement E(Empty)
Le bit associé %Ci.E=1(mis à 1 quand %Ci.V devient égal à 9999, est remis à 0 si le
compteur continue de décompter), lorsque le décomptage déborde %Ci.V passe de 0
à 9999, %S18=1. Lorsque le comptage déborde (%Ci.V passe de 9999 à 0) %S18=1.
Sortie préselection atteinte D (Done)
Le bit associé %Ci.D=1, lorsque %Ci.V=%Ci.P.
Sortie débordement F (Full)
Le bit associé %Ci.F =1 lorsque %Ci.V passe de 9999 à 0 (mis à 1 quand %Ci.V
devient égal à 0, est remis à 0 si le compteur continue de compter).

M1_Automates 04_Langage PL7 Page 20


TSAII Mulhouse Langage PL7 11/04/23

5.7.4. Exemples :
Accès aux blocs

M1_Automates 04_Langage PL7 Page 21


TSAII Mulhouse Langage PL7 11/04/23

5.7.5. Blocs DFB


En langage contact, ces blocs se définnissent à l’intérieur du « container »
« Opération du langage PL7 » accessible par ShifT F8

On accède alors à la bibliothèque des fonctions

Pour la plupart des fonctions, la saisie des paramètres se fait en mode « assisté »

Exemple: Bloc fonction PID

M1_Automates 04_Langage PL7 Page 22


TSAII Mulhouse Langage PL7 11/04/23

5.8. Programmation en Grafcet (GR7)

5.8.1. Présentation générale du GR7

Le langage Grafcet (GR7) permet de représenter graphiquement et de façon structurée


le fonctionnement d'un automatisme séquentiel.

Cette description s'effectue à l'aide d'objets graphiques simples représentant:

- Les étapes auxquelles peuvent être associées des actions (excepté l'étape OUT).

- Les macro-étapes, (TSX/PCX/PMX57 uniquement).

- Les transitions auxquelles sont associées des réceptivités.

- Les liaisons orientées reliant une étape à une transition ou une transition à une
étape.

La saisie du graphe s'effectue par pages Grafcet repérées de 0 à 7 dans la barre d'état.

La page Grafcet est affichée sous forme d'une matrice composée de 14 lignes et 11
colonnes définissant 154 cellules. Chaque cellule peut recevoir un objet graphique.

Les lignes sont de 2 types:


- Lignes d'étapes où sont saisies les étapes, macro-étapes et les renvois,
- Lignes de transitions où sont saisies les transitions et les renvois d'origine.

Des commentaires peuvent être saisis. Ce sont des objets graphiques "indépendants" qui
ne sont rattachés ni à une étape ni à une transition.

M1_Automates 04_Langage PL7 Page 23


TSAII Mulhouse Langage PL7 11/04/23

5.8.2. Éléments graphiques de base

Étape + transition

Étape

Étape initiale

Renvoi de destination

Transition

Renvoi d'origine

Liaison Étape Transition + Divergence en OU

Liaison Transition Étape + liaisons orientées + Convergence en OU

Convergence en ET (Saisie sur la gauche)

Divergence en ET (Saisie sur la droite)

Commentaires

Macro-étape

Étape IN

Étape OUT

Possibilités maximum du Premium

Nombre d'étapes (Chart)...........................................250


Nombre de macro-étapes..........................................64
Nombre d'étapes de macro-étapes...........................250 par macro-étape
Nombre d'étapes (Chart + macro-étapes).................1024
Nombre d'étapes actives...........................................250
Nombre de transitions valides...................................400

M1_Automates 04_Langage PL7 Page 24


TSAII Mulhouse Langage PL7 11/04/23

5.8.3. Tâche GRAFCET


Seule la tâche maître (MAST) supporte le langage Grafcet.
Une section de programme écrit en langage Grafcet comporte 3 traitements successifs :
- Le traitement préliminaire Prl.
- Le traitement séquentiel Chart.
- Le traitement postérieur Post.

La scrutation s'effectue selon le cycle de base suivant :


Traitement Préliminaire Saisi en langage LD, IL ou ST, il permet de traiter :
- Le pré positionnement du graphe.
- Les modes de marches de l'application.
- La logique d'entrée.
Traitement Séquentiel Saisi en langage Grafcet, il permet de traiter l'ossature
séquentielle de l'application et donne accès au traitement des réceptivités et des actions
associées aux étapes.
Traitement Postérieur Saisi en langage LD, IL ou ST, il permet de traiter :
- La logique de sortie.
- La surveillance et les sécurités spécifiques aux sorties.
- La gestion des fonctions d'automatisme (temporisateur, compteur,...).

5.8.4. Règles Grafcet

Règle 1 : Numérotation des étapes


Toute étape doit être repérée. Le repère s'inscrit à l'intérieur du cadre symbolisant
l'étape.

Règle 2 : Macro-étape (TSX/PCX/PMX57 V3.0 uniquement)


Une macro-étape doit être créée (à l'aide du navigateur application) et configurée pour
être utilisée dans un module Grafcet.
Elle ne peut être appelée qu'une seule fois.
Elle ne peut être appelée par elle-même (récursivité).
Plusieurs macro-étapes imbriquées ne peuvent pas se boucler (M0->M1->M2->M0 est
impossible).

Règle 3 : Unicité des repères dans un module


Deux repères identiques ne peuvent pas être programmés dans un même module de
programmation.

Règle 4 : Représentation des liaisons Étape -> Transition


Une liaison Étape -> Transition peut se tracer de la droite vers la gauche ou de la
gauche vers la droite.

Règle 5 : Représentation des divergences en ET


Une divergence en ET se représente toujours de la gauche vers la droite.

Règle 6 : Liaisons orientées


Une liaison verticale est toujours orientée du haut vers le bas. Dans le cas contraire, il
faut le spécifier par une flèche directionnelle vers le haut.

Règle 7 : Croisement de liaisons

M1_Automates 04_Langage PL7 Page 25


TSAII Mulhouse Langage PL7 11/04/23

Les liaisons orientées horizontales ou verticales peuvent se croiser ou se


rencontrer. Le croisement d'une liaison orientée avec le prolongement d'une divergence
ou convergence en ET est impossible.

Règle 8 : Utilisation des renvois


A un renvoi d'origine doit toujours correspondre un renvoi de destination.

5.8.5. Objets spécifiques Grafcet

Type Adressage Commentaires


Bits associés :
aux étapes %Xi État de l'étape i du graphe principal
aux macro-étapes %XMj État de la macro-étape
%Xj,i État de l'étape i de la macro-étape j
%Xj.IN État de l'étape d’entrée de la macro-étape j
%Xj.OUT État de l'étape de sortie de la macro-étape j
Bits système %S21 Initialisation du Grafcet
associés au %S22 Reset du Grafcet
GRAFCET %S23 Gel du Grafcet
%S24 Remise à zéro de macro-étapes en fonction de %SW22 à
%SW25
%S26 Débordement des actions ou des réceptivités simultanées
du Grafcet
Mots temps associés %Xi.T Temps d'activité de l'étape i (Chart)
au GRAFCET Base de temps 100 ms
%Xj.i.T Temps d'activité de l'étape i de la macro-étape j
%Xj.IN.T Temps d'activité de l'étape d’entrée de la macro-étape j
Temps d'activité de l’étape de sortie de la macro-étape j
%Xj.OUT
Mots système %SW20 Nombre d'étapes actives (maximum: 250)
%SW21 Nombre de transitions valides(maximum: 400)
%SW22 à%SW25 Suite de 4 mots permettant de désigner les macro-étapes
à remettre à 0 sur mise à 1 du bit %S24
Instructions SET Activation d'une étape
RESET Désactivation d'une étape

M1_Automates 04_Langage PL7 Page 26


TSAII Mulhouse Langage PL7 11/04/23

6. PRÉSENTATION DU LANGAGE LITTÉRAL STRUCTURÉ

6.1. Principe

Le langage littéral structuré permet la réalisation de programmes par écriture de


lignes de programmation, constituées de caractères alphanumériques.
Ce langage n'est utilisable que par les logiciels PL7 Junior et PL7 Pro sur les
automates TSX/PMX/PCX 57. Dans la version PL7 Pro, ce langage permet la
création des blocs fonction utilisateur DFB.

La phrase littérale constitue l'entité de base du langage littéral, l'ensemble des phrases
permet de définir un programme.

Les principales instructions du langage littéral sont :

• instructions sur bits,


• instructions arithmétiques et logiques sur mots et doubles mots,
• instructions arithmétiques sur flottants,
• comparaisons numériques sur mots, doubles mots et flottants,
• conversions numériques,
• instructions sur tableaux de bits, de mots, de doubles mots et de flottants,
• instructions sur chaînes de caractère,
• comparaisons alphanumériques,
• instructions de gestion du temps,
• instructions sur programme,
• instructions de contrôle,
• instruction sur les blocs fonctions standards,
• instructions sur les échanges explicites,
• instructions de type fonctions métiers (communication, régulation, etc ...).

Exemple :

M1_Automates 04_Langage PL7 Page 27


TSAII Mulhouse Langage PL7 11/04/23

6.2. Les instructions

6.2.1. Instructions sur bits

Désignation Fonction
:= Affectation d'un bit
OR OU booléen
AND ET booléen
XOR OU exclusif booléen
NOT Inversion
RE Front montant
FE Front descendant
SET Mise à 1
RESET Mise à 0

6.2.2. Comparaisons numériques sur mots, doubles mots et flottants

Désignation Fonction
< Strictement inférieur à
> Strictement supérieur à
<= Inférieur ou égal à
>= Supérieur ou égal à
= Égal à
<> Différent de

6.2.3. Tableaux de bits

Désignation Fonction
Tableau := Tableau Affectation entre deux tableaux
Tableau := Mot Affectation d'un mot à un tableau
Mot := Tableau Affectation d'un tableau à un mot
Tableau := Double mot Affectation d'un double mot à un tableau
Double mot := Tableau Affectation d'un tableau à un double mot
COPY_BIT Copie d'un tableau de bits dans un tableau de bits
AND_ARX ET entre deux tableaux
OR_ARX OU entre deux tableaux
XOR_ARX OU exclusif entre deux tableaux
NOT_ARX Négation sur un tableau
BIT_W Copie d'un tableau de bits dans un tableau de mots
BIT_D Copie d'un tableau de bits dans un tableau de doubles mots
W_BIT Copie d'un tableau de mots dans un tableau de bits
D_BIT Copie d'un tableau de doubles mots dans un tableau de bits
LENGHT_ARX Calcul de la longueur d'un tableau en nombre d'éléments

M1_Automates 04_Langage PL7 Page 28


TSAII Mulhouse Langage PL7 11/04/23

6.2.4. Arithmétique entière sur mots et doubles mots

Désignation Fonction
+, -, *, / Addition, Soustraction, Multiplication, Division entière
REM Reste de la division entière
SQRT Racine carrée entière
ABS Valeur absolue
INC Incrémentation
DEC Décrémentation

6.2.5. Arithmétique sur flottants

Désignation Fonction
+, -, *, / Addition, Soustraction, Multiplication, Division
SQRT Racine carrée
ABS Valeur absolue
TRUNC Partie entière
LOG Logarithme base 10
LN Logarithme népérien
EXP Exponentielle naturelle
EXPT Exponentiation d'un réel par un entier
COS Cosinus d'une valeur en radian
SIN Sinus d'une valeur en radian
TAN Tangente d'une valeur en radian
ACOS Arc cosinus (résultat entre 0 et 2 p)
ASIN Arc sinus (résultat entre -p/2 et +p/2)
ATAN Arc tangente (résultat entre -p/2 et +p/2)
DEG_TO_RAD Conversion degrés en radians
RAD_TO_DEG Conversion radians en degrés

6.2.6. Instructions logiques sur mots et doubles mots

Désignation Fonction
AND ET logique
OR OU logique
XOR OU logique exclusif
NOT Complément logique
SHL Décalage logique à gauche
SHR Décalage logique à droite
ROL Décalage logique circulaire à gauche
ROR Décalage logique circulaire à droite

M1_Automates 04_Langage PL7 Page 29


TSAII Mulhouse Langage PL7 11/04/23

6.2.7. Instructions sur programme

Désignation Fonction
HALT Arrêt de l'exécution du programme
JUMP Saut à une étiquette
Sri Appel de sous-programme
RETURN Retour de sous-programme
MASKEVT Masquage des événements dans l'automate
UNMASKEVT Démasquage des événements dans l'automate

6.2.8. Instructions de conversions numériques

Désignation Fonction
BCD_TO_INT Conversion BCD ’ Binaire
INT_TO_BCD Conversion Binaire ’ BCD
GRAY_TO_INT Conversion Gray ’ Binaire
INT_TO_REAL Conversion d'un entier simple format en flottant
DINT_TO_REAL Conversion d'un entier double format en flottant
REAL_TO_INT Conversion d'un flottant en entier simple format
REAL_TO_DINT Conversion d'un flottant en entier double format
DBCD_TO_DINT Conversion d'un nombre BCD 32 bits en entier 32 bits
DINT_TO_DBCD Conversion d'un entier 32 bits en nombre BCD 32 bits
DBCD_TO_INT Conversion d'un nombre BCD 32 bits en entier 16 bits
INT_TO_DBCD Conversion d'un entier 16 bits en nombre BCD 32 bits
LW Extraction du mot de poids faible d'un double mot
HW Extraction du mot de poids fort d'un double mot
CONCATW Concaténation de 2 mots simples

6.2.9. Instructions sur chaînes de caractères

Désignation Fonction
STRING_TO_INT Conversion ASCII ’ Binaire (mot simple format)
STRING_TO_DINT Conversion ASCII ’ Binaire (mot double format)
INT_TO_STRING Conversion Binaire ’ (mot simple format) ASCII
DINT_TO_STRING Conversion Binaire ’ (mot double format) ASCII
STRING_TO_REAL Conversion ASCII ’ Flottant
REAL_TO_STRING Conversion Flottant ’ ASCII
<, >, <=, >=, =, <> Comparaison alphanumérique
FIND Position d'une sous-chaîne
EQUAL_STR Position du premier caractère différent
LEN Longueur d'une chaîne de caractères
MID Extraction d'une sous-chaîne
INSERT Insertion d'une sous-chaîne
DELETE Suppression d'une sous-chaîne
CONCAT Concaténation de deux chaînes
REPLACE Remplacement d'une chaîne
LEFT Début de chaîne
RIGHT Fin de chaîne

M1_Automates 04_Langage PL7 Page 30


TSAII Mulhouse Langage PL7 11/04/23

6.2.10. Instructions sur tableaux de mots et doubles mots

Désignation Fonction
Tableau := Tableau Affectation entre deux tableaux
Tableau := Mot Initialisation d'un tableau
+, -, *, /,REM Opérations arithmétiques entre tableaux
+, -, *, /, REM Opérations arithmétiques entre expressions et tableaux
SUM Sommation des éléments d'un tableau
EQUAL Comparaison de deux tableaux
NOT Complément logique d'un tableau
AND, OR, XOR Opérations logiques entre deux tableaux
AND, OR, XOR Opérations logiques entre expressions et tableaux
FIND_EQW, FIND_EQD Recherche du premier élément égal à une valeur
FIND_GTW, FIND_GTD Recherche du premier élément supérieur à une valeur
FIND_LTW, FIND_LTD Recherche du premier élément inférieur à une valeur
MAX_ARW,MAX_ARD Recherche de la valeur maximum dans un tableau
MIN_ARW, MIN_ARD Recherche de la valeur minimum dans un tableau
OCCUR_ARW, Nombre d'occurrences d'une valeur dans un tableau
OCCUR_ARD
SORT_ARW, SORT_ARD Tri par ordre croissant ou décroissant d'un tableau
ROL_ARW, ROL_ARD Décalage circulaire à gauche d'un tableau
ROR_ARW, ROR_ARD Décalage circulaire à droite d'un tableau
FIND_EQWP,FIND_EQDP Recherche du premier élément égal à une valeur depuis un rang
LENGTH_ARW, Calcul de longueur d'un tableau
LENGTH_ARD

6.2.11. Instructions sur tableaux de flottants

Désignation Fonction
Tableau := Tableau Affectation entre deux tableaux
Tableau := Flottant Initialisation d'un tableau
SUM_ARR Sommation des éléments d'un tableau
EQUAL_ARR Comparaison de deux tableaux
FIND_EQR Recherche du premier élément égal à une valeur
FIND_GTR Recherche du premier élément supérieur à une valeur
FIND_LTR Recherche du premier élément inférieur à une valeur
MAX_ARR Recherche de la valeur maximum dans un tableau
MIN_ARR Recherche de la valeur minimum dans un tableau
OCCUR_ARR Nombre d'occurrences d'une valeur dans un tableau
SORT_ARR Tri par ordre croissant ou décroissant d'un tableau
ROL_ARR Décalage circulaire à gauche d'un tableau
ROR_ARR Décalage circulaire à droite d'un tableau
LENGTH_ARR Calcul de longueur d'un tableau

M1_Automates 04_Langage PL7 Page 31


TSAII Mulhouse Langage PL7 11/04/23

6.2.12. Instructions de gestion du temps

Désignation Fonction
SCHEDULE Fonction horodateur
RRTC Lecture date système
WRTC Mise à jour de la date système
PTC Lecture date et code arrêt
ADD_TOD Ajout d'une durée à une heure du jour
ADD_DT Ajout d'une durée à une date et heure
DELTA_TOD Mesure d'écart entre heures du jour
DELTA_D Mesure d'écart entre dates (sans heure)
DELTA_DT Mesure d'écart entre dates (avec heure)
SUB_TOD Remontée dans le temps sur heure
SUB_DT Remontée dans le temps sur date et heure
DAY_OF_WEEK Lecture du jour courant de la semaine
TRANS_TIME Conversion durée en date
DATE_TO_STRING Conversion d'une date en chaîne de caractères
TOD_TO_STRING Conversion d'une heure en chaîne de caractères
DT_TO_STRING Conversion d'une date complète en chaîne de caractères
TIME_TO_STRING Conversion d'une durée en chaîne de caractères

6.2.13. Instructions de temporisation

Désignation Fonction
FTON Temporisation à l'enclenchement
FTOF Temporisation au déclenchement
FTP Temporisation d'impulsion
FPULSOR Générateur de signaux rectangulaires

Toutes ces fonctions et instructions sont détaillées dans l'intercalaire B du Manuel de


référence, ainsi que les instructions concernant les blocs fonctions standards.

Les instructions et fonctions sur les échanges explicites et sur les différents métiers sont
détaillées dans le "Manuel de mise en œuvre métiers".

Les structures de contrôles sont détaillées dans les pages qui suivent.

M1_Automates 04_Langage PL7 Page 32


TSAII Mulhouse Langage PL7 11/04/23

6.3. Structure d'un programme littéral

6.3.1. Généralités
Un programme littéral est organisé en phrases. Chaque phrase littérale est composée
des éléments suivants :
• Étiquette,
• Commentaires,
• Instructions.
Chacun de ces éléments est optionnel, c'est-à-dire que l'on peut très bien avoir une
phrase vide, une phrase constituée uniquement de commentaires ou uniquement d'une
étiquette. Chaque phrase commence par un point d'exclamation (généré automatiquement).
Exemple :
! %L2 : (* Voici une phrase avec une étiquette, des commentaires *)
SET %M0; %MW4 := %MW2 + %MW9;
(* et plusieurs instructions *)
%MF12 := SQRT (%MF14);

6.3.2. Commentaire
Un commentaire est encadré de part et d'autre par les caractères (* et *), il peut être
placé n'importe où dans la phrase et le nombre de commentaires par phrase n'est pas
limité. Son rôle est de faciliter l'interprétation de la phrase à laquelle il est affecté mais il
n'est pas obligatoire.
• Tous les caractères sont autorisés dans un commentaire.
• Le nombre de caractères est limité à 256 par commentaire.
• Les commentaires imbriqués sont interdits.
• Un commentaire peut tenir sur plusieurs lignes.
Les commentaires sont mémorisés dans l'automate afin d'être accessibles à tout
moment par l'utilisateur. A ce titre, ils consomment de la mémoire
programme.

6.3.3. Étiquette
L'étiquette permet de repérer une phrase dans une entité de programme (programme
principal, sous-programme, ...) mais n'est pas obligatoire.
Cette étiquette a la syntaxe suivante : %Li avec i compris entre 0 et 999 et se
positionne en début de phrase. Un repère d'étiquette ne peut être affecté qu'à
une seule phrase au sein d'une même entité de programme (SR, Main, Module
programme).
Par contre, il est nécessaire d'étiqueter une phrase afin de permettre un
branchement après un saut de programme.
L'ordre des repères des étiquettes est quelconque, c'est l'ordre de saisie des
phrases qui est pris en compte par le système lors de la scrutation.

6.3.4. Instructions
Le programme est réalisé à partir d'instructions. Une phrase littérale peut contenir
plusieurs instructions. Chaque instruction doit obligatoirement se terminer par le
caractère ';'.

M1_Automates 04_Langage PL7 Page 33


TSAII Mulhouse Langage PL7 11/04/23

6.3.5. Structures

6.3.5.1. Structures de contrôle

Il existe quatre structures de contrôle qui sont :

• L'action conditionnelle IF,


• Les actions itératives conditionnelles WHILE et REPEAT,
• L'action répétitive FOR.

Chaque structure de contrôle est encadrée par des mots clés, elle commence et
se termine dans la même phrase. On peut imbriquer une structure de contrôle
dans une autre qu'elles soient de même type ou pas. Les structures de contrôle
peuvent être précédées ou suivies par toute autre instruction du langage.

6.3.5.2. L'action conditionnelle IF ... END_IF;

Forme simple (l'instruction réalise une action si une condition est vraie).

Exemple :

M1_Automates 04_Langage PL7 Page 34


TSAII Mulhouse Langage PL7 11/04/23

6.3.5.3. Forme générale

Exemple :

• Les conditions peuvent être multiples.

• Chaque action représente une liste d'instructions.

• Plusieurs structures de contrôle "IF" peuvent être imbriquées.

• Le nombre de ELSIF est illimité.

• Il y a au maximum une partie ELSE.

M1_Automates 04_Langage PL7 Page 35


TSAII Mulhouse Langage PL7 11/04/23

6.3.5.4. L'action itérative conditionnelle WHILE ... END_WHILE;

L'instruction réalise une action répétitive tant qu'une condition est vérifiée.

Exemple :

• La condition peut être multiple.

• L'action représente une liste d'instructions.

• Le test sur la condition est effectué avant d'exécuter l'action. Si lors de la


première évaluation de la condition, sa valeur est fausse, alors l'action n'est
jamais exécutée.

• Plusieurs structures de contrôle WHILE peuvent être imbriquées.

M1_Automates 04_Langage PL7 Page 36


TSAII Mulhouse Langage PL7 11/04/23

6.3.5.5. L'action itérative conditionnelle REPEAT ... END_REPEAT;

L'instruction réalise une action répétitive jusqu'à ce qu'une condition soit vérifiée.

Exemple :

• La condition peut être multiple.

• L'action représente une liste d'instructions.

• Le test sur la condition est effectué après avoir exécuté l'action. Si lors de la
première évaluation de la condition, sa valeur est fausse, l'action est
exécutée une fois.

• Plusieurs structures de contrôle REPEAT peuvent être imbriquées.

M1_Automates 04_Langage PL7 Page 37


TSAII Mulhouse Langage PL7 11/04/23

6.3.5.6. L'action répétitive FOR ... END_FOR;

L'instruction réalise un traitement un certain nombre de fois en incrémentant de 1 un


indice à chaque boucle.

Exemple :

• Lorsque l'indice est strictement supérieur à la valeur finale, on continue


l'exécution sur l'instruction suivant le mot clé END_FOR.

• L'Incrémentation de l'indice est effectuée automatiquement et n'est donc pas


à la charge de l'utilisateur.

• L'action représente une liste d'instructions.

• La valeur initiale et la valeur finale sont forcément des expressions


numériques de type mot.

• L'indice est forcément un objet de type mot accessible en écriture.

• Plusieurs structures de contrôle FOR peuvent être imbriquées.

M1_Automates 04_Langage PL7 Page 38


TSAII Mulhouse Langage PL7 11/04/23

6.3.5.7. L'instruction de sortie de boucle EXIT

• Le mot clé EXIT permet d'arrêter l'exécution de la boucle et de continuer sur


l'instruction suivant le mot clé de fin de boucle.

• Il n'est utilisable que dans les actions d'une des trois boucles WHILE,
REPEAT ou FOR.

• Il est rattaché à la boucle englobante la plus proche, c'est-à-dire qu'il n'arrête


pas l'exécution de toutes les boucles qui l'englobent.

Exemple :

Dans cet exemple, le mot clé EXIT permet d'arrêter la boucle REPEAT mais en
aucun cas la boucle WHILE.

M1_Automates 04_Langage PL7 Page 39


TSAII Mulhouse Langage PL7 11/04/23

7. CONFIGURATION DE LA COMMUNICATION
CONSOLE/AUTOMATE

7.1. Principe

Le mode console utilise la communication Uni-TelWay qui existe en standard sur


les automates au niveau de deux connecteurs Mini-DIN (TER, AUX).

Pour configurer le port de communication série de l’ordinateur en mode console,


il faut donc utiliser l’utilitaire UNI-TELWAY.

7.2. Configuration

Exemple : Configurer le port de communication avec l’automate sur COM2


19200 bauds.

M1_Automates 04_Langage PL7 Page 40


TSAII Mulhouse Langage PL7 11/04/23

Choisir dans l’écran suivant le port et le format de communication :

1 Mise à jour dynamique (immédiate) 2 Mise à jour de démarrage.

Remarque : Les deux mises à jour ci-dessus sont obligatoires.


 La mise à jour dynamique permet de rentrer en communication immédiatement
après avoir terminé cette tâche.
 La mise à jour de démarrage permettra de récupérer cette configuration
automatiquement lors du prochain redémarrage.

M1_Automates 04_Langage PL7 Page 41

Vous aimerez peut-être aussi