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

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

1.

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 9 8 7 6 5

de type BOOL
4 3 2 1 0

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 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

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

-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

1.3.

Reprsentation des nombres Reprsentation 16# 2# 8# 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

Format Dcimal Hexadcimal Binaire Octal Rel

Dure de tempo T#D_H_M_S_MS

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 rien ou X bits, W mot, D double mots, B octet

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

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 t type topologique: W mot, D double mots, B octet

Exemples:

n: numro %KW63 %KD70

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 rien ou X bits, W mot, D double mots, B octet

n:numro Exemples : %S1 %SW50 %SD20

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) 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

Exemples

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

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) 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

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

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

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)

Exemples

%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 .1 .0 .ERR .0 .1 %I0.4.0.ER %I0.4.0.0 ou %I0.4.0 %I0.4.0. %IW0.4.MOD.0 %IW0.4.MOD %IW0.4.MOD.1 %IW0.4.MOD.2 .0 %IW0.4.0 .1 .2 %IW0.4.0.1 .0 .1

Variables affectes la voie 0 Voie .1 %I0.4.1.ERR %I0.4.1. 0 ou %I0.4.1 .ERR .0 .1 .0 .1

Variables globale la carte

%IW0.4.1 %IW0.4.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 Configuration des rseaux

Exemple de vue Fonctionnelle

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


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

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

7.8.

Prsentation des EF statistiques


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

AVE LIMIT LIMIT_IND MAX MIN MUX SEL

AMS720090001 Programmation des automates Schneider sous Unity-pro

Page 25/54 7.9.


EQ GE GT LE LT NE

Prsentation des EF de comparaisons


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

7.10.

Prsentation des EF logiques


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

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

7.11.

Prsentation des EF sur tableaux


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

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.

Prsentation des EF sur date et temps


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

ADD_DT_TIME ADD_TOD_TIME DIVTIME MULTIME SUB_DATE_DATE SUB_DT_DT SUB_DT_TIME SUB_TOD_TIME SUB_TOD_TOD

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 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 Cre un front descendant Cre un front montant

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 MPS MPP MRD Ou exclusif Ou pas exclusif Ou front montant exclusif Ou front descendant exclusif Range le rsultat Range le complment 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 Exemple toujours Vrai toujours Faux 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

Tches auxiliaires Priodiques


La tche matre doit tre priodique

Priorit

+
Tche rapide Priodique Tches vnementielles Dclenches par des temporisations ou des priphriques

Tche matre Cyclique ou priodiques (Suivant la configuration)

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 Recommence cycliquement ou aprs la priode dfini de la tche

Excution des diffrentes sections de la tche

%Q

Ecriture des sorties associes 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 lmentaires Variables Drives

Accs l'ensemble des variables, lmentaires, drives et d'entres, sorties

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

Variables d'entres, sorties

Accs aux types drivs (utilisateur)

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