Vous êtes sur la page 1sur 54

NOTICE DE PROGRAMMATION

DAUTOMATES SCHNEIDER
MODICON, PREMIUM,
QUANTUM

SOUS UNITY-PRO

Ecrit par Alain Malvoisin

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 3/54

PROGRAMMATION

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 4/54
SOMMAIRE

1.

LES VARIABLES.......................................................................................................... 6
1.1. Topologie .............................................................................................................. 6
1.1.1. Les bits de type EBOOL.............................................................................. 6
1.1.2. Les mots de type INT, UINT, WORD .......................................................... 7
1.1.3. Les bits de mots de type BOOL ................................................................... 7
1.1.4. Les doubles mots de type DINT, UDINT, DWORD, REAL, DATE, TIME,
TIME OF DAY, ............................................................................................................. 7
1.1.5. Les structures STRUCT ............................................................................... 7
1.1.6. Les tableaux ARRAY[n..m] OF xxx .............................................................. 7
1.2. Types des variables .............................................................................................. 8
1.3. Reprsentation des nombres ................................................................................ 8
1.4. Adresses ............................................................................................................... 9
1.4.1. Les variables internes .................................................................................... 9
1.4.2. Les constantes ............................................................................................... 9
1.4.3. Les variables systmes.................................................................................. 9
1.4.4. Les entres de l'automate............................................................................ 10
1.4.5. Les sorties de l'automate ............................................................................. 10
1.4.6. Les entres dport de l'automate (bus FIPIO, AsI, Profibus, Ethernet) ..... 11
1.4.7. Les sortie dport de l'automate (bus FIPIO, AsI, Profibus, Ethernet) ........ 11
1.4.8. Les mots communs (communication par rseaux FIPWAY ou ETHWAY) .. 12
2. ADRESSES DES CARTES ........................................................................................ 13
2.1. Exemple de l'objet carte d'entre emplacement 4 dans le rack 0 ....................... 14
3. LES MNEMONIQUES ................................................................................................ 15
3.1. Voici un exemple ................................................................................................. 15
3.2. On peut accder la table des symboles depuis variable et instance FB .......... 15
4. ACCES AUX VARIABLE ............................................................................................ 16
4.1. Accs aux bits de mots ....................................................................................... 16
4.2. Accs aux lments d'une instance de structure ................................................ 16
4.3. Accs aux lments d'un tableau........................................................................ 16
5. LE NAVIGATEUR....................................................................................................... 17
5.1. Vue structurelle ................................................................................................... 17
5.2. Vue fonctionnelle................................................................................................. 17
6. LA CONFIGURATION ................................................................................................ 18
6.1. Configuration des modules d'entres analogiques.............................................. 18
6.2. Configuration des modules de comptage............................................................ 19
6.3. Configuration des modules de communication rseaux Ethernet ....................... 20
6.4. Configuration des modules de communication rseaux FIPWAY....................... 20
6.5. Configuration des modules unit centrale ........................................................... 21
6.6. Configuration de la tche matre ......................................................................... 21
7. LES FONCTIONS DANS LA BIBLIOTHEQUE........................................................... 22
7.1. Les fonctions de bases standards....................................................................... 23
7.2. Les EF de communications ................................................................................. 23
7.3. Les EFB et EF de rgulation ............................................................................... 23
7.4. Les EFB de sortie des rgulateurs ...................................................................... 23
7.5. Les EFB d'entre des rgulateurs ....................................................................... 24

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 5/54
7.6. Les EF sur chane de caractres ........................................................................ 24
7.7. Prsentation des EF mathmatiques .................................................................. 24
7.8. Prsentation des EF statistiques......................................................................... 24
7.9. Prsentation des EF de comparaisons ............................................................... 25
7.10.
Prsentation des EF logiques.......................................................................... 25
7.11.
Prsentation des EF sur tableaux.................................................................... 25
7.12.
Prsentation des EF sur date et temps ........................................................... 25
8. LES SECTIONS DE PROGRAMMES ........................................................................ 26
9. LE LANGAGE LADDER ou "LD" ............................................................................... 27
9.1. Exemple d'un programme en LADDER............................................................... 27
9.2. Prsentation de la barre d'outils.......................................................................... 27
10.
LE LANGAGE LITTERAL STRUCTURE ou "ST" ................................................... 29
10.1.
Structure de programme.................................................................................. 29
10.2.
Exemples de programme en littral structur .................................................. 31
11.
LE GRAFCET ou "SFC".......................................................................................... 32
11.1.
Exemple d'un grafcet ....................................................................................... 32
11.2.
La fonction SFCCNTRL ................................................................................... 33
11.3.
Les fonctions SETSTEP et RESETSTEP........................................................ 33
11.4.
Les variables associs aux tapes .................................................................. 33
11.5.
Actions associer aux tapes ............................................................................ 34
11.6.
Transitions associs aux tapes...................................................................... 35
12.
LE LANGAGE LISTE D'INSTRUCTION ou "IL"..................................................... 36
12.1.
Prsentation .................................................................................................... 36
12.2.
Les instructions................................................................................................ 36
13.
LE LANGAGE BLOCS FONCTIONNELS OU "FBD".............................................. 38
14.
LES OPTIONS DU PROJET................................................................................... 39
15.
LES DIFFRENTES TACHES .................................................................................. 40
15.1.
Principe de scrutation d'une tche................................................................... 40
15.2.
Configuration d'une tche................................................................................ 41
16.
LES VARIABLES DERIVEES D'ENTREES/SORTIES ........................................... 42
16.1.
Les changes explicites................................................................................... 43
17.
SYNTHESE D'ACCES AUX VARIABLES............................................................... 46
17.1.
Vue d'ensemble ............................................................................................... 46
17.2.
Accs rapide l'ensemble des types, variables et instances .......................... 46
18.
LES FONCTIONS DERIVEES DE TYPE DFB ....................................................... 47
19.
LES EFB (voir chapitre 7) ....................................................................................... 48
20.
LES PRINCIPAUX BIT SYSTEMES ....................................................................... 49
21.
QUELQUES MOTS SYSTEMES ............................................................................ 51
22.
LES ECRANS D'EXPLOITATION........................................................................... 52
22.1.
Utiliser la bibliothque d'objet prdfinis.......................................................... 52
23.
LES TABLES D'ANIMATIONS................................................................................ 54

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 6/54
1. LES VARIABLES
1.1. Topologie
1.1.1. Les bits

de type EBOOL

Etat courant
Etat antrieur
Etat forc

Ce sont des bits que l'on peut mettre 1 ou 0, que l'on peut tester.
Ces bits on l'avantage de pouvoir tester leurs fronts montants ou descendants, grce
leur tat antrieur
L'tat antrieur est mise jour chaque fois qu'il est crit, c'est--dire que l'tat
antrieur prend la valeur de l'tat courant, puis l'tat courant est mis jour
bit

actio

Il y a des instructions spcifiques de test


de fronts montants ou descendants

Ces bits on l'avantage de pouvoir tre forc, grce au bit "Etat forc", ils peuvent tre
forcs (ou figs) l'aide de la console de programmation et cet tat reste mme lors que
la console est dbranche.
Attention 1: forcer un bit peut gner la dtection des fronts, c'est--dire que le front peut
tre dtect en permanence, par exemple vous avez une instruction qui dtecte le front
montant d'un bit, ce bit vos 0 et vous le forc 1, sont tat courant prend la valeur 1 mais
sont tat antrieur qui vaut 0 n'est plus chang, puisqu'il est "forc". On dtecte le front
chaque passage.
Attention 2: L'tat antrieur est mis jour chaque fois qu'une instruction de mise jour
est excute, pour les instructions d'assignation il n'y pas de problme, mais il reste le
problme des instructions de mmorisation (set ou reset) en langage LADDER, qui sont
systmatiquement excuts, mme lorsque la condition amont est fausse.
cond

bit
S

Mme si cond est faux, linstruction


sexcute.
C'est--dire : la condition est fausse
donc ne fait pas le "set", mais fais quand
mme la mise jour de l'tat antrieur

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 7/54
1.1.2. Les mots
de type INT, UINT, WORD
Ce sont des mots de 16 bits que l'on peut crire ou lire
1.1.3. Les bits de mots
15

14

13

12

11

10

de type BOOL
8

Ceux sont des bits extraits de mots, il y a donc 16 bits par mot
1.1.4. Les doubles mots de type DINT, UDINT, DWORD, REAL, DATE, TIME,
TIME OF DAY,
Ceux sont deux mots conscutifs, chacun faisant 16 bits, un double mot fait donc 32 bits.
1.1.5. Les structures
STRUCT
Les structures peuvent contenir l'ensemble des variables vues ci-dessus, la taille des
structures dpend des lments qui la constituent
1.1.6. Les tableaux
ARRAY[n..m] OF xxx
Ceux sont des ensembles allant de n m de mme type

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 8/54
1.2.

Types des variables

TYPE
BOOL
EBOOL
BYTE
INT
UINT
WORD
DINT
UDINT
DWORD
REAL
DT
DATE
TIME
TOD
STRING

1.3.

Dfinition
Bit simple
Bit avanc
Octet
Entier sign sur 16 bits
Entier non sign sur 16
bits
Mot de 16 bit
Entier sign sur 32 bits
Entier non sign sur 32
bits
Double mot sur 32 bits
Rel sur 32 bits
Date and time sur 64 bits
Date sur 32 bits
Temps 32 bits
Heure du jour sur 32 bits
Chane de caractres

Reprsentation
True/false
True/false

Example
TRUE
FALSE
201
-154
64200

-1478230
5412410

DT#
D#
T#
TOD#
'chane'

154e10
DT#2009-05-09-10:54:12
D#2009-05-09
T#10D_3H_42M_5S_290MS
TOD#10:54:10

Reprsentation des nombres

Format
Dcimal
Hexadcimal
Binaire
Octal
Rel

Reprsentation
16#
2#
8#

Dure de tempo T#D_H_M_S_MS

Exemples
214, -58
16#5FA2
2#1001101011
8#571
12.21
-458e-24
T#2H_50M_35S_12MS
T#5S
D#1998-12-28
TOD#10:32:50
DT#1998-10-25-07:15:00
A, COUCOU, $N'indice

Date
D#aaa-mm-jj
Heure
TOD#hh:mm:ss
Date et Heure
DT#aaaa-mm-jj-hh:mm:ss
Chane car.

Pour les chanes de caractres


Le signe $ (dollar) est un caractre spcial, suivi de certaines lettres il indique :
$L ou $l, aller la ligne suivante (line feed),
$N ou $n, aller au dbut de la ligne suivante (new line),
$P ou $p, aller la page suivante (go to next page),
$R ou $r, retour chariot (carriage return),
$T ou $t, tabulation (Tab),
$$, Reprsente le caractre $ dans une chane,
$, Reprsente le caractre quotte dans une chane.

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 9/54
1.4.

Adresses

Les diffrentes variables ci-dessus ont une adresse, qu'il n'est pas ncessaire de
connatre ni de dfinir.
On peut donc avoir besoin d'un entier sign de 16 bits, qu'on appellera par exemple "toto"
on dfinira son type "INT" et on pourra lui affecter un commentaire, par exemple "toto est
un mot entier sign de 16 bits"

1.4.1. Les variables internes


Ceux sont des variables utilisateurs, que l'on peu lire ou crire
%Mtn

t:

type topologique

n:
numro
Exemples : %M12
%MW54
%MD157
%Mx12

rien ou X bits, W mot,


D double mots, B octet

bit numro 12 de type EBOOL


Mot numro 54
Double mot numro 157
bit numro 12 de type EBOOL

1.4.2. Les constantes


Ceux sont des valeurs qui sont dfinis et qu'on ne pourra pas faire varier lors
de la programmation, il n'y a pas de bits constants, mais il y a les valeurs
TRUE ou FALSE
%Ktn

type topologique:

Exemples:

n:
numro
%KW63
%KD70

W mot, D double mots,


B octet

Mot numro 63
Double mot numro 70

1.4.3. Les variables systmes


Ceux sont des variables qui nous donnent des informations sur l'tat du
systme, que l'on peut lire ou crire et dans ce cas elles permettent d'agir
sur le systme.
%Stn

t:

type topologique

n:numro
Exemples : %S1
%SW50
%SD20

rien ou X bits, W mot,


D double mots, B octet

Bit systme numro 1


Mot systme numro 50
Double mot systme numro 20

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 10/54
1.4.4. Les entres de l'automate
Ce sont des variables qui sont chang
implicitement avec les priphriques d'entres, cet
change lieu au dpart de la tche laquelle les
cartes sont affectes, par dfaut la tache matre MAST,
sinon la FAST ou l'AUX. Cet change se dfini lors de
la configuration de la carte
%Itr,m,v.d

t:
r:
m:
v:
d:

type topologique
rien ou X bits, W mot, D double mots
n du rack
n du module
n de la voie
n de rang (si =0 on peu s'en passer)

Exemples

%I0.2.45
%IW0.4.2
%I0.4.2.3

Voie 45 du module 2 dans le rack 0, c'est un bit


d'entre
Voie 2 du module 4 dans le rack 0
Bit 3 de la voie 2 du module 4 dans le rack 0

1.4.5. Les sorties de l'automate


Ce sont des variables qui sont chang
implicitement avec les priphriques de sorties, cet
change lieu la fin de la tche laquelle les cartes
sont affectes, par dfaut la tche matre MAST, sinon
tche FAST ou AUX. Cet change se dfini lors de la
configuration de la carte
%Qtr,m,v.d t:
r:
m:
v:
d:
Exemples

type topologique
rien ou X bits, W mot, D double mots
n du rack
n du module
n de la voie
n de rang (si =0 on peu s'en passer)

%QW0.3.2

Voie 2 du module 3 dans le rack 0, c'est un mot


de sortie
%QW0.2.45.3
mot 3 de la voie 45 du module 2 dans le
rack 0, c'est un mot

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 11/54
1.4.6. Les entres dport de l'automate (bus FIPIO, AsI, Profibus, Ethernet)
Ce sont des variables qui sont chang
implicitement avec les priphriques dports
d'entres, cet change lieu au dpart de la tche
laquelle les cartes sont affectes, par dfaut la tache
matre MAST, sinon la FAST ou l'AUX. Cet change se
dfini lors de la configuration de la carte sur le
priphrique dport
%It\b.e\r.m.v.d

t:
b
e
r:
m:
v:
d

Exemples

type topologique
rien ou X bits, W mot,
D double mots
Identificateur de bus
point de connexion
n du rack
n du module
n de la voie
rang (si =0 on peu s'en passer)

%I\2.4\0.2.45
%IW\2.4\0.2.45.2

Voie 45 du module 2 dans le rack 0,


c'est un bit
Mot 2 de la Voie 45 du module 2 dans le
rack 0, c'est un bit

1.4.7. Les sortie dport de l'automate (bus FIPIO, AsI, Profibus, Ethernet)
Ce sont des variables qui sont chang
implicitement avec les priphriques dports de
sorties, cet change lieu la fin de la tche laquelle
les cartes sont affectes, par dfaut la tche matre
MAST, sinon tche FAST ou AUX. Cet change se
dfini lors de la configuration de la carte sur le
priphrique dport

%Qt\b.e\r.m.v.d

t:
b
e
r:
m:
v:
d

Exemples

type topologique
rien ou X bits, W mot,
D double mots
Identificateur de bus
point de connexion
n du rack
n du module
n de la voie
rang (si =0 on peu s'en passer)

%Q\2.4\0.2.45

Voie 45 du module 2 dans le rack 0,


c'est un bit
%QW\2.4\0.2.45.2 Mot 2 de la Voie 45 du module 2 dans le
rack 0, c'est un bit

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 12/54
Pour les objets d'Entre/Sortie de l'automate, le bit ou le mot de rang "0" correspond
l'tat de la voie TOR ou Analogique ou de comptage, le numro de rang "0" n'est pas
obligatoire (on n'crit pas .0)
Exemple :
%I0.2.3
Correspond l'entre 3 du module 2 dans le rack 0
%IW0.3.2
Correspond l'entre 2 du module 3 dans le rack 0
%Q0.4.61
Correspond la sortie 61 du module 4 dans le rack 0

1.4.8. Les mots communs (communication par rseaux FIPWAY ou ETHWAY)


%NWr,s,m r:
n du rseau
s:
n de station
m:
n du mot
Exemple:
%NW0.2.4 Mot numro 4 de la station 2 du rseau 0
%NW3.2.4 Mot numro 4 de la station 2 du rseau numro 4
Il faut qu'un rseau soit configur, soit FIPWAY soit ETHWAY et les mots commun
doivent tre configurs, il y a un total de 256 mots commun rpartir sur chaque station,
sur le rseau FIPWAY, il y a systmatiquement 4 mots par station, sur le rseau
ETHWAY il y a 4, 8, 16, 32 ,64 mots dfinir par station.

Numro de rseau
Le numro de la station est dfini
sur la carte elle mme

Numro de mot est dfini de 0 3 pour


cette station, mais peut tre dfini
0 7, 0 15, 0 31 ou 0 63

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 13/54
2. ADRESSES DES CARTES

Numro de rang, si on en a
besoin.
Soit au niveau d'une voie
Soit au niveau du module

Numro de rack

Numro du module

Numro de voie
Est affich l, quand il
existe

Iditifiant du BUS

Numro du rack

Numro du point de
raccordement

Le numro de module est souvent le


module "0" et le numro de la voie est
dfini sur l'appareil auquel on accde.
Par exemple sur un module TBX, c'est
le numro de la voie. Sur un module
Advantys on accde un ou plusieurs
mots, qui peuvent tre lu bit par bit pour
une carte TOR ou par mot pour une
carte analogique, Attention les numros
de bits dans les mots, s'enchaine en
fonction des modles cartes, utilisez le
logiciel Advantys pour dfinir les
numros

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 14/54
2.1. Exemple de l'objet carte d'entre emplacement 4 dans le rack 0
.MOD
%I0.4.MOD.ERR
%I0.4.MOD
%I04.MOD.1

.ERR
Voie
.0

%I0.4.0.ER
%I0.4.0.0
ou
%I0.4.0

.1

%IW0.4.MOD.0
%IW0.4.MOD

.0

%IW0.4.MOD.1

.1

%IW0.4.MOD.2

.2

.ERR
.0

%I0.4.0.

.1

%IW0.4.0

.0

%IW0.4.0.1

.1

Variables affectes la voie 0


Voie

Variables globale
la carte

.0

.1
%I0.4.1.ERR
%I0.4.1.
0
ou
%I0.4.1

.ERR
.0
.1

%IW0.4.1

.0

%IW0.4.1.1

.1

Variables affectes la voie 1

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 15/54
3. LES MNEMONIQUES
Saisir les mnmoniques est trs utile, il vaut mieux saisir un programme entirement en
symbole quen adressage absolu, cest beaucoup plus lisible et comprhensible.
Il suffit daller dans la table des Mnmoniques et y entrer les diffrents lments.
Le nom du symbole, sont type, ventuellement sont adresse rel et sa valeur par dfaut,
sont commentaire
3.1.

Voici un exemple

3.2.

On peut accder la table des symboles depuis variable et instance FB

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 16/54
4. ACCES AUX VARIABLE
On accde aux variables en indiquant leur nom ou leur adresse si elle est dfinie
.Exemple : titi
accde la variable titi
%mw10
accde la variable %mw10
Si titi est dclar de type INT avec l'adresse %mw10, on peut y accder soit par le terme
titi soit par son adresse %mw10
4.1. Accs aux bits de mots
On accde aux bits de mots en indiquant le mot suivi d'un point, puis le numro du bit
Exemple : tutu.10
accde au bit 10 du mot tutu
La variable tutu doit tre du type INT ou WORD
On accde au bit de mot, tous simplement en dfinissant une variable de type BOOL
Exemple : toto
accde une variable de type BOOL (bit de mot)
La variable doit tre de type BOOL, son adresse peut tre
dfini par exemple %mw20.5, le bit 5 du mot 20
4.2. Accs aux lments d'une instance de structure
On accde un lment d'une structure en indiquant le nom de l'instance suivi d'un
point suivi de l'lment auquel on veut accder
Exemple :
mastruct.ele1
accde la variable ele1 de l'instance mastruct
La variable mastruct doit tre dclarer du type
d'une structure
4.3. Accs aux lments d'un tableau
On accde un lment d'un tableau en indiquant le nom du tableau suivi du rang
entre crochets
Exemple :
tab[54]
accde l'lment numro 54 du tableau d'entier
tab doit tre de type ARRAY[n..m] OF INT, la valeur 54
doit tre comprise dans la plage n..m
tab2[9]

accde l'lment 9 d'un tableau de rel allant de


0 19
tab2 doit tre de type ARRAY[0..19] OF REAL

tab3[index] accde l'lment index d'un tableau d'entier


tab3 doit tre de type ARRAY[0..9] OF INT
index doit tre de type INT
l'index doit rester dans la zone 0 9
tab4[5].ele1 accde la variable ele1 de la structure numro 5 d'un
tableau de structure "azerty"
tab4 doit dclarer sous la forme ARRAY[0..9] OF azerty

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 17/54
5. LE NAVIGATEUR
C'est simple, il suffit de lire pour comprendre
5.1. Vue structurelle
Nom du programme

Configuration de l'automate

Dfinition des variables

Dfinition des instances si


ncessaire

Exemple de vue Fonctionnelle

Configuration des rseaux

Ecriture des programmes

Dfinition des tables d'animations


Dfinition des Ecrans

5.2. Vue fonctionnelle


Une fois que vous avez configur l'ensemble de l'automate et des variables, je vous
suggre de passer en vue fonctionnelle pour crire votre programme.
La premire tape dans l'criture d'un programme consiste dfinir sa structure en
partant d'une feuille blanche, c'est l'occasion de passer en vue fonctionnelle, ou vous
aurez une vue claire de votre programme, vous aurez crit les diffrents titres mais pas
encore le programme, et vous verrez que se sera plus facile.
On accde au navigateur depuis le menu "outils"

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 18/54
6. LA CONFIGURATION

6.1.

Configuration des modules d'entres analogiques

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 19/54
6.2.

Configuration des modules de comptage

Configuration des modules de communication MODBUS

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 20/54
6.3.

Configuration des modules de communication rseaux Ethernet

6.4.

Configuration des modules de communication rseaux FIPWAY

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 21/54
6.5.

Configuration des modules unit centrale

6.6.

Configuration de la tche matre

Cliquer avec le bouton


doit sur "MAST"

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 22/54
7. LES FONCTIONS DANS LA BIBLIOTHEQUE
Il y a les fonctions lmentaires EF, qui n'ont pas besoins d'tre instancies, et les blocs
fonctions lmentaires EFB qui doivent tre instancies, on peu se faire soit mme des
EFB en langage C, mais il faut avoir le logiciel SDKC, sinon on peut faire en langage
automate nos propres blocs fonctions drives DFB (voir chapitre 18)
Cliquer sur l'un des boutons suivants

OU

Cliquer sur les trois petits points aprs "Type FFB"

Fonctions de base
Fonctions communications
Fonctions de rgulations
Fonctions utilisateurs
Fonctions de diagnostiques
Fonctions d'entres sorties explicites
Fonctions pour les cartes d'AXES
Fonctions pour les cartes d'AXES
Ex fonction du PL7
Fonctions systmes tel les contrle
d'vnements, de mise l'heure, gestion des
grafcets ou encore la fonction SCHEDULE qui
permet de monter un bit certaines priodes

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 23/54
7.1.

Les fonctions de bases standards

Fonctions sur les tableaux


Fonctions de rgulation sur des entiers PID, PWM, SERVO
Fonctions de comparaisons, gal, suprieur, infrieur etc.
Fonctions sur les temps et les dates, ajouter, multiplier un temps, etc.
Fonctions logique sur mot ET, OU , XOR, dcalage etc.
Fonctions de mathmatique, addition, soustraction, multiplication etc. cosinus, exponentiel
Fonctions de statistique, valeur moyenne, maxi, mini, limite, etc.
Fonctions de chane de caractres, concatne, insert, extrait, remplace etc.
Fonctions de comptage et temporisation
Fonctions de conversions, BCD, ENTIER, TIME, REEL, CHAINE etc.

7.2.

Les EF de communications
Lit une adresse
Annule un change
Envoi ou reoit des donnes
Lit des octets
Lit une chaine de caractre
Envoi une question attend la rponse
Ecrit une chaine de caractres
Reoit un tlgramme
Lis des bits ou mot s de manire asynchrone
Lis de donne MODBUS +
Lis de donnes standard
Envoi une requte
Envoi un tlgramme
Active le serveur UNITE
Ecrit des bits ou mots de manire asynchrone
Ecrit des donnes MODBUS +
Ecrit des donnes standard

7.3.

Les EFB et EF de rgulation


Ralise un "AUTO TUNE"
Correcteur modle
Rgulateur simple en PI
Rgulateur complet PID+FeedForward
Dfini la priode d'chantillonnage
Rgulation deux tats (Temprature)
Rgulation trois tats (chaud/froid)
Rgulateur PID sur des valeurs entires
Sortie PWM sur valeurs entires
Sortie SERVO sur valeurs entires

7.4.

Les EFB de sortie des rgulateurs


Contrle manuel de la sortie
Contrle manuel de la sortie avec bande morte
Sorite en PWM
Sortie en SERVO
Sortie en Split Range

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 24/54
7.5.

Les EFB d'entre des rgulateurs


Gnrateur de rampe de consigne
Gnre un RATIO
Slectionne la consigne

7.6.

Les EF sur chane de caractres


Concatne deux chaines
Supprime un sous chaine
Compare deux chaines
Recherche une chaine dans une chaine
Insert des caractres dans une chaine
Extrait la partie gauche d'une chaine
Retourne la longueur d'une chaine
Extrait le milieu d'une chaine
Remplace une chaine
Extrait la partie droite d'une chaine

7.7.

Prsentation des EF mathmatiques

ABS
ACOS
ADD
ASIN
ATAN
COS
DEC
DIV
DIVMOD
EXP
INC
LN
LOG
MOD
MOVE
MUL
NEG
SIGN
SIN
SQRT
SUB
TAN

7.8.

Valeur absolu
Arc cosinus
Addition
Arc sinus
Arc tangente
Cosinus
Dcrmentation d'un point
Division
Division ave modulo
Exponentiel
Incrmentation d'un point
Logarithme naturel
Logarithme en base 10
Modulo
Assignation
Multiplication
Inverse la sortie
Reconnat le signe
Sinus
Racine carr
Soustraction
Tangente

Prsentation des EF statistiques

AVE
LIMIT
LIMIT_IND
MAX
MIN
MUX
SEL

Valeur moyenne
Valeur limite
Valeur limite avec indication
Valeur maxi
Valeur mini
Multiplexeur
Slectionne une valeur sur deux

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 25/54
7.9.

Prsentation des EF de comparaisons

EQ
GE
GT
LE
LT
NE

7.10.

Egal
Plus grand ou gal
Plus grand
Plus petit ou gal
Plus petit
Non gal, diffrent

Prsentation des EF logiques

AND
FE
NOT
OR
RE
RESET
ROL
ROR
SET
SHL
SHR
XOR
TRIGGER

7.11.

ET
Front descendant
PAS
OU
Front montant
Met zro
Rotation sur la gauche
Rotation sur la droite
Met UN
Dcale sur la gauche
Dcale sur la droite
Ou exclusif
Dtecte tout front

Prsentation des EF sur tableaux

ADD_ARxx
COPY_ARxx
DIV_ARxx
EQUAL_ARxx
FIND_EQ_ARxx
FING_GT_ARxx
FIND_LT_ARxx
LENGTH_ARxx
MAX_ARxx
MIN_ARxx
MOD-ARxx
MOVE_AREBOOL_xx
MOVE_xx_ARxx

7.12.

Additionne deux tableaux


Copy un tableau
Divise deux tableaux
Compare deux tableaux
Recherche l'quivalence dans deux tableaux
Recherche le plus grand des deux tableaux
Recherche le plus petit des deux tableaux
Retourne la longueur d'un tableau
Retourne la valeur maximum d'un tableau
Retourne la valeur minimum d'un tableau
Retourne le modulo de deux tableaux
Ecrit une valeur dans une chane de bit
Assigne une valeur un tableau

Prsentation des EF sur date et temps

ADD_DT_TIME
ADD_TOD_TIME
DIVTIME
MULTIME
SUB_DATE_DATE
SUB_DT_DT
SUB_DT_TIME
SUB_TOD_TIME
SUB_TOD_TOD

Ajoute une dure une date


Ajoute une dure un temps
Divise le temps
Multiplie le temps
Ecart entre deux date
Ecart entre deux dates
Soustrait une dure une date
Soustrait une dure un temps
Soustrait deux date

Il y a beaucoup d'autres fonction que je ne vous prsente pas, mais que vous pouvez aller voir, tel les
fonctions sur les compteur et temporisateurs, les fonction d'change explicite sur les entres sortie, les
fonction de diagnostiques, les fonctions systmes, les fonctions sur les mouvements, les anciennes fonctions
du PL7 (obsolte lib)

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 26/54
8. LES SECTIONS DE PROGRAMMES

Une section peut tre cre en Littral (ST) en liste d'instruction (IL) en Bloc fonction
(FBD) en grafet (SFC) ou en LADDER (LD)
Vous devez lui donner un nom, vous pouvez lui donner une "condition", c'est--dire un bit
d'autorisation d'excution, vous pouvez lui affecter un "commentaire" pour expliquer son
rle et vous pouvez ventuellement la protger en lecture seule voire mme qu'elle ne soit
pas lisible.
Lorsque vous protger des sections, il faut alors protger l'ensemble de l'application et lui
donner un mot de passe (qu'il ne faut pas oublier).
Vous pouvez crer une section directement dans la vue fonctionnelle, ce qui est
prfrable, sinon vous pouvez donner sa "localisation", sachant que de toute faon, vous
pourrez changer sa localisation en faisant un glisser dplacer.
Le choix du langage dpend uniquement de vous. Bien sur elle dpend de ce que vous
imposent votre client.
Si vous avez le choix, choisissez le langage LADDER pour toutes les fonctions de bases,
choisissez le LITTERAL si vous avez de gros calcul faire, ou des algorithmes
compliqus, choisissez la reprsentation en BLOCS fonctions si vous avez des boucles
de rgulations complexes raliser, enfin choisissez le GRAFCET si vous avez des
squences raliser,
Mise en garde : N'oubliez pas que le grafcet est compliqu modifier, s'il faut modifier sa
structure, s'il y a beaucoup de saut d'tapes faire, si un imprvu arrive, dans certain cas
la structure est entirement revoir, il vaut mieux utiliser un autre langage avec des
mmoire ou des valeurs de mots (case of).
La question qu'il faut se poser est: l'action de je tente de raliser dpend elle
rellement d'une autre action, par exemple J'attends une rponse, dpend elle de je pose
une question, la rponse est oui, dans ce cas le grafcet peut tre envisag, un autre
exemple: je sors la bute dpend elle de je fais avanc le tapis, la rponse est ambigu,
videment si mon tapis n'avance pas la pice n'arrivera pas, on serai tent de dire "oui",
mais en fait la rponse est que cela dpend du numro de pice, la bute ne sortira que
lorsque le bon numro de pice arrivera et le grafcet n'est pas adapt au problme.

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 27/54
9. LE LANGAGE LADDER OU "LD"
9.1. Exemple d'un programme en LADDER

9.2. Prsentation de la barre d'outils


Arrte le programme
Appel un sous
programme

Test un front
descendant
Test un front
montant

Cre un front descendant


Cre un front montant

Test un bit 0
Test un bit 1

Mise 0 dun bit


Mise 1 dun bit
Affecte le complment
du test
Affecte le rsultat du
test

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 28/54

Fait un commentaire
Inverse une liaison
Appel une fonction
Retour d'un SR

Dfini une
tiquette
Saut une
tiquette
Fait une comparaison
Fait une opration

Lors d'un appel d'une fonction, voir


chapitre 5, l'ensemble des fonctions
disponibles, les temporisateurs les
compteurs y est, mais bien d'autres
fonctions encore. Vous avez aussi les
fonctions du PL7-PRO qui existent,
allez dans "obsolete lib", mais essayez
d'utiliser les nouvelles fonctions.

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 29/54
10. LE LANGAGE LITTERAL STRUCTURE OU "ST"
Le langage littral structur se programme sous forme de phrases d'une longueur
maximale de 300 caractres, comportant ventuellement un commentaire et une
tiquette, suivant le mme principe que le langage liste d'instructions.
10.1.

Structure de programme

Structure inconditionnelle
Une suite d'actions spares par des ";"
<Action>;<Action>;<Action>;
<Action>;
<Action>;
Une action fini toujours par un ";"
Structures conditionnelle
IF <condition> THEN
<programme>
ELSE
<programme>
END_IF;

IF <condition> THEN
<programme>
ELSEIF <condition> THEN
<programme>
ELSE
<Programme>
END_IF;
( Le nombre de ELSEIF est illimit )

CASE <variable> OF
<valeur1>: <Programme1>
<valeur2>:<Programme2>
<valeur3>:<Programme3>
END_CASE;

Structures itratives
WHILE <condition> DO
<programme>
END_WHILE;
REPEAT
<programme>
UNTIL <condition> END_REPEAT;
!!! Attention : l'UC ne fait rien d'autre pendant le programme, c'est dire qu'elle ne va pas
tester les entres ni mettre jour les sorties

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 30/54

Structure rptitive
FOR <indice>:=<valeur dpart> TO <Valeur arriv> DO
<programme>
END_FOR;
Instruction de saut
JMP <tiquette>
<tiquette>:
Le mot cl "EXIT"
Le mot cl "EXIT" permet de sortir prmaturment d'une boucle

Appel des fonctions EF


Appel en faisant passer les paramtres de manires informelles, c'est--dire en passant
tous les paramtres, dans l'ordre.
Exemples :
Appel d'un EF de soustraction de deux dure
duree := SUB_TOD_TOD(heure1, heure2);
Appel d'un PID simple
PID_INT('lic', 'm',pv, m_a, Tpara, sortie);
Appel de la fonction multiplication
Produit := MUL (Facteur1, Facteur2) ;
Produit := Facteur1 * Facteur2 ; on aurait pu rsoudre le problme de cette faon.
Appel de la fonction exponentiel
Expo := EXP_REAL(valeur);

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 31/54
Appel de fonctions EFB ou DFB
Appel en faisant passer les paramtres de manires formelles, c'est--dire en nommant
les paramtres, cette forme l'avantage de ne faire passer que les paramtres utiles
Exemples :
Appel d'un DFB instanci
MON_DFB (IN1 := var1, IN2 := var12, OUT => var3);
Appel de la fonction PIDFF instanci
PID1 (PV:=ProcessVariable,SP:=Setpoint,MAN_AUTO:=OperatingMode,
PARA:=FIC_Eau_Para, OUT:=sortie, STATUS=>Etat);
Appel d'une temporisation instanci
TP1 (IN:=Start, PT:=t#5s, Q=>Outputa);
Appel de la fonction gestion d'un grafcet instanci, on ne fait que l'initialisation
G7CTRL (CHARTREF:=G7, INIT:=init_g7) ;

10.2.

Exemples de programme en littral structur

%M11:=%M10 AND (%I0.3.2 OR %I0.3.3);(* structure inconditionnelle *)


FOR %MW50:=0 TO 20 DO
IF (%MW100[%MW50]> 10) THEN
SET (%M20);
EXIT; (* Quitte la boucle FOR *)
END_IF;
END_FOR;
REPEAT
INC (%MW4);
SET (%M10[%MW4]);
UNTIL (%MW4 >=10) END_REPEAT;
IF (%MW10<>0) THEN
WHILE NOT %M0[%MW10] and (%MW10<16)DO
IF(%MW10 MOD 3=0)THEN
SET (%M0[%MW10]);(* mise 1 des bits modulo 3 *)
END_IF;
INC (%MW10);
END_WHILE;
END_IF;

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 32/54
11. LE GRAFCET OU "SFC"
11.1.

Exemple d'un grafcet

Chaque grafcet se dfini dans une section et porte son nom, on peut donc avoir autant de
grafcet indpendant les uns des autres
On peut initialiser, figer, vider, prpositioner n'importe quel grafcet, il suffit d'utiliser la
fonction SFCCNTRL

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 33/54
11.2.

La fonction SFCCNTRL

Cette fonction permet de grer un grafcet, on peu l'initialiser, le figer, le forcer etc.

Nom de la section
Bit d'initialisation
RAZ du grafcet
Arrte le contrle de temps
Gel le grafcet
Arrte tout traitement
Force le passage l'tape suivante
Active l'tape suivante
Acquitte les erreurs
Interdit la gestion
Traite toute les transition
RAZ des temps de calcul

Grafcet initialis
Grafcet t RAZ
Arrt du contrle de temps en cours
Gel du grafcet en cours
Arrt de tout traitement en cours
Forage du passage l'tape suivante en cours
Activation de l'tape suivante en cours
Erreur de temps
Contrle du temps actif

11.3. Les fonctions SETSTEP et RESETSTEP


Ces fonctions sont utile pour mettre un 1 ou 0 une tape, n'utiliser que dans des
circontences particulires.
Nom de l'tape

11.4.

Les variables associs aux tapes

Les variables associs aux tapes de grafcet son de type de la structure


SFCSTEP_STATE
Chaque variable porte le nom de l'tape, par exemple pour l'tape dont le nom est
S_4_9, il y a une variable qui porte ce nom et les champs de la structure s'appellent:
S_4_9.x
S_4_9.t
S_4_9.tminErr
S_4_9.tmaxErr

tat de l'tape
0 ou 1
Temps d'activation de l'tape en dure de type TIME "T#"
Erreur de dure d'tape, temps trop court
Erreur de dure d'tape, temps trop long

On peut tester ces bits de l'tape dans l'ensemble du programme


On peut modifier le nom par dfaut de l'tape

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 34/54
11.5.

Actions associer aux tapes

Pour raliser les actions d'un tape, on a plusieurs possibilits

On peut lui associ plusieurs sections de programme qui seront ralis conformment au
"qualificatif"
On peut lui associ plusieurs bits variables qui seront ralis conformment au
"qualificatif"
Qualificatifs

N : Normal
R : Raz l'action prcdente
S : Mmorise l'action qui sera dsactivs par une tape "R"
L : Action temporis, le temps est dfini ou dans une variable
D : Action retard, le temps est dfini ou dans une variable
P : Action ne dure d'un tour de scrutation
DS: Action retard puis mmoris, dsactiv par une tape "R"
P1: Action sur front montant, s'excute en premier, "Equivalent l'activation du PL7"
P0: Action sur front descendant, s'excute en dernier "Equivalent la dsactivation du PL7"

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 35/54
11.6.

Transitions associs aux tapes

On peut associ un bit ou une section chaque transitions


On peut inverser la condition de transition, utile pour une divergence en OU

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 36/54
12. LE LANGAGE LISTE D'INSTRUCTION OU "IL"
12.1.

Prsentation

Le langage IL se programme sous forme de phrases de 128 instructions maximum,


comportant 1 commentaire et une tiquette.
Exemple
! (* Attente schage *)
%L2:
LD
%M2
OR %I1.1
ST
%Q2.4

! indique le dbut de la phrase (* *) commentaire


Etiquette facultative
Liste d'instructions

! (* Une autre phrase *)


%L7:
LD
TRUE
[%MW2:=%MW4*5/SQRT(%MW20)]
Etc.
REMARQUE : Une phrase peut s'crire en une seule ligne, l'diteur la prsentera sous la
forme ci dessus aprs validation.
Exemples
! (*phrase IL*) %L4: LD [%MW10<4] AND [%MW20>10] [%MW40:=%MW50/2]
!(* autre phrase *) %L20 : LD %M10 AND %M11 ST %M12
!(* Une autre *) %L100 : LD %M20 AND %M21 OR ( %M22 AND %M23 ) ST %M24
Etc.
12.2.

Les instructions

INSTRUCTIONS BOOLEENNES
LD
LDN
LDF
LDR
AND
OR
ANDN
ORN
ANDF
ORF
ANDR
ORR

Charge un rsultat boolen ( commence une phrase )


Charge le complment
Charge le front montant
Charge le front descendant
Et
Or
Et pas
Ou pas
Et front montant
Ou front montant
Et front descendant
Ou front descendant

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 37/54
XOR
XORN
XORF
XORR
ST
STN

Ou exclusif
Ou pas exclusif
Ou front montant exclusif
Ou front descendant exclusif
Range le rsultat
Range le complment

MPS
MPP
MRD

Stock ( empile) le rsultat boolen ( pour une utilisation ultrieure )


Destock (dpile ) un rsultat
Lit la dernire valeur stocke sans la dpiler

VALEUR VRAI ET FAUX


Les valeurs "vrai" ou "faux" peuvent tres utiliss dans des quations boolennes, en
gnral pour commencer une quation.
TRUE
FALSE

toujours Vrai
toujours Faux

Exemple

LD
TRUE
[%MW2:=%MW10/5]

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 38/54
13. LE LANGAGE BLOCS FONCTIONNELS OU "FBD"

Voyez ici, comment augmenter le nombre d'entres d'une fonction, il suffit d'largir la
fonction elle-mme, en cliquant avec le bouton gauche sur la poign.

L'augmentation du nombre d'entre n'est possible qu'avec certaines fonctions.

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 39/54
14. LES OPTIONS DU PROJET
Accessible depuis "Outils"

Case cocher, si vous voulez


avoir plusieurs tapes actives
simultanment

Case cocher, pour accder


aux tableaux non dclar, qui
ne sont pas de type ARRAY
Case cocher, pour convertir
un tableau d'un format vers un
autre

Si vous utilisez les tableaux issu du PL7, par exemple le tableau %mw10:10, si vous
voulez accder un lment de ce tableau %mw10[%mw50] par exemple, cette syntaxe
ne sera pas accept ou alors, il faudra cocher la case "Autoriser le reprsentation direct
de tableaux (%xxx:nn)
Si vous voulez transfrer une chaine de bit dans un mot, il faut utiliser la fonction
"move_arebool_int", le problme c'est que se ne sera pas accept, il faudra cocher la
case "Autoriser les tableaux dynamiques [ANY_ARRAY_XXX]", ou sinon utiliser la
fonction "bit_to_word", l'inconvnient c'est qu'il faut crire l'ensemble des 16 bits
convertir.
Ou encore crivez une fonction DFB qui le fera, en entre un tableau de bit, en sortie un
entier et vous affecter chaque bit du mot avec chaque bit du tableau.

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 40/54
15. LES DIFFRENTES TACHES

Priorit

Tches
auxiliaires

Tche matre
Tche rapide

Priodiques
La tche matre doit
tre priodique

Cyclique
ou
priodiques
(Suivant la
configuration)

Priodique

Tches
vnementielles
Dclenches par
des
temporisations
ou des
priphriques

Pour dclencher les tches "timer" , il faut utiliser la fonction ITCNTRL

Validation
Reset le timer
Gle le timer
Numro de timer

Pour autoriser les vnements, vous pouvez utiliser le bit systme %S38 ou utiliser les
fonctions UNMASKEVT ou MASKEVT
Il faut aussi que l'vnement soit choisis dans la configuration de la carte priphrique

Dans cette exemple ou choisi l'vnement numro 0


15.1.

Principe de scrutation d'une tche

%I

Lecture des entres


associes la tche

Excution des diffrentes


sections de la tche

%Q

Ecriture des sorties


associes la tche

Recommence
cycliquement ou aprs la
priode dfini de la tche

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 41/54
15.2.

Configuration d'une tche


La tche peut tre
priodique c'est--dire
s'excuter aprs le temps
dfini
Ou cyclique (ce n'est
valable que pour la tche
maitre), c'est--dire
s'excuter ds qu'elle est
finie
On peu dfinir la valeur du
chien de garde

La tche matre doit tre dfini priodique si vous utiliser une tche auxiliaire

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 42/54
16. LES VARIABLES DERIVEES D'ENTREES/SORTIES
Chaque carte d'entres sorties de comptage de positionnement de communication,
analogique, de pesage, a sa structure spciale qui donne des informations ou donne des
ordres.
On dfini ces structures par l'diteur de variable, le nom de chaque structure est prdfini,
il est accessible par le catalogue ci aprs.

On dfini le nom de la voie laquelle on s'adresse, on choisi la structure dans le


catalogue et on dfini l'adresse de la voie sous la forme %CHrack.module.voie

L'avantage de ces structures est qu'il donne les adresses et les symboles de tous les
paramtres.

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 43/54
Exemple d'une voie de communication sur le rack 1, le module 4 et la voie 0

On s'aperoit qu'il y a des objets %I et %Q change implicite, qui se fait chaque


scrutation et des objets change explicite %MW, qui se font par programme
Ces structures ne sont pas obligataires, elles sont particulirement utiles pour des
traitements un peu spciaux sur certaines cartes
16.1.

Les changes explicites

Les changes implicites avec les cartes d'entres et de sorties se font chaque cycle (%I
et %Q), il n' y pas bessoin d'instruction pour aller lire les entres ni pour crire les
sorties
Toutefois, on peu faire des changes explicites avec les cartes priphrique, c'est--dire
lire et crire dans les cartes avec des EF de programme.
Lis les paramtres de rglage d'une carte
Lis les tats de la carte
Lis les adresses topologiques d'une carte
Restaure les paramtres de rglage d'une carte
Sauve les paramtres de rglage d'une carte
Transfrer une recette dans une carte (carte d'AXE par exemple)
Ecrire les commandes d'une carte
Ecrire les entrs d'une carte
Ces fonctions permettent de simuler
Les entres
A n'utiliser que pour faire une simulation
Ecrit les paramtres d'une carte

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 44/54
Il y a des mots interne %mw qui sont ddis aux cartes priphriques, ces mots on une
adresse qui est:
%MWr.m.c.d
r : numro du rack
m: numro du module
c: numro de la voie
d: numro du rang (si =0 on peu s'en passer)
%MWr.m.MOD.d

r: numro du rack
m numro du module
MOD : crit en toute lettre, signifie qu'on s'adresse au module
lui-mme et nom pas une voie en particulier
d: numro du rang (si =0 on peu s'en passer)

Exemples :
%MW0.2.3.4
Le mot de rang 4 de la voie 3 du module 2 du rack 0
On peu exrtaire un bit d'un mot
%MW0.2.1.0.3
Le bit 3 du mot de rang 0 de la voie 1 du module 2 dans le rack 0

Exemple de lecture des paramtres d'une carte

Exemple d'criture des paramtres d'une carte

Il faut avoir la documentation de la carte, pour savoir qu'elles sont les diffrents
paramtres.

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 45/54
Exemple de lecture de l'tat d'une carte

L aussi, il faut avoir la documentation de la carte pour interprter les diffrents tats

Exemple d'citure des tats d'une carte

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 46/54
17. SYNTHESE D'ACCES AUX VARIABLES
17.1.

Vue d'ensemble
On dfini les types utilisateurs STRUCT ou ARRAY, bien que les types ARRAY
sont rarement dfinis
On dfini les fonctions utilisateur DFB

Accs global aux types, variables et instances


On dfini l'ensemble des variables de type prdfini (bool, int, real, ARRAY )
On instancie les variables dont le type est dfini par l'utilisateur (drivs)
On dfini ici les variable des cartes d'entre, sorties
On instancie les fonctions de type prdfini (EFB)
On instancie les fonctions de type dfini par l'utilisateur (DFB)

17.2.

Accs rapide l'ensemble des types, variables et instances

Il suffit de double cliquer ou ouvrir "Variables et instances FB"


L'ensemble des types, des variables et des instances sont accssible ICI, il suffit d'aller
dans le bon onglet et cocher les bonnes cases
Variables
Drives

Variables
lmentaires

Accs l'ensemble des


variables, lmentaires,
drives et d'entres,
sorties

Accs aux types


drivs (utilisateur)

Accs aux instances


des fonctions EFB et
DFB
Accs aux dfinitions
des fonctions
utilisateurs DFB

Variables
d'entres, sorties

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 47/54
18. LES FONCTIONS DERIVEES DE TYPE DFB
Ce sont des fonctions critent par l'utilisateur, ces fonctions on peut faire passer des
paramtres d'entres (qui ne peuvent tre que lu), des paramtres de sortie (qui ne
peuvent tre qu'cit) et des paramtres d'entre/sortie (qui peuvent tre lu et crit)
En plus il y a des paramtres qui ne sont pas passs lors de l'appel de la fonction, mais
qui peuvent tre utile pour la fonction elle-mme. Il y a deux type de paramtres, les
prives qui ne sont accessibles que par la fonction elle-mme et les publics qui sont
accessible par la fonction, mais aussi par l'appplication.

Ces fonctions sont critent dans des sections qui leurs sont affects

On accde ces section depuis le navigateur, le langage de ces sections peut tre ST, IL,
LD ou FBD, mais ne peuvent pas tre en grafcet.
Les fonctions DFB sont trs utiles, en plus vous pouvez les exporter dans une
bibliothque et les rendre rutilisable.

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 48/54
Exemple d'une fonction DFB

Cette fonction est du type "azerty" et est instanci sous le noms "UTILS", on peut rappeler
cette fonction avec cette instance ou la rappeler avec une autre instance. Il est utile de
crer une nouvelle instance lorsque vous avez besoins de mmoriser les paramtres
d'une scrutation sur l'autre, sinon utilisez la mme instance.
Vous avez accs dans l'application appelelante aux diffrrents paramtres de sorties, et
public sous la forme :
<nom de l'instance>.<nom du paramtre>
Exemple:
UTILS.c
UTILS.d

donne accs au paramtre de sortie c


donne accs au paramtre public d (en lecture ou criture)

19. LES EFB (voir chapitre 7)


Se sont des fonctions quivalentes au DFB, qui sont critent en langage C qui necessite
d'avoir le supplment "SDKC"

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 49/54
20. LES PRINCIPAUX BIT SYSTEMES

Bits de reprises secteurs

Bits bases de temps

Bits d'tat de l'automate

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 50/54
Bits de dbordements

Bits d'activation des tches

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 51/54
21. QUELQUES MOTS SYSTEMES
Mots de dure

Mots horodateurs

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 52/54
22. LES ECRANS D'EXPLOITATION
Les crans d'exploitation sont trs utiles lors des mises aux points mais aussi en
maintenance, ils remplacent avantageusement les superviseurs, trs facile utiliser, on
peut dfinir toutes sortes de formes, de textes, de boutons, les animer trs facilements
On peut aussi utiliser les objets de "outils" "bibliothque des crans d'exploitations"
Voyez un exemple d'cran d'exploitation

22.1.
Utiliser la bibliothque d'objet prdfinis
Choisissez dans la fentre "Bibliotthque des crans d'exploitation"

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 53/54
Slectionner un objet, par exemple une vue d'un PID, copier le dans un nouvel
cran, ensuite afficher la fentre des variables

Double cliquer sur la variable que vous dsirer modifier, par exemple %MF0, vous
avez les objet slectionn qui aparaissent, cliquer alors avec le bouton droite et
selectionner caractristique, vous pouvez modifier la variable.

AMS720090001
Programmation des automates Schneider sous Unity-pro

Page 54/54

23. LES TABLES D'ANIMATIONS


Voil avec les crans d'exploitations les deux outils indispensables pour faire des
rglages, on peut enregistrer autant de tables d'animations que necessaire.
Voyez un exemple de table d'animation

Vous aimerez peut-être aussi