Documente Academic
Documente Profesional
Documente Cultură
SIMATIC
Logiciel standard pour S7-300
et S7-400
Fonctions standard
2me partie
Manuel de rfrence
Fonctions de combinaison
de bits
Fonctions de table
Fonctions de dcalage
Blocs fonctionnels de
comparaison
Glossaire, Index
03/2000
3me dition
Ce manuel donne des consignes que vous devez respecter pour votre propre scurit ainsi que pour
viter des dommages matriels. Elles sont mises en vidence par un triangle d'avertissement et sont
prsentes, selon le risque encouru, de la faon suivante :
Danger
signifie que la nonapplication des mesures de scurit appropries conduit la mort, des lsions
corporelles graves ou un dommage matriel important.
Attention
signifie que la nonapplication des mesures de scurit appropries peut conduire la mort, des
lsions corporelles graves ou un dommage matriel important.
Avertissement
signifie que la nonapplication des mesures de scurit appropries peut conduire des lsions cor
porelles lgres ou un dommage matriel.
Nota
doit vous rendre tout particulirement attentif des informations importantes sur le produit, aux mani
pulations effectuer avec le produit ou la partie de la documentation correspondante.
Personnel qualifi
La mise en service et l'utilisation du produit ne doivent tre effectues que conformment au manuel.
Seules des personnes qualifies sont autorises effectuer des interventions sur l'quipement. Il
s'agit de personnes qui ont l'autorisation de mettre en service, de mettre la terre et de reprer des
appareils, systmes et circuits lectriques conformment aux rgles de scurit en vigueur.
Utilisation conforme
aux dispositions
Attention
Le produit ne doit tre utilis que pour les applications spcifies dans le catalogue ou dans la description
technique, et exclusivement avec des priphriques et composants recommands par Siemens.
Le transport, le stockage, le montage, la mise en service ainsi que l'utilisation et la maintenance adquats
du produit sont les conditions indispensables pour garantir un fonctionnement correct et sr du produit.
Marque de fabrique
Exclusion de responsabilit
Siemens AG
Bereich Automatisierungs und Antriebstechnik
Geschaeftsgebiet IndustrieAutomatisierungssysteme
Postfach 4848, D 90327 Nuernberg
Siemens AG 1995
Sous rserve de modifications.
Siemens Aktiengesellschaft
6ES7811-4AA0-0CX0
Avant-propos
Objet du manuel
O se trouvent les
fonctions S7 ?
Les fonctions et blocs fonctionnels dcrits dans ce manuel sont enregistrs dans la
bibliothque standard de STEP 7. Le gestionnaire de fichiers de STEP 7 vous
permet de copier les fonctions et blocs fonctionnels dont vous avez besoin dans le
rpertoire de votre programme. Assurez-vous tout dabord que les FC ou FB que
vous dsirez copier de la bibliothque ne portent pas le mme numro que ceux se
trouvant dans votre programme. Si des fonctions ou blocs fonctionnels portant le
mme numro sy trouvent dj, vous devez soit renommer ces derniers soit ceux
que vous dsirez copier.
A qui sadresse ce
manuel ?
Contenu du
manuel
iii
Avant-propos
Chaque chapitre dcrit les fonctions (FC) et blocs fonctionnels (FB) dont vous disposez en plus des oprations standard, vous offrant ainsi une plus grande souplesse
lors de la programmation. Chaque FC ou FB est dsign par son nom, son mnmonique et son numro. Ils sont dcrits laide des informations suivantes :
Synoptique de la
documentation de
STEP 7
Manuel
Thme
Ce Getting Started constitue une introduction trs simple la mthodologie de configuration et de programmation dun automate S7-300/S7-400. Il sadresse tout particulirement
aux utilisateurs ne connaissant pas les automates programmables S7.
Les CPU S7 disposent de blocs dorganisation et de fonctions systme intgrs dont vous
pouvez vous servir lors de la programmation. Ce manuel prsente une vue densemble des
fonctions systme, blocs dorganisation et fonctions standard chargeables disponibles dans
S7, ainsi que comme informations de rfrence des descriptions dinterface dtailles
pour leur utilisation dans le programme utilisateur.
Configuration matrielle et
Ce manuel STEP 7 explique le principe dutilisation et les fonctions du logiciel dautomaticommunication dans STEP 7 sation STEP 7. Que vous soyez un utilisateur dbutant de STEP 7 ou que vous connaissiez
Manuel
bien STEP 5, il vous donne une vue densemble sur la marche suivre pour la configuration, la programmation et la mise en uvre dun automate S7-300/S7-400.
Vous pouvez, lors de lutilisation du logiciel, accder de manire slective laide en ligne qui rpondra vos questions prcises sur le logiciel.
STEP 7
Pour une transition facile de
S5 S7
Manuel
iv
Vous aurez besoin de ce manuel si vous avez lintention de convertir des programmes
STEP 5 existants afin de les excuter dans des CPU S7. Ce guide vous donne une vue
densemble du mode de fonctionnement et de lutilisation du convertisseur ; vous trouverez des informations dtailles sur lutilisation des fonctions du convertisseur dans laide
en ligne. Cette dernire contient galement la description dinterface des fonctions S7
converties disponibles.
Avant-propos
Manuel
Thme
SCL1
LIST, CONT,
Manuels de r frence
Les manuels concernant les progiciels de langage LIST, CONT et SCL (Sequential Control
Language) contiennent aussi bien des instructions pour lutilisateur que la description du
langage. Vous navez besoin, pour la programmation dun S7-300/400, que de lun de ces
langages, mais pouvez les mlanger lintrieur dun projet si besoin est. Il est conseill,
lors de la premire utilisation des langages, de se familiariser avec la mthodologie de la
cration de programmes laide du manuel.
Dans le logiciel, vous pouvez appeler laide en ligne qui rpondra vos questions dtailles sur lutilisation des diteurs et compilateurs associs.
S7-GRAPH1, S7-HiGraph1,
CFC1
Manuels
Les langages S7-GRAPH, S7-HiGraph et CFC (Continuous Function Chart) offrent des
possibilits supplmentaires pour la ralisation de commandes squentielles, de graphes
dtat ou dinterconnexions graphiques de blocs. Ces manuels contiennent aussi bien des
instructions pour lutilisateur que la description du langage. Il est conseill, lors de la premire utilisation de ces langages, de se familiariser avec la mthodologie de la cration de
programmes laide du manuel.
Dans le logiciel, vous pouvez appeler laide en ligne (except pour HiGraph) qui rpondra
vos questions dtailles sur lutilisation des diteurs et compilateurs associs.
Autres manuels
Vous trouverez la description des diffrents CPU et modules S7-300 et S7-400 ainsi
que des oprations des CPU dans les manuels suivants :
Assistance
supplmentaire
Nhsitez pas contacter votre agence Siemens si vous avez des questions restes
sans rponse dans le manuel ou dans les autres manuels de STEP 7 ou si vous
dsirez des informations sur le reste de la documentation ou sur les offres de
formation.
Avant-propos
vi
Numro
Page
FC80
5-2
FC81
4-2
FC82
1-2
FC83
1-6
FC84
2-2
FC85
2-4
FC86
2-6
FC87
2-9
FC88
2-11
FC89
2-13
FC90
3-2
FC91
2-15
FC92
3-4
FC93
6-2
FC94
6-4
FC95
6-6
FC96
6-8
FC97
6-9
Complment 10 (BCDCPL)
FC98
6-10
FC99
6-11
FC100
1-4
FC101
1-8
FC102
7-2
FC103
2-17
FC104
2-19
FC105
6-12
FC106
6-14
FB80
6-16
FB81
5-4
FB82
5-7
FB83
8-2
FB84
8-6
FB85
5-10
FB86
4-4
Sommaire
1-2
1.2
1-4
1.3
1-6
1-8
Fonctions de table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-1
2.1
2-2
2.2
2-4
2.3
2-6
2.4
2-9
2.5
2-11
2.6
2-13
2.7
2-15
2.8
2-17
2.9
2-19
Fonctions de dcalage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-1
3.1
3-2
3.2
3-4
4-1
4.1
4-2
4.2
4-4
5-1
5.1
5-2
5.2
5-4
5.3
5-7
5.4
5-10
1.4
2
1-1
vii
Sommaire
6-1
6.1
6-2
6.2
6-4
6.3
6-6
6.4
6-8
6.5
6-9
6.6
6-10
6.7
6-11
6.8
6-12
6.9
6-14
6.10
6-16
7-1
7.1
7-2
8-1
8.1
8-2
8.2
8-6
Glossaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Glossaire-1
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Index-1
viii
Ce chapitre dcrit les fonctions de combinaison de bits (FC) dont vous disposez en
plus des oprations standard, vous offrant ainsi une plus grande souplesse lors de la
programmation.
Paragraphe
Thme
Page
1.1
1-2
1.2
1-4
1.3
1-6
1.4
1-8
1-1
1.1
Description
Paramtres
Tableau 1-1
Remettre zro zone de mmentos ou de priphrie dans la mmoire image (FC82) : paramtres
Type de
donnes
Zone de
mmoire
Paramtres
Dclaration
EN
Entre
BOOL
E, A, M, D, L
ENO
Sortie
BOOL
E, A, M, D, L
S_BIT
Entre
POINTER* E, A, M, D
Entre
INT
E, A, M, D, L,
P ou constante
Description
Pointeur en format double mot pour ladressage indirect interzone par registre
1-2
Informations
derreur
Exemple
RSET
FC82
EN
ENO
E0.0
P#M 0.0
10
A4.0
S_BIT
N
Avant lexcution :
M0.7
M0.0
1 1 1 1 1 1 1 1
M1.7
M1.0
1 1 1 1 1 1 1 1
Figure 1-1
Aprs lexcution :
M0.7
M0.0
0 0 0 0 0 0 0 0
M1.7
M1.0
1 1 1 1 1 1 0 0
1-3
1.2
Description
Paramtres
Tableau 1-2
Zone de
mmoire
Paramtres
Dclaration
EN
Entre
BOOL
E, A, M, D, L
ENO
Sortie
BOOL
E, A, M, D, L
S_BYTE
Entre
POINTER* P
Entre
INT
E, A, M, D, L,
P ou constante
Description
Pointeur en format double mot pour ladressage indirect interzone par registre
1-4
Informations
derreur
Ltat de signal des bits de la plage nest pas modifi et ltat de signal de ENO est
mis 0 si lune des situations suivantes se prsente :
Le pointeur S_BYTE dsigne une autre zone de mmoire que celle de la priphrie externe (zone P).
Le pointeur S_BYTE dsigne une adresse qui nest pas aligne sur une limite
doctet.
RSETI
FC100
EN
ENO
E0.0
P#P 2.0
16
A4.0
S_BYTE
N
Avant lexcution :
P1.7
Aprs lexcution :
P1.0
1 1 1 1 1 1 1 1
P2.7
P2.0
1 1 1 1 1 1 1 1
P3.7
P3.0
1 1 1 1 1 1 1 1
P4.7
P4.0
1 1 1 1 1 1 1 1
Figure 1-2
P1.7
P1.0
1 1 1 1 1 1 1 1
P2.7
P2.0
0 0 0 0 0 0 0 0
P3.7
P3.0
0 0 0 0 0 0 0 0
P4.7
P4.0
1 1 1 1 1 1 1 1
1-5
1.3
Description
Paramtres
Tableau 1-3
Zone de
mmoire
Paramtres
Dclaration
EN
Entre
BOOL
E, A, M, D, L
ENO
Sortie
BOOL
E, A, M, D, L
S_BIT
Entre
POINTER* E, A, M, D
Entre
INT
E, A, M, D, L,
P ou constante
Description
Pointeur en format double mot pour ladressage indirect interzone par registre
1-6
Informations
derreur
Exemple
SET
FC83
EN
ENO
E0.0
P#M 0.0
10
S_BIT
N
Avant lexcution :
Aprs lexcution :
M0.7
M0.0
0 0 0 0 0 0 0 0
M0.7
M0.0
1 1 1 1 1 1 1 1
M1.7
M1.0
0 0 0 0 0 0 0 0
Figure 1-3
A4.0
M1.7
M1.0
0 0 0 0 0 0 1 1
1-7
1.4
Description
La fonction Mettre un plage de sorties directes (SETI) met ltat de signal des bits
dune plage donne doctets 1 lorsque le bit MCR est 1 . Si le bit MCR est
0 , ltat de signal des octets nest pas modifi. Le paramtre S_BYTE dsigne le
premier octet de la plage. Le paramtre N indique la taille de la plage en prcisant le
nombre de bits de cette dernire. Si, par exemple, vous dsirez dfinir une plage de 2
octets, entrez 16 (16 bits) comme valeur du paramtre N.
Nota
La valeur du paramtre N doit tre un multiple de 8 (par exemple, 8, 16, 24, etc.).
Paramtres
Tableau 1-4
Zone de
mmoire
Paramtres
Dclaration
EN
Entre
BOOL
E, A, M, D, L
ENO
Sortie
BOOL
E, A, M, D, L
S_BYTE
Entre
POINTER* P
Entre
INT
E, A, M, D, L,
P ou constante
Description
Pointeur en format double mot pour ladressage indirect interzone par registre
1-8
Informations
derreur
Ltat de signal des bits de la plage nest pas modifi et ltat de signal de ENO est
mis 0 si lune des situations suivantes se prsente :
Le pointeur S_BYTE dsigne une autre zone de mmoire que celle de la priphrie externe (zone P).
Le pointeur S_BYTE dsigne une adresse qui nest pas aligne sur une limite
doctet.
SETI
FC101
EN
ENO
E0.0
P#P 2.0
16
A4.0
S_BYTE
N
Avant lexcution :
P1.7
Aprs lexcution :
P1.0
0 0 0 0 0 0 0 0
P2.7
P2.0
0 0 0 0 0 0 0 0
P3.7
P3.0
0 0 0 0 0 0 0 0
P4.7
P4.0
0 0 0 0 0 0 0 0
Figure 1-4
P1.7
P1.0
0 0 0 0 0 0 0 0
P2.7
P2.0
1 1 1 1 1 1 1 1
P3.7
P3.0
1 1 1 1 1 1 1 1
P4.7
P4.0
0 0 0 0 0 0 0 0
1-9
1-10
Fonctions de table
Ce chapitre dcrit les fonctions de table dont vous disposez en plus des oprations
standard, vous offrant ainsi une plus grande souplesse lors de la programmation.
Paragraphe
Thme
Page
2.1
2-2
2.2
2-4
2.3
2-6
2.4
2-9
2.5
2-11
2.6
2-13
2.7
2-15
2.8
2-17
2.9
2-19
2-1
Fonctions de table
2.1
Description
La fonction Ajouter valeur dans table (ATT) ajoute le paramtre DATA comme entre
suivante dans une table et incrmente le nombre dentres dune entre. La table est
compose de mots. Cette fonction vous permet dajouter des entres de table qui sont
utilises par les fonctions FIFO et LIFO.
Paramtres
Tableau 2-1
Paramtres
Dclaration
EN
Entre
BOOL
E, A, M, D, L
ENO
Sortie
BOOL
E, A, M, D, L
DATA
Entre
WORD
E, A, M, D, L,
P ou constante
TABLE
Entre
POINTER* E, A, M, D
Type de
donnes
Zone de
mmoire
Description
Pointeur en format double mot pour ladressage indirect interzone par registre
2-2
Fonctions de table
Informations
derreur
Si le nombre des entres est suprieur ou gal la longueur de la table, les donnes ne
sont pas ajoutes la table et ltat de signal de ENO est mis 0 .
Exemple
La figure 2-1 montre le mode de fonctionnement de lopration ATT. Si ltat de signal lentre E 0.0 gale 1 (entre active), la fonction ATT est effectue. Dans cet
exemple, le paramtre DATA est ajout la table comme cinquime entre et le nombre dentres de la table augmente de 1 pour passer de 4 5.
Si la fonction est excute sans erreur, ltat de signal de ENO et de A 4.0 est mis
1 .
E0.0
W#16#0024
P#DB1.DBX10.0
ATT
FC84
EN
ENO
A4.0
DATA
TABLE
Avant lexcution :
TABLE (longueur de la table)
Nombre dentres
DBW10 = W#16#0006
DBW12 = W#16#0004
DBW14 = W#16#0012
DBW16 = W#16#0029
DBW18 = W#16#0090
DBW20 = W#16#0002
DBW22 = W#16#0000
DBW24 = W#16#0000
Aprs lexcution :
TABLE (longueur de la table)
Nombre dentres
Figure 2-1
DBW10 = W#16#0006
DBW12 = W#16#0005
DBW14 = W#16#0012
DBW16 = W#16#0029
DBW18 = W#16#0090
DBW20 = W#16#0002
DBW22 = W#16#0024
DBW24 = W#16#0000
2-3
Fonctions de table
2.2
Description
La fonction Premire valeur entre, premire sortie (FIFO) renvoie la valeur la plus
ancienne de la table FIFO comme valeur de fonction. Le nombre dentres diminue
dune entre. Si des entres se trouvent encore dans la table, celles-ci sont dcales
vers le bas. La table FIFO est constitue de mots. Avec la fonction ATT, vous pouvez
ajouter des valeurs la table FIFO.
Zone de
mmoire
Paramtres
Dclaration
EN
Entre
BOOL
E, A, M, D, L
ENO
Sortie
BOOL
E, A, M, D, L
TABLE
Entre
POINTER* E, A, M, D
RET_VAL
Sortie
WORD
E, A, M, D, L, P
Description
Pointeur en format double mot pour ladressage indirect interzone par registre
2-4
Fonctions de table
Informations
derreur
Si la table FIFO est vide (nombre dentres = 0), le paramtre RET_VAL nest pas
modifi et ltat de signal de ENO est mis 0 .
Exemple
La figure 2-2 montre le mode de fonctionnement de lopration FIFO. Si ltat de signal lentre E 0.0 gale 1 (entre active), la fonction FIFO est excute. Dans cet
exemple, lentre la plus ancienne de la table est renvoye comme valeur de fonction
(MW2). Le nombre dentres diminue de 1 pour passer de 5 4 et les entres restantes
sont dcales vers le bas de la table.
Si la fonction est excute sans erreur, ltat de signal de ENO et de A 4.0 est mis
1 .
FIFO
FC85
E0.0
EN
P#DB1.DBX10.0
A4.0
ENO
TABLE
RET_VAL
MW2
Avant lexcution :
TABLE (longueur de la table)
Nombre dentres
DBW10 = W#16#0006
DBW12 = W#16#0005
DBW14 = W#16#0012
DBW16 = W#16#0029
DBW18 = W#16#0090
DBW20 = W#16#0002
DBW22 = W#16#0024
DBW24 = W#16#0000
RET_VAL
MW2 = W#16#0000
Aprs lexcution :
Figure 2-2
DBW10 = W#16#0006
DBW12 = W#16#0004
DBW14 = W#16#0029
DBW16 = W#16#0090
DBW18 = W#16#0002
DBW20 = W#16#0024
DBW22 = W#16#0024
DBW24 = W#16#0000
RET_VAL
MW2 = W#16#0012
2-5
Fonctions de table
2.3
Description
2-6
Fonctions de table
Paramtres
Tableau 2-3
Paramtres
Type de
donnes
Zone de
mmoire
Description
EN
Entre
BOOL
E, A, M, D, L
ENO
Sortie
BOOL
E, A, M, D, L
SRC
Entre
POINTER* E, A, M, D
PATRN
Entre
POINTER* E, A, M, D
CMD
Entre
BYTE
E, A, M, D, L, P
E_TYPE
Entre
BYTE
E, A, M, D, L, P
RET_VAL
Sortie
WORD
E, A, M, D, L, P
INDX
Entre/sortie
WORD
E, A, M, D, L
Pointeur en format double mot pour ladressage indirect interzone par registre
Informations
derreur
Dans les situations dcrites ci-dessous, les valeurs de la table ne sont pas modifies.
Ltat de signal de ENO est mis 0 et la valeur en retour est mise lune des valeurs suivantes (voir tableau 2-4) :
Tableau 2-4
RET_VAL
Explication
W#16#0008
W#16#0009
2-7
Fonctions de table
Exemple
E0.0
TBL_FIND
FC86
EN
ENO
P#DB1.DBX0.0
SRC
P#DB2.DBX10.0
MW0
RET_VAL
PATRN
B#16#01
CMD
B#16#04
E_TYPE
MW2
A4.0
La premire entre de la table indique
la longueur de lopration de
recherche. La valeur 0004 signifie que
la recherche est effectue dans les
4 entres suivantes de la table.
INDX indique DW0 avant lopration,
la valeur DW6 aprs lexcution, car
le profil ladresse DW6 correspond
au profil 5555 ladresse du pointeur
PATRN.
INDX
Avant lexcution :
SRC (longueur de la table)
DBW0 = W#16#0004
DBW2 = W#16#1111
DBW4 = W#16#3333
DBW6 = W#16#5555
DBW8 = W#16#7777
INDX
MW2 = W#16#0000
PATRN
DBW10 = W#16#5555
Aprs lexcution :
INDX
Figure 2-3
2-8
MW2 = W#16#0003
Fonctions de table
2.4
Description
La fonction Dernire valeur entre, premire sortie (LIFO) renvoie lentre la plus
rcente de la table LIFO comme valeur de fonction. Le nombre dentres diminue
dune entre. La table LIFO se compose de mots. Avec la fonction ATT, vous pouvez
entrer des valeurs dans la table LIFO.
Zone de
mmoire
Paramtres
Dclaration
EN
Entre
BOOL
E, A, M, D, L
ENO
Sortie
BOOL
E, A, M, D, L
TABLE
Entre
POINTER* E, A, M, D
RET_VAL
Sortie
WORD
E, A, M, D, L, P
Description
Pointeur en format double mot pour ladressage indirect interzone par registre
2-9
Fonctions de table
Informations
derreur
Si la table LIFO est vide (nombre dentres = 0), le paramtre RET_VAL nest pas
modifi et ltat de signal de ENO est mis 0 .
Exemple
LIFO
FC87
E0.0
EN
P#DB1.DBX10.0
A4.0
ENO
TABLE
RET_VAL
MW2
Avant lexcution :
TABLE (longueur de la table)
Nombre dentres
DBW10 = W#16#0006
DBW12 = W#16#0005
DBW14 = W#16#0012
DBW16 = W#16#0029
DBW18 = W#16#0090
DBW20 = W#16#0002
DBW22 = W#16#0024
DBW24 = W#16#0000
RET_VAL
MW2 = W#16#0000
Aprs lexcution :
Figure 2-4
2-10
DBW10 = W#16#0006
DBW12 = W#16#0004
DBW14 = W#16#0012
DBW16 = W#16#0029
DBW18 = W#16#0090
DBW20 = W#16#0002
DBW22 = W#16#0024
DBW24 = W#16#0000
RET_VAL
MW2 = W#16#0024
Fonctions de table
2.5
Description
La fonction Excuter opration sur table (TBL) excute lopration (CMD) indique
sur la table source et crit le rsultat dans la mme entre de la table.
Paramtres
Tableau 2-6
Zone de
mmoire
Paramtres
Dclaration
EN
Entre
BOOL
E, A, M, D, L
ENO
Sortie
BOOL
E, A, M, D, L
SRC
Entre
POINTER* E, A, M, D
CMD
Entre
BYTE
E, A, M, D, L, P
E_TYPE
Entre
BYTE
E, A, M, D, L, P
RET_VAL
Sortie
WORD
E, A, M, D, L, P
Description
Pointeur en format double mot pour ladressage indirect interzone par registre
2-11
Fonctions de table
Informations
derreur
Exemple
La figure 2-5 montre le mode de fonctionnement de lopration TBL. Si ltat de signal lentre E 0.0 gale 1 (entre active), la fonction TBL est excute. Dans cet
exemple, le paramtre SRC dsigne les adresses du bloc de donnes qui seront traites
par lopration. Comme le paramtre E_TYPE gale 4, les donnes de la table sont
enregistres dans les mots commenant lentre indique par le paramtre SRC.
Comme la valeur de CMD est 4 (Effacer), tous les mots de la table sont effacs (mis
0 ) lorsque lopration TBL est excute. La longueur indique dans la premire
entre de la table tant 5, les cinq entres suivantes de la table sont effaces.
Si la fonction a t excute sans erreur, ltat de signal de ENO et de A 4.0 est mis
1 et RET_VAL est mis la valeur W#16#0000.
TBL
FC88
E0.0
EN
A4.0
ENO
P#DB1.DBX0.0
SRC
B#16#04
CMD
B#16#04
E_TYPE
RET_VAL
MW0
Avant lexcution :
SRC (longueur de la table)
DBW0 = W#16#0005
DBW2 = W#16#2000
DBW4 = W#16#3000
DBW6 = W#16#4000
DBW8 = W#16#5000
DBW10 = W#16#6000
Aprs lexcution :
SRC (longueur de la table)
Figure 2-5
2-12
DBW0 = W#16#0005
DBW2 = W#16#0000
DBW4 = W#16#0000
DBW6 = W#16#0000
DBW8 = W#16#0000
DBW10 = W#16#0000
Fonctions de table
2.6
Description
La fonction Copier valeur de la table (TBL_WRD) copie lentre indique par le paramtre INDX de la table SRC lemplacement indiqu par le paramtre DEST et incrmente la valeur de INDX, dans la mesure o la valeur de celui-ci est infrieure la
longueur indique dans le premier mot de la table SRC[0]. Si le paramtre INDX indique la dernire entre de la table lorsque lopration est appele, le bit de sortie Q est
mis 0 aprs lexcution de lopration.
Paramtres
Tableau 2-7
Paramtres
Type de
donnes
Zone de
mmoire
Description
EN
Entre
BOOL
E, A, M, D, L
ENO
Sortie
BOOL
E, A, M, D, L
SRC
Entre
POINTER* E, A, M, D
DEST
Entre
POINTER* E, A, M, D
E_TYPE
Entre
BYTE
E, A, M, D, L, P
RET_VAL
Sortie
WORD
E, A, M, D, L, P
Donne la valeur W#16#0000 en retour lorsque lopration a t effectue sans erreur. Pour toute valeur en retour autre que W#16#0000, reportez-vous aux informations derreur.
Sortie
BOOL
A, M, D, L
INDX
Entre/sortie
WORD
E, A, M, L
Pointeur en format double mot pour ladressage indirect interzone par registre
2-13
Fonctions de table
Informations
derreur
Dans les situations dcrites au tableau 2-8, la fonction nest pas excute. Ltat de
signal de ENO est mis 0 et la valeur en retour est mise lune des valeurs suivantes :
Tableau 2-8
RET_VAL
Exemple
Explication
W#16#0007
W#16#0008
W#16#0009
TBL_WRD
FC89
EN
ENO
E0.0
P#DB1.DBX0.0
SRC
P#DB2.DBX20.0
DEST
B#16#04
MW1
A4.0
RET_VAL
MW0
M2.0
E_TYPE
INDX
Avant lexcution :
SRC (longueur de la table)
DBW0 = W#16#0004
DBW2 = W#16#2000
DBW4 = W#16#3000
DBW6 = W#16#4000
DBW8 = W#16#5000
INDX
MW1 = W#16#0001
DEST
DBW20 = W#16#0000
Aprs lexcution :
Figure 2-6
2-14
INDX
MW1 = W#16#0002
DEST
DBW20 = W#16#2000
Fonctions de table
2.7
Description
Paramtres
Tableau 2-9
Paramtres
Type de
donnes
Zone de
mmoire
Description
EN
Entre
BOOL
E, A, M, D, L
ENO
Sortie
BOOL
E, A, M, D, L
SRC
Entre
POINTER* E, A, M, D
TABLE
Entre
POINTER* E, A, M, D
CMD
Entre
BYTE
E, A, M, D, L, P
E_TYPE
Entre
BYTE
E, A, M, D, L, P
RET_VAL
Sortie
WORD
E, A, M, D, L, P
Sortie
BOOL
A, M, D, L
INDX
Entre/sortie
WORD
E, A, M, D, L
Pointeur en format double mot pour ladressage indirect interzone par registre
2-15
Fonctions de table
Informations
derreur
Dans les situations dcrites au tableau 2-10, la fonction nest pas excute. Ltat de
signal de ENO est mis 0 et la valeur en retour est mise lune des valeurs suivantes :
Tableau 2-10
RET_VAL
Exemple
Explication
W#16#0007
W#16#0008
W#16#0009
WRD_TBL
FC91
EN
ENO
E0.0
P#DB2.DBX20.0
P#DB1.DBX0.0
B#16#08
B#16#06
MW1
Figure 2-7
2-16
SRC RET_VAL
Q
TABLE
CMD
E_TYPE
INDX
A4.0
MW0
M 2.0
Avant lexcution :
SRC
DBD20
DBW0
TABLE (longueur de la table)
DBD2
DBD6
DBD10
INDX
MW1
= DW#16#11111111
= W#16#0003
= DW#16#99998877
= DW#16#66665544
= DW#16#33332222
= W#16#0002
Aprs lexcution :
TABLE (longueur de la table)
DBW0
DBD2
DBD6
DBD10
INDX
MW1
= W#16#0003
= DW#16#99998877
= DW#16#77775555
= DW#16#33332222
= W#16#0003
Fonctions de table
2.8
Description
La fonction Tables de donnes corrles (CDT) compare une valeur dentre (IN)
une table dentre prexistante (IN_TBL) et localise la premire entre de cette table
suprieure ou gale la valeur dentre. Dans ce cas, lindice de lentre localise est
utilis pour copier, dans la valeur de sortie (OUT), la valeur correspondante de la table
de sortie (OUT_TBL).
Les valeurs de la table dentre doivent tre en ordre croissant : la premire entre
de la table contient la plus petite valeur et la dernire entre la plus grande valeur.
Paramtres
Tableau 2-11
Paramtres
Type de
donnes
Zone de
mmoire
Description
EN
Entre
BOOL
E, A, M, D, L
ENO
Sortie
BOOL
E, A, M, D, L
IN_TBL
Entre
POINTER* E, A, M, D
OUT_TBL
Entre
POINTER* E, A, M, D
IN
Entre
POINTER* E, A, M, D
OUT
Entre
POINTER* E, A, M, D
E_TYPE
Entre
BYTE
E, A, M, D, L, P
RET_VAL
Sortie
WORD
E, A, M, D, L, P
Donne la valeur W#16#0000 en retour lorsque lopration a t effectue sans erreur. Pour toute valeur en retour autre que W#16#0000, reportez-vous aux informations derreur.
Pointeur en format double mot pour ladressage indirect interzone par registre
2-17
Fonctions de table
Informations
derreur
Dans les situations dcrites au tableau 2-12, la fonction nest pas excute. Ltat de
signal de ENO est mis 0 et la valeur en retour est mise lune des valeurs suivantes :
Tableau 2-12
RET_VAL
Exemple
Explication
W#16#0001
W#16#0002
E_TYPE incorrect
W#16#0003
W#16#0004
W#16#0007
La figure 2-8 montre le mode de fonctionnement de lopration CDT. Si ltat de signal lentre E 0.0 gale 1 (entre active), la fonction CDT est excute. Dans cet
exemple, les deux tables IN_TBL et OUT_TBL contiennent cinq entres comme indiqu par le premier mot de chaque table. Le paramtre E_TYPE prcise que le type de
donnes des valeurs des tables est INTEGER et la valeur de IN est 22. La valeur de
IN_TBL qui est suprieure ou gale 22 est 64 qui a lindice 5. La valeur corrle
dans OUT_TBL est 25 ; la valeur 25 est donc crite dans OUT.
Si la fonction a t excute sans erreur, ltat de signal de ENO et de A 4.0 est mis
1 et RET_VAL est mis la valeur W#16#0000.
E0.0
EN
P#DB1.DBX0.0
P#DB1.DBX100.0
P#DB1.DBX200.0
P#DB1.DBX210.0
B#16#05
CDT
FC103
A4.0
ENO
IN_TBL
RET_VAL
OUT_TBL
IN
OUT
E_TYPE
MW0
Avant lexcution :
IN_TBL (longueur de la table)
DBW0 = W#16#0005
DBW2 = 2
DBW4 = 4
DBW6 = 8
DBW8 = 16
DBW10 = 64
OUT_TBL (longueur de la table)
DBW100= W#16#0005
DBW102= 5
DBW104= 10
DBW106= 15
DBW108= 20
DBW110= 25
IN
DBW200= 22
OUT
DBW210= 0
OUT
Figure 2-8
2-18
Aprs lexcution :
DBW210= 25
Tables de donnes corrles (CDT)
Fonctions de table
2.9
Description
La fonction Excuter opration sur tables et mmoriser dans table cible (TBL_TBL)
excute la commande indique (CMD) sur les entres correspondantes des deux tables
source (TBL1 et TBL2) et crit le rsultat dans les entres correspondantes de la table
de destination (DEST_TBL).
Les types de donnes INT, DINT et REAL ne sont valables que pour les oprations arithmtiques.
Paramtres
Tableau 2-13
Zone de
mmoire
Paramtres
Dclaration
EN
Entre
BOOL
E, A, M, D, L
ENO
Sortie
BOOL
E, A, M, D, L
TBL1
Entre
POINTER* E, A, M, D
TBL2
Entre
POINTER* E, A, M, D
DEST_TBL
Entre
POINTER* E, A, M, D
CMD
Entre
BYTE
E, A, M, D, L, P
E_TYPE
Entre
BYTE
E, A, M, D, L, P
RET_VAL
Sortie
WORD
E, A, M, D, L, P
Description
Pointeur en format double mot pour ladressage indirect interzone par registre
2-19
Fonctions de table
Informations
derreur
Dans les situations dcrites au tableau 2-14, la fonction nest pas excute. Ltat de
signal de ENO est mis 0 et la valeur en retour est mise lune des valeurs suivantes :
Tableau 2-14
RET_VAL
Exemple
Explication
W#16#0001
W#16#0002
E_TYPE incorrect
W#16#0003
W#16#0004
W#16#0005
W#16#0006
CMD incorrect
E0.0
EN
P#DB1.DBX0.0
P#DB1.DBX20.0
P#DB1.DBX40.0
B#16#07
B#16#04
TBL_TBL
FC104
A4.0
ENO
RET_VAL
TBL1
TBL2
DEST_TBL
CMD
E_TYPE
Avant lexcution :
TBL1 (longueur de la table)
DBW0
DBW2
DBW4
DBW6
TBL2 (longueur de la table)
DBW20
DBW22
DBW24
DBW26
DEST_TBL (longueur de la table)
DBW40
DBW42
DBW44
DBW46
Aprs lexcution :
DEST_TBL (longueur de la table)
DBW40
DBW42
DBW44
DBW46
Figure 2-9
2-20
MW0
= W#16#0003
= W#16#00FF
= W#16#FF00
= W#16#FFFF
= W#16#0003
= W#16#1111
= W#16#2222
= W#16#3333
= W#16#0003
= W#16#0000
= W#16#0000
= W#16#0000
= W#16#0003
= W#16#0011
= W#16#2200
= W#16#3333
Fonctions de dcalage
Ce chapitre dcrit les fonctions de dcalage dont vous disposez en plus des oprations
standard, vous offrant ainsi une plus grande souplesse lors de la programmation.
Paragraphe
Thme
Page
3.1
3-2
3.2
3-4
3-1
Fonctions de dcalage
3.1
Description
La fonction Dplacer mot vers registre dcalage (WSR) dplace des donnes en provenance de la source indique vers un registre dcalage. Les valeurs sont dplaces
vers ladresse suivante. Le paramtre LENGTH indique le nombre dadresses devant
tre dplaces. Les donnes contenues dans la dernire adresse du registre dcalage
sont perdues lissue de lopration. De nouvelles donnes sont lues partir de la
source (S_DATA) chaque fois que lopration est excute. Ces donnes sont dplaces vers ladresse de dbut (START) du registre dcalage lorsque lentre RESET
est mise 0 . Si lentre RESET est mise 1 , les adresses du registre sont mises 0 lors de lexcution de lopration. La sortie Q est active lorsque le registre
dcalage est vide ou quil est effac (cest--dire aprs une remise zro ou lorsque
le registre ne contient que des zros).
Paramtres
Tableau 3-1
Zone de
mmoire
Paramtres
Dclaration
EN
Entre
BOOL
E, A, M, D, L
ENO
Sortie
BOOL
E, A, M, D, L
RESET
Entre
BOOL
E, A, M, D, L
S_DATA
Entre
POINTER* E, A, M, D
START
Entre
POINTER* E, A, M, D
LENGTH
Entre
WORD
E, A, M, D, L, P
E_TYPE
Entre
BYTE
E, A, M, D, L, P
Sortie
BOOL
A, M, D, L
Description
Pointeur en format double mot pour ladressage indirect interzone par registre
3-2
Fonctions de dcalage
Informations
derreur
Si le paramtre E_TYPE est incorrect, la fonction nest pas excute et ltat de signal
de ENO est mis 0 .
Exemple
La figure 3-1 montre le mode de fonctionnement de lopration WSR. Si ltat de signal lentre E 0.0 gale 1 (entre active), la fonction WSR est excute. Comme le
paramtre E_TYPE gale 4, des mots sont enregistrs dans la table commenant
ladresse de mmoire dsigne par START. Le paramtre LENGTH indique 4 ,
signifiant que 4 mots doivent tre dplacs, le premier mot tant indiqu par le pointeur START. Aprs que la premire valeur de la table a t dplace vers ladresse
suivante, la premire adresse reoit les donnes dsignes par le pointeur S_DATA. La
dernire valeur de la table est perdue. Lorsque lentre RESET est mise 1 , les
adresses de la table sont mises 0 et ne sont pas dplaces.
Si la fonction a t excute sans erreur, ltat de signal de ENO et de A 4.0 est mis
1 .
WSR
FC90
E0.0
EN
M1.0
RESET
P#DB2.DBX6.0
S_DATA
P#DB1.DBX0.0
START
B#16#04
LENGTH
B#16#04
E_TYPE
START
A4.0
ENO
Q
M2.0
Avant lexcution :
DW0 = W#16#1111
DW2 = W#16#2222
DW4 = W#16#3333
DW6 = W#16#4444
S_DATA
DW6 = W#16#1234
RESET
M1.0 = FALSE
Aprs lexcution :
START
Figure 3-1
DW0
DW2
DW4
DW6
= W#16#1234
= W#16#1111
= W#16#2222
= W#16#3333
3-3
Fonctions de dcalage
3.2
Description
La fonction Dplacer bit vers registre dcalage (SHRB) dplace un bit de la source
indique (DATA) vers un registre dcalage. De nouvelles donnes sont lues partir
de la source chaque fois que lopration est excute. Ces donnes sont dplaces
vers ladresse de dbut (S_BIT) du registre dcalage lorsque lentre RESET est
0 . Tous les autres bits suivants sont repousss dun bit. Le bit dans la dernire
adresse (S_BIT + N) est perdu aprs le dplacement. Lorsque lentre RESET est
mise 1 , les adresses de la table sont mises 0 et ne sont pas dplaces.
Paramtres
Tableau 3-2
Zone de
mmoire
Paramtres
Dclaration
EN
Entre
BOOL
E, A, M, D, L
ENO
Sortie
BOOL
E, A, M, D, L
DATA
Entre
BOOL
E, A, M, D, L
Bit source
RESET
Entre
BOOL
E, A, M, D, L
S_BIT
Entre
POINTER* E, A, M, D
Entre
WORD
E, A, M, D, L, P
Description
* Pointeur en format double mot pour ladressage indirect interzone par registre
3-4
Fonctions de dcalage
Informations
derreur
Exemple
SHRB
FC92
EN
ENO
E0.0
0
DATA
RESET
P#DB1.DBX1.4
B#16#0E
Figure 3-2
A4.0
S_BIT
N
Avant le dplacement :
S_BIT
1.0
1.7
0 0 1 1 1 0 1 0
Aprs le dplacement :
S_BIT
1.0
1.7
0 1 1 0 1 0 1 0
2.0
2.7
0 0 1 1 1 0 1 0
2.0
2.7
0 1 1 1 0 1 0 0
3.0
3.7
0 0 1 1 1 0 1 0
3.0
3.7
0 0 1 1 1 0 0 0
3-5
Fonctions de dcalage
3-6
Ce chapitre dcrit la fonction (FC) et le bloc fonctionnel (FB) de transfert dont vous
disposez en plus des oprations standard, vous offrant ainsi une plus grande souplesse
lors de la programmation.
Paragraphe
Thme
Page
4.1
4-2
4.2
4-4
4-1
4.1
Description
Paramtres
Tableau 4-1
Zone de
mmoire
Paramtres
Dclaration
EN
Entre
BOOL
E, A, M, D, L
ENO
Sortie
BOOL
E, A, M, D, L
S_DATA
Entre
POINTER* E, A, M, D
LENGTH
Entre
POINTER* E, A, M, D
D_DATA
Entre
POINTER* E, A, M, D
E_TYPE
Entre
BYTE
E, A, M, D, L
Description
Pointeur en format double mot pour ladressage indirect interzone par registre
4-2
Informations
derreur
Si le paramtre E_TYPE est incorrect, la fonction nest pas excute et ltat de signal
de ENO est mis 0 .
Exemple
IBLKMOV
FC81
EN
ENO
E0.0
P#DB1.DBX0.0
S_DATA
P#DB1.DBX10.0
LENGTH
P#DB1.DBX20.0
B#16#04
D_DATA
E_TYPE
S_DATA
A4.0
Avant lexcution :
DBX0.0 = P#DB1.DBX50.0
DBW50 = W#16#2424
DBW52 = W#16#2525
LENGTH
DBW10 = W#16#0002
D_DATA
DBX20.0= P#DB2.DBX10.0
DBW10 = W#16#0000
DBW12 = W#16#0000
Aprs lexcution :
D_DATA
Figure 4-1
DBW10 = W#16#2424
DBW12 = W#16#2525
4-3
4.2
Description
Le bloc fonctionnel Rassembler/rpartir donnes de table (PACK) transfre des donnes entre des adresses individuelles et une table. Le paramtre DIR prcise le sens du
transfert. Chaque opration PACK traite jusqu cinq paquets de donnes : P_DATA1
P_DATA5. Si DIR indique vers , le bloc fonctionnel FB86 rassemble les donnes
de ces adresses dans la table prcise. En revanche, si DIR indique partir de , les
donnes sont rparties de la table vers les diffrentes adresses.
Voici les rgles pour rassembler des donnes dans une table :
Les bits individuels (BOOL) sont transfrs dans le bit disponible suivant de la
table.
Les types de donnes de huit bits sont transfrs dans loctet disponible suivant de
la table. Lorsquun octet est crit dans la table, des zros sont reports dans les bits
non utiliss de loctet prcdent.
BOOL
WORD
INT
BYTE
DINT
REAL
CHAR
DWORD
4-4
Paramtres
Tableau 4-2
Paramtres
Dclaration
Type de
donnes
Zone de
mmoire
Description
EN
Entre
BOOL
E, A, M, D, L
ENO
Sortie
BOOL
E, A, M, D, L
TABLE
Entre
POINTER* E, A, M, D
P_DATA1
Entre
ANY
E, A, M, D
P_DATA2
Entre
ANY
E, A, M, D
P_DATA3
Entre
ANY
E, A, M, D
P_DATA4
Entre
ANY
E, A, M, D
P_DATA5
Entre
ANY
E, A, M, D
ERR_CODE
Sortie
WORD
E, A, M, D, L, P
DIR
statique
BOOL
E, A, M, D, L
Pointeur en format double mot pour ladressage indirect interzone par registre
Informations
derreur
Dans les situations dcrites au tableau 4-3, le bloc fonctionnel nest pas excut. Ltat
de signal de ENO est mis 0 et ERR_CODE prend lune des valeurs suivantes :
Tableau 4-3
ERR_CODE
Explication
W#16#0001
W#16#0002
E_TYPE incorrect
4-5
Exemple
DB86
PACK
FB86
E0.0
EN
P#DB1.DBX0.0
TABLE
A4.0
ENO
ERR_CODE
P#M200.0 BOOL 2
P#M210.0 BYTE 1
P#M300.0 BOOL 2
P_DATA1
P_DATA2
P_DATA3
P#M330.0 WORD 1
P_DATA4
MW0
P_DATA5
TABLE
P_DATA1
P_DATA2
P_DATA3
P_DATA4
DIR
Avant lexcution :
DBB0
DBB1
DBB2
DBB3
DBB4
DBB4
= B#16#00
= B#16#00
= B#16#00
= B#16#00
= B#16#00
= B#16#00
M200.0 = TRUE
M200.1 = TRUE
M210.0 = B#16#FF
M300.0 = TRUE
M300.1 = TRUE
MW330 = B#16#FFFF
DB86 dinstance
DBX58.0 = FALSE
Aprs lexcution :
TABLE
Figure 4-2
4-6
DBB0
DBB1
DBB2
DBB3
DBB4
DBB4
= B#16#03
= B#16#FF
= B#16#03
= B#16#00
= B#16#FF
= B#16#FF
Thme
Page
5.1
5-2
5.2
5-4
5.3
5-7
5.4
5-10
5-1
5.1
Description
La fonction Temporisation sous forme de retard la monte mmoris (TONR) mmorise la dure jusqu ce que la valeur en cours du temps coul (ET) soit suprieure
ou gale la valeur de temps prdfinie (PV). Comme la fonction TONR se base sur
le temps dexcution du dernier cycle du bloc dorganisation dans lequel elle sexcute pour mmoriser la dure coule, vous ne devez utiliser cette fonction que pour
les blocs dorganisation rptitifs tels que lOB1 et les blocs dorganisation cycliques.
Nota
Vous devez transfrer le temps de cycle du bloc dorganisation des variables locales
de dmarrage de la table de dclaration des variables du bloc dorganisation vers la
variable globale DELTA_T.
Tant que ltat de signal du paramtre RESET gale 0, que ltat de signal du paramtre TMR_EN gale 1 et que ET est infrieur PV, la fonction TONR ajoute la valeur
de DELTA_T la valeur de ET. Si ltat de signal du paramtre TMR_EN nest pas
1 , aucune valeur de temps nest ajoute la valeur ET. Lorsque la valeur ET est
suprieure ou gale la valeur PV, ltat de signal de la sortie Q est mis 1 . Une
fois la sortie Q active, elle le reste et la valeur de ET nest plus modifie jusqu la
remise zro. La fonction remet la valeur ET 0 et dsactive la sortie Q lorsque
ltat de signal du paramtre RESET est 1 .
Paramtres
Tableau 5-1
Paramtres
Dclaration
EN
Entre
BOOL
E, A, M, D, L
ENO
Sortie
BOOL
E, A, M, D, L
TMR_EN
Entre
BOOL
E, A, M, D, L
RESET
Entre
BOOL
E, A, M, D, L
PV
Entre
DINT
E, A, M, D, L,
P ou constante
Valeur prdfinie
DELTA_T
Entre
INT
E, A, M, D, L
ou constante
Sortie
BOOL
A, M, D, L
ET
Entre/sortie
DINT
E, A, M, D, L
5-2
Type de
donnes
Zone de
mmoire
Description
Informations
derreur
Exemple
TONR
FC80
EN
ENO
E0.0
A4.0
A1.1
E0.1
TMR_EN
E0.2
RESET
L#1000
#OB1_PREV_CYCLE
MD100
Figure 5-1
PV
DELTA_T
ET
5-3
5.2
Description
Lorsque ltat de signal des deux paramtres CMD et CMD_HIS est 1 et que
ltat de signal de O_FB est 0 , la diffrence de temps (ms) depuis la dernire
excution du bloc fonctionnel est ajoute ET. Si ET dpasse PT, ltat de signal
de OA est mis 1 ; sinon, il est mis 0 . Ltat de signal de CMD_HIS est
pos gal celui de CMD.
Lorsque ltat de signal des deux paramtres CMD et CMD_HIS est 1 , que
celui de O_FB est 1 et que celui de C_FB est 0 , ltat de signal de OA est
mis 0 . ET est pos gal PT afin que si, par la suite, ltat de signal de O_FB
est mis 0 , lalarme soit active lors du prochain appel du bloc fonctionnel.
Ltat de signal de CMD_HIS est pos gal celui de CMD.
Lorsque ltat de signal des deux paramtres CMD et CMD_HIS est 0 et que
ltat de signal de C_FB est 0 , la diffrence de temps (ms) depuis la dernire
excution du bloc fonctionnel est ajoute ET. Si ET dpasse PT, ltat de signal
de CA est mis 1 ; sinon, il est mis 0 . Ltat de signal de CMD_HIS est
pos gal celui de CMD.
Lorsque ltat de signal des deux paramtres CMD et CMD_HIS est 0 , que
celui de O_FB est 0 et que celui de C_FB est 1 , ltat de signal de CA est
mis 0 . ET est pos gal PT afin que si, par la suite, ltat de signal de C_FB
est mis 0 , lalarme soit active lors de la prochaine excution du bloc fonctionnel. Ltat de signal de CMD_HIS est pos gal celui de CMD.
5-4
Paramtres
Tableau 5-2
Paramtres
Type de
donnes
Zone de
mmoire
Description
EN
Entre
BOOL
E, A, M, D, L
ENO
Sortie
BOOL
E, A, M, D, L
CMD
Entre
BOOL
E, A, M, D, L
O_FB
Entre
BOOL
E, A, M, D, L
C_FB
Entre
BOOL
E, A, M, D, L
Sortie
BOOL
E, A, M, D, L
OA
Sortie
BOOL
E, A, M, D, L
CA
Sortie
BOOL
E, A, M, D, L
ET
statique
DINT
E, A, M, D, L
PT
statique
DINT
E, A, M, D, L
PREV_TIME
statique
DWORD
E, A, M, D, L
CMD_HIS
statique
BOOL
E, A, M, D, L
5-5
Informations
derreur
Exemple
DB81
DCAT
FB81
E0.0
EN
A4.0
ENO
M0.0
Q
A 2.0
O_FB
OA
A 3.0
C_FB
CA
A 3.1
CMD
M1.0
M1.1
Avant lexcution :
CMD
O_FB
C_FB
Q
OA
CA
M0.0
M1.0
M1.1
M2.0
M3.0
M3.1
ET
PT
CMD_HIS
DB81 dinstance
DBD4
= L#12
DBD8
= L#222
DBX16.0 = FALSE
Q
OA
CA
ET
CMD_HIS
Figure 5-2
5-6
=
=
=
=
=
=
TRUE
FALSE
FALSE
FALSE
FALSE
FALSE
Aprs lexcution :
M2.0
= TRUE
M3.0
= FALSE
M3.1
= FALSE
DB81 dinstance
DBD4
= L#0
DBX16.0 = TRUE
5.3
Description
Tableau 5-3
Le bloc fonctionnel Temporisation dalarme avec commande moteur (MCAT) mmorise la dure partir de la transition ON de lune des entres de commande ouverture ou fermeture soit jusqu ce que le temps prdfini PT soit dpass, soit jusqu
ce que lentre en retour correspondante signale que lappareil a achev lopration
commande pendant lintervalle de temps prescrit. Si le temps prdfini expire avant
rception du signal en retour, lalarme correspondante est active. Les descriptions de
la raction de MCAT aux diffrentes conditions dentre sont rsumes dans la table
de vrit MCAT (tableau 5-3 ).
Table de vrit pour MCAT
ENTREES
SORTIES
ET
O_HIS
C_HIS
O_CMD
C_CMD
S_CMD
O_FB
C_FB
OO
CO
OA
CA
ET
O_HIS
C_HIS
ETAT
PT
Alarme
PT
Alarme
Arrt
Arrt
Commencer ouverture
<PT
INC
Ouverture en cours
PT
Ouvert
>=PT
PT
Alarme douverture
Commencer fermeture
<PT
INC
Fermeture en cours
PT
Ferm
>=PT
PT
Alarme de fermeture
Arrt
Avec :
INC
PT
X
<PT
>= PT
=
=
=
=
=
5-7
Paramtres
Tableau 5-4
Paramtres
Dclaration
Type de
donnes
Zone de
mmoire
Description
EN
Entre
BOOL
E, A, M, D, L
ENO
Sortie
BOOL
E, A, M, D, L
O_CMD
Entre
BOOL
E, A, M, D, L
C_CMD
Entre
BOOL
E, A, M, D, L
S_CMD
Entre
BOOL
E, A, M, D, L
O_FB
Entre
BOOL
E, A, M, D, L
C_FB
Entre
BOOL
E, A, M, D, L
OO
Sortie
BOOL
E, A, M, D, L
Sortie douverture
CO
Sortie
BOOL
E, A, M, D, L
Sortie de fermeture
OA
Sortie
BOOL
E, A, M, D, L
CA
Sortie
BOOL
E, A, M, D, L
Sortie
BOOL
E, A, M, D, L
ET
statique
DINT
E, A, M, D, L
PT
statique
DINT
E, A, M, D, L
PREV_TIME
statique
DWORD
E, A, M, D, L
O_HIS
statique
BOOL
E, A, M, D, L
C_HIS
statique
BOOL
E, A, M, D, L
Informations
derreur
Exemple
5-8
DB82
MCAT
FB82
E0.0
EN
A4.0
ENO
M0.0
O_CMD
OO
M2.0
C_CMD
CO
M2.1
S_CMD
OA
M3.0
O_FB
CA
M3.1
C_FB
M4.0
M0.1
M0.2
M1.0
M1.1
Avant lexcution :
O_CMD
C_CMD
S_CMD
O_FB
C_FB
OO
CO
OA
CA
Q
M0.0
M0.1
M0.2
M1.0
M1.1
M2.0
M2.1
M3.0
M3.1
M4.0
ET
PT
O_HIS
C_HIS
DB82 dinstance
DBD4
= L#2
DBD8
= L#22
DBX16.0 = TRUE
DBX16.1 = FALSE
OO
CO
OA
CA
Q
Aprs lexcution :
M2.0
M2.1
M3.0
M3.1
M4.0
ET
O_HIS
CMD_HIS
Figure 5-3
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
TRUE
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
TRUE
FALSE
FALSE
FALSE
TRUE
DB82 dinstance
DBD4
= L#4
DBX16.0 = TRUE
DBX16.1 = FALSE
5-9
5.4
Description
Le bloc fonctionnel Barillet dvnement avec masquage (DRUM) crit les valeurs
programmes (OUT_VAL) de ltape approprie dans les bits de sortie programms
(OUT1 OUT16) et le mot de sortie OUT_WORD en tenant compte des valeurs du
masque de validation (S_MASK) pour cette tape. Les valeurs de sortie restent inchanges tant que le barillet demeure dans ltape considre. Le barillet progressera
ltape suivante soit lorsque lvnement pour cette tape est vrai et que le temps programm pour ltape en cours a expir, soit lorsque ltat de signal de lentre de progression (JOG) passe de 0 1 . Lorsque ltat de signal de RESET gale 1 ,
le barillet est remis zro, ltape en cours tant alors pose gale ltape prdfinie
(DSP).
La dure passe sur une tape est dtermine par le produit de la base de temps prdfinie du barillet (DTBP) et des valeurs de dcompte prdfinies (S_PRESET) correspondant chaque tape. Au dbut de chaque nouvelle tape, cette valeur calcule est
charge dans DCC qui contient le temps restant pour ltape en cours. Si, par exemple, DTBP gale 2 et que la valeur prdfinie pour ltape 1 soit gale 100 (100 ms),
DCC sera gal 200 (200 ms).
Il est possible de programmer une tape avec une valeur de temps ou un vnement ou
avec les deux. Les tapes avec un bit dvnement et une valeur de temps de zro progressent ltape suivante ds que ltat de signal du bit dvnement est gal 1 .
Pour les tapes avec uniquement une valeur de temps, le temps commence scouler
ds lentre dans cette tape. Pour les tapes avec un bit dvnement et une valeur de
temps suprieure zro, le temps commence scouler lorsque ltat de signal du bit
dvnement gale 1 . Les bits dvnement sont initialiss ltat de signal 1 .
Lorsque le pointeur dtapes est sur la dernire tape programme (LST_STEP) et que
le temps pour cette tape a expir, ltat de signal de la sortie Q est mis 1 ; sinon
il est mis 0 . Une fois Q 1 , le barillet demeure dans cette tape jusqu la
remise zro (RESET).
Le masque configurable S_MASK permet de slectionner les bits individuels du mot
de sortie (OUT_WORD) et les bits de sortie (OUT1 OUT16) devant tre mis 1
ou 0 par les valeurs de sortie (OUT_VAL). Lorsquun bit du masque configurable est 1 , la valeur OUT_VAL met 1 ou 0 le bit correspondant.
Lorsquun bit du masque configurable est 0 , le bit correspondant reste inchang.
Chacun des bits du masque configurable pour les 16 tapes est configur ltat de
signal 1 .
Le bit de sortie OUT1 correspond au bit de poids faible et le bit de sortie OUT16 au
bit de poids fort de la sortie (mot) OUT_WORD.
5-10
Paramtres
Tableau 5-5
Paramtres
Type de
donnes
Zone de
mmoire
Description
EN
Entre
BOOL
E, A, M, D, L
ENO
Sortie
BOOL
E, A, M, D, L
RESET
Entre
BOOL
E, A, M, D, L
JOG
Entre
BOOL
E, A, M, D, L
DRUM_EN
Entre
BOOL
E, A, M, D, L
LST_STEP
Entre
BYTE
E, A, M, D, L ou
constante
EVENT1
Entre
BOOL
E, A, M, D, L
EVENT2
Entre
BOOL
E, A, M, D, L
EVENT3
Entre
BOOL
E, A, M, D, L
EVENT4
Entre
BOOL
E, A, M, D, L
EVENT5
Entre
BOOL
E, A, M, D, L
EVENT6
Entre
BOOL
E, A, M, D, L
EVENT7
Entre
BOOL
E, A, M, D, L
EVENT8
Entre
BOOL
E, A, M, D, L
EVENT9
Entre
BOOL
E, A, M, D, L
EVENT10
Entre
BOOL
E, A, M, D, L
EVENT11
Entre
BOOL
E, A, M, D, L
EVENT12
Entre
BOOL
E, A, M, D, L
EVENT13
Entre
BOOL
E, A, M, D, L
EVENT14
Entre
BOOL
E, A, M, D, L
EVENT15
Entre
BOOL
E, A, M, D, L
EVENT16
Entre
BOOL
E, A, M, D, L
OUT1
Sortie
BOOL
E, A, M, D, L
Bit de sortie 1
OUT2
Sortie
BOOL
E, A, M, D, L
Bit de sortie 2
OUT3
Sortie
BOOL
E, A, M, D, L
Bit de sortie 3
OUT4
Sortie
BOOL
E, A, M, D, L
Bit de sortie 4
OUT5
Sortie
BOOL
E, A, M, D, L
Bit de sortie 5
OUT6
Sortie
BOOL
E, A, M, D, L
Bit de sortie 6
OUT7
Sortie
BOOL
E, A, M, D, L
Bit de sortie 7
OUT8
Sortie
BOOL
E, A, M, D, L
Bit de sortie 8
OUT9
Sortie
BOOL
E, A, M, D, L
Bit de sortie 9
OUT10
Sortie
BOOL
E, A, M, D, L
Bit de sortie 10
OUT11
Sortie
BOOL
E, A, M, D, L
Bit de sortie 11
5-11
Tableau 5-5
Paramtres
Dclaration
Type de
donnes
Zone de
mmoire
Description
OUT12
Sortie
BOOL
E, A, M, D, L
Bit de sortie 12
OUT13
Sortie
BOOL
E, A, M, D, L
Bit de sortie 13
OUT14
Sortie
BOOL
E, A, M, D, L
Bit de sortie 14
OUT15
Sortie
BOOL
E, A, M, D, L
Bit de sortie 15
OUT16
Sortie
BOOL
E, A, M, D, L
Bit de sortie 16
Sortie
BOOL
E, A, M, D, L
OUT_WORD
Sortie
WORD
E, A, M, D, L, P
ERR_CODE
Sortie
WORD
E, A, M, D, L, P
Donne la valeur W#16#0000 en retour lorsque lopration a t effectue sans erreur. Pour toute valeur en retour autre que W#16#0000, reportez-vous aux informations derreur.
JOG_HIS
statique
BOOL
E, A, M, D, L
EOD
statique
BOOL
E, A, M, D, L
DSP
statique
BYTE
E, A, M, D, L, P
DSC
statique
BYTE
E, A, M, D, L, P
DCC
statique
DWORD
E, A, M, D, L, P
DTBP
statique
WORD
E, A, M, D, L, P
PREV_TIME
statique
DWORD
E, A, M, D, L
S_PRESET
statique
ARRAY
OF WORD
E, A, M, D, L
OUT_VAL
statique
ARRAY
OF BOOL
E, A, M, D, L
S_MASK
statique
ARRAY
OF BOOL
E, A, M, D, L
Informations
derreur
Le barillet reste sur ltape en cours si lune des situations dcrites au tableau 5-6 se
prsente. Ltat de signal de ENO est mis 0 et ERR_CODE prend lune des
valeurs suivantes :
Tableau 5-6
ERR_CODE
5-12
Explication
W#16#000B
W#16#000C
W#16#000D
Exemple
E0.0
EN
DB85
DRUM
FB85
A4.0
ENO
M0.0
RESET
M0.1
JOG
OUT1
OUT2
OUT3
OUT4
M4.0
M4.1
M4.2
M4.3
LST_STEP
OUT5
M4.4
EVENT1
OUT6
M4.5
EVENT2
OUT7
M4.6
EVENT3
OUT8
M4.7
EVENT4
OUT9
M5.0
EVENT5
OUT10
M5.1
M0.2
DRUM_EN
MB1
M20.0
M20.1
M20.2
M20.3
M20.4
M20.5
M20.6
M20.7
EVENT6
OUT11
M5.2
EVENT7
OUT12
M5.3
EVENT8
OUT13
EVENT9
OUT14
M5.4
M5.5
EVENT10
OUT15
M5.6
EVENT11
OUT16
M5.7
EVENT12
EVENT13
Q
OUT_WORD
M6.0
MW8
EVENT14
EVENT15
ERR_CODE
MW10
EVENT16
Figure 5-4
5-13
Avant lexcution :
Entres
RESET
JOG
DRUM_EN
LST_STEP
EVENT2
EVENT4
EVENT6
EVENT8
EVENT10
EVENT12
EVENT14
EVENT16
JOG_HIS
EOD
DSP
DSC
DCC
DTBP
S_PRESET [1]
S_PRESET [2]
OUT_VAL [1,0]
OUT_VAL [1,1]
OUT_VAL [1,2]
OUT_VAL [1,3]
OUT_VAL [1,4]
OUT_VAL [1,5]
OUT_VAL [1,6]
OUT_VAL [1,7]
OUT_VAL [1,8]
OUT_VAL [1,9]
OUT_VAL [1,10]
OUT_VAL [1,11]
OUT_VAL [1,12]
OUT_VAL [1,13]
OUT_VAL [1,14]
OUT_VAL [1,15]
OUT_VAL [2,0]
OUT_VAL [2,1]
OUT_VAL [2,2]
OUT_VAL [2,3]
OUT_VAL [2,4]
OUT_VAL [2,5]
OUT_VAL [2,6]
OUT_VAL [2,7]
OUT_VAL [2,8]
OUT_VAL [2,9]
OUT_VAL [2,10]
OUT_VAL [2,11]
OUT_VAL [2,12]
OUT_VAL [2,13]
OUT_VAL [2,14]
OUT_VAL [2,15]
M0.0
= FALSE
M0.1
= FALSE
M0.2
= TRUE
MB1
= B#16#08
M20.0
= FALSE
M20.1
= FALSE
M20.2
= FALSE
M20.3
= FALSE
M20.4
= FALSE
M20.5
= FALSE
M20.6
= FALSE
M20.7
= FALSE
DB85 dinstance
DBX12.0 = FALSE
DBX12.1 = FALSE
DBB13
= W#16#0001
DBB14
= W#16#0001
DBD16
= DW#16#0000000A
DBW20
= W#16#0001
DBW26
= W#16#0064
DBW28
= W#16#00C8
DBX58.0 = TRUE
DBX58.1 = TRUE
DBX58.2 = TRUE
DBX58.3 = TRUE
DBX58.4 = TRUE
DBX58.5 = TRUE
DBX58.6 = TRUE
DBX58.7 = TRUE
DBX59.0 = TRUE
DBX59.1 = TRUE
DBX59.2 = TRUE
DBX59.3 = TRUE
DBX59.4 = TRUE
DBX59.5 = TRUE
DBX59.6 = TRUE
DBX59.7 = TRUE
DBX60.0 = FALSE
DBX60.1 = FALSE
DBX60.2 = FALSE
DBX60.3 = FALSE
DBX60.4 = FALSE
DBX60.5 = FALSE
DBX60.6 = FALSE
DBX60.7 = FALSE
DBX61.0 = FALSE
DBX61.1 = FALSE
DBX61.2 = FALSE
DBX61.3 = FALSE
DBX61.4 = FALSE
DBX61.5 = FALSE
DBX61.6 = FALSE
DBX61.7 = FALSE
S_MASK [2,0]
S_MASK [2,1]
S_MASK [2,2]
S_MASK [2,3]
S_MASK [2,4]
S_MASK [2,5]
S_MASK [2,6]
S_MASK [2,7]
S_MASK [2,8]
S_MASK [2,9]
S_MASK [2,10]
S_MASK [2,11]
S_MASK [2,12]
S_MASK [2,13]
S_MASK [2,14]
S_MASK [2,15]
Sorties
Q
OUTWORD
OUT1
OUT2
OUT3
OUT4
OUT5
OUT6
OUT7
OUT8
OUT9
OUT10
OUT11
OUT12
OUT13
OUT14
OUT15
OUT16
5-14
= FALSE
= TRUE
= TRUE
= TRUE
= TRUE
= FALSE
= TRUE
= TRUE
= FALSE
= FALSE
= TRUE
= TRUE
= TRUE
= TRUE
= FALSE
= TRUE
M6.0
MW8
M4.0
M4.1
M4.2
M4.3
M4.4
M4.5
M4.6
M4.7
M5.0
M5.1
M5.2
M5.3
M5.4
M5.5
M5.6
M5.7
= FALSE
= W#16#FFFF
= TRUE
= TRUE
= TRUE
= TRUE
= TRUE
= TRUE
= TRUE
= TRUE
= TRUE
= TRUE
= TRUE
= TRUE
= TRUE
= TRUE
= TRUE
= TRUE
Aprs lexcution :
OUT1
OUT2
OUT3
OUT4
OUT5
OUT6
OUT7
OUT8
OUT9
OUT10
OUT11
OUT12
OUT13
OUT14
OUT15
OUT16
Q
OUTWORD
ERR_CODE
JOG_HIS
EOD
DSC
DCC
Figure 5-4
DBX92.0
DBX92.1
DBX92.2
DBX92.3
DBX92.4
DBX92.5
DBX92.6
DBX92.7
DBX93.0
DBX93.1
DBX93.2
DBX93.3
DBX93.4
DBX93.5
DBX93.6
DBX93.7
M4.0
= TRUE
M4.1
= FALSE
M4.2
= FALSE
M4.3
= FALSE
M4.4
= FALSE
M4.5
= TRUE
M4.6
= FALSE
M4.7
= FALSE
M5.0
= TRUE
M5.1
= TRUE
M5.2
= FALSE
M5.3
= FALSE
M5.4
= FALSE
M5.5
= FALSE
M5.6
= TRUE
M5.7
= FALSE
M6.0
= FALSE
MW8
= W#16#4321
MW10
= W#16#0000
DB85 dinstance
DBX12.0 = FALSE
DBX12.1 = FALSE
DBB14
= W#16#0002
DBD16
= DW#16#000000C8
Ce chapitre dcrit les fonctions (FC) et le bloc fonctionnel (FB) de conversion dont
vous disposez en plus des oprations standard, vous offrant ainsi une plus grande souplesse lors de la programmation.
Paragraphe
Thme
Page
6.1
6-2
6.2
6-4
6.3
6-6
6.4
6-8
6.5
6-9
6.6
6-10
6.7
6-11
6.8
6-12
6.9
6-14
6.10
6-16
6-1
6.1
Description
La fonction Dcodeur 7 segments (SEG) convertit chacun des quatre chiffres hexadcimaux du mot source indiqu (IN) en quatre codes quivalents pour un affichage 7
segments et les crit dans le double mot de sortie (OUT).
La figure 6-1 montre la relation entre les chiffres hexadcimaux dentre et les profils
binaires de sortie.
Figure 6-1
Paramtres
Tableau 6-1
Chiffre
g f e d c b a Affichage
0000
0001
0010
00111111
00000110
01011011
0
1
2
0011
01001111
0100
01100110
0101
01101101
0110
0111
1000
01111101
00000111
01111111
6
7
8
1001
01100111
1010
01110111
1011
01111100
1100
1101
1110
00111001
01011110
01111001
C
d
E
1111
01110001
Affichage
sept segments
a
b
g
c
d
Paramtres
Dclaration
EN
Entre
BOOL
E, A, M, D, L
ENO
Sortie
BOOL
E, A, M, D, L
IN
Entre
WORD
E, M, D, P ou
constante
OUT
Sortie
DWORD
A, M, D, L, P
6-2
Type de
donnes
Zone de
mmoire
Description
Informations
derreur
Exemple
SEG
FC93
EN
ENO
E0.0
W#16#1234
IN
OUT
Figure 6-2
OUT
A4.0
MD0
MD0 = DW#16#065B4F66
6-3
6.2
Description
Paramtres
Tableau 6-2
Paramtres
Dclaration
EN
Entre
BOOL
E, A, M, D, L
ENO
Sortie
BOOL
E, A, M, D, L
IN
Entre
POINTER* E, A, M, D, L
Entre
INT
E, A, M, L, P
RET_VAL
Sortie
WORD
E, A, M, D, L, P
OUT
Sortie
POINTER* A, M, D, L
Type de
donnes
Zone de
mmoire
Description
* Pointeur en format double mot pour ladressage indirect interzone par registre
Informations
derreur
Exemple
6-4
ATH
FC94
EN
ENO
E0.0
P#DB1.DBX10.0
IN
RET_VAL
W#16#05
OUT
A4.0
MW0
P#DB2.DBX0.0
Avant lexcution :
Reprsentation chane ASCII : B90AC
IN
DBB10 =
DBB11 =
DBB12 =
DBB13 =
DBB14 =
B#16#42
B#16#39
B#16#30
B#16#41
B#16#43
Aprs lexcution :
Reprsentation octet hexadcimal : B90AC0
OUT
Figure 6-3
DBB0 = B#16#B9
DBB1 = B#16#0A
DBB2 = B#16#C0
Caractres ASCII
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
30
31
32
33
34
35
36
37
38
39
41
42
43
44
45
46
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
Figure 6-4
6-5
6.3
Description
La fonction Conversion hexa-ASCII (HTA) convertit les chiffres hexadcimaux indiqus par le pointeur IN et les enregistre dans la chane de destination dsigne par le
paramtre OUT. Comme un caractre ASCII ncessite 8 bits et un chiffre hexadcimal
seulement 4 bits, la longueur du mot de sortie est le double de celle du mot dentre.
Chaque quartet du chiffre hexadcimal est converti en un caractre, et ce dans le
mme ordre qu la lecture : le quartet de gauche dun chiffre hexadcimal est
converti en premier, suivi par le quartet de droite du mme chiffre).
Paramtres
Tableau 6-3
Paramtres
Dclaration
Type de
donnes
Zone de
mmoire
EN
Entre
BOOL
E, A, M, D, L
ENO
Sortie
BOOL
E, A, M, D, L
IN
Entre
POINTER* E, A, M, D
Entre
WORD
OUT
Sortie
POINTER* A, M, D, L
E, A, M, L, P
Description
* Pointeur en format double mot pour ladressage indirect interzone par registre
Informations
derreur
6-6
Exemple
La figure 6-5 montre le mode de fonctionnement de lopration HTA. Si ltat de signal de lentre E 0.0 gale 1 (entre active), la fonction HTA est excute. Le paramtre dentre N gal 3 indique que trois chiffres hexadcimaux doivent tre
convertis. Les octets hexadcimaux sont enregistrs dans le bloc de donnes 1 commenant ladresse indique par le pointeur IN : DB1.DBX10.0. La chane de sortie
sera range ladresse indique par le pointeur OUT commenant DB2.DBX0.0
(bloc de donnes 2). Pour le caractre ASCII correspondant chaque valeur hexadcimale, reportez-vous la figure 6-6.
Si la fonction a t excute sans erreur, ltat de signal de ENO et de A 4.0 est mis
1 .
HTA
FC95
EN
ENO
E0.0
P#DB1.DBX10.0
IN
W#16#03
OUT
A4.0
P#DB2.DBX0.0
Avant lexcution :
Reprsentation octets hexadcimaux : F97AC1
IN
DBB10 = B#16#F9
DBB11 = B#16#7A
DBB12 = B#16#C1
Aprs lexcution :
Reprsentation octets ASCII : F97AC1
OUT
Figure 6-5
DBB0
DBB1
DBB2
DBB3
DBB4
DBB5
=
=
=
=
=
=
B#16#46
B#16#39
B#16#37
B#16#41
B#16#43
B#16#31
Chiffres hexadcimaux
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
30
31
32
33
34
35
36
37
38
39
41
42
43
44
45
46
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
Figure 6-6
6-7
6.4
Description
Paramtres
Tableau 6-4
Paramtres
Dclaration
Type de
donnes
Zone de
mmoire
Description
EN
Entre
BOOL
E, A, M, D, L
ENO
Sortie
BOOL
E, A, M, D, L
IN
Entre
DWORD
E, M, D, L, P ou
constante
RET_VAL
Sortie
INT
A, M, D, L, P
Informations
derreur
Exemple
ENCO
FC96
EN
ENO
E0.0
RET_VAL
DW#16#12345678
6-8
MW0
IN
RET_VAL
Figure 6-7
A4.0
MW0 = 3
6.5
Description
Paramtres
Tableau 6-5
Paramtres
Dclaration
Type de
donnes
Zone de
mmoire
Description
EN
Entre
BOOL
E, A, M, D, L
ENO
Sortie
BOOL
E, A, M, D, L
IN
Entre
WORD
E, M, D, L, P
ou constante
RET_VAL
Sortie
DWORD
A, M, D, L, P
Valeur en retour
Informations
derreur
Exemple
DECO
FC97
EN
ENO
E0.0
RET_VAL
W#16#0003
MD0
IN
RET_VAL
Figure 6-8
A4.0
MD0 = DW#16#00000008
6-9
6.6
Description
Paramtres
Tableau 6-6
Paramtres
Dclaration
Type de
donnes
Zone de
mmoire
Description
EN
Entre
BOOL
E, A, M, D, L
ENO
Sortie
BOOL
E, A, M, D, L
IN
Entre
DWORD
E, M, D, L, P
ou constante
RET_VAL
Sortie
DWORD
A, M, D, L, P
Valeur en retour
Informations
derreur
Exemple
BCDCPL
FC98
EN
ENO
E0.0
RET_VAL
DW#16#01234567
6-10
MD0
IN
RET_VAL
Figure 6-9
A4.0
MD0 = DW#16#08765433
Complment 10 (BCDCPL)
6.7
Description
Paramtres
Tableau 6-7
Paramtres
Dclaration
Type de
donnes
Zone de
mmoire
Description
EN
Entre
BOOL
E, A, M, D, L
ENO
Sortie
BOOL
E, A, M, D, L
IN
Entre
DWORD
E, M, D, L, P
ou constante
RET_VAL
Sortie
INT
A, M, D, L, P
Valeur en retour
Informations
derreur
Exemple
BITSUM
FC99
EN
ENO
E0.0
RET_VAL
DW#16#12345678
MW0
IN
RET_VAL
Figure 6-10
A4.0
MW0 = W#16#000D
6-11
6.8
Description
La fonction Mise lchelle (SCALE) prend une valeur entire (IN) et la convertit
selon lquation ci-aprs en une valeur relle exprime en units physiques, comprises
entre une limite infrieure (LO_LIM) et une limite suprieure (HI_LIM) :
OUT = [ ((FLOAT (IN) K1)/(K2K1)) * (HI_LIM LO_LIM) ] + LO_LIM
Le rsultat est crit dans OUT.
Les constantes K1 et K2 sont dfinies selon que la valeur dentre est bipolaire ou
unipolaire.
Bipolaire :
Paramtres
Tableau 6-8
Paramtres
Dclaration
EN
Entre
BOOL
E, A, M, D, L
ENO
Sortie
BOOL
E, A, M, D, L
IN
Entre
INT
E, A, M, D, L, P
ou constante
HI_LIM
Entre
REAL
E, A, M, D, L, P
ou constante
LO_LIM
Entre
REAL
E, A, M, D, L, P
ou constante
BIPOLAR
Entre
BOOL
E, A, M, D, L
OUT
Sortie
REAL
E, A, M, D, L, P
RET_VAL
Sortie
WORD
E, A, M, D, L, P
6-12
Type de
donnes
Zone de
mmoire
Description
Informations
derreur
Si la valeur entire dentre est suprieure K2, la sortie (OUT) est sature la valeur
la plus proche de la limite suprieure (HI_LIM) et une erreur est signale. Si la valeur
entire dentre est infrieure K1, la sortie est sature la valeur la plus proche de la
limite infrieure (LO_LIM) et une erreur est signale. Ltat de signal de ENO est mis
0 et RET_VAL prend la valeur W#16#0008.
Exemple
SCALE
FC105
E0.0
EN
A4.0
ENO
MW10
IN
MD20
HI_LIM
MD30
LO_LIM
RET_VAL
OUT
MW0
MD40
E 2.0
BIPOLAR
Avant lexcution :
IN
MW10 = 22
HI_LIM
MD20 = 100.0
LO_LIM
MD30 = 0.0
OUT
MD40 = 0.0
BIPOLAR
E 2.0 = TRUE
Aprs lexcution :
OUT
Figure 6-11
MD40 = 50.03978588
6-13
6.9
Description
La fonction Annuler la mise lchelle (UNSCALE) prend une valeur dentre relle
(IN) exprime en units physiques comprises entre une limite infrieure (LO_LIM) et
une limite suprieure (HI_LIM) et la convertit selon lquation ci-aprs en une valeur
entire :
OUT = [ ((INLO_LIM)/(HI_LIMLO_LIM)) * (K2K1) ] + K1
Le rsultat est crit dans OUT.
Les constantes K1 et K2 sont dfinies selon que la valeur dentre est bipolaire ou
unipolaire.
Bipolaire :
Paramtres
Tableau 6-9
Paramtres
Dclaration
EN
Entre
BOOL
E, A, M, D, L
ENO
Sortie
BOOL
E, A, M, D, L
IN
Entre
REAL
E, A, M, D, L, P
ou constante
HI_LIM
Entre
REAL
E, A, M, D, L, P
ou constante
LO_LIM
Entre
REAL
E, A, M, D, L, P
ou constante
BIPOLAR
Entre
BOOL
E, A, M, D, L
OUT
Sortie
INT
E, A, M, D, L, P
RET_VAL
Sortie
WORD
E, A, M, D, L, P
6-14
Type de
donnes
Zone de
mmoire
Description
Informations
derreur
Si la valeur relle dentre se situe en dehors de la plage dfinie par les limites infrieure (LO_LIM) et suprieure (HI_LIM), la sortie (OUT) est sature la valeur la
plus proche de la limite infrieure ou suprieure de la plage indique pour son type
(bipolaire ou unipolaire) et une erreur est signale. Ltat de signal de ENO est mis
0 et RET_VAL prend la valeur W#16#0008.
Exemple
UNSCALE
FC106
EN
ENO
E0.0
MD10
IN
MD20
HI_LIM
MD30
LO_LIM
RET_VAL
OUT
A4.0
MW0
MW40
E2.0
BIPOLAR
Avant lexcution :
IN
MD10 = 50.03978588
HI_LIM
MD20 = 100.0
LO_LIM
MD30 = 0.0
OUT
MW40 = 0
BIPOLAR
E2.0
= TRUE
Aprs lexcution :
OUT
Figure 6-12
MW40 = 22
6-15
Description
LG_TIME
LG_TIME + SAMPLE_T
LD_TIME + SAMPLE_T
PREV_OUT + GAIN
LG_TIME + SAMPLE_T
LD_TIME
IN GAIN
LG_TIME + SAMPLE_T
PREV_IN
En gnral, LEAD_LAG est utilis comme compensateur pour des boucles de commande dynamique. LEAD_LAG comporte deux parties. Lavance de phase dcale et
avance la phase de la sortie du bloc fonctionnel par rapport la phase de lentre ; le
retard de phase dcale et retarde la phase de la sortie par rapport la phase de lentre.
Comme le retard de phase quivaut une intgration, elle peut servir de suppresseur
de bruit ou de filtre passe-bas. Quant lavance de phase, elle quivaut une diffrentiation et constitue donc un filtre passe-haut. La combinaison davance et de retard de
phase permet de retarder la phase de la sortie par rapport la phase de lentre basse
frquence et de lavancer haute frquence, ce qui permet de raliser un filtre passebande.
6-16
Paramtres
Tableau 6-10
Paramtres
Dclaration
Type de
donnes
Zone de
mmoire
Description
EN
Entre
BOOL
E, A, M, D, L
ENO
Sortie
BOOL
E, A, M, D, L
IN
Entre
REAL
E, A, M, D, L, P
ou constante
SAMPLE_T
Entre
INT
E, A, M, D, L, P
ou constante
Instant dchantillonnage
OUT
Sortie
REAL
E, A, M, D, L, P
ou constante
ERR_CODE
Sortie
WORD
E, A, M, D, L, P
Donne la valeur W#16#0000 en retour lorsque lopration a t effectue sans erreur. Pour toute valeur en retour autre que W#16#0000, reportez-vous aux informations derreur.
LD_TIME
statique
REAL
E, A, M, D, L, P
ou constante
LG_TIME
statique
REAL
E, A, M, D, L, P
ou constante
GAIN
statique
REAL
E, A, M, D, L, P
ou constante
PREV_IN
statique
REAL
E, A, M, D, L, P
ou constante
Entre prcdente
PREV_OUT
statique
REAL
E, A, M, D, L, P
ou constante
Sortie prcdente
Informations
derreur
Le bloc fonctionnel nest pas excut si le gain est infrieur ou gal zro. Ltat de
signal de ENO est mis 0 et ERR_CODE prend la valeur W#16#0009.
6-17
Exemple
DB80
LEAD_LAG
FB80
E0.0
MD10
10
A4.0
EN
ENO
IN
OUT
SAMPLE_T
ERR_CODE
MD20
MW0
Avant lexcution :
IN
MD10
= 2.0
OUT
MD20
= 0.0
DB80 dinstance
LD_TIME
DBD12 = 2.0
LG_TIME
DBD16 = 2.0
GAIN
DBD20 = 1.0
PREV_IN
DBD24 = 6.0
PREV_OUT
DBD28 = 6.0
Aprs lexcution :
DB80 dinstance
Figure 6-13
6-18
PREV_IN
DBD24 = 2.0
PREV_OUT
DBD28 = 2.0
OUT
MD20
= 2.0
Ce chapitre dcrit la fonction arithmtique sur nombres virgule flottante (FC) dont
vous disposez en plus des oprations standard, vous offrant ainsi une plus grande souplesse lors de la programmation.
Paragraphe
7.1
Thme
Ecart type (DEV) : FC102
Page
7-2
7-1
7.1
Description
La fonction Ecart type (DEV) calcule lcart type dun ensemble de valeurs figurant
dans la table TBL et range le rsultat dans OUT. Le calcul se fait selon la formule
suivante :
Ecart =
type
avec :
(N * SommeCarrs) Somme2
N * (N 1)
Somme
N
SommeCarrs
Des valeurs virgule flottante IEEE sont utilises pour tous les calculs, toutes les
conversions de type ncessaires tant automatiquement effectues par lappel de
fonction.
Paramtres
Tableau 7-1
Zone de
mmoire
Paramtres
Dclaration
EN
Entre
BOOL
E, A, M, D, L
ENO
Sortie
BOOL
E, A, M, D, L
TBL
Entre
POINTER* E, A, M, D
OUT
Entre
POINTER* E, A, M, D
E_TYPE
Entre
BYTE
E, A, M, D, L, P
RET_VAL
Sortie
WORD
E, A, M, D, L, P
Description
Pointeur en format double mot pour ladressage indirect interzone par registre
7-2
Informations
derreur
La fonction nest pas excute si lune des situations dcrites au tableau 7-2 se prsente. Ltat de signal de ENO est mis 0 et la valeur en retour prend lune des
valeurs suivantes :
Tableau 7-2
RET_VAL
Exemple
Explication
W#16#0001
W#16#0002
W#16#0004
La figure 7-1 montre le mode de fonctionnement de lopration DEV. Si ltat de signal de E 0.0 gale 1 (entre active), la fonction DEV est excute. Dans cet exemple, il y a cinq valeurs dans la table comme indiqu par le premier mot de la table. Le
paramtre E_TYPE prcise que les valeurs dans la table sont de type de donnes
REAL.
Si la fonction a t excute sans erreur, ltat de signal de ENO et de A 4.0 est mis
1 et la valeur en retour RET_VAL est gale W#16#0000.
DEV
FC102
E0.0
EN
P#DB1.DBX100.0
TBL
P#DB1.DBX130.0
OUT
B#16#08
A4.0
ENO
RET_VAL
MW0
E_TYPE
Avant lexcution :
TBL (longueur de la table)
DBW100=W#16#0005
DBD102 = 2.0
DBD106 = 4.0
DBD110 = 8.0
DBD114 = 16.0
DBD118 = 32.0
OUT
DBD130 = 0.0
Aprs lexcution :
OUT
Figure 7-1
DBD130 = 12.19836055
Ecart type (DEV)
7-3
7-4
Ce chapitre dcrit les blocs fonctionnels de comparaison (FB) dont vous disposez en
plus des oprations standard, vous offrant ainsi une plus grande souplesse lors de la
programmation.
Paragraphe
Thme
Page
8.1
8-2
8.2
8-6
8-1
8.1
Description
8-2
Le bloc fonctionnel Comparaison de colonne de matrice (IMC) compare ltat de signal de 16 bits dentre programms IN_BIT0 IN_BIT15 (au maximum) aux bits de
mme indice dun masque de comparaison. Cela constitue une tape de comparaison ;
il est possible de programmer jusqu 16 tapes de comparaison avec masques. La
comparaison se fait comme suit : IN_BIT0 est compar CMP_VAL [x,0], x tant le
numro dtape, IN_BIT1 est compar CMP_VAL [x,1], etc. Le paramtre
CMP_STEP prcise le numro dtape du masque avec lequel doit se faire la comparaison. Les bits dentre non programms ou les bits non programms du masque
prennent par dfaut ltat de signal FALSE. Sil y a correspondance pour une tape
donne, ltat de signal de la sortie OUT est mis 1 ; sinon, il est mis 0 .
Paramtres
Tableau 8-1
Paramtres
Type de
donnes
Zone de
mmoire
Description
EN
Entre
BOOL
E, A, M, D, L
ENO
Sortie
BOOL
E, A, M, D, L
IN_BIT0
Entre
BOOL
E, A, M, D, L
IN_BIT1
Entre
BOOL
E, A, M, D, L
IN_BIT2
Entre
BOOL
E, A, M, D, L
IN_BIT3
Entre
BOOL
E, A, M, D, L
IN_BIT4
Entre
BOOL
E, A, M, D, L
IN_BIT5
Entre
BOOL
E, A, M, D, L
IN_BIT6
Entre
BOOL
E, A, M, D, L
IN_BIT7
Entre
BOOL
E, A, M, D, L
IN_BIT8
Entre
BOOL
E, A, M, D, L
IN_BIT9
Entre
BOOL
E, A, M, D, L
IN_BIT10
Entre
BOOL
E, A, M, D, L
IN_BIT11
Entre
BOOL
E, A, M, D, L
IN_BIT12
Entre
BOOL
E, A, M, D, L
IN_BIT13
Entre
BOOL
E, A, M, D, L
IN_BIT14
Entre
BOOL
E, A, M, D, L
IN_BIT15
Entre
BOOL
E, A, M, D, L
CMP_STEP
Entre
BYTE
E, A, M, D, L, P
OUT
Sortie
BOOL
E, A, M, D, L
ERR_CODE
Sortie
WORD
E, A, M, D, L, P
Donne la valeur W#16#0000 en retour lorsque lopration a t effectue sans erreur. Pour toute valeur en retour autre que W#16#0000, reportez-vous aux informations derreur.
CMP_VAL
statique
ARRAY
OF BOOL
E, A, M, D, L
8-3
Informations
derreur
Si la valeur de CMP_STEP est suprieure 15, le bloc fonctionnel nest pas excut.
Ltat de signal de ENO est mis 0 et ERR_CODE prend la valeur W#16#000A.
Exemple
La figure 8-1 montre le mode de fonctionnement de lopration IMC. Si ltat de signal de E 0.0 gale 1 (entre active), le bloc fonctionnel IMC est excut. Dans cet
exemple, la totalit des 16 bits dentre est compare au masque pour ltape 2
(comme prcis par le paramtre CMP_STEP). Ltat de signal de OUT prend la valeur TRUE, car les bits dentre correspondent ceux du masque de cette tape.
Si le bloc fonctionnel est excut sans erreur, ltat de signal de ENO et de A 4.0 est
mis 1 et ERR_CODE est mis la valeur W#16#0000.
Nota
Il est possible dinitialiser les paramtres statiques laide de lditeur de bloc de
donnes.
8-4
E0.0
EN
DB83
IMC
FB83
A4.0
ENO
M0.0
IN_BIT0
OUT
A 2.0
IN_BIT1
ERR_CODE
MW0
M0.1
M0.2
IN_BIT2
M0.3
IN_BIT3
M0.4
IN_BIT4
M0.5
IN_BIT5
M0.6
IN_BIT6
M0.7
IN_BIT7
M1.0
IN_BIT8
M1.1
IN_BIT9
M1.2
IN_BIT10
M1.3
IN_BIT11
M1.4
IN_BIT12
M1.5
IN_BIT13
M1.6
IN_BIT14
M1.7
IN_BIT15
Avant lexcution :
IN_BIT0
M0.0
IN_BIT1
M0.1
IN_BIT2
M0.2
IN_BIT3
M0.3
IN_BIT4
M0.4
IN_BIT5
M0.5
IN_BIT6
M0.6
IN_BIT7
M0.7
IN_BIT8
M1.0
IN_BIT9
M1.1
IN_BIT10
M1.2
IN_BIT11
M1.3
IN_BIT12
M1.4
IN_BIT13
M1.5
IN_BIT14
M1.6
IN_BIT15
M1.7
OUT
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
B#16#02
CMP_STEP
TRUE
TRUE
FALSE
TRUE
TRUE
FALSE
TRUE
TRUE
FALSE
TRUE
TRUE
FALSE
TRUE
TRUE
FALSE
TRUE
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
DB83 dinstance
CMP_VAL [2, 0]
CMP_VAL [2, 1]
CMP_VAL [2, 2]
CMP_VAL [2, 3]
CMP_VAL [2, 4]
CMP_VAL [2, 5]
CMP_VAL [2, 6]
CMP_VAL [2, 7]
CMP_VAL [2, 8]
CMP_VAL [2, 9]
CMP_VAL [2, 10]
CMP_VAL [2, 11]
CMP_VAL [2, 12]
CMP_VAL [2, 13]
CMP_VAL [2, 14]
CMP_VAL [2, 15]
DBX12.0
DBX12.1
DBX12.2
DBX12.3
DBX12.4
DBX12.5
DBX12.6
DBX12.7
DBX13.0
DBX13.1
DBX13.2
DBX13.3
DBX13.4
DBX13.5
DBX13.6
DBX13.7
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
TRUE
TRUE
FALSE
TRUE
TRUE
FALSE
TRUE
TRUE
FALSE
TRUE
TRUE
FALSE
TRUE
TRUE
FALSE
TRUE
A2.0 = FALSE
Nota : Seules les valeurs constituant le masque pour ltape 2 sont reprsentes. Les autres tapes
sont programmes de manire similaire.
Aprs lexcution :
OUT
Figure 8-1
A2.0 = TRUE
Comparaison de colonne de matrice (IMC)
8-5
8.2
Description
Paramtres
Tableau 8-2
Paramtres
Type de
donnes
Zone de
mmoire
Description
EN
Entre
BOOL
E, A, M, D, L
ENO
Sortie
BOOL
E, A, M, D, L
IN_BIT0
Entre
BOOL
E, A, M, D, L
IN_BIT1
Entre
BOOL
E, A, M, D, L
IN_BIT2
Entre
BOOL
E, A, M, D, L
IN_BIT3
Entre
BOOL
E, A, M, D, L
IN_BIT4
Entre
BOOL
E, A, M, D, L
IN_BIT5
Entre
BOOL
E, A, M, D, L
IN_BIT6
Entre
BOOL
E, A, M, D, L
IN_BIT7
Entre
BOOL
E, A, M, D, L
IN_BIT8
Entre
BOOL
E, A, M, D, L
IN_BIT9
Entre
BOOL
E, A, M, D, L
IN_BIT10
Entre
BOOL
E, A, M, D, L
IN_BIT11
Entre
BOOL
E, A, M, D, L
IN_BIT12
Entre
BOOL
E, A, M, D, L
IN_BIT13
Entre
BOOL
E, A, M, D, L
IN_BIT14
Entre
BOOL
E, A, M, D, L
IN_BIT15
Entre
BOOL
E, A, M, D, L
OUT
Sortie
BOOL
E, A, M, D, L
8-6
Tableau 8-2
Paramtres
Dclaration
Type de
donnes
Zone de
mmoire
Description
ERR_CODE
Sortie
WORD
E, A, M, D, L, P
OUT_STEP
Sortie
BOOL
E, A, M, D, L, P
LAST
statique
BYTE
E, A, M, D, L, P
CMP_VAL
statique
ARRAY
OF BOOL
E, A, M, D, L
Informations
derreur
Le bloc fonctionnel nest pas excut si la valeur de LAST est suprieure 15. Ltat
de signal de ENO est mis 0 et ERR_CODE prend la valeur W#16#000E.
Exemple
La figure 8-2 montre le mode de fonctionnement de lopration SMC. Si ltat de signal de E 0.0 gale 1 (entre active), le bloc fonctionnel SMC est excut. Dans cet
exemple, la totalit des 16 bits dentre est compare aux masques pour les tapes 0
5 (comme prcis par le paramtre LAST) jusqu ce quune correspondance soit
trouve. Comme le masque pour ltape 2 correspond aux bits dentre, seuls les masques des tapes 0 2 sont examins.
Si le bloc fonctionnel est excut sans erreur, ltat de signal de ENO et de A 4.0 est
mis 1 .
Nota
Il est possible dinitialiser les paramtres statiques laide de lditeur de bloc de
donnes.
8-7
DB84
SMC
FB84
E0.0
EN
A4.0
ENO
M0.0
M0.1
IN_BIT0
OUT
A 2.0
IN_BIT1
OUT_STEP
MB10
M0.2
M0.3
IN_BIT2
IN_BIT3
M0.4
IN_BIT4
M0.5
IN_BIT5
M0.6
M0.7
IN_BIT6
IN_BIT7
M1.0
M1.1
IN_BIT8
IN_BIT9
M1.2
IN_BIT10
M1.3
IN_BIT11
M1.4
IN_BIT12
M1.5
M1.6
IN_BIT13
IN_BIT14
M1.7
IN_BIT15
Avant lexcution :
IN_BIT0
M0.0
IN_BIT1
M0.1
IN_BIT2
M0.2
IN_BIT3
M0.3
IN_BIT4
M0.4
IN_BIT5
M0.5
IN_BIT6
M0.6
IN_BIT7
M0.7
IN_BIT8
M1.0
IN_BIT9
M1.1
IN_BIT10
M1.2
IN_BIT11
M1.3
IN_BIT12
M1.4
IN_BIT13
M1.5
IN_BIT14
M1.6
IN_BIT15
M1.7
OUT
OUT_STEP
LAST
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
TRUE
TRUE
FALSE
TRUE
TRUE
FALSE
TRUE
TRUE
FALSE
TRUE
TRUE
FALSE
TRUE
TRUE
FALSE
TRUE
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
DB84 dinstance
CMP_VAL [2, 0]
CMP_VAL [2, 1]
CMP_VAL [2, 2]
CMP_VAL [2, 3]
CMP_VAL [2, 4]
CMP_VAL [2, 5]
CMP_VAL [2, 6]
CMP_VAL [2, 7]
CMP_VAL [2, 8]
CMP_VAL [2, 9]
CMP_VAL [2, 10]
CMP_VAL [2, 11]
CMP_VAL [2, 12]
CMP_VAL [2, 13]
CMP_VAL [2, 14]
CMP_VAL [2, 15]
DBX12.0
DBX12.1
DBX12.2
DBX12.3
DBX12.4
DBX12.5
DBX12.6
DBX12.7
DBX13.0
DBX13.1
DBX13.2
DBX13.3
DBX13.4
DBX13.5
DBX13.6
DBX13.7
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
TRUE
TRUE
FALSE
TRUE
TRUE
FALSE
TRUE
TRUE
FALSE
TRUE
TRUE
FALSE
TRUE
TRUE
FALSE
TRUE
A2.0 = FALSE
MB10 = B#16#00
DB84 dinstance
DB84 = B#16#05
Nota : Seules les valeurs constituant le masque pour ltape 2 sont reprsentes. Les autres tapes
sont programmes de manire similaire.
Aprs lexcution :
OUT
A2.0 = TRUE
OUT_STEP
MB10 = B#16#02
Figure 8-2
8-8
Glossaire
A
Abrviations
utilises
Les noms des oprandes et des oprations sont reprsents par des abrviations
mnmotechniques dans le programme, par exemple E pour entre et U
pour lopration ET . STEP 7 prend en charge les abrviations internationales (sur
la base de la langue anglaise) et les abrviations SIMATIC (sur la base de la
reprsentation allemande des oprations et des conventions dadressage SIMATIC).
Adressage absolu
Adressage direct
Adressage
immdiat
Dans ladressage immdiat, la valeur effective sur laquelle lopration doit porter est
indique comme paramtre dentre. Cette valeur est loprande de lopration. Voir
Adressage direct .
Adressage
symbolique
Dans la CPU, chaque lment a une adresse absolue (par exemple E 0.0). Mais, vous
pouvez galement crer des mnmoniques ou noms symboliques que vous pouvez
utiliser pour ladressage. Par exemple, vous pouvez attribuer lentre E 1.3 le
mnmonique Retour_ Pompe_2 . Vous dfinissez les mnmoniques dans une table
de mnmoniques que vous crez avec lditeur de mnmoniques.
Glossaire-1
Glossaire
B
Bit de rsultat
binaire
Le bit 8 du mot dtat est appel bit de rsultat binaire (bit RB). Ce bit constitue une
liaison entre le traitement de bits et le traitement de mots. Avec ce bit, votre
programme peut interprter le rsultat dune opration sur mots comme rsultat
binaire et intgrer ce rsultat dans une chane de combinaison binaire.
Le bit RB vous permet, par exemple, dcrire un bloc fonctionnel (FB) ou une
fonction (FC) en LIST (liste dinstructions ; voir le manuel Langage LIST pour
SIMATIC S7-300/400, Programmation de blocs), puis dappeler ce FB ou cette FC en
CONT (schma contacts).
Lorsque vous crivez un bloc fonctionnel ou une fonction que vous dsirez appeler en
CONT, vous devez grer le bit RB et ce, indpendamment du langage de
programmation (LIST ou CONT) utilis pour crire le FB et la FC. Le bit RB
correspond la sortie de validation (ENO) dun pav CONT. Lopration SAVE (en
LIST) ou la bobine (SAVE) (en CONT) vous permettent denregistrer le RLG dans
le bit RB selon les critres suivants :
Attention
Le bit RB peut avoir t mis 0 involontairement.
Lorsque vous crivez des FB ou des FC en CONT et que vous ne grez pas le bit RB
comme dcrit plus haut, un FB ou une FC peut craser le bit RB dun autre FB ou
dune autre FC.
Pour viter cette erreur, enregistrez le RLG la fin de chaque FB ou FC comme
dcrit plus haut.
Bloc de code
Les blocs de code sont des blocs dans STEP 7 contenant le programme pour la logique
de commande. Il sagit des blocs dorganisation (OB), des fonctions et des blocs
fonctionnels (FC et FB), des fonctions systme et des blocs fonctionnels systme
(SFC et SFB). Un bloc de donnes (DB) nest pas considr comme un bloc de code.
Bloc de donnes
(DB)
Un bloc de donnes (DB) contient les donnes pour le programme utilisateur. Vous
dfinissez la structure des informations enregistres dans le bloc de donnes. Ces
informations peuvent tre soit utilises par tous les blocs de code dun programme,
soit par une instance spcifique dun FB (la structure du bloc de donnes dpendant
alors de la table de dclaration des variables du FB).
Glossaire-2
Glossaire
Bloc de donnes
dinstance
Bloc fonctionnel
(FB)
Bloc fonctionnel
systme (SFB)
C
CPU
F
Fonction (FC)
Une FC est un bloc de code contenant un segment de programme mais qui ne dispose
pas dune zone de mmoire propre. Une fonction opre comme un sous-programme
dun programme dordinateur. Vous crez des FC et les appelez dans votre
programme. Comme votre programme peut appeler une FC plusieurs fois (et donner
diffrentes valeurs chaque appel), une FC est dfinie comme bloc rutilisable .
Aprs lexcution de la FC, les donnes locales temporaires ayant t utilises par la
FC sont ralloues.
Fonction systme
(SFC)
Une fonction systme (SFC) est une fonction teste prprogramme et intgre au
systme dexploitation S7. Vous pouvez appeler une SFC partir de votre programme.
Comme les SFC sont une partie du systme dexploitation, elles ne ncessitent pas
despace dans la mmoire principale. Comme les FC, les SFC nutilisent pas de DB
dinstance.
Glossaire-3
Glossaire
I
Identificateur
doprande
Un identificateur doprande est la partie de loprande dune opration qui fournit les
informations relatives la zone de mmoire o lopration trouve la valeur (objet de
donnes) sur laquelle elle doit porter ainsi qu la taille de cette valeur. Pour
loprande EB10 , EB est lidentificateur doprande : E indique la zone de
mmoire des entres et B un octet dans cette zone.
L
Liste
dinstructions
O
Oprande
Glossaire-4
Glossaire
P
Paramtre effectif
Un paramtre effectif est une adresse ou une valeur fournie comme entre ou sortie
lors de lappel dun bloc fonctionnel (FB) ou dune fonction (FC). Les paramtres
effectifs correspondent aux paramtres formels dclars dans la table de dclaration
des variables du FB ou de la FC.
Paramtre formel
Les paramtres formels sont dclars dans la table de dclaration des variables dun
FB ou dune FC. Lorsque vous appelez un FB ou une FC, vous devez fournir un
paramtre effectif (adresse ou valeur) pour chaque paramtre formel.
Pointeur
Programme
utilisateur
R
Relais de
masquage
Rseau
Dans un schma contacts STEP 7, un rseau est un circuit avec des oprations
CONT. Il contient gnralement des contacts dentre, des oprations sous forme de
pavs et une opration de sortie la fin de la ligne. Dans STEP 7, un trajet de courant
dans un schma contacts constitue un rseau.
Glossaire-5
Glossaire
Rsultat logique
(RLG)
Le bit 1 du mot dtat est appel bit RLG (rsultat logique). Ce bit mmorise le
rsultat dune combinaison sur bits ou dune comparaison arithmtique. Ltat de
signal du bit RLG donne des informations relatives au flux dnergie. Ltat de signal
1 indique quil y a flux dnergie (activ) ; ltat de signal 0 indique quil ny a
pas de flux dnergie (dsactiv).
Par exemple, la premire opration dans un rseau CONT interroge ltat de signal
dun contact et donne le rsultat 1 ou 0 . Lopration range ce rsultat dans le
bit RLG. La deuxime opration dans un rseau de combinaisons sur bits interroge
galement ltat de signal dun contact et donne un rsultat. Puis, elle combine ce
rsultat au bit RLG dans le mot dtat selon les rgles de la logique boolenne. Le
rsultat de cette opration logique est enregistr dans le bit RLG du mot dtat et
remplace la valeur prcdemment mmorise dans le bit RLG. Chacune des
oprations suivantes dans le rseau effectue une combinaison de deux valeurs : le
rsultat produit lorsque lopration interroge le contact et le RLG en cours.
Vous pouvez utiliser une combinaison sur bits lors dune premire interrogation pour
affecter au RLG ltat du contenu dune adresse de mmoire (bit). Vous pouvez
galement vous servir du RLG pour dclencher des oprations de saut.
S
Schma contacts
(CONT)
T
Table de
dclaration des
variables
Glossaire-6
Tous les blocs de code ont une table de dclaration des variables. Lorsque vous entrez
des informations dans cette table, vous dclarez (dfinissez) les paramtres et les
variables utiliss par le bloc.
Glossaire
Types de donnes
Il est possible daffecter un type aux donnes devant tre utilises dans un
programme. Vous devez prciser un type de donnes lorsque vous dfinissez des
mnmoniques avec lditeur de mnmoniques ou des variables locales dans la table de
dclaration des variables. Le type de donnes dfinit la longueur et lorganisation des
bits dans la mmoire rserve par la CPU.
Z
Zone de mmoire
Une zone de mmoire est la zone de la CPU dans laquelle une opration trouve une
valeur (objet de donnes) sur laquelle oprer. Votre automate programmable dispose
des zones de mmoire suivantes que vous pouvez indiquer comme partie de
loprande dune opration :
Glossaire-7
Glossaire
Glossaire-8
Index
A
Ajouter valeur dans table (ATT), 2-2
Algorithme davance et de retard de phase
(LEAD_LAG), 6-16
Annuler la mise lchelle (UNSCALE), 6-14
Arithmtique sur nombres virgule flottante, Ecart
type (DEV), 7-2
Assistance technique, v
B
Barillet dvnement avec masquage, 5-10
Blocs fonctionnels (FB)
copier, iii
liste, vi
Blocs fonctionnels de comparaison
Comparaison de colonne de matrice (IMC), 8-2
Comparaison squentielle de colonne de matrice
(SMC), 8-6
C
Combinaison de bits
Mettre un plage de sorties directes (SETI), 1-8
Mettre un zone de mmentos ou de priphrie
dans la mmoire image (SET), 1-6
Remettre zro plage de sorties directes
(RSETI), 1-4
Remettre zro zone de mmentos ou de
priphrie dans la mmoire image (RSET),
1-2
Combiner valeur logiquement avec lment de
table et mmoriser (WRD_TBL), 2-15
Comparaison
Comparaison de colonne de matrice (IMC), 8-2
Comparaison squentielle de colonne de matrice
(SMC), 8-6
Comparaison de colonne de matrice (IMC), 8-2
Comparaison squentielle de colonne de matrice
(SMC), 8-6
Complment 10 (BCDCPL), 6-10
Compter bits 1 (BITSUM), 6-11
Conversion
Algorithme davance et de retard de phase
(LEAD_LAG), 6-16
Annuler la mise lchelle (UNSCALE), 6-14
Complment 10 (BCDCPL), 6-10
Compter bits 1 (BITSUM), 6-11
Conversion ASCII-hexa (ATH), 6-4
Conversion hexa-ASCII (HTA), 6-6
Dcoder position binaire (DECO), 6-9
Dcodeur 7 segments (SEG), 6-2
Encoder position binaire (ENCO), 6-8
Mise lchelle (SCALE), 6-12
Conversion ASCII-hexa (ATH), 6-4
Conversion hexa-ASCII (HTA), 6-6
Copie des fonctions (FC) et de blocs fonctionnels
(FB), iii
Copier valeur de la table (TBL_WRD), 2-13
D
Dcalage
Dplacer bit vers registre dcalage (SHRB),
3-4
Dplacer mot vers registre dcalage (WSR),
3-2
Dcoder position binaire (DECO), 6-9
Dcodeur 7 segments (SEG), 6-2
Dplacer bit vers registre dcalage (SHRB), 3-4
Dplacer mot vers registre dcalage (WSR), 3-2
Dernire valeur entre, premire sortie (LIFO), 2-9
E
Ecart type (DEV), 7-2
Encoder position binaire (ENCO), 6-8
Excuter opration sur table (TBL), 2-11
Excuter opration sur tables et mmoriser dans
table cible (TBL_TBL), 2-19
Index-1
Index
F
Fonction arithmtique sur nombres virgule
flottante, Ecart type (DEV), 7-2
Fonction et bloc fonctionnel de transfert
Rassembler/rpartir donnes de table (PACK),
4-4
Transfert indirect de blocs (IBLKMOV), 4-2
Fonction et blocs fonctionnels de temporisation
Barillet dvnement avec masquage (DRUM),
5-10
Temporisation dalarme avec commande moteur
(MCAT), 5-7
Temporisation dalarme avec commande tout ou
rien (DCAT), 5-4
Temporisation sous forme de retard la monte
mmoris (TONR), 5-2
Fonctions (FC)
copier, iii
liste, vi
Fonctions de combinaison de bits
Mettre un plage de sorties directes (SETI), 1-8
Mettre un zone de mmentos ou de priphrie
dans la mmoire image (SET), 1-6
Remettre zro plage de sorties directes
(RSETI), 1-4
Remettre zro zone de mmentos ou de
priphrie dans la mmoire image (RSET),
1-2
Fonctions de dcalage
Dplacer bit vers registre dcalage (SHRB),
3-4
Dplacer mot vers registre dcalage (WSR),
3-2
Fonctions de table
Ajouter valeur dans table (ATT), 2-2
Combiner valeur logiquement avec lment de
table et mmoriser (WRD_TBL), 2-15
Copier valeur de la table (TBL_WRD), 2-13
Dernire valeur entre, premire sortie (LIFO),
2-9
Excuter opration sur table (TBL), 2-11
Excuter opration sur tables et mmoriser dans
table cible (TBL_TBL), 2-19
Premire valeur entre, premire sortie (FIFO),
2-4
Recherche de valeur dans table (TBL_FIND),
2-6
Tables de donnes corrles (CDT), 2-17
Fonctions et bloc fonctionnel de conversion
Algorithme davance et de retard de phase
(LEAD_LAG), 6-16
Annuler la mise lchelle (UNSCALE), 6-14
Complment 10 (BCDCPL), 6-10
Compter bits 1 (BITSUM), 6-11
Conversion ASCII-hexa (ATH), 6-4
Index-2
M
Mettre un plage de sorties directes (SETI), 1-8
Mettre un zone de mmentos ou de priphrie
dans la mmoire image (SET), 1-6
Mise lchelle (SCALE), 6-12
P
Premire valeur entre, premire sortie (FIFO), 2-4
R
Rassembler/rpartir donnes de table (Pack), 4-4
Recherche de valeur dans table (TBL_FIND), 2-6
Remettre zro plage de sorties directes (RSETI),
1-4
Remettre zro zone de mmentos ou de priphrie
dans la mmoire image (RSET), 1-2
T
Table
Ajouter valeur dans table (ATT), 2-2
Combiner valeur logiquement avec lment de
table et mmoriser (WRD_TBL), 2-15
Copier valeur de la table (TBL_WRD), 2-13
Dernire valeur entre, premire sortie (LIFO),
2-9
Excuter opration sur table (TBL), 2-11
Excuter opration sur tables et mmoriser dans
table cible (TBL_TBL), 2-19
Premire valeur entre, premire sortie (FIFO),
2-4
Recherche de valeur dans table (TBL_FIND),
2-6
Tables de donnes corrles (CDT), 2-17
Tables de donnes corrles (CDT), 2-17
Temporisation
Barillet dvnement avec masquage (DRUM),
5-10
Temporisation dalarme avec commande moteur
(MCAT), 5-7
Temporisation dalarme avec commande tout ou
rien (DCAT), 5-4
Temporisation sous forme de retard la monte
mmoris (TONR), 5-2
Transfert
Rassembler/rpartir donnes de table (PACK),
4-4
Transfert indirect de blocs (IBLKMOV), 4-2
Transfert indirect de blocs (IBLKMOV), 4-2
Siemens AG
A&D AS E 81
Oestliche Rheinbrueckenstr. 50
D-76181 Karlsruhe
Rpublique Fdrale dAllemagne
Expditeur :
Vos . Nom : _ _ _
Fonction :
Entreprise :
Rue : _ _ _
Code postal :
Ville : _ _ _
Pays : _ _ _
Tlphone :
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_____
_ _ _ _
_ _ _ _
_ ____
_ _ _ _
_ ____
_ ____
_ _ _ _
Industrie automobile
Industrie pharmaceutique
Industrie chimique
Industrie lectrique
Industrie du papier
Industrie alimentaire
Industrie textile
Contrle/commande
Transports
Construction mcanique
Autres _ _ _ _ _ _ _ _ _ _ _
Ptrochimie
Remarques / suggestions
Vos remarques et suggestions nous permettent damliorer la qualit gnrale de notre
documentation. Cest pourquoi nous vous serions reconnaissants de complter et de renvoyer ces formulaires Siemens.
Rpondez aux questions suivantes en attribuant une note comprise entre 1 pour trs bien
et 5 pour trs mauvais.
1.
2.
3.
4.
5.
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_