Vous êtes sur la page 1sur 276

Unity Pro

33003874 02/2015

Unity Pro
Sécurité
Bibliothèque de blocs
02/2015
33003874.06

www.schneider-electric.com
Le présent document comprend des descriptions générales et/ou des caractéristiques techniques
des produits mentionnés. Il ne peut pas être utilisé pour définir ou déterminer l’adéquation ou la
fiabilité de ces produits pour des applications utilisateur spécifiques. Il incombe à chaque utilisateur
ou intégrateur de réaliser l’analyse de risques complète et appropriée, l’évaluation et le test des
produits pour ce qui est de l’application à utiliser et de l’exécution de cette application. Ni la société
Schneider Electric ni aucune de ses sociétés affiliées ou filiales ne peuvent être tenues pour
responsables de la mauvaise utilisation des informations contenues dans le présent document. Si
vous avez des suggestions, des améliorations ou des corrections à apporter à cette publication,
veuillez nous en informer.
Aucune partie de ce document ne peut être reproduite sous quelque forme ou par quelque moyen
que ce soit, électronique, mécanique ou photocopie, sans autorisation préalable de Schneider
Electric.
Toutes les réglementations de sécurité pertinentes locales doivent être observées lors de
l’installation et de l’utilisation de ce produit. Pour des raisons de sécurité et afin de garantir la
conformité aux données système documentées, seul le fabricant est habilité à effectuer des
réparations sur les composants.
Lorsque des équipements sont utilisés pour des applications présentant des exigences techniques
de sécurité, suivez les instructions appropriées.
La non-utilisation du logiciel Schneider Electric ou d’un logiciel approuvé avec nos produits
matériels peut entraîner des blessures, des dommages ou un fonctionnement incorrect.
Le non-respect de cette consigne peut entraîner des lésions corporelles ou des dommages
matériels.
© 2015 Schneider Electric. Tous droits réservés.

2 33003874 02/2015
Table des matières

Consignes de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . 9
A propos de ce manuel . . . . . . . . . . . . . . . . . . . . . . . . . 11
Partie I Informations générales . . . . . . . . . . . . . . . . . . . . . 15
Chapitre 1 Types de module et leur utilisation . . . . . . . . . . . . . . . 17
Types de bloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Construction d’un FFB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
EN et ENO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Chapitre 2 Disponibilité des blocs sur les différentes plates-
formes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Disponibilité du bloc sur les différentes plates-formes . . . . . . . . . . . . 23
Partie II Comparaison. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Chapitre 3 S_EQ_*** : Egal à . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Chapitre 4 S_GE_*** : Supérieur ou égal à . . . . . . . . . . . . . . . . . . 33
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Chapitre 5 S_GT_*** : Supérieur à . . . . . . . . . . . . . . . . . . . . . . . . . 35
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Chapitre 6 S_LE_*** : Supérieur ou égal à . . . . . . . . . . . . . . . . . . . 37
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Chapitre 7 S_LT_*** : Inférieur à . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Chapitre 8 S_NE_*** : Non égal à. . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Partie III Haute disponibilité . . . . . . . . . . . . . . . . . . . . . . . . . 43
Chapitre 9 S_DISIL2 : Haute disponibilité pour des entrées
numériques de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . 45
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Configuration matérielle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Configuration logicielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Chapitre 10 S_AISIL2 : Haute disponibilité pour les entrées
analogiques de sécurité. . . . . . . . . . . . . . . . . . . . . . . . . 65
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Configuration matérielle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Configuration logicielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

33003874 02/2015 3
Partie IV Redondance d’UC . . . . . . . . . . . . . . . . . . . . . . . . . 77
Chapitre 11 S_HSBY_SWAP : Fonction de permutation de
redondance d’UC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Partie V Logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Chapitre 12 S_AND_*** : Fonction AND . . . . . . . . . . . . . . . . . . . . . . 87
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Chapitre 13 S_F_TRIG : Détection des fronts descendants . . . . . . 89
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Chapitre 14 S_NOT_*** : Négation . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Chapitre 15 S_OR_*** : Fonction OR . . . . . . . . . . . . . . . . . . . . . . . . 93
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Chapitre 16 S_R_TRIG : Détection des fronts montants . . . . . . . . 95
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Chapitre 17 S_ROL_*** : Rotation vers la gauche . . . . . . . . . . . . . . 97
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Chapitre 18 S_ROR_*** : Rotation vers la droite . . . . . . . . . . . . . . . 99
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Chapitre 19 S_RS : Bloc fonction bistable, réarmement dominant 101
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Chapitre 20 S_SHL_*** : Décalage vers la gauche . . . . . . . . . . . . . 103
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Chapitre 21 S_SHR_*** : Décalage vers la droite. . . . . . . . . . . . . . . 105
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Chapitre 22 S_SR : Bloc fonction bistable, réglage dominant . . . . 107
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Chapitre 23 S_XOR_*** : Fonction OR exclusive . . . . . . . . . . . . . . . 109
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Partie VI Mathématiques. . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Chapitre 24 S_ABS_*** : Calcul de valeur absolue . . . . . . . . . . . . . 113
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Chapitre 25 S_ADD_*** : Addition . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Chapitre 26 S_DIV_*** : Division . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Chapitre 27 S_MUL_*** : Multiplication . . . . . . . . . . . . . . . . . . . . . . 119
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

4 33003874 02/2015
Chapitre 28 S_MOVE : Affectation. . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Chapitre 29 S_SMOVE_BIT : Affectation . . . . . . . . . . . . . . . . . . . . . 123
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Chapitre 30 S_SMOVE_WORD : Affectation. . . . . . . . . . . . . . . . . . . 129
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Chapitre 31 S_NEG_*** : Négation. . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Chapitre 32 S_SQRT_REAL: Racine carrée de sécurité . . . . . . . . . 139
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Chapitre 33 S_SIGN_*** : Evaluation du signe . . . . . . . . . . . . . . . . . 141
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Chapitre 34 S_SUB_*** : Soustraction . . . . . . . . . . . . . . . . . . . . . . . 143
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Partie VII ES_Quantum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Chapitre 35 NI_DROP : Configuration d’un rack de station d’E/S
distantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Chapitre 36 NI_QUANTUM : Configuration d’un rack principal . . . 151
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Chapitre 37 NI_ERT_854_20 : EFB de transfert de données. . . . . . 153
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Mode de fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Configuration des EFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Flux de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Partie VIII Statistique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Chapitre 38 S_LIMIT_*** : Limite . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Chapitre 39 S_MAX_*** : Fonction de valeur maximum . . . . . . . . . 169
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Chapitre 40 S_MIN_*** : Fonction de valeur minimum . . . . . . . . . . 171
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Chapitre 41 S_MUX_*** : Multiplexeur. . . . . . . . . . . . . . . . . . . . . . . . 173
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Chapitre 42 S_SEL : Sélection binaire . . . . . . . . . . . . . . . . . . . . . . . 175
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

33003874 02/2015 5
Partie IX Temporisateurs et compteurs . . . . . . . . . . . . . . . 177
Chapitre 43 S_CTD_*** : Décompteur . . . . . . . . . . . . . . . . . . . . . . . . 179
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Chapitre 44 S_CTU_*** : Compteur . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Chapitre 45 S_CTUD_*** : Compteur/décompteur . . . . . . . . . . . . . . 183
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Chapitre 46 S_TOF : Délai à la désactivation . . . . . . . . . . . . . . . . . . 185
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Chapitre 47 S_TON : On Delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Chapitre 48 S_TP : Impulsion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Partie X Type à type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Chapitre 49 S_BIT_TO_BYTE : Conversion de type . . . . . . . . . . . . 193
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Chapitre 50 S_BIT_TO_WORD : Conversion de type . . . . . . . . . . . 195
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Chapitre 51 S_BOOL_TO_*** : Conversion de type. . . . . . . . . . . . . 197
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Chapitre 52 S_BYTE_TO_BIT : Conversion de type . . . . . . . . . . . . 199
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Chapitre 53 S_BYTE_TO_*** : Conversion de type . . . . . . . . . . . . . 201
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Chapitre 54 S_DWORD_TO_*** : Conversion de type . . . . . . . . . . . 203
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Chapitre 55 S_INT_TO_*** : Conversion de type . . . . . . . . . . . . . . . 205
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Chapitre 56 S_DINT_TO_*** : Conversion de type. . . . . . . . . . . . . . 207
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Chapitre 57 S_REAL_TO_***: Conversion de type . . . . . . . . . . . . . 209
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Chapitre 58 S_TIME_TO_UDINT : Conversion de type . . . . . . . . . . 211
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Chapitre 59 S_UDINT_TO_*** : Conversion de type . . . . . . . . . . . . 213
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Chapitre 60 S_UINT_TO_*** : Conversion de type. . . . . . . . . . . . . . 215
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215

6 33003874 02/2015
Chapitre 61 S_WORD_TO_BIT : Conversion de type . . . . . . . . . . . 217
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Chapitre 62 S_WORD_TO_*** : Conversion de type . . . . . . . . . . . . 219
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Partie XI Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Chapitre 63 S_WR_ETH : fonction de communication Ethernet
sécurisée entre automates . . . . . . . . . . . . . . . . . . . . . . 223
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Chapitre 64 S_RD_ETH : fonction de communication Ethernet
sécurisée entre automates . . . . . . . . . . . . . . . . . . . . . . 227
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Annexes ......................................... 231
Annexe A Objets système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
A.1 Bits système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Présentation des bits système. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Description des bits système %S0 à %S13. . . . . . . . . . . . . . . . . . . . . 236
Description des bits système %S15 à %S21. . . . . . . . . . . . . . . . . . . . 238
Description des bits système %S30 à %S51. . . . . . . . . . . . . . . . . . . . 240
Description des bits système %S59 à %S122. . . . . . . . . . . . . . . . . . . 241
A.2 Mots système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Description des mots système %SW0 à %SW21 . . . . . . . . . . . . . . . . 244
Description des mots système %SW30 à %SW59 . . . . . . . . . . . . . . . 247
Description des mots système %SW60 à %SW127 . . . . . . . . . . . . . . 251
Glossaire ......................................... 259
Index ......................................... 271

33003874 02/2015 7
8 33003874 02/2015
Consignes de sécurité

Informations importantes

AVIS
Lisez attentivement ces instructions et examinez le matériel pour vous familiariser avec l’appareil
avant de tenter de l’installer, de le faire fonctionner ou d’assurer sa maintenance. Les messages
spéciaux suivants que vous trouverez dans cette documentation ou sur l’appareil ont pour but de
vous mettre en garde contre des risques potentiels ou d’attirer votre attention sur des informations
qui clarifient ou simplifient une procédure.

33003874 02/2015 9
REMARQUE IMPORTANTE
L’installation, l’utilisation, la réparation et la maintenance des équipements électriques doivent être
assurées par du personnel qualifié uniquement. Schneider Electric décline toute responsabilité
quant aux conséquences de l’utilisation de ce matériel.
Une personne qualifiée est une personne disposant de compétences et de connaissances dans le
domaine de la construction, du fonctionnement et de l’installation des équipements électriques, et
ayant suivi une formation en sécurité leur permettant d’identifier et d’éviter les risques encourus.

10 33003874 02/2015
A propos de ce manuel

Présentation

Objectif du document
Ce document décrit les fonctions et blocs fonction de la bibliothèque sécurité.

Champ d’application
Ce document est applicable à partir de Unity Pro 7.0.
Ce document est applicable à Unity Pro XLS uniquement.

Document(s) à consulter

Titre de documentation Référence


Modicon Quantum Safety Reference Manual 33003879
Spécificités de Unity Pro XLS 33003885
Manuel des modes de fonctionnement de Unity 33003101
Unity Pro - Manuel de référence Langages et structure de 35006144
programmation
CEI 61131-2 Automates programmables, partie 2 : spécifications et –
essais des équipements, seconde édition 2003-02
CEI 61508 Sécurité fonctionnelle des systèmes –
électriques/électroniques/électroniques programmables relatifs à la
sécurité, édition 2.0
CEI 61511 Sécurité fonctionnelle – Systèmes instrumentés de –
sécurité pour le domaine de la production par processus, première
édition

Vous pouvez télécharger ces publications et autres informations techniques depuis notre site web
à l’adresse : www.schneider-electric.com.

33003874 02/2015 11
Information spécifique au produit

AVERTISSEMENT
COMPORTEMENT IMPREVU DE L’EQUIPEMENT
N’utilisez que des logiciels approuvés par Schneider Electric.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.

AVERTISSEMENT
COMPORTEMENT IMPREVU DE L’EQUIPEMENT
 Consultez le document CEI 61508, « Sécurité fonctionnelle des systèmes
électriques/électroniques/électroniques programmables relatifs à la sécuritȆª.
 Veillez à bien comprendre la définition des applications et environnements du niveau
d’intégrité de sécurité (SIL) 3 de la norme CEI 61508 Parties 1-7, édition 2.0.
 Les exigences SIL sont basées sur les normes en vigueur au moment de la certification.
 Ne dépassez pas les spécifications SIL 3 dans l’application de ce produit.
 Les termes figurant dans la liste ci-dessous sont utilisés dans ce document mais ne
concernent que le niveau SIL 3.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.

Termes utilisés dans ce document :


 Certifié
 Défaillance (sauf dans la conséquence énoncée dans un message de sécurité)
 Défaut
 Non perturbateur
 Automate de sécurité Quantum
 UC de sécurité Quantum
 Entrées analogiques de sécurité
 Module(s) analogique(s) de sécurité
 UC de sécurité
 Entrées numériques de sécurité
 Modules numériques de sécurité
 Sorties numériques de sécurité
 FFB de sécurité
 Micrologiciel de sécurité
 (Module(s) d’) E/S de sécurité
 Bibliothèque de sécurité
 Logiciel de sécurité
 Zone mémoire de sécurité

12 33003874 02/2015
 Modules de sécurité
 Mode de sécurité
 Sorties de sécurité
 Automate de sécurité
 Alimentation de sécurité
 Programmation de sécurité
 Sécurité Quantum
 Application(s) de sécurité
 E/S distantes de sécurité
 Variable de sécurité

33003874 02/2015 13
14 33003874 02/2015
Unity Pro
Informations générales
33003874 02/2015

Partie I
Informations générales

Informations générales

Vue d’ensemble
Cette section contient des informations générales concernant la bibliothèque sécurité.

Contenu de cette partie


Cette partie contient les chapitres suivants :
Chapitre Titre du chapitre Page
1 Types de module et leur utilisation 17
2 Disponibilité des blocs sur les différentes plates-formes 23

33003874 02/2015 15
Informations générales

16 33003874 02/2015
Unity Pro
Types de module et leur utilisation
33003874 02/2015

Chapitre 1
Types de module et leur utilisation

Types de module et leur utilisation

Vue d’ensemble
Ce chapitre décrit les différents types de module et leur utilisation.

Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet Page
Types de bloc 18
Construction d’un FFB 19
EN et ENO 21

33003874 02/2015 17
Types de module et leur utilisation

Types de bloc

Types de bloc
Différents types de bloc sont utilisés dans Unity Pro. FFB est le terme générique pour désigner
tous les types de bloc.
Les différents types de bloc sont les suivants :
 Fonction élémentaire (EF)
 Bloc fonction élémentaire (EFB)

Fonction élémentaire
Les fonctions élémentaires (EF) n’ont aucune mémorisation d’état interne. Si les valeurs des
entrées sont similaires, la valeur en sortie est identique pour toutes les exécutions de la fonction.
Par exemple, l’addition de deux valeurs donne le même résultat à chaque exécution de la fonction.
Une fonction élémentaire est représentée dans les langages graphiques (FBD et LD) sous la forme
d’un rectangle avec des entrées et une sortie. Les entrées sont toujours représentées à gauche
du rectangle et les sorties à droite. Le nom de la fonction, c’est-à-dire le type de fonction, est affiché
au centre du rectangle.
Pour certaines fonctions élémentaires, il est possible d’augmenter le nombre d’entrées.

Bloc fonction élémentaire


Les blocs fonction élémentaires (EFB) possèdent un état interne. Si les valeurs des entrées sont
identiques, les valeurs en sortie peuvent différer à chaque exécution du bloc fonction. Pour un
compteur, par exemple, la valeur en sortie est incrémentée.
Un bloc fonction élémentaire est représenté dans les langages graphiques (FBD et LD) sous la
forme d’un rectangle avec des entrées et des sorties. Les entrées sont toujours représentées à
gauche du rectangle et les sorties à droite. Le nom du bloc fonction, c’est-à-dire le type de bloc
fonction, est affiché au centre du rectangle. Le nom d’instance est affiché au-dessus du rectangle.

18 33003874 02/2015
Types de module et leur utilisation

Construction d’un FFB

Structure
Un FFB se compose d’une opération (nom du FFB), des opérandes nécessaires à l’opération
(paramètres réels et formels) et d’un nom d’instance pour les blocs fonction élémentaires ou
dérivés.
Appel d’un bloc fonction dans le langage de programmation FBD :

Fonctionnement
L’opération détermine la fonction qui doit être exécutée par le FFB, par exemple registre à
décalage ou opérations de conversion.

Opérande
L’opérande détermine avec quoi l’opération doit être exécutée. Dans les FFB, il est constitué de
paramètres formels et de paramètres réels.

Paramètres formels et réels


Des entrées et des sorties permettent de transférer les valeurs vers ou depuis un FFB. Elles sont
appelées paramètres formels.
Les paramètres formels sont liés à des objets qui comprennent les états courants du processus.
Ces objets sont appelés paramètres réels.

33003874 02/2015 19
Types de module et leur utilisation

Durant l’exécution du programme, les valeurs sont transmises, par le biais des paramètres réels,
du processus au FFB, et renvoyées à nouveau en sortie après le traitement.
Le type de données du paramètre réel doit correspondre au type de données de l’entrée/de la
sortie (paramètre formel). La seule exception concerne les entrées/sorties génériques dont le type
de données est déterminé par le paramètre réel. On choisira un type de données adapté pour le
bloc fonction, si tous les paramètres réels sont constitués de valeurs littérales.

20 33003874 02/2015
Types de module et leur utilisation

EN et ENO

Description
Une entrée EN et une sortie ENO peuvent être configurées pour tous les FFB.

Si la valeur de EN est... alors…


0 lorsque le FFB est appelé, les algorithmes définis par le FFB ne sont pas exécutés et la valeur ENO est
réglée sur 0.
1 lorsque le FFB est appelé, les algorithmes définis par le FFB sont exécutés. Une fois les algorithmes
exécutés, la valeur de ENO est réglée sur 1.
Remarque : en cas d’erreur lors de l’exécution de ces algorithmes, la sortie
ENO est réglée sur 0.

Exemples
Les tableaux suivants présentent des exemples dans lesquels la sortie ENO est réglée sur 0 (car
EN = 0 ou en cas d’erreur lors de l’exécution).
Blocs fonction

Exemple Description
Traitement des paramètres EN/ENO avec des blocs fonction qui Si l’entrée EN de FunctionBlock_1 est
possèdent une liaison en tant que paramètre de sortie : réglée sur 0, la connexion de sortie OUT de
FunctionBlock_1 conserve l’état qu’elle
avait lors du dernier cycle exécuté
correctement.

Traitement des paramètres EN/ENO avec des blocs fonction qui Si l’entrée EN de FunctionBlock_1 est
possèdent une variable et une liaison en tant que paramètres de réglée sur 0 :
sortie :  la connexion de sortie OUT de
FunctionBlock_1 conserve l’état
qu’elle avait lors du dernier cycle exécuté
correctement ;
 la variable OUT1 présente sur la même
broche conserve son état précédent ou
peut être modifiée de manière externe
sans incidence sur la connexion ;
 la variable et la liaison sont enregistrées
indépendamment l’une de l’autre.

Fonctions/procédures
Comme spécifié dans la norme CEI 61131-3, les sorties de fonctions désactivées (entrée EN égale
à 0) ne sont pas définies. Cette caractéristique s’applique également aux procédures.

33003874 02/2015 21
Types de module et leur utilisation

Voici une explication des états des sorties dans un tel cas :

Exemple Description
Traitement des paramètres EN/ENO avec des blocs fonction/procédure Si l’entrée EN de Function/Procedure_1
qui possèdent (uniquement) une liaison en tant que paramètre de est réglée sur 0, la connexion de sortie OUT
sortie : de Function/Procedure_1 est également
réglée sur 0.

Traitement des paramètres EN/ENO avec des blocs fonction/procédure Si l’entrée EN de Function/Procedure_1
qui possèdent une variable et une liaison en tant que paramètres de est réglée sur 0 :
sortie :  la connexion de sortie OUT de
Function/Procedure_1 est
également réglée sur 0 ;
 la variable OUT1 sur la même broche,
conserve sa valeur précédente.
Remarque : ainsi, la variable et la liaison
peuvent avoir des valeurs différentes.

Le comportement de la sortie des FFB ne dépend pas de la façon dont les FFB sont appelés (sans
EN/ENO ou avec EN=1).

Appel FFB conditionnel/inconditionnel


Un FFB peut être appelé de manière conditionnelle ou inconditionnelle. La condition
est établie par pré-connexion de l’entrée EN.
 Lorsqu’une entrée EN est connectée, le FFB est traité si EN = 1.
 Si l’entrée EN est affichée, masquée et marquée comme TRUE ou affichée et non occupée, le
FFB est traité.

22 33003874 02/2015
Unity Pro
Disponibilité des blocs
33003874 02/2015

Chapitre 2
Disponibilité des blocs sur les différentes plates-formes

Disponibilité des blocs sur les différentes plates-formes

Disponibilité du bloc sur les différentes plates-formes

Introduction
Tous les blocs ne sont pas disponibles sur toutes les plates-formes matérielles. Les tableaux
suivants indiquent les blocs disponibles sur votre plate-forme.

Comparaison
Disponibilité des blocs

Nom de bloc Type de Défini dans la Premium/ Quantum Sécurité


bloc norme CEI 61131-3 M340 Quantum
S_EQ_*** EF + - - +
S_GE_*** EF + - - +
S_GT_*** EF + - - +
S_LE_*** EF + - - +
S_LT_*** EF + - - +
S_NE_*** EF + - - +

Légende :
+ Oui
- Non

Haute disponibilité
Disponibilité des blocs

Nom de bloc Type de Défini dans la Premium/ Quantum Sécurité


bloc norme CEI 61131-3 M340 Quantum
S_DISIL2 EF - - - +
S_AISIL2 EF - - - +

Légende :
+ Oui
- Non

33003874 02/2015 23
Disponibilité des blocs

Redondance d’UC
Disponibilité des blocs

Nom de bloc Type de Défini dans la Premium/ Quantum Sécurité


bloc norme CEI 61131-3 M340 Quantum
S_HSBY_SWAP EF - - - +

Légende :
+ Oui
- Non

Logique
Disponibilité des blocs

Nom de bloc Type de Défini dans la Premium/ Quantum Sécurité


bloc norme CEI 61131-3 M340 Quantum
S_AND_*** EF + - - +
S_F_TRIG EFB + - - +
S_NOT EF + - - +
S_OR_*** EF + - - +
S_R_TRIG EFB + - - +
S_ROL_*** EF + - - +
S_ROR_*** EF + - - +
S_RS EFB + - - +
S_SHL_*** EF + - - +
S_SHR_*** EF + - - +
S_SR EFB + - - +
S_XOR_*** EF + - - +

Légende :
+ Oui
- Non

24 33003874 02/2015
Disponibilité des blocs

Mathématiques
Disponibilité des blocs

Nom de bloc Type de Défini dans la Premium/ Quantum Sécurité


bloc norme CEI 61131-3 M340 Quantum
S_ABS_*** EF + - - +
S_ADD_*** EF + - - +
S_DIV_*** EF + - - +
S_MOVE_*** EF + - - +
S_SMOVE_BIT EF - - - +
S_SMOVE_WORD EF - - - +
S_MUL_*** EF + - - +
S_NEG_*** EF + - - +
S_SIGN_*** EF + - - +
S_SQRT_REAL EF + - - +
S_SUB_*** EF + - - +

Légende :
+ Oui
- Non

ES_Quantum
Disponibilité des blocs

Nom de bloc Type de Défini dans la Premium/ Quantum Sécurité


bloc norme CEI 61131-3 M340 Quantum
NI_DROP EFB - - - +
NI_QUANTUM EFB - - - +
NI_ERT_854_20 EFB - - - +

Légende :
+ Oui
- Non

33003874 02/2015 25
Disponibilité des blocs

Statistique
Disponibilité des blocs

Nom de bloc Type de Défini dans la Premium/ Quantum Sécurité


bloc norme CEI 61131-3 M340 Quantum
S_LIMIT_*** EF + - - +
S_MAX_*** EF + - - +
S_MIN_*** EF + - - +
S_MUX_*** EF + - - +
S_SEL EF + - - +

Légende :
+ Oui
- Non

Temporisateurs et compteurs
Disponibilité des blocs

Nom de bloc Type de Défini dans la Premium/ Quantum Sécurité


bloc norme CEI 61131-3 M340 Quantum
S_CTD_*** EFB + - - +
S_CTU_*** EFB + - - +
S_CTUD_*** EFB + - - +
S_TOF EFB + - - +
S_TON EFB + - - +
S_TP EFB + - - +

Légende :
+ Oui
- Non

26 33003874 02/2015
Disponibilité des blocs

Type à type
Disponibilité des blocs

Nom de bloc Type de Défini dans la Premium/ Quantum Sécurité


bloc norme CEI 61131-3 M340 Quantum
S_BIT_TO_BYTE EF + - - +
S_BIT_TO_WORD EF + - - +
S_BOOL_TO_*** EF + - - +
S_BYTE_TO_BIT EF + - - +
S_BYTE_TO_*** EF + - - +
S_DINT_TO_*** EF + - - +
S_DWORD_TO_*** EF + - - +
S_INT_TO_*** EF + - - +
S_TIME_TO_UDINT EF + - - +
S_REAL_TO_*** EF + - - +
S_UDINT_TO_*** EF + - - +
S_UINT_TO_*** EF + - - +
S_WORD_TO_BIT EF + - - +
S_WORD_TO_*** EF + - - +

Légende :
+ Oui
- Non

Communication
Disponibilité des blocs

Nom de bloc Type de Défini dans la Premium/ Quantum Sécurité


bloc norme CEI 61131-3 M340 Quantum
S_WR_ETH DFB - - - +
S_RD_ETH DFB - - - +

Légende :
+ Oui
- Non

33003874 02/2015 27
Disponibilité des blocs

28 33003874 02/2015
Unity Pro
Comparaison
33003874 02/2015

Partie II
Comparaison

Comparaison

Introduction
Cette section décrit les fonctions et blocs fonction élémentaires de la famille Comparaison.

Contenu de cette partie


Cette partie contient les chapitres suivants :
Chapitre Titre du chapitre Page
3 S_EQ_*** : Egal à 31
4 S_GE_*** : Supérieur ou égal à 33
5 S_GT_*** : Supérieur à 35
6 S_LE_*** : Supérieur ou égal à 37
7 S_LT_*** : Inférieur à 39
8 S_NE_*** : Non égal à 41

33003874 02/2015 29
Comparaison

30 33003874 02/2015
Unity Pro
S_EQ_***
33003874 02/2015

Chapitre 3
S_EQ_*** : Egal à

S_EQ_*** : Egal à

Description

Description de la fonction
La fonction vérifie l’égalité des entrées, par exemple la sortie passe à 1 si toutes les entrées sont
égales. Dans le cas contraire, la sortie reste sur 0.
Les types de données de l’ensemble des valeurs d’entrée doivent être identiques.
Le nombre d’entrées peut atteindre 32.
Lors de la comparaison de variables de types de données BOOL, BYTE, WORD, DWORD, INT, DINT,
UINT, UDINT et REAL, les valeurs sont comparées les unes par rapport aux autres.
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.

Formule
OUT = 1, si (IN1 = IN2) & (IN2 = IN3) & .. & (IN (n-1) = IN n)

Fonctions disponibles
Liste des fonctions disponibles
 S_EQ_BOOL
 S_EQ_BYTE
 S_EQ_WORD
 S_EQ_DWORD
 S_EQ_INT
 S_EQ_DINT
 S_EQ_UINT
 S_EQ_UDINT
 S_EQ_REAL

Représentation en FBD
Représentation

33003874 02/2015 31
S_EQ_***

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


Value1 BOOL, BYTE, WORD, 1. entrée
DWORD, INT, DINT,
UINT, UDINT, REAL
Value2 BOOL, BYTE, WORD, 2. entrée
DWORD, INT, DINT,
UINT, UDINT, REAL
Valuen BOOL, BYTE, WORD, n. entrée
DWORD, INT, DINT, n = max 32
UINT, UDINT, REAL

Description du paramètre de sortie

Paramètre Type de données Signification


Result BOOL sortie

32 33003874 02/2015
Unity Pro
S_GE_***
33003874 02/2015

Chapitre 4
S_GE_*** : Supérieur ou égal à

S_GE_*** : Supérieur ou égal à

Description

Description de la fonction
Cette fonction vérifie les valeurs des entrées suivantes pour une séquence ou une égalité
décroissante.
Les types de données de l’ensemble des valeurs d’entrée doivent être identiques.
Le nombre d’entrées peut atteindre 32.
Lors de la comparaison de variables de types de données BOOL, BYTE, WORD, DWORD, INT, DINT,
UINT, UDINT et REAL, les valeurs sont comparées les unes par rapport aux autres.
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.

Formule
OUT = 1, si (IN1 ≥ IN2) & (IN2 ≥ IN3) & .. & (IN (n-1) ≥ IN n)

Fonctions disponibles
Liste des fonctions disponibles
 S_GE_BOOL
 S_GE_BYTE
 S_GE_WORD
 S_GE_DWORD
 S_GE_INT
 S_GE_DINT
 S_GE_UINT
 S_GE_UDINT
 S_GE_REAL

Représentation en FBD
Représentation

33003874 02/2015 33
S_GE_***

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


Value1 BOOL, BYTE, WORD, 1. entrée
DWORD, INT, DINT,
UINT, UDINT, REAL
Value2 BOOL, BYTE, WORD, 2. entrée
DWORD, INT, DINT,
UINT, UDINT, REAL
Valuen BOOL, BYTE, WORD, n. entrée
DWORD, INT, DINT, n = max 32
UINT, UDINT, REAL

Description du paramètre de sortie

Paramètre Type de données Signification


Résultat BOOL sortie

34 33003874 02/2015
Unity Pro
S_GT_***
33003874 02/2015

Chapitre 5
S_GT_*** : Supérieur à

S_GT_*** : Supérieur à

Description

Description de la fonction
Cette fonction vérifie les valeurs des entrées suivantes pour une séquence décroissante.
Les types de données de l’ensemble des valeurs d’entrée doivent être identiques.
Le nombre d’entrées peut atteindre 32.
Lors de la comparaison de variables de types de données BOOL, BYTE, WORD, DWORD, INT, DINT,
UINT, UDINT et REAL, les valeurs sont comparées les unes par rapport aux autres.
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.

Formule
OUT = 1, si (IN1 > IN2) & (IN2 > IN3) & .. (IN (n-1) > IN n)

Fonctions disponibles
Liste des fonctions disponibles
 S_GT_BOOL
 S_GT_BYTE
 S_GT_WORD
 S_GT_DWORD
 S_GT_INT
 S_GT_DINT
 S_GT_UINT
 S_GT_UDINT
 S_GT_REAL

Représentation en FBD
Représentation

33003874 02/2015 35
S_GT_***

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


Value1 BOOL, BYTE, WORD, 1. entrée
DWORD, INT, DINT,
UINT, UDINT, REAL
Value2 BOOL, BYTE, WORD, 2. entrée
DWORD, INT, DINT,
UINT, UDINT, REAL
Valuen BOOL, BYTE, WORD, n. entrée
DWORD, INT, DINT, n = max 32
UINT, UDINT, REAL

Description du paramètre de sortie

Paramètre Type de données Signification


Result BOOL sortie

36 33003874 02/2015
Unity Pro
S_LE_***
33003874 02/2015

Chapitre 6
S_LE_*** : Supérieur ou égal à

S_LE_*** : Supérieur ou égal à

Description

Description de la fonction
Cette fonction vérifie les valeurs des entrées suivantes pour une séquence ou une égalité
croissante.
Les types de données de l’ensemble des valeurs d’entrée doivent être identiques.
Le nombre d’entrées peut atteindre 32.
Lors de la comparaison de variables de types de données BOOL, BYTE, WORD, DWORD, INT, DINT,
UINT, UDINT et REAL, les valeurs sont comparées les unes par rapport aux autres.
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.

Formule
OUT = 1, si (IN1 ≤IN2) & (IN2 ≤IN3) & .. & (IN (n-1) ≤IN n)

Fonctions disponibles
Liste des fonctions disponibles
 S_LE_BOOL
 S_LE_BYTE
 S_LE_WORD
 S_LE_DWORD
 S_LE_INT
 S_LE_DINT
 S_LE_UINT
 S_LE_UDINT
 S_LE_REAL

Représentation en FBD
Représentation

33003874 02/2015 37
S_LE_***

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


Value1 BOOL, BYTE, WORD, 1. entrée
DWORD, INT, DINT,
UINT, UDINT, REAL
Value2 BOOL, BYTE, WORD, 2. entrée
DWORD, INT, DINT,
UINT, UDINT, REAL
Valuen BOOL, BYTE, WORD, n. entrée
DWORD, INT, DINT, n = max 32
UINT, UDINT, REAL

Description du paramètre de sortie

Paramètre Type de données Signification


Result BOOL sortie

38 33003874 02/2015
Unity Pro
S_LT_***
33003874 02/2015

Chapitre 7
S_LT_*** : Inférieur à

S_LT_*** : Inférieur à

Description

Description de la fonction
Cette fonction vérifie les valeurs des entrées suivantes pour une séquence croissante.
Les types de données de l’ensemble des valeurs d’entrée doivent être identiques.
Le nombre d’entrées peut atteindre 32.
Lors de la comparaison de variables de types de données BOOL, BYTE, WORD, DWORD, INT, DINT,
UINT, UDINT et REAL, les valeurs sont comparées les unes par rapport aux autres.
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.

Formule
OUT = 1, si (IN1 < IN2) & (IN2 < IN3) & .. & (IN (n-1) < IN n)

Fonctions disponibles
Liste des fonctions disponibles
 S_LT_BOOL
 S_LT_BYTE
 S_LT_WORD
 S_LT_DWORD
 S_LT_INT
 S_LT_DINT
 S_LT_UINT
 S_LT_UDINT
 S_LT_REAL

Représentation en FBD
Représentation

33003874 02/2015 39
S_LT_***

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


Value1 BOOL, BYTE, WORD, 1. valeur en entrée
DWORD, INT, DINT,
UINT, UDINT, REAL
Value2 BOOL, BYTE, WORD, 2. valeur en entrée
DWORD, INT, DINT,
UINT, UDINT, REAL
Valuen BOOL, BYTE, WORD, n. valeur en entrée
DWORD, INT, DINT, n = max 32
UINT, UDINT, REAL

Description du paramètre de sortie

Paramètre Type de données Signification


Result BOOL valeur en sortie

40 33003874 02/2015
Unity Pro
S_NE_***
33003874 02/2015

Chapitre 8
S_NE_*** : Non égal à

S_NE_*** : Non égal à

Description

Description de la fonction
La fonction vérifie les valeurs d’entrée pour l’inégalité.
Les types de données des valeurs d’entrée doivent être identiques.
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.

Formule
OUT = 1, si IN1 < > IN2

Fonctions disponibles
Liste des fonctions disponibles
 S_NE_BOOL
 S_NE_BYTE
 S_NE_WORD
 S_NE_DWORD
 S_NE_INT
 S_NE_DINT
 S_NE_UINT
 S_NE_UDINT
 S_NE_REAL

Représentation en FBD
Représentation

33003874 02/2015 41
S_NE_***

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


Value1 BOOL, BYTE, WORD, 1. entrée
DWORD, INT, DINT,
UINT, UDINT, REAL
Value2 BOOL, BYTE, WORD, 2. entrée
DWORD, INT, DINT,
UINT, UDINT, REAL

Description du paramètre de sortie

Paramètre Type de données Signification


Result BOOL sortie

42 33003874 02/2015
Unity Pro
Haute disponibilité
33003874 02/2015

Partie III
Haute disponibilité

Haute disponibilité

Introduction
Cette section décrit les fonctions et blocs fonction élémentaires de la famille Haute
disponibilité.

Contenu de cette partie


Cette partie contient les chapitres suivants :
Chapitre Titre du chapitre Page
9 S_DISIL2 : Haute disponibilité pour des entrées numériques de sécurité 45
10 S_AISIL2 : Haute disponibilité pour les entrées analogiques de sécurité 65

33003874 02/2015 43
Haute disponibilité

44 33003874 02/2015
Unity Pro
S_DISIL2
33003874 02/2015

Chapitre 9
S_DISIL2 : Haute disponibilité pour des entrées numériques de sécurité

S_DISIL2 : Haute disponibilité pour des entrées


numériques de sécurité

Introduction
Ce chapitre décrit le bloc S_DISIL2.

Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet Page
Description 46
Configuration matérielle 55
Configuration logicielle 58

33003874 02/2015 45
S_DISIL2

Description

Description de la fonction
Ce bloc fonction est utilisé dans une architecture à haute disponibilité avec des modules d’entrées
numériques de sécurité redondants (140 SDI 953 00S). Il compare en permanence l’intégrité des
deux modules SDI et sélectionne les données à extraire à partir de cette comparaison. Les
données du module 1 sont utilisées par défaut tant qu’elles sont correctes.
Pour améliorer la disponibilité à l’aide des blocs fonction de sécurité S_DISIL2, il est recommandé
de respecter les règles suivantes :
 Utilisez deux modules SDI 140 SDI 953 00S. Pour plus d’informations sur ce module, consultez
le Guide de référence des E/S numériques et analogiques des automates Quantum avec Unity
Pro (voir Quantum avec Unity Pro, des entrées/sorties TOR et analogiques, Manuel de
référence).
 Utilisez deux stations d’E/S distantes, contenant chacune un des modules SDI.
 Utilisez un ou deux capteurs.

Exemples d’architectures à haute disponibilité


Les illustrations ci-après fournissent des exemples d’architectures à haute disponibilité avec un ou
deux capteurs.
Architecture A : 2 capteurs, 2 modules d’entrées de sécurité, 2 stations d’E/S distantes

1 rack local
2 stations d’E/S distantes

Dans l’architecture A, le premier module SDI traite le signal provenant du capteur S1, tandis que
le deuxième traite le signal provenant du capteur S2.

46 33003874 02/2015
S_DISIL2

Architecture B : 1 capteur, 2 modules d’entrées de sécurité, 2 stations d’E/S distantes

1 rack local
2 stations d’E/S distantes

Dans l’architecture B, les deux modules SDI traitent le même signal provenant du capteur S.
Si l’un des modules SDI n’est plus opérationnel, l’autre transmet à l’UC le signal provenant du
capteur.

Représentation en FBD
Représentation

33003874 02/2015 47
S_DISIL2

Représentation en LD
Représentation

Description des paramètres


Le bloc fonction S_DISIL2 est constitué des paramètres d’entrée et de sortie ci-après.
Paramètres d’entrée :
 DATA
 HEALTH
Paramètres de sortie :
 OUT
 VALID
 ERR

48 33003874 02/2015
S_DISIL2

Paramètres d’entrée
Le bloc fonction extrait les données et les informations de validité de chaque module SDI.
Description générale des paramètres DATA et HEALTH

Paramètre Type de Signification


données
DATA WORD Chaque bit représente l’une des 16 voies du module SDI.
HEALTH WORD Chaque bit représente la validité de l’une des voies du module
SDI.
1:
voie valide ou correcte
0:
voie non valide ou incorrecte
Les informations de validité sont une combinaison de :
 circuit ouvert ;
 état de sécurité ;
 coupures d’alimentation process.

Extraction des informations DATA et HEALTH des modules SDI


Les paramètres DATA1, DATA2 et HEALTH1, HEALTH2 peuvent être extraits des premier et
septième mots du module SDI respectif.

Paramètre Xème mot du Signification


module SDI
DATA1 premier Ce mot contient les données des 16 voies du module SDI 1.
HEALTH1 septième Ce mot contient les données de validité des 16 voies du module
SDI 1.
DATA2 premier Ce mot contient les données des 16 voies du module SDI 2.
HEALTH2 septième Ce mot contient les données de validité des 16 voies du module
SDI 2.

NOTE : il existe une différence de paramètre HEALTH entre les blocs fonction S_DISIL2 et
S_AISIL2 : S_AISIL2 fonctionnant uniquement avec une voie du module SAI, le paramètre
HEALTH est constitué uniquement d’un bit qui représente l’état de validité d’une voie analogique.

Représentations graphiques de l’adressage DATA et HEALTH


Les paramètres de bloc fonction de sécurité S_DISIL2 DATA et HEALTH sont associés respecti-
vement au mot 1 et au mot 2 sur un module SDI et représentent les 16 bits de données et 16 bits
de validité des 16 voies du module.

33003874 02/2015 49
S_DISIL2

Module SDI : adressage du mot 1 (DATA)

Module SDI : adressage du mot 2 (HEALTH)

Bit=1 voie valide


Bit=0 voie non valide (câble rompu, voie incorrecte, coupure d’alimentation process, échec du CRC, numéro
d’échange incorrect)

NOTE : la voie 1 est affectée au bit 15.

50 33003874 02/2015
S_DISIL2

Paramètres de sortie
Paramètre de sortie OUT

Paramètre Type de Signification


données
OUT WORD Le paramètre OUT contient l’évaluation des 16 voies des deux
modules SDI.
Par défaut, le bloc fonction commence par examiner les voies
du module 1. Si elles sont valides, leurs valeurs de données
sont utilisées pour le paramètre OUT.
Si l’une des voies du module 1 n’est pas valide, la voie
respective du module 2 est vérifiée. Si cette voie du module 2
est valide, sa valeur de données est utilisée pour le paramètre
OUT.
Résultat : la valeur OUT peut être une combinaison de valeurs
issues des modules 1 et 2 si certaines voies du module 1 ne
sont pas valides.
Si une voie est non valide dans le module 1 comme dans le
module 2, le bit de cette voie dans le paramètre OUT est réglé
sur 0 (état de sécurité).
Si le module 1 est défectueux en totalité, les données de toutes
les voies sont extraites du module 2 (si celui-ci est valide).

Exemple : paramètre OUT pour la voie 1

Module 1, voie 1 Module 2, voie 1 Valeur de données OUT


valide non examinée valeur du module 1, voie 1
non valide valide valeur du module 2, voie 1
non valide non valide = 0 (état de sécurité)

Paramètres de sortie VALID et ERR

Paramètre Type de Signification


données
VALID WORD Le paramètre VALID indique la validité des 16 voies
individuellement dans les 16 bits du mot VALID.
Un bit VALID a la valeur 1 si au moins une des voies des deux
modules est valide.
ERR WORD Ce mot renvoie une valeur comprise entre 0 et 7 selon la santé
des deux modules et qu’il existe une divergence entre les
données des deux modules.

NOTE : le mot ERR n’indique pas la voie défectueuse sur le module non valide ou quelle voie
présente une divergence. Pour le déterminer, il suffit de consulter la valeur binaire du mot DATA et
HEALTH correspondant.

33003874 02/2015 51
S_DISIL2

Description du comportement du bloc


Récapitulatif : pour chaque bit des paramètres DATA1/2 et HEALTH1/2, les règles suivantes
s’appliquent :

Si... Alors...
HEALTH1 est valide DATA1 est utilisé pour OUT.
HEALTH1 n’est pas valide HEALTH2 est vérifié et s’il est valide, DATA2
est utilisé pour OUT.
HEALTH1 et HEALTH2 ne sont pas valides OUT est réglé sur 0 (état de sécurité).
HEALTH1 et HEALTH2 sont valides Le bit de DATA1 est utilisé pour OUT, qu’il soit
ou non différent de DATA2. Le mot d’erreur
ERR fournit des informations sur la
divergence entre DATA1 et DATA2.

Conclusion : le module 1, s’il est valide, est le module maître.


Si le bit du mot de validité HEALTH1 du module 1 SDI est valide, le bit correspondant dans DATA1
sera copié vers le mot de sortie OUT de S_DISIL2.

Tableau des états


Ce tableau fournit les états d’une seule voie. Chaque voie est traitée individuellement. Seul le code
d’erreur ERR indique l’état général des modules (voir ci-après).

DATA1 HEALTH1 DATA2 HEALTH2 OUT OUT. VALID ERR Remarque


Data1. Health1. Data2. Health2. Voie X VALID.
Voie X Voie X Voie X Voie X Voie X
0 0 0 0 0 0 Mod1, Mod2 état de sécurité
défectueux
0 0 0 1 0 1 Mod1 défectueux utiliser la valeur
de Mod2
0 0 1 0 0 0 Mod1, Mod2 état de sécurité
défectueux
0 0 1 1 1 1 Mod1 défectueux utiliser la valeur
de Mod2
0 1 0 0 0 1 Mod2 défectueux utiliser la valeur
de Mod1
0 1 0 1 0 1 OK valeurs
cohérentes
0 1 1 0 0 1 Mod2 défectueux utiliser la valeur
de Mod1
0 1 1 1 0 1 divergence utiliser la valeur
de Mod1

52 33003874 02/2015
S_DISIL2

DATA1 HEALTH1 DATA2 HEALTH2 OUT OUT. VALID ERR Remarque


Data1. Health1. Data2. Health2. Voie X VALID.
Voie X Voie X Voie X Voie X Voie X
1 0 0 0 0 0 Mod1, Mod2 état de sécurité
défectueux
1 0 0 1 0 1 Mod1 défectueux utiliser la valeur
de Mod2
1 0 1 0 0 0 Mod1, Mod2 état de sécurité
défectueux
1 0 1 1 1 1 Mod1 défectueux utiliser la valeur
de Mod2
1 1 0 0 1 1 Mod2 défectueux utiliser la valeur
de Mod1
1 1 0 1 1 1 divergence utiliser la valeur
de Mod1
1 1 1 0 1 1 Mod2 défectueux utiliser la valeur
de Mod1
1 1 1 1 1 1 OK valeurs
cohérentes

Mod1 Module d’entrées numériques 1


Mod2 Module d’entrées numériques 2

Tableau des codes d’erreur


Le tableau suivant présente les codes d’erreur :

Code d’erreur Signification


0 OK
Tous les bits de validité du module 1 sont corrects, de même que ceux du
module 2.
Tous les bits de données du module 1 et du module 2 sont égaux.
1 Au moins un bit de validité du module 1 est incorrect et tous les bits de
validité du module 2 sont corrects.
Tous les bits de données du module 1 et du module 2 sont égaux.
2 Tous les bits de validité du module 1 sont corrects et au moins un bit de
validité du module 2 est incorrect.
Tous les bits de données du module 1 et du module 2 sont égaux.
3 Au moins un bit de validité du module 1 est incorrect et au moins un bit de
validité du module 2 est incorrect.
Tous les bits de données du module 1 et du module 2 sont égaux.

33003874 02/2015 53
S_DISIL2

Code d’erreur Signification


4 Une divergence existe entre les données d’entrée.
Tous les bits de validité du module 1 sont corrects, de même que ceux du
module 2.
Au moins un bit de données du module 1 est différent du bit de données du
module 2.
5 Divergence et au moins un bit de validité du module 1 est incorrect.
Au moins un bit de validité du module 1 est incorrect et tous les bits de
validité du module 2 sont corrects.
Au moins un bit de données du module 1 est différent du bit de données du
module 2 (pas nécessairement le bit de données de la voie non valide).
6 Divergence et au moins un bit de validité du module 2 est incorrect.
Tous les bits de validité du module 1 sont corrects et au moins un bit de
validité du module 2 est incorrect.
Au moins un bit de données du module 1 est différent du bit de données du
module 2 (pas nécessairement le bit de données de la voie non valide).
7 Différence et au moins un bit de validité du module 1 et du module 2 est
incorrect.
Au moins un bit de validité du module 1 est incorrect et au moins un bit de
validité du module 2 est incorrect.
Au moins un bit de données du module 1 est différent du bit de données du
module 2 (pas nécessairement le bit de données de la voie non valide).

Bits de défaut
Le tableau suivant présente les différents bits de défaut significatifs :

Bit de défaut Signification


bit0 au moins une voie du module 1 est
incorrecte
bit 1 au moins une voie du module 2 est
incorrecte
bit 2 divergence entre DATA1 et DATA2

54 33003874 02/2015
S_DISIL2

Configuration matérielle

Présentation
Cette section fournit des exemples de configuration matérielle.

Exemple d’application
L’application ci-après, par exemple, peut être créée et exploitée.
Exemple de configuration

1 Module SDI 1
2 Module SDI 2

33003874 02/2015 55
S_DISIL2

Exemple de configuration matérielle avec deux capteurs


L’illustration ci-après est un exemple d’application avec deux capteurs.

1 rack local
2 stations d’E/S distantes

Dans les applications qui utilisent deux capteurs pour mesurer la valeur de process, les deux
capteurs doivent être reliés à la même voie sur les deux modules.
Exemple : relier le capteur 1 à la voie X sur le module 1 ET le capteur 2 à la voie X sur le module 2.

Exemple de configuration matérielle avec un capteur


L’illustration ci-après est un exemple d’application avec un capteur.

1 rack local
2 stations d’E/S distantes

Dans les applications qui utilisent un seul capteur pour mesurer la valeur de process, le capteur
doit être relié à la même voie sur les deux modules.

56 33003874 02/2015
S_DISIL2

Extraction des adresses physiques via Unity XLS Pro


Les deux modules SDI sont affectés à des valeurs de type entier (%IW). Vous pouvez afficher les
adresses physiques de chaque module SDI dans la fenêtre de configuration de Unity XLS Pro.
Adresses physiques du module SDI 1 : %IW1...%IW7

Adresses physiques du module SDI 2 : %IW8...%IW14

Dans l’exemple de configuration matérielle présenté dans ce document, les données requises de
chaque module sont les suivantes :

Module SDI DATA HEALTH


Module SDI 1 DATA1 : HEALTH1 :
%IW1 %IW7
Module SDI 2 DATA2 : HEALTH2 :
%IW8 %IW14

Après avoir préparé la configuration matérielle, créez les variables nécessaires dans l’Editeur de
données Unity Pro XLS, conformément à la description fournie dans la section qui suit.

33003874 02/2015 57
S_DISIL2

Configuration logicielle

Présentation
Cette section fournit des exemples de configuration logicielle.

Création des variables


Après avoir préparé la configuration matérielle conformément à la description fournie dans la
section précédente, créez les variables nécessaires dans l’Editeur de données Unity Pro XLS.
Pour utiliser les différents bits dans la logique et pouvoir les forcer si nécessaire, les 16 bits de
données de chaque module SDI doivent être déclarés en tant que types de données EBOOL.
Création de variables pour le module SDI 1 :

58 33003874 02/2015
S_DISIL2

Création de variables pour le module SDI 2 :

NOTE : %IW est interprété comme INT et ne peut par conséquent pas être connecté au bloc
fonction S_DISIL2. Vous devez donc déclarer une variable de type WORD à l’adresse correcte.
Utilisez un adressage plat afin de pouvoir définir le type WORD. Le type WORD est interdit en
adressage topologique.
Exemple :
Test : WORD : %IW\2.2\1.3.1.2 n’est pas accepté
Test : WORD : %IW8 est accepté
%IW1 étant interprété en tant que type de données INT :

33003874 02/2015 59
S_DISIL2

Exemple de forçage de bits


Si les différents bits sont disponibles, vous pouvez forcer chaque bit des mots d’entrée afin de
simuler le comportement du bloc.
L’exemple ci-après montre comment forcer les bits du mot d’entrée DATA1.

Utilisez le bloc fonction S_WORD_TO_BIT suivi de S_BIT_TO_WORD pour créer un mot DATA_1
dont vous pouvez forcer les bits.

60 33003874 02/2015
S_DISIL2

L’exemple ci-après montre comment forcer les bits du mot d’entrée DATA2.

Utilisez le bloc fonction S_WORD_TO_BIT suivi de S_BIT_TO_WORD pour créer un mot DATA_2
dont vous pouvez forcer les bits.

33003874 02/2015 61
S_DISIL2

Résultat de la table d’animation


Le programme complet qui sera utilisé avec la table d’animation est le suivant :

62 33003874 02/2015
S_DISIL2

Exemples de valeurs d’entrée et de sortie S_DISIL2


Exemple 1 :

L’exemple ci-dessus fournit les informations suivantes :


 Les deux modules SDI sont valides (tous les bits de HEALTH1 et HEALTH2 ont la valeur 1).
 Le bit 14 de DATA1 a la valeur 1 alors que le bit 14 de DATA2 a la valeur 0.
 Le code d’erreur résultant est 4, ce qui indique que les deux modules sont valides, mais qu’il
existe une divergence entre les deux mots de données.
 la valeur de sortie est réglée sur DATA1.
Exemple 2 :

L’exemple ci-dessus fournit les informations suivantes :


 Le bit 15 de HEALTH1 a la valeur 0 et le bit 15 de HEALTH2 a la valeur 0.
 Le bit 14 de DATA1 a la valeur 1 alors que le bit 14 de DATA2 a la valeur 0.
 Le code d’erreur résultant est 7, ce qui indique qu’il existe une divergence entre les bits de
données des deux modules (le bit 14 dans cet exemple) parallèlement à la présence d’au moins
un bit non valide dans le module 1 et dans le module 2.
 Les bits de sortie 0 à 14 sont égaux à DATA1, seul le bit 15 non valide est réglé sur l’état de
sécurité 0.

33003874 02/2015 63
S_DISIL2

Exemple 3 :

L’exemple ci-dessus fournit les informations suivantes :


 Le bit 15 de HEALTH1 a la valeur 0 et le bit 15 de HEALTH2 a la valeur 0, ce qui signifie que la
voie 1 des deux modules SDI est non valide.
 DATA1 et DATA2 sont égaux, donc il n’y a pas de divergence.
 Le code d’erreur est 3, ce qui indique qu’au moins un bit de validité du module 1 est incorrect
et qu’au moins un bit du module 1 est incorrect et que tous les bits de données du module 1 et
du module 2 sont égaux.
 Le bit de sortie 15 a la valeur 0 (état de sécurité), car le bit 15 est non valide sur les deux
modules.

64 33003874 02/2015
Unity Pro
S_AISIL2
33003874 02/2015

Chapitre 10
S_AISIL2 : Haute disponibilité pour les entrées analogiques de sécurité

S_AISIL2 : Haute disponibilité pour les entrées


analogiques de sécurité

Introduction
Ce chapitre décrit le bloc S_AISIL2.

Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet Page
Description 66
Configuration matérielle 72
Configuration logicielle 74

33003874 02/2015 65
S_AISIL2

Description

Description de la fonction
Ce bloc fonction est utilisé dans des architectures à haute disponibilité avec des modules d’entrées
analogiques de sécurité redondants (140 SAI 940 00S). Il compare en permanence l’intégrité des
deux voies issues des deux modules SAI et sélectionne les données à extraire en fonction de cette
comparaison.
Pour améliorer la disponibilité à l’aide des blocs fonction de sécurité S_AISIL2, il est recommandé
de respecter les règles suivantes :
 Utilisez deux modules SAI 140 SAI 940 00S. Pour plus d’informations sur ce module, consultez
le Guide de référence des E/S numériques et analogiques des automates Quantum avec Unity
Pro (voir Quantum avec Unity Pro, des entrées/sorties TOR et analogiques, Manuel de
référence).
 Utilisez deux stations d’E/S distantes, contenant chacune un des modules SAI.
 Utilisez deux capteurs.

Architecture à haute disponibilité


Exemple d’architecture à haute disponibilité avec 2 capteurs, 2 modules SAI, 2 stations d’E/S
distantes

Dans cette architecture, un module SAI traite le signal provenant du capteur S1 tandis que le
deuxième traite le signal provenant du capteur S2.

66 33003874 02/2015
S_AISIL2

Représentation en FBD
Représentation

Représentation en LD
Représentation

Description des paramètres


Le bloc fonction S_AISIL2 est constitué des paramètres d’entrée et de sortie ci-après.
Paramètres d’entrée :
 DATA
 HEALTH
Paramètres de sortie :
 OUT
 VALID
 ERR

33003874 02/2015 67
S_AISIL2

Paramètres d’entrée
Le bloc fonction extrait les données et les informations de validité de chaque module SAI.
Description générale des paramètres DATA et HEALTH

Paramètre Type de Signification


données
DATA WORD Chaque bit représente l’une des 8 voies du module SAI.
HEALTH BIT Chaque bit représente la validité de l’une des voies du module
SAI.
1:
voie valide ou correcte
0:
voie non valide ou incorrecte
Les informations de validité sont une combinaison de :
 circuit ouvert ;
 état de sécurité ;
 coupures d’alimentation process.

Extraction des informations DATA et HEALTH des modules SAI


Les variables DATA1 et DATA2 sont affectées à l’un des 8 premiers mots du module SAI 1 et du
module SAI 2.
Les variables HEALTH1 et HEALTH2 sont associées au bit situé dans le treizième mot du
module SAI 1 et du module SAI 2, respectivement.
NOTE : le bloc fonction de sécurité S_AISIL2 DATA est associé à un des mots 1 à 8 alors que le
paramètre HEALTH est associé à un bit dans le mot 13 du module SAI.

Représentations graphiques de l’adressage DATA et HEALTH


Module SAI : adressage des mots 1 à 8 (DATA)

68 33003874 02/2015
S_AISIL2

Module SAI : adressage du mot 13 (HEALTH)

Bits 8 à 15 : non utilisés


Bits 0 à 7 : utilisés
Bit=1 voie valide
Bit=0 voie non valide (voie incorrecte, hors limites, échec du CRC, numéro d’échange incorrect)

NOTE : la voie 1 est affectée au bit 7.

Paramètres de sortie
Paramètre de sortie OUT

Paramètre Type de Signification


données
OUT WORD =DATA1 : le mot OUT contient la valeur de DATA1 tant que la
voie du module SAI 1 est valide (HEALTH1 correct).
=DATA2 : le mot OUT contient la valeur de DATA2 uniquement
si la voie du module SAI 1 est défectueuse (HEALTH1
incorrect).
=0 : la valeur du mot OUT est réglée sur 0 (état de sécurité)
lorsque les voies des deux modules SAI sont défectueuses
(HEALTH1 et HEALTH2 incorrects).

Exemple : paramètre OUT pour la voie du module 1

Voie du module 1 Voie du module 2 Valeur de données OUT


valide non examinée valeur de la voie du module 1
non valide valide valeur de la voie du module 2
non valide non valide = 0 (état de sécurité)

Paramètres de sortie VALID et ERR

Paramètre Type de Signification


données
VALID WORD Si au moins un des bits HEALTH est correct, VALID prend la valeur 1.
ERR WORD Ce mot renvoie une valeur comprise entre 0 et 3, selon les états des
deux modules.

33003874 02/2015 69
S_AISIL2

Description du comportement du bloc


Récapitulatif : les règles suivantes s’appliquent pour les paramètres DATA1/2 et HEALTH1/2 :

Si... Alors...
HEALTH1 est valide DATA1 est utilisé pour OUT.
HEALTH1 n’est pas valide HEALTH2 est vérifié et s’il est valide, DATA2 est
utilisé pour OUT.
HEALTH1 et HEALTH2 ne sont pas valides OUT est réglé sur 0 (état de sécurité).
HEALTH1 et HEALTH2 sont valides DATA1 est utilisé pour OUT, qu’il soit ou non
différent de DATA2. Le mot d’erreur ERR fournit
des informations sur la divergence entre DATA1
et DATA2.

Conclusion : le module 1, s’il est valide, est le module maître.


Si le bit de validité HEALTH1 de la voie du module SAI 1 a la valeur 1, DATA1 est copié dans le mot
de sortie OUT de S_AISIL2.

Tableau des états

Health1 Health2 Sortie Valide Erreur Remarque


0 0 0 0 voie du module 1 état de sécurité
défectueuse
voie du module 2
défectueuse
0 1 Data2 1 voie du module 1 utiliser la valeur de
défectueuse la voie du module 2
1 0 Data1 1 voie du module 2 utiliser la valeur de
défectueuse la voie du module 1
1 1 Data1 1 les deux voies des deux utiliser la valeur de
modules sont correctes la voie du module 1

Tableau des codes d’erreur


Le tableau suivant présente les codes d’erreur :

Code d’erreur Description du défaut


0 valide
1 Module 1 défectueux
2 Module 2 défectueux
3 Module 1 et module 2 défectueux

70 33003874 02/2015
S_AISIL2

Bits de défaut
Le tableau suivant présente les deux bits de défaut significatifs :

Bit de défaut Signification


bit0 voie du module 1 incorrecte
bit1 voie du module 2 incorrecte

33003874 02/2015 71
S_AISIL2

Configuration matérielle

Présentation
Cette section fournit des exemples de configuration matérielle.

Exemple d’application
L’application ci-après, par exemple, peut être créée et exploitée.
Exemple de configuration

1 Module SAI 1 : capteur 1 connecté à la voie 1


2 Module SAI 2 : capteur 2 connecté à la voie 1

72 33003874 02/2015
S_AISIL2

Extraction des adresses physiques via Unity XLS Pro


Les deux modules SAI sont affectés à des valeurs de type entier (%IW). Vous pouvez afficher les
adresses physiques de chaque module SAI dans la fenêtre de configuration de Unity XLS Pro.
Adresses physiques du module SAI 1 : %IW15...%IW27

Adresses physiques du module SAI 2 : %IW28...%IW40

Dans l’exemple de configuration matérielle présenté dans ce document, les données requises de
chaque module sont les données de la voie 1 de chaque module SAI :

Module SAI DATA HEALTH


Module SAI 1 DATA1 : HEALTH1 :
%IW15 %IW27.7
Module SAI 2 DATA2 : HEALTH2 :
%IW28 %IW40.7

Après avoir préparé la configuration matérielle, créez les variables nécessaires dans l’Editeur de
données Unity Pro XLS, conformément à la description fournie dans la section qui suit.

33003874 02/2015 73
S_AISIL2

Configuration logicielle

Présentation
Cette section fournit des exemples de configuration logicielle.

Création des variables


Après avoir préparé la configuration matérielle conformément à la description fournie dans la
section précédente, créez les variables nécessaires dans l’Editeur de données Unity Pro XLS.
Ces variables sont requises pour les broches du bloc fonction de sécurité S_AISIL2.

Résultat de la table d’animation


Les paragraphes ci-après présentent les valeurs forcées dans la Table d’animation Unity Pro XLS
et leur résultat.

Exemples de valeurs d’entrée et de sortie S_AISIL2


Exemple 1 :

L’exemple ci-dessus fournit les informations suivantes :


 Les deux modules SAI sont défectueux (HEALTH1 et HEALTH2 sont définis sur 0).
 Le code d’erreur résultant est 3.
 La valeur de sortie est réglée sur 0. Rappel : lorsque les deux modules sont défectueux, OUT
passe en état de sécurité.

74 33003874 02/2015
S_AISIL2

Exemple 2 :

L’exemple ci-dessus fournit les informations suivantes :


 Le module SAI 2 est défectueux (bit 0 de HEALTH2 défini sur 0).
 Le code d’erreur résultant est 2.
 La valeur de sortie OUT est réglée sur la valeur de DATA1 (16#0001).
Exemple 3 :

L’exemple ci-dessus fournit les informations suivantes :


 Les deux modules SAI sont valides (HEALTH1 et HEALTH2 sont définis sur 1).
 Le code d’erreur résultant est 0.
 La valeur de sortie OUT est réglée sur la valeur de DATA1 (16#0001).

33003874 02/2015 75
S_AISIL2

76 33003874 02/2015
Unity Pro
Redondance d’UC
33003874 02/2015

Partie IV
Redondance d’UC

Redondance d’UC

33003874 02/2015 77
Redondance d’UC

78 33003874 02/2015
Unity Pro
S_HSBY_SWAP
33003874 02/2015

Chapitre 11
S_HSBY_SWAP : Fonction de permutation de redondance d’UC

S_HSBY_SWAP : Fonction de permutation de redondance


d’UC

Description

Description de la fonction
Le bloc fonction S_HSBY_SWAP est utilisé pour lancer la permutation entre les UC primaire et
redondante.
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.
Ce bloc fonction convient pour l’activation d’une permutation par logique de programmation. Cette
permutation entre les UC primaire et redondante peut uniquement être effectuée en mode de
sécurité de redondance.
Pour plus d’informations sur les UC de redondance de sécurité, consultez le document
Redondance d’UC Modicon Quantum sous Unity – Manuel utilisateur (voir Modicon Quantum,
Système de redondance d’UC, Manuel utilisateur).
Cela signifie que lorsque la redondance d’UC est activée, l’automate redondant devient l’automate
primaire et l’ancien automate primaire devient l’automate redondant activé par la logique
programme.
NOTE : cette fonction ne doit pas obligatoirement être utilisée pour effectuer une permutation en
mode de sécurité. Vous pouvez faire appel au registre %SW60 et suivre la procédure décrite dans
le document Redondance d’UC Modicon Quantum sous Unity – Manuel utilisateur (voir Modicon
Quantum, Système de redondance d’UC, Manuel utilisateur).

Avantages de la fonction de permutation


Avantages potentiels de la permutation :
 La validité de l’automate redondant est contrôlée. Il est vérifié que l’automate redondant peut
prendre le relais.
 Le basculement peut être testé à intervalles réguliers.

33003874 02/2015 79
S_HSBY_SWAP

Exemple d’application de sécurité de redondance


L’illustration ci-après est un exemple d’application de sécurité de redondance.

Etapes du changement d’état


Une fonction de permutation de redondance est traitée comme suit :

Etape Action
1 Etat : PLC-A est l’automate primaire, PLC-B est l’automate redondant.
PLC-A se définit lui-même en mode local.
Résultat :
PLC-B devient l’automate primaire.
2 Etat : PLC-A est hors ligne, PLC-B est l’automate primaire.
PLC-B définit PLC-A en mode d’exécution
Résultat :
PLC-A est l’automate redondant.
3 Etat : PLC-A est l’automate redondant, PLC-B est l’automate primaire.
Les sorties EFB sont définies.
Résultat :
la fonction de permutation de redondance est effectuée.

80 33003874 02/2015
S_HSBY_SWAP

Représentation en FBD
Représentation

Représentation en LD
Représentation

Description des paramètres


Description du paramètre d’entrée :

Paramètre Type de Signification


données
START BOOL START = 1 lance l’opération S_HSBY_SWAP.
La valeur 1 doit être appliquée jusqu’à ce que l’opération soit
terminée ou qu’une erreur intervienne.

33003874 02/2015 81
S_HSBY_SWAP

Description des paramètres de sortie

Paramètre Type de Signification


données
ACTIVE BOOL ACTIVE = 1 indique qu’une opération S_HSBY_SWAP est en
cours d’exécution.
DONE BOOL DONE = 1 indique que l’opération S_HSBY_SWAP s’est
correctement déroulée.
ERREUR BOOL ERROR = 1 indique qu’une erreur s’est produite ou que
l’opération S_HSBY_SWAP actuelle a été abandonnée.
STATUS INT Un code d’erreur (STATUS) est généré par le bloc
S_HSBY_SWAP. La liste complète est fournie dans le tableau
des codes d’erreur.

Tableau des états d’erreur


Le tableau suivant présente les codes d’erreur :

Codes Description du défaut


d’erreur
0 OK
1 La fonction S_HSBY_SWAP a été abandonnée.
2 Redondance d’UC non activée (%SW61.15=0).
3 L’automate redondant n’existe pas.
4 L’automate primaire n’est pas en mode de sécurité.
5 La permutation a échoué.

NOTE : les mots système %SW60 et %SW61 indiquent l’état des automates primaire et
redondant.

Basculement à l’aide du bit système %SW60.1 ou %SW60.2 du registre de commande


L’autre solution pour forcer un basculement est de définir les bits dans le registre de commande.
Pour ce faire, procédez comme suit :

Etape Action
1 Ouvrez le fichier 1.
2 Connectez-vous à l’automate primaire.
3 Assurez-vous que l’ordre de l’automate primaire est A ou B.

82 33003874 02/2015
S_HSBY_SWAP

Etape Action
4 Accédez :
 au bit système %SW60.1 du registre de commande,
si l’automate connecté est l’automate A.
 au bit système %SW60.2 du registre de commande,
si l’automate connecté est l’automate B.
5 Réglez le bit sur 0.
Remarque : assurez-vous que l’automate redondant est devenu l’automate
primaire.
6 Ouvrez le fichier 2.
7 Connectez-vous au nouvel automate primaire.
8 Accédez au bit système du registre de commande utilisé à l’étape 4.
9 Réglez le bit sur 1.
Remarque : assurez-vous que l’automate redondant est maintenant connecté.
10 Assurez-vous que les automates primaire et redondant sont en mode RUN.

33003874 02/2015 83
S_HSBY_SWAP

84 33003874 02/2015
Unity Pro
Logique
33003874 02/2015

Partie V
Logique

Logique

Introduction
Cette section décrit les fonctions et blocs fonction élémentaires de la famille Logique.

Contenu de cette partie


Cette partie contient les chapitres suivants :
Chapitre Titre du chapitre Page
12 S_AND_*** : Fonction AND 87
13 S_F_TRIG : Détection des fronts descendants 89
14 S_NOT_*** : Négation 91
15 S_OR_*** : Fonction OR 93
16 S_R_TRIG : Détection des fronts montants 95
17 S_ROL_*** : Rotation vers la gauche 97
18 S_ROR_*** : Rotation vers la droite 99
19 S_RS : Bloc fonction bistable, réarmement dominant 101
20 S_SHL_*** : Décalage vers la gauche 103
21 S_SHR_*** : Décalage vers la droite 105
22 S_SR : Bloc fonction bistable, réglage dominant 107
23 S_XOR_*** : Fonction OR exclusive 109

33003874 02/2015 85
Logique

86 33003874 02/2015
Unity Pro
S_AND_***
33003874 02/2015

Chapitre 12
S_AND_*** : Fonction AND

S_AND_*** : Fonction AND

Description

Description de la fonction
La fonction considère la liaison ET bit par bit en entrée et affecte le résultat à la sortie.
Les types de données de l’ensemble des valeurs en entrée et en sortie doivent être identiques.
Le nombre d’entrées peut atteindre 32.
EN et ENO peuvent être définis en tant que paramètres supplémentaires.

Formule
OUT = IN1 & IN2 & ... & INn

Fonctions disponibles
Liste des fonctions disponibles
 S_AND_BOOL
 S_AND_BYTE
 S_AND_WORD
 S_AND_DWORD

Représentation en FBD
Représentation

33003874 02/2015 87
S_AND_***

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


Value_1 BOOL, BYTE, WORD, séquence de bit d’entrée
DWORD
Value_2 BOOL, BYTE, WORD, séquence de bit d’entrée
DWORD
Value_n BOOL, BYTE, WORD, séquence de bit d’entrée (n = max. 32)
DWORD

Description du paramètre de sortie

Paramètre Type de données Signification


Result BOOL, BYTE, WORD, séquence de bit de sortie
DWORD

88 33003874 02/2015
Unity Pro
S_F_TRIG
33003874 02/2015

Chapitre 13
S_F_TRIG : Détection des fronts descendants

S_F_TRIG : Détection des fronts descendants

Description

Description de la fonction
Ce bloc fonction est utilisé pour détecter les fronts descendants 1 -> 0.
La sortie Q passe à 1 s’il y a une transition de 1 à 0 à l’entrée CLK. La sortie reste à 1 d’une
exécution de bloc fonction à une autre, puis revient sur 0.
EN et ENO peuvent être définis en tant que paramètres supplémentaires.

Représentation en FBD
Représentation

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


CLK BOOL entrée d’horloge

33003874 02/2015 89
S_F_TRIG

Description du paramètre de sortie

Paramètre Type de données Signification


Q BOOL sortie

90 33003874 02/2015
Unity Pro
S_NOT_***
33003874 02/2015

Chapitre 14
S_NOT_*** : Négation

S_NOT_*** : Négation

Description

Description de la fonction
La fonction rejette la séquence de bit d’entrée bit par bit et affecte le résultat à la sortie.
Les types de données des valeurs en entrée et en sortie doivent être identiques.
EN et ENO peuvent être définis en tant que paramètres supplémentaires.

Formule
OUT = NOT IN

Fonctions disponibles
Liste des fonctions disponibles
 S_NOT_BOOL
 S_NOT_BYTE
 S_NOT_WORD
 S_NOT_DWORD

Représentation en FBD
Représentation

Représentation en LD
Représentation

33003874 02/2015 91
S_NOT_***

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


Value BOOL, BYTE, WORD, séquence de bit d’entrée
DWORD

Description du paramètre de sortie

Paramètre Type de données Signification


NegValue BOOL, BYTE, WORD, séquence de bit inversée
DWORD

92 33003874 02/2015
Unity Pro
S_OR_***
33003874 02/2015

Chapitre 15
S_OR_*** : Fonction OR

S_OR_*** : Fonction OR

Description

Description de la fonction
Cette fonction applique un OU logique entre chaque entrée et l’entrée suivante jusqu’à ce que
toutes les entrées aient été traitées.
Les types de données de l’ensemble des valeurs en entrée et en sortie doivent être identiques.
Le nombre d’entrées peut atteindre 32.
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.

Formule
OUT = IN1 OR IN2 OR ... OR INn

Fonctions disponibles
Liste des fonctions disponibles
 S_OR_BOOL
 S_OR_BYTE
 S_OR_WORD
 S_OR_DWORD

Représentation en FBD
Représentation

33003874 02/2015 93
S_OR_***

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


Value_1 BOOL, BYTE, WORD, séquence de bits d’entrée
DWORD
Value_2 BOOL, BYTE, WORD, séquence de bits d’entrée
DWORD
Value_n BOOL, BYTE, WORD, séquence de bits d’entrée
DWORD n = max. 32

Description du paramètre de sortie

Paramètre Type de données Signification


Result BOOL, BYTE, WORD, séquence de bits de sortie
DWORD

94 33003874 02/2015
Unity Pro
S_R_TRIG
33003874 02/2015

Chapitre 16
S_R_TRIG : Détection des fronts montants

S_R_TRIG : Détection des fronts montants

Description

Description de la fonction
Ce bloc fonction est utilisé pour détecter les fronts montants 0 -> 1.
La sortie Q passe à 1 s’il y a une transition de 0 à 1 à l’entrée CLK. La sortie reste à 1 d’une
exécution de bloc fonction à une autre (un cycle), puis revient sur 0.
EN et ENO peuvent être définis en tant que paramètres supplémentaires.

Représentation en FBD
Représentation

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


CLK BOOL entrée d’horloge

33003874 02/2015 95
S_R_TRIG

Description du paramètre de sortie

Paramètre Type de données Signification


Q BOOL sortie

96 33003874 02/2015
Unity Pro
S_ROL_***
33003874 02/2015

Chapitre 17
S_ROL_*** : Rotation vers la gauche

S_ROL_*** : Rotation vers la gauche

Description

Description de la fonction
Cette fonction fait pivoter le modèle de bits à l’entrée IN de n bits vers la gauche (valeur à l’entrée
Number).
Le bit système %S17 est utilisé en tant que bit CARRY. L’état du bit qui est décalé est ainsi stocké
ici.
Les types de données à l’entrée IN et à la sortie OUT doivent être identiques.
NOTE : grâce à la conformité à la norme CEI 61131-3, cette fonction s’exécute également avec le
type de données BOOL. Cela n’est pas significatif dans le cas présent.
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.

Fonctions disponibles
Liste des fonctions disponibles
 S_ROL_BOOL
 S_ROL_BYTE
 S_ROL_WORD
 S_ROL_DWORD

Représentation en FBD
Représentation

33003874 02/2015 97
S_ROL_***

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


InputPattern BOOL, BYTE, WORD, Modèle de bits à faire pivoter.
DWORD Exemple :
InputPattern=2#0100000011110001
Nombre UINT Nombre d’espaces à faire pivoter.
Exemple :
nombre = 4

Description du paramètre de sortie

Paramètre Type de données Signification


OutputPattern BOOL, BYTE, WORD, Modèle de bits pivoté.
DWORD Exemple :
Avec les données du tableau précédent, le
résultat est le suivant :
RotatedPattern=2#0000111100010100

98 33003874 02/2015
Unity Pro
S_ROR_***
33003874 02/2015

Chapitre 18
S_ROR_*** : Rotation vers la droite

S_ROR_*** : Rotation vers la droite

Description

Description de la fonction
Cette fonction fait pivoter le modèle de bits à l’entrée In de n bits vers la droite (valeur à l’entrée
Number).
Le bit système %S17 est utilisé en tant que bit CARRY. L’état du bit qui est décalé est ainsi stocké
ici.
Les types de données à l’entrée IN et à la sortie OUT doivent être identiques.
NOTE : grâce à la conformité à la norme CEI 61131-3, cette fonction s’exécute également avec le
type de données BOOL. Cela n’est pas significatif dans le cas présent.
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.

Fonctions disponibles
Liste des fonctions disponibles
 S_ROR_BOOL
 S_ROR_BYTE
 S_ROR_WORD
 S_ROR_DWORD

Représentation en FBD
Représentation

33003874 02/2015 99
S_ROR_***

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


InputPattern BOOL, BYTE, WORD, Modèle de bits à faire pivoter.
DWORD Exemple :
InputPattern=2#0100000011110001
Nombre UINT Nombre d’espaces à faire pivoter.
Exemple :
nombre = 4

Description du paramètre de sortie

Paramètre Type de données Signification


OutputPattern BOOL, BYTE, WORD, Modèle de bits pivoté.
DWORD Exemple :
Avec les données du tableau précédent,
le résultat est le suivant :
RotatedPattern=2#0001010000001111

100 33003874 02/2015


Unity Pro
S_RS
33003874 02/2015

Chapitre 19
S_RS : Bloc fonction bistable, réarmement dominant

S_RS : Bloc fonction bistable, réarmement dominant

Description

Description de la fonction
Le bloc fonction est utilisé en tant que mémoire RS avec la propriété "Réarmement dominant".
La sortie Q1 passe à 1 lorsque l’entrée S passe à 1. Cet état demeure ainsi même si l’entrée S
repasse à 0. La sortie Q1 repasse à 0 lorsque l’entrée R1 est à 1. Si les entrées S et R1 sont
simultanément à 1, l’entrée dominante R1 règle la sortie Q1 sur 0.
Lorsque le bloc fonction est appelé pour la première fois, l’état initial de Q1 est 0.
EN et ENO peuvent être définis en tant que paramètres supplémentaires.

Représentation en FBD
Représentation

Représentation en LD
Représentation

33003874 02/2015 101


S_RS

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


S BOOL définir
R1 BOOL réarmement (dominant)

Description du paramètre de sortie

Paramètre Type de données Signification


Q1 BOOL sortie

102 33003874 02/2015


Unity Pro
S_SHL_***
33003874 02/2015

Chapitre 20
S_SHL_*** : Décalage vers la gauche

S_SHL_*** : Décalage vers la gauche

Description

Description de la fonction
Cette fonction décale le modèle de bit de l’entrée IN de n bits vers la gauche (valeur en entrée N).
Le bit système %S17 est utilisé en tant que bit CARRY. Par exemple, l’état du bit qui est décalé,
est stocké ici.
Les zéros sont ajoutés par la droite.
Les types de données de l’entrée IN et de la sortie OUT doivent être identiques.
NOTE : Grâce à la conformité à la norme CEI 61131-3, cette fonction s’exécute également avec
le type de données BOOL. Cela n’est pas significatif ici.
EN et ENO peuvent être définis en tant que paramètres supplémentaires.

Fonctions disponibles
Liste des fonctions disponibles
 S_SHL_BOOL
 S_SHL_BYTE
 S_SHL_WORD
 S_SHL_DWORD

Représentation en FBD
Représentation

33003874 02/2015 103


S_SHL_***

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


IntputPattern BOOL, BYTE, WORD, Modèle de bits à décaler.
DWORD Par exemple
IntputPattern =
2#0100000011110001.
Number UINT Nombre d’espaces à décaler.
Par exemple
Numéro = 4.

Description du paramètre de sortie

Paramètre Type de données Signification


ShiftedPattern BOOL, BYTE, WORD, Modèle de bits à décaler.
DWORD Par exemple
Avec les données du tableau précédent,
le résultat est :
ShiftedPattern = 2#0000111100010000

104 33003874 02/2015


Unity Pro
S_SHR_***
33003874 02/2015

Chapitre 21
S_SHR_*** : Décalage vers la droite

S_SHR_*** : Décalage vers la droite

Description

Description de la fonction
Cette fonction décale le modèle de bit à l’entrée IN de n bits vers la droite (valeur à l’entrée N).
Le bit système %S17 est utilisé en tant que bit CARRY. Par exemple, l’état du bit qui est décalé,
est stocké ici.
Les zéros sont ajoutés par la gauche.
Les types de données à l’entrée In et à la sortie OUT doivent être identiques.
NOTE : Grâce à la conformité à la norme CEI 61131-3, cette fonction s’exécute également avec
le type de données BOOL. Cela n’est pas significatif ici.
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.

Fonctions disponibles
Liste des fonctions disponibles
 S_SHR_BOOL
 S_SHR_BYTE
 S_SHR_WORD
 S_SHR_DWORD

Représentation en FBD
Représentation

33003874 02/2015 105


S_SHR_***

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


IntputPattern BOOL, BYTE, WORD, Modèle de bits à décaler.
DWORD Par exemple
IntputPattern =
2#0100000011110001.
Number UINT Nombre d’espaces à décaler.
Exemple :
numéro = 4.

Description du paramètre de sortie

Paramètre Type de données Signification


ShiftedPattern BOOL, BYTE, WORD, Modèle de bits à décaler.
DWORD Par exemple
Avec les données du tableau précédent,
le résultat est :
ShiftedPattern = 2#0000010000001111

106 33003874 02/2015


Unity Pro
S_SR
33003874 02/2015

Chapitre 22
S_SR : Bloc fonction bistable, réglage dominant

S_SR : Bloc fonction bistable, réglage dominant

Description

Description de la fonction
Le bloc fonction est utilisé en tant que mémoire SR avec la propriété "Réglage dominant".
La sortie Q1 passe à 1 lorsque l’entrée S1 passe à 1. Cet état demeure ainsi même si l’entrée S1
retourne sur 0. La sortie Q1 revient à 0 lorsque l’entrée R est à 1. Si les entrées S1 et R sont à 1
simultanément, l’entrée dominante S1 règle la sortie Q1 sur 1.
Lorsque le bloc fonction est appelé pour la première fois, l’état initial de Q1 est 0.
EN et ENO peuvent être définis en tant que paramètres supplémentaires.

Représentation en FBD
Représentation

Représentation en LD
Représentation

33003874 02/2015 107


S_SR

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


S1 BOOL réglage (dominant)
R BOOL réinitialisation.

Description du paramètre de sortie

Paramètre Type de données Signification


Q1 BOOL sortie

108 33003874 02/2015


Unity Pro
S_XOR_***
33003874 02/2015

Chapitre 23
S_XOR_*** : Fonction OR exclusive

S_XOR_*** : Fonction OR exclusive

Description

Description de la fonction
La fonction considère la liaison XOR de la séquence de bits en entrée et renvoie le résultat à la
sortie.
Les types de données de l’ensemble des valeurs en entrée et en sortie doivent être identiques.
Le nombre d’entrées peut atteindre 32.
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.

Fonctions disponibles
Liste des fonctions disponibles
 S_XOR_BOOL
 S_XOR_BYTE
 S_XOR_WORD
 S_XOR_DWORD

Formule
OUT = IN1 XOR IN2 XOR ... XOR INn

Représentation en FBD
Représentation

33003874 02/2015 109


S_XOR_***

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


Value_1 BOOL, BYTE, WORD, séquence de bits d’entrée
DWORD
Value_2 BOOL, BYTE, WORD, séquence de bits d’entrée
DWORD
Value_n BOOL, BYTE, WORD, séquence de bits d’entrée
DWORD n = max 32

Description du paramètre de sortie

Paramètre Type de données Signification


Result BOOL, BYTE, WORD, séquence de bits de sortie
DWORD

110 33003874 02/2015


Unity Pro
Mathématiques
33003874 02/2015

Partie VI
Mathématiques

Mathématiques

Introduction
Cette section décrit les fonctions et blocs fonction élémentaires de la famille Mathématiques.

Contenu de cette partie


Cette partie contient les chapitres suivants :
Chapitre Titre du chapitre Page
24 S_ABS_*** : Calcul de valeur absolue 113
25 S_ADD_*** : Addition 115
26 S_DIV_*** : Division 117
27 S_MUL_*** : Multiplication 119
28 S_MOVE : Affectation 121
29 S_SMOVE_BIT : Affectation 123
30 S_SMOVE_WORD : Affectation 129
31 S_NEG_*** : Négation 137
32 S_SQRT_REAL: Racine carrée de sécurité 139
33 S_SIGN_*** : Evaluation du signe 141
34 S_SUB_*** : Soustraction 143

33003874 02/2015 111


Mathématiques

112 33003874 02/2015


Unity Pro
S_ABS_***
33003874 02/2015

Chapitre 24
S_ABS_*** : Calcul de valeur absolue

S_ABS_*** : Calcul de valeur absolue

Description

Description de la fonction
La fonction calcule la valeur absolue de la valeur en entrée et affecte le résultat à la sortie.
Les types de données des valeurs en entrée et en sortie doivent être identiques.
NOTE : grâce à la conformité à la norme CEI 61131-3, cette fonction s’exécute également avec
les types de données UINT et UDINT. Cela n’est pas significatif dans le cas présent.
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.

Formule

Fonctions disponibles
Liste des fonctions disponibles
 S_ABS_INT
 S_ABS_DINT
 S_ABS_UINT
 S_ABS_UDINT
 S_ABS_REAL

Représentation en FBD
Représentation

33003874 02/2015 113


S_ABS_***

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


Value INT, DINT, UINT, valeur en entrée
UDINT, REAL

Description du paramètre de sortie

Paramètre Type de données Signification


Result INT, DINT, UINT, valeur en sortie
UDINT, REAL

Erreur d’exécution
Le bit système %S18 (voir page 238) est réglé sur 1 si une valeur se situe en dessous de la valeur
limite (les types de données INT et DINT).

114 33003874 02/2015


Unity Pro
S_ADD_***
33003874 02/2015

Chapitre 25
S_ADD_*** : Addition

S_ADD_*** : Addition

Description

Description de la fonction
La fonction ajoute les valeurs en entrée et affecte le résultat à la sortie.
Les types de données de l’ensemble des valeurs en entrée et en sortie doivent être identiques.
Pour toutes les fonctions, le nombre d’entrées peut atteindre 32.
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.

Formule
INT, DINT, UINT, UDINT, REAL :
OUT = IN1 + IN2 + ... + INn

Fonctions disponibles
Liste des fonctions disponibles
 S_ADD_INT
 S_ADD_DINT
 S_ADD_UINT
 S_ADD_UDINT
 S_ADD_REAL

Représentation en FBD
Représentation

33003874 02/2015 115


S_ADD_***

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


Value1 INT, DINT, UINT, somme
UDINT, REAL
Value2 INT, DINT, UINT, somme
UDINT, REAL
Valuen INT, DINT, UINT, somme
UDINT, REAL n = max 32

Description du paramètre de sortie

Paramètre Type de données Signification


Sum INT, DINT, UINT, somme
UDINT, REAL

Erreur d’exécution
Le bit système %S18 (voir page 238) est réglé sur 1 si la plage des valeurs en sortie est dépassée
(tous les types de données disponibles).
NOTE : le mot système %SW17 indique l’état de l’erreur détectée sur S_ADD_REAL.

116 33003874 02/2015


Unity Pro
S_DIV_***
33003874 02/2015

Chapitre 26
S_DIV_*** : Division

S_DIV_*** : Division

Description

Description de la fonction
La fonction divise la valeur du paramètre Dividend par la valeur du paramètre Divisor en
entrée et affecte le résultat à la sortie.
Les types de données des valeurs en entrée et en sortie doivent être identiques.
Lors de la division des types de données INT, DINT, UINT et UDINT, les décimales sont ignorées
dans le résultat ; en revanche, lors de la division du type de données REAL, toutes les décimales
du résultat sont affichées.

EN et ENO peuvent être configurés en tant que paramètres supplémentaires.

Formule

Fonctions disponibles
Liste des fonctions disponibles
 S_DIV_INT
 S_DIV_DINT
 S_DIV_UINT
 S_DIV_UDINT
 S_DIV_REAL

33003874 02/2015 117


S_DIV_***

Représentation en FBD
Représentation

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


Dividend INT, DINT, UINT, dividende
UDINT, REAL
Divisor INT, DINT, UINT, diviseur
UDINT, REAL

Description du paramètre de sortie

Paramètre Type de données Signification


Quotient INT, DINT, UINT, quotient
UDINT, REAL

Erreur d’exécution
Le bit système %S18 (voir page 238) est réglé sur 1, si une division incorrecte par zéro est
exécutée (tous les types de données disponibles).
NOTE : le mot système %SW17 indique l’état de l’erreur détectée sur S_DIV_REAL.

118 33003874 02/2015


Unity Pro
S_MUL_***
33003874 02/2015

Chapitre 27
S_MUL_*** : Multiplication

S_MUL_*** : Multiplication

Description

Description de la fonction
La fonction multiplie les valeurs en entrée et affecte le résultat à la sortie.
Les types de données de l’ensemble des valeurs en entrée et en sortie doivent être identiques.
Le nombre d’entrées peut atteindre 32.
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.

Formule
OUT = IN1 x IN2 x ... x IN n

Fonctions disponibles
Liste des fonctions disponibles
 S_MUL_INT
 S_MUL_DINT
 S_MUL_UINT
 S_MUL_UDINT
 S_MUL_REAL

Représentation en FBD
Représentation

33003874 02/2015 119


S_MUL_***

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


Factor1 INT, DINT, UINT, multiplicande (facteur)
UDINT, REAL
Factor2 INT, DINT, UINT, multiplicateur (facteur)
UDINT, REAL
Factorn INT, DINT, UINT, multiplicateur (facteur)
UDINT, REAL n = max 32

Description du paramètre de sortie

Paramètre Type de données Signification


Product INT, DINT, UINT, produit
UDINT, REAL

Erreur d’exécution
Le bit système %S18 (voir page 238) est réglé sur 1, si la plage des valeurs en sortie a été
dépassée (tous les types de données disponibles).
NOTE : le mot système %SW17 indique l’état de l’erreur détectée sur S_MUL_REAL.

120 33003874 02/2015


Unity Pro
S_SMOVE
33003874 02/2015

Chapitre 28
S_MOVE : Affectation

S_MOVE : Affectation

Description

Description de la fonction
Cette fonction attribue la valeur de l’entrée à la sortie.
Il s’agit d’une fonction générique, c’est-à-dire que le type de données à traiter est déterminé par la
variable affectée en premier à la fonction.
Si une adresse directe doit être affectée à une variable ou inversement, commencez toujours par
affecter la variable à la fonction. L’adresse directe n’est pas autorisée à l’entrée et la sortie de la
fonction, car elle ne permet pas une définition claire du type de données.
Les types de données des valeurs d’entrée et de sortie doivent être identiques.
EN et ENO peuvent être configurés comme paramètres supplémentaires.
NOTE : S_MOVE n’a pas accès à la zone mémoire non restreinte. Pour y accéder, vous devez
utilisez les FB S_SMOVE_*.
NOTE : il n’est pas possible de copier un tableau d’éléments EBOOL avec la fonction S_MOVE, car
la fonction S_MOVE ne met pas à jour l’historique d’affectation des éléments du tableau.

Formule
OUT = IN

Représentation en FBD
Représentation

33003874 02/2015 121


S_SMOVE

Représentation en LD
Cette fonction ne s’utilise pas en langage de programmation LD (Ladder Diagram) avec le type de
données BOOL, car la même fonctionnalité est disponible avec les contacts et les bobines.
Représentation

Description des paramètres


Description du paramètre d’entrée :

Paramètre Type de données Signification


Input TOUS Valeur d’entrée

Description du paramètre de sortie :

Paramètre Type de données Signification


Output TOUS Valeur de sortie

122 33003874 02/2015


Unity Pro
S_SMOVE_BIT
33003874 02/2015

Chapitre 29
S_SMOVE_BIT : Affectation

S_SMOVE_BIT : Affectation

Description

Description de la fonction
En général, la mémoire de l’automate de sécurité est protégée en écriture, c’est-à-dire que les
demandes d’écriture ne sont pas exécutées.
Pour permettre des exceptions à cette règle (qui relèvent de l’entière responsabilité du client), par
exemple pour modifier les seuils à partir d’une IHM, la zone UMA (zone mémoire non restreinte) a
été incluse pour les valeurs %M et %MW.

Définition de la zone UMA


La zone UMA présente les caractéristiques suivantes :
 La zone UMA est une partie de la mémoire de l’automate de sécurité pour les valeurs %M et %MW
qui n’est pas protégée en écriture.
 Ses adresses peuvent être écrites à partir d’autres automates ou IHM.
 Sa configuration s’effectue dans la boîte de dialogue des propriétés d’UC de Unity Pro XLS.

33003874 02/2015 123


S_SMOVE_BIT

Configuration de la mémoire de l’automate de sécurité (mémoire de sécurité et UMA) :

NOTE : les valeurs %M et %MW dans l’UMA sont situées au début de la plage de mémoire. Vous
devez ainsi veiller à réserver l’espace UMA de la mémoire au tout début du projet.

Objet de S_SMOVE_BIT
Vous ne pouvez pas utiliser de variables du type BOOL à partir de la plage UMA de %MW à l’aide du
bloc fonction S_SMOVE_BIT dans la logique de sécurité.

124 33003874 02/2015


S_SMOVE_BIT

Représentation en FBD
Représentation

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de Signification


données
IN BOOL Variable ou adresse directe à partir de la plage de bits non restreinte.
CHANGE BOOL Si les données d’entrée ont changé, elles sont transférées à la sortie.
Dans le cas contraire, la valeur de sortie reste inchangée.
Une valeur littérale peut être connectée ou, si une variable est
utilisée, elle doit être affectée à un bit dans la plage de mémoire de
sécurité.

33003874 02/2015 125


S_SMOVE_BIT

Paramètre Type de Signification


données
DEMAND BOOL Si un front montant est détecté à l’entrée TRIG, les données d’entrée
sont transférées à la sortie.
Dans le cas contraire, la valeur de sortie reste inchangée.
Une valeur littérale peut être connectée ou, si une variable est
utilisée, elle doit être affectée à un bit dans la plage de mémoire de
sécurité.
TRIG BOOL Uniquement utilisé en mode demande : Un front montant à cette
entrée déclenche le transfert de la valeur d’entrée vers OUT.
Une valeur littérale peut être connectée ou, si une variable est
utilisée, elle doit être affectée à un bit dans la plage de mémoire de
sécurité.

Description des paramètres de sortie

Paramètre Type de Signification


données
OUT BOOL Bit contrôlé à utiliser dans la logique de sécurité. Il est affecté à
un bit dans la plage de mémoire de sécurité.

Comportement du bloc
Le bloc fonction S_SMOVE_BIT peut être utilisé dans les trois modes suivants :
 mode transparent ;
 mode demande ;
 mode modification.
Ces modes sont décrits dans les paragraphes qui suivent.

Mode transparent

Si... Alors...
bit de mode CHANGE = 0 la valeur du bit d’entrée est écrite dans le bit
et de sortie de la mémoire de sécurité.
bit de mode DEMAND = 0

NOTE : si aucun signal n’est connecté à DEMAND, CHANGE et TRIG, le bloc fonction est en mode
transparent, car les entrées non connectées sont traitées comme connectées avec la valeur 0.

126 33003874 02/2015


S_SMOVE_BIT

Mode demande

Si... Alors...
un front montant est détecté à l’entrée TRIG la valeur du bit d’entrée est écrite dans le bit
de sortie de la mémoire de sécurité.

Mode modification
Dans ce mode, seul CHANGE est réglé sur 1 (DEMAND a la valeur 0 et TRIG n’a pas d’incidence).

Si... Alors...
la valeur d’entrée IN change la valeur du bit d’entrée est écrite dans le bit
de sortie de la mémoire de sécurité.

Différences notables entre le mode modification et le mode transparent


En mode modification, le bloc fonction modifie uniquement la valeur de la variable connectée à OUT
si l’entrée IN est modifiée. En mode transparent, la valeur de l’entrée IN est toujours écrite dans
la sortie OUT. Considérez les points suivants lorsque vous apportez des modifications en mode
connecté :

Si... Alors...
vous remplacez une variable connectée à la la nouvelle variable connectée ne change sa
sortie OUT par une autre variable valeur courante que lorsque l’entrée IN
change.
vous remplacez une variable connectée à la la valeur d’une liaison également connectée
sortie OUT par une autre variable à la sortie prend la valeur courante de la
nouvelle variable connectée.
vous remplacez une variable connectée à la la valeur de la liaison reste 0 jusqu’à ce que
sortie OUT par une liaison l’entrée IN change.

Remarque sur le mode modification et le mode demande


NOTE : les bits DEMAND et CHANGE sont tous deux réglés sur 1. Dans ce cas, l’entrée est écrite
dans la sortie lorsque l’entrée change ou en présence d’un front montant à l’entrée de
déclenchement.

33003874 02/2015 127


S_SMOVE_BIT

Tableau des états


Etats des broches et mode respectif

Broche Broche Broche TRIG Broche IN Broche OUT Mode


CHANGE DEMAND
0 0 - - = IN transparent
0 1 0->1 - = IN demande
0 1 Non 0->1 - ancienne demande
valeur IN
1 0 - a changé = IN modification
1 0 - pas de OUT non modification
modification modifié
1 1 0->1 pas de = IN demande +
modification modification
1 1 Non 0->1 pas de OUT non demande +
modification modifié modification
1 1 0->1 a changé = IN demande +
modification
1 1 Non 0->1 a changé = IN demande +
modification

128 33003874 02/2015


Unity Pro
S_SMOVE_WORD
33003874 02/2015

Chapitre 30
S_SMOVE_WORD : Affectation

S_SMOVE_WORD : Affectation

Description

Description de la fonction
En général, la mémoire de l’automate de sécurité est protégée en écriture, c’est-à-dire que les
demandes d’écriture ne sont pas exécutées.
Pour permettre des exceptions à cette règle (qui relèvent de l’entière responsabilité du client), par
exemple pour modifier les seuils à partir d’une IHM, la zone UMA (zone mémoire non restreinte) a
été incluse pour les valeurs %M et %MW.

Définition de la zone UMA


La zone UMA présente les caractéristiques suivantes :
 La zone UMA est une partie de la mémoire de l’automate de sécurité pour les valeurs %M et %MW
qui n’est pas protégée en écriture.
 Ses adresses peuvent être écrites à partir d’autres automates ou IHM.
 Sa configuration s’effectue dans la boîte de dialogue des propriétés d’UC de Unity Pro XLS.

33003874 02/2015 129


S_SMOVE_WORD

Configuration de la mémoire de l’automate de sécurité (mémoire de sécurité et UMA) :

NOTE : les valeurs %M et %MW dans l’UMA sont situées au début de la plage de mémoire. Vous
devez ainsi veiller à réserver l’espace UMA de la mémoire au tout début du projet.

Objet de S_SMOVE_WORD
Vous ne pouvez pas utiliser de variables du type WORD à partir des plages UMA directement dans
la logique de sécurité. Pour utiliser ces variables, le bloc fonction de sécurité S_SMOVE_WORD est
nécessaire. Pour les variables du type BOOL à partir de la plage UMA de %MW, utilisez le bloc
fonction S_SMOVE_BIT dans la logique de sécurité.

130 33003874 02/2015


S_SMOVE_WORD

Représentation en FBD
Représentation

Représentation en LD
Représentation

33003874 02/2015 131


S_SMOVE_WORD

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de Signification


données
IN WORD Variable de la plage de mots non restreinte.
MAX WORD Valeur maximale autorisée pour IN.
Une valeur littérale peut être connectée ou, si une variable est
utilisée, elle doit être affectée à un mot dans la plage de
mémoire de sécurité.
MIN WORD Valeur minimale autorisée pour IN.
Une valeur littérale peut être connectée ou, si une variable est
utilisée, elle doit être affectée à un mot dans la plage de
mémoire de sécurité.
CHANGE BOOL =1: Les données d’entrée sont transférées à la sortie si elles ont
changé (tant que IN est dans la plage valide (MIN...MAX)).
=0 ou pas de modification des données : la valeur de sortie n’est
pas écrite.
=0 et DEMAND=0 : appelé mode transparent (voir ci-dessous
pour plus d’informations).
Une valeur littérale peut être connectée ou, si une variable est
utilisée, elle doit être affectée à un mot dans la plage de
mémoire de sécurité.
DEMAND BOOL =1 et front montant détecté à l’entrée TRIG : les données
d’entrée sont transférées à la valeur de sortie OUT (tant que IN
est dans la plage valide (MIN...MAX)).
Dans le cas contraire, la valeur de sortie reste inchangée.
Une valeur littérale peut être connectée ou, si une variable est
utilisée, elle doit être affectée à une valeur booléenne dans la
plage de mémoire de sécurité.
TRIG BOOL Uniquement utilisé en mode demande :
Un front montant à cette entrée déclenche le transfert de la
valeur d’entrée vers OUT (tant que IN est dans la plage valide
(MIN...MAX)).
Une valeur littérale peut être connectée ou, si une variable est
utilisée, elle doit être affectée à une valeur booléenne dans la
plage de mémoire de sécurité.

132 33003874 02/2015


S_SMOVE_WORD

Description des paramètres de sortie

Paramètre Type de Signification


données
OUT WORD Mot contrôlé à utiliser dans la logique de sécurité. Il est affecté
à un mot dans la plage de mémoire de sécurité.
ERR WORD Si la valeur réelle à l’entrée ne figure pas dans la plage, la valeur
de la sortie OUT reste inchangée et la sortie ERR indique une
erreur hors limites (8A19h). Elle est affectée à un mot dans
la plage de mémoire de sécurité.

Comportement du bloc
Le bloc fonction S_SMOVE_WORD peut être utilisé dans les trois modes suivants :
 mode transparent ;
 mode demande ;
 mode modification.
Ces modes sont décrits dans les paragraphes qui suivent.

Mode transparent

Si... Alors...
bit de mode CHANGE = 0 la valeur du mot d’entrée est écrite dans le
et mot de sortie de la mémoire de sécurité.
bit de mode DEMAND = 0
et
la valeur d’entrée IN est dans la plage valide
(MIN...MAX)

NOTE : si aucun signal n’est connecté à DEMAND, CHANGE et TRIG, le bloc fonction est en mode
transparent, car les entrées non connectées sont traitées comme connectées avec la valeur 0.

Mode demande

Si... Alors...
un front montant est détecté à l’entrée TRIG la valeur du mot d’entrée est écrite dans le
et mot de sortie de la mémoire de sécurité.
la valeur d’entrée IN est dans la plage valide
(MIN...MAX)

33003874 02/2015 133


S_SMOVE_WORD

Exemple de mode demande avec IN dans la plage définie :

Si... Alors...
la valeur d’entrée IN est hors limites la sortie reste inchangée et le code d’erreur
16#8A19 est indiqué dans le mot d’état
d’erreur.

134 33003874 02/2015


S_SMOVE_WORD

Exemple de mode demande avec IN hors limites :

Mode modification
Dans ce mode, seul CHANGE est réglé sur 1 (DEMAND a la valeur 0 et TRIG n’a pas d’incidence).

Si... Alors...
la valeur d’entrée IN est dans la plage valide la valeur du mot d’entrée est écrite dans le
(MIN...MAX) mot de sortie de la mémoire de sécurité.
et
la valeur d’entrée IN change

Différences notables entre le mode modification et le mode transparent


En mode modification, le bloc fonction modifie uniquement la valeur de la variable connectée à OUT
si l’entrée IN est modifiée. En mode transparent, la valeur de l’entrée IN est toujours écrite dans
la sortie OUT. Considérez les points suivants lorsque vous apportez des modifications en mode
connecté :

Si... Alors...
vous remplacez une variable connectée à la la nouvelle variable connectée ne change sa
sortie OUT par une autre variable valeur courante que lorsque l’entrée IN
change.
vous remplacez une variable connectée à la la valeur d’une liaison également connectée
sortie OUT par une autre variable à la sortie prend la valeur courante de la
nouvelle variable connectée.
vous remplacez une variable connectée à la la valeur de la liaison reste 0 jusqu’à ce que
sortie OUT par une liaison l’entrée IN change.

33003874 02/2015 135


S_SMOVE_WORD

Remarque sur le mode modification et le mode demande


NOTE : les bits DEMAND et CHANGE sont tous deux définis sur 1. Dans ce cas, l’entrée est écrite
dans la sortie lorsque l’entrée change ou en présence d’un front montant à l’entrée de
déclenchement, à moins que la valeur d’entrée ne soit hors limite.

Tableau des états


Etats des broches et mode respectif

CHANGE DEMAND TRIG IN OUT ERR Mode


- - - hors limites ancienne E_Input_Valu_Out_Of_ -
(min, max) valeur OUT Range (16#8A19)
0 0 - plage valide = IN 0 transparent
0 1 0->1 plage valide = IN 0 demande
0 1 non 0->1 plage valide ancienne 0 demande
valeur IN
1 0 - plage valide, = IN 0 modification
modifié
1 0 - plage valide, OUT non 0 modification
pas de modifié
modification
1 1 0->1 plage valide, = IN 0 demande +
pas de modification
modification
1 1 non 0->1 plage valide, OUT non 0 demande +
pas de modifié modification
modification
1 1 0->1 plage valide, = IN 0 demande +
modifié modification
1 1 non 0->1 plage valide, = IN 0 demande +
modifié modification

136 33003874 02/2015


Unity Pro
S_NEG_***
33003874 02/2015

Chapitre 31
S_NEG_*** : Négation

S_NEG_*** : Négation

Description

Description de la fonction
La fonction rejette la valeur en entrée et donne le résultat à la sortie OUT.
La négation entraîne une inversion du signe.
6 -> -6
-4 -> 4
Les types de données des valeurs en entrée et en sortie doivent être identiques.
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.
NOTE : lorsque les types de données INT et DINT sont traités, il est impossible de convertir de
très longues valeurs négatives en valeurs positives. Cependant, la sortie ENO n’est pas réglée
sur 0 lorsque cette erreur survient.
NOTE : lorsque les types de données UINT et UDINT sont traités, un message d’erreur est
toujours renvoyé.

Fonctions disponibles
Liste des fonctions disponibles
 S_NEG_INT
 S_NEG_DINT
 S_NEG_UINT
 S_NEG_UDINT
 S_NEG_REAL

Représentation en FBD
Représentation

33003874 02/2015 137


S_NEG_***

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


Input INT, DINT, UINT, valeur en entrée (Input)
UDINT, REAL

Description des paramètres de sortie

Paramètre Type de données Signification


Negated INT, DINT, UINT, valeur en sortie inversée (NegatedOutput)
Output UDINT, REAL

Erreur d’exécution
Le bit système %S18 est réglé sur 1 si :
 une violation de la plage de valeurs à l’entrée survient lors de l’exécution de la fonction (types
de données INT et DINT)
ou
 une valeur en entrée du type de données UINT ou UDINT est à convertir.

138 33003874 02/2015


Unity Pro
S_SQRT_REAL
33003874 02/2015

Chapitre 32
S_SQRT_REAL: Racine carrée de sécurité

S_SQRT_REAL: Racine carrée de sécurité

Description

Description de la fonction
La fonction S_SQRT_REAL extrait la racine carrée d’une variable. Elle peut être appelée à l’aide
d’un nom générique.
Les paramètres supplémentaires EN et ENO peuvent être configurés.

Représentation en FBD
Représentation appliquée à un nombre réel :

Représentation en LD
Représentation appliquée à un nombre réel :

Description des paramètres


Le tableau suivant décrit le paramètre d’entrée :

Paramètre Type Commentaire


Value1 REAL. Variable dont vous souhaitez extraire la racine carrée.
0 ≤Value1

33003874 02/2015 139


S_SQRT_REAL

Le tableau suivant décrit le paramètre de sortie :

Paramètre Type Commentaire


S_Sqrt_Value1 REAL. S_Sqrt_Value1 contient la racine carrée de Value1.
S_Sqrt_Value1 et Value1 sont du même type.

Erreurs d’exécution
Si le paramètre Value1 est négatif et de type REAL, le résultat de la fonction contient NAN et le
bit %S18 (voir page 238) est égal à 1.
Si %S18 (voir page 238)est égal à 1, le mot système %SW17 indique le type de défaut.

140 33003874 02/2015


Unity Pro
S_SIGN_***
33003874 02/2015

Chapitre 33
S_SIGN_*** : Evaluation du signe

S_SIGN_*** : Evaluation du signe

Description

Description de la fonction
Cette fonction permet de détecter les signes négatifs.
Avec une valeur ≥ 0 en entrée, la sortie passe à 0. Avec une valeur < 0 en entrée, la sortie passe
à 1.
NOTE : grâce à la conformité à la norme CEI 61131-3, cette fonction s’exécute également avec
les types de données UINT et UDINT. Cela n’est pas significatif car ces fonctions renvoient un
résultat de 0.
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.

Formule
Formule du bloc
OUT = 1, si IN < 0
OUT = 0, si IN ≥ 0
NOTE : soyez attentif aux résultats de comportement suivants pour un 0 signé (+/-0) :
 -0 -> SIGN_INT/DINT -> 0
 +0 -> SIGN_INT/DINT -> 0

Fonctions disponibles
Liste des fonctions disponibles
 S_SIGN_INT
 S_SIGN_DINT
 S_SIGN_UINT
 S_SIGN_UDINT
 S_SIGN_REAL

Représentation en FBD
Représentation

33003874 02/2015 141


S_SIGN_***

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


Value INT, DINT, UINT, entrée signée
UDINT, REAL

Description des paramètres de sortie

Paramètre Type de données Signification


Negative BOOL évaluation du signe

Erreur d’exécution
Le bit système %S18 est réglé sur 1 et ENO sur 0 si une valeur d’entrée du type de données UINT
ou UDINT est donnée.

142 33003874 02/2015


Unity Pro
S_SUB_***
33003874 02/2015

Chapitre 34
S_SUB_*** : Soustraction

S_SUB_*** : Soustraction

Description

Description de la fonction
La fonction soustrait la valeur en entrée Value2 à la valeur en entrée Value1 et affecte le résultat
à la sortie.
Les types de données des valeurs en entrée et en sortie doivent être identiques.
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.

Formule
Différence = Value1 - Value2

Fonctions disponibles
Liste des fonctions disponibles
 S_SUB_INT
 S_SUB_DINT
 S_SUB_UINT
 S_SUB_UDINT
 S_SUB_REAL

Représentation en FBD
Représentation

33003874 02/2015 143


S_SUB_***

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


Value1 INT, DINT, UINT, diminuende
UDINT, REAL
Value2 INT, DINT, UINT, diminuteur
UDINT, REAL

Description du paramètre de sortie

Paramètre Type de données Signification


Difference INT, DINT, UINT, différence
UDINT, REAL

Erreur d’exécution
Le mot système %SW17 indique l’état de l’erreur détectée sur S_SUB_REAL.

144 33003874 02/2015


Unity Pro
ES_Quantum
33003874 02/2015

Partie VII
ES_Quantum

ES_Quantum

Introduction
Cette section décrit les blocs fonction élémentaires non perturbateurs de la famille Quantum_IO.

Contenu de cette partie


Cette partie contient les chapitres suivants :
Chapitre Titre du chapitre Page
35 NI_DROP : Configuration d’un rack de station d’E/S distantes 147
36 NI_QUANTUM : Configuration d’un rack principal 151
37 NI_ERT_854_20 : EFB de transfert de données 153

33003874 02/2015 145


ES_Quantum

146 33003874 02/2015


Unity Pro
NI_DROP
33003874 02/2015

Chapitre 35
NI_DROP : Configuration d’un rack de station d’E/S distantes

NI_DROP : Configuration d’un rack de station d’E/S


distantes

Description

Description de la fonction
Ce bloc fonction sert à traiter les données de configuration d’une station d’E/S distante (lors de la
configuration de la sécurité) pour leur utilisation ultérieure par les EFB de configuration de module.
Pour configurer un rack de station d’E/S, le bloc fonction NI_DROP est connecté, à la section de
configuration (voir Unity Pro, Gestion des E/S, Bibliothèque de blocs), à la sortie SLOT
correspondante du bloc de fonction NI_QUANTUM (voir page 151). Le numéro de la station d’E/S
défini dans l’affectation des E/S doit être saisi à l’entrée NUMBER du bloc fonction NI_DROP. Les
blocs fonction 140 ERT 854 20 du module des stations d’E/S sont connectés aux sorties SLOT.
EN et ENO peuvent être configurés comme paramètres supplémentaires.

Représentation en FBD
Représentation :

33003874 02/2015 147


NI_DROP

Représentation en LD
Représentation :

Représentation en IL
Représentation :
CAL NI_DROP_Instance (SLOT:=SlotForRIO,
NUMBER:=NumberOfRIO, SLOT1=>Slot1,
SLOT2=>Slot2, SLOT3=>Slot3, SLOT4=>Slot4, SLOT5=>Slot5,
SLOT6=>Slot6, SLOT7=>Slot7, SLOT8=>Slot8, SLOT9=>Slot9,
SLOT10=>Slot10, SLOT11=>Slot11, SLOT12=>Slot12,
SLOT13=>Slot13, SLOT14=>Slot14, SLOT15=>Slot15,
SLOT16=>Slot16)

Représentation en ST
Représentation :
NI_DROP_Instance (SLOT:=SlotForRIO,
NUMBER:=NumberOfRIO, SLOT1=>Slot1,
SLOT2=>Slot2, SLOT3=>Slot3, SLOT4=>Slot4, SLOT5=>Slot5,
SLOT6=>Slot6, SLOT7=>Slot7, SLOT8=>Slot8, SLOT9=>Slot9,
SLOT10=>Slot10, SLOT11=>Slot11, SLOT12=>Slot12,
SLOT13=>Slot13, SLOT14=>Slot14, SLOT15=>Slot15,
SLOT16=>Slot16) ;

148 33003874 02/2015


NI_DROP

Description des paramètres


Description des paramètres d’entrée :

Paramètre Type de données Signification


SLOT INT Emplacement de RIO
NUMBER DINT Numéro de RIO

Description des paramètres de sortie :

Paramètre Type de données Signification


SLOT1 INT Emplacement 1
: : :
SLOT16 INT Emplacement 16

33003874 02/2015 149


NI_DROP

150 33003874 02/2015


Unity Pro
NI_QUANTUM
33003874 02/2015

Chapitre 36
NI_QUANTUM : Configuration d’un rack principal

NI_QUANTUM : Configuration d’un rack principal

Description

Description de la fonction
Ce bloc fonction sert à traiter les données de configuration d’un rack principal Quantum (lors de la
configuration de la sécurité) afin de permettre leur utilisation ultérieure par les EFB de mise à
l’échelle.
Pour configurer un rack principal Quantum, le bloc fonction NI_QUANTUM est inséré dans la section
de configuration (voir Unity Pro, Gestion des E/S, Bibliothèque de blocs). Le bloc fonction
NI_ERT_ 584_20 (voir page 154) utilisé pour la configuration du module 140 ERT 854 20 ou le
bloc fonction NI_DROP (voir page 147) de la station d’E/S distantes est connecté aux sorties SLOT.
EN et ENO peuvent être configurés comme paramètres supplémentaires.

Représentation en FBD
Représentation :

33003874 02/2015 151


NI_QUANTUM

Représentation en LD
Représentation :

Représentation en IL
Représentation :
CAL NI_QUANTUM_Instance (SLOT1=>Slot1, SLOT2=>Slot2,
SLOT3=>Slot3, SLOT4=>Slot4, SLOT5=>Slot5, SLOT6=>Slot6,
SLOT7=>Slot7, SLOT8=>Slot8, SLOT9=>Slot9,
SLOT10=>Slot10, SLOT11=>Slot11, SLOT12=>Slot12,
SLOT13=>Slot13, SLOT14=>Slot14, SLOT15=>Slot15,
SLOT16=>Slot16)

Représentation en ST
Représentation :
NI_QUANTUM_Instance (SLOT1=>Slot1, SLOT2=>Slot2,
SLOT3=>Slot3, SLOT4=>Slot4, SLOT5=>Slot5, SLOT6=>Slot6,
SLOT7=>Slot7, SLOT8=>Slot8, SLOT9=>Slot9,
SLOT10=>Slot10, SLOT11=>Slot11, SLOT12=>Slot12,
SLOT13=>Slot13, SLOT14=>Slot14, SLOT15=>Slot15,
SLOT16=>Slot16) ;

Description des paramètres


Description des paramètres de sortie :

Paramètre Type de données Signification


SLOT1 INT Emplacement 1
: : :
SLOT16 INT Emplacement 16

152 33003874 02/2015


Unity Pro
NI_ERT_854_20
33003874 02/2015

Chapitre 37
NI_ERT_854_20 : EFB de transfert de données

NI_ERT_854_20 : EFB de transfert de données

Introduction
Ce chapitre décrit le bloc NI_ERT_854_20.

Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet Page
Description 154
Mode de fonctionnement 159
Configuration des EFB 161
Flux de données 162

33003874 02/2015 153


NI_ERT_854_20

Description

Description de la fonction
L’EFB NI_ERT_854_20 fournit une interface logicielle au module 140 ERT 854 20 (dans une
configuration de sécurité) qui vous permet d’accéder aisément à des fonctions telles que
l’horodatage et l’état.
NOTE :
Lors de l’utilisation du module 140 ERT 854 20 dans une configuration de sécurité :
 Il est impossible de synchroniser l’heure du module 140 ERT 854 20 avec l’UC à l’aide de la
structure DPM_Time.
 La fonction de comptage n’est pas disponible.

L’EFB NI_ERT_854_20 coordonne le flux des données multiplexées du module ERT à l’automate
à l’aide des registres d’entrées et de sorties. Le système active automatiquement un mémento
« Nouvelles données » pour chaque type de données lorsque le type de données d’entrée a été
copié dans la structure de sortie correspondante de l’EFB.
Les paramètres supplémentaires EN et ENO peuvent être configurés.

Incohérence entre la sortie de l’EFB et les données %IW


De façon générale, les données %IW correspondent à la broche de sortie EFB nommée INPUT.
Lors des premières scrutations qui suivent le démarrage de l’automate, la sortie de l’EFB n’est pas
cohérente avec les données %IW. Les mécanismes de liaison implémentés dans les
communications entre l’EFB NI_ERT_854_20 et le matériel ERT en sont la cause.
NOTE : si l’EFB signale une erreur de communication, les données %IW ne sont pas mises à jour
par le matériel de l’ERT.
N’utilisez pas les données %IW si l’EFB renvoie ENO = false.

154 33003874 02/2015


NI_ERT_854_20

Représentation en FBD
Représentation :

Représentation en LD
Représentation :

33003874 02/2015 155


NI_ERT_854_20

Représentation en IL
Représentation :
CAL NI_ERT_854_20_Instance (SLOT:=SlotIndex,
ACK:=EventAcknowledgment, CL_TT:=ClearEventBufferFlag,
INPUT=>OutputBoolArray, ND_TT=>NewTimeTagFlag,
TT_DATA=>TimeTagDataOutput, ND_STAT=>NewStatusDataFlag,
STATUS=>EFB_ERTStatus)

Représentation en ST
Représentation :
NI_ERT_854_20_Instance (SLOT:=SlotIndex,
ACK:=EventAcknowledgment, CL_TT:=ClearEventBufferFlag,
INPUT=>OutputBoolArray, ND_TT=>NewTimeTagFlag,
TT_DATA=>TimeTagDataOutput, ND_STAT=>NewStatusDataFlag,
STATUS=>EFB_ERTStatus) ;

Description des paramètres


Description des paramètres d’entrée :

Paramètre Type de données Signification


SLOT INT L’index Slot a été affecté à l’EFB NI_ERT_854_20
à partir de l’EFB NI_QUANTUM ou NI_DROP et
contient les références d’entrée et de sortie
configurées (%IW et %MW).
ACK BOOL Confirmation des événements : le paramètre ACK
signale que l’utilisateur est prêt à recevoir
l’événement suivant et supprime le marqueur
TT_DATA. Si ACK reste activé, le mode de
fonctionnement en continu est exécuté.
CL_TT BOOL Suppression du tampon FIFO de l’événement ERT en
définissant CL_TT. Les événements ne peuvent pas
être stockés tant que CL_TT n’est pas remis à 0.

Description des paramètres de sortie :

Paramètre Type de Signification


données
INPUT ARRAY Tableau de sortie pour les 32 entrées numériques au format BOOL.
[0..31] Egalement disponible sous forme de références de mots au format
OF BOOL %IWx et %IWx+1.
ND_TT BOOL Marqueur, nouvelles données dans la structure TT_DATA : reste
défini jusqu’à l’acquittement par l’utilisateur avec ACK.

156 33003874 02/2015


NI_ERT_854_20

Paramètre Type de Signification


données
TT_DATA ARRAY Tableau de sortie du message d’événement avec horodatage. Un
[0..7] événement se produit et ND_TT est réglé sur 1 jusqu’à l’acquittement
OF BYTE par l’utilisateur avec ACK = 1.
ND_STAT BOOL Marqueur, nouvelles données d’état dans le mot STATUS : la
valeur 1 est définie pour un cycle uniquement et n’est pas acquittée.
STATUS WORD Mot de sortie pour l’état EFB/ERT. Pour plus d’informations,
consultez la section Entrée d’état (voir page 163).

ATTENTION
COMPORTEMENT INATTENDU DE L’APPLICATION
 N’utilisez pas l’EFB NI_ERT_584_20 dans un DFB.
 Ne changez pas la valeur des paramètres de sortie TT_DATA et INPUT dans l’application
après l’exécution de l’EFB NI_ERT_854_20 dans le cycle.
Le non-respect de ces instructions peut provoquer des blessures ou des dommages
matériels.

Pour modifier les valeurs des paramètres de sortie TT_DATA et INPUT dans l’application après
l’exécution de l’EFB, commencez par copier ces valeurs dans les autres variables dl’automate.
Procédez ensuite aux modifications.

TT_DATA : Tableau de sortie du message d’événement


Tableau de sortie du message d’événement TT_DATA avec marqueurs de temps sur 5 octets :

Paramètre Signification Bits Fonction


[Octets]
TT_DATA[0] Heure / numéro de D0 à D6 = module n° 0 Durée brute : CT = 1 indique que cette marque de
l’utilisateur complet à 127 temps comprend l’ensemble de la déclaration
[numéro de module] D7 = CT des heures, des mois et des années en octets
2 + 3. Le numéro de module peut être défini dans
l’écran des paramètres.
TT_DATA[1] Type d’événement D0D5 = numéro Numéro de la première entrée du groupe
défini / N° de la d’entrée d’événements : 1 à 32
première entrée D6 = P1 Type de message d’événement (voir page 156)
D7 = P2 (P2, P1). 1..0.3.
[Valeur mensuelle avec CT = 1]
(1) La valeur maximale des millisecondes est de 61 100 ms avec des secondes de découpage (61 000 plus une
tolérance de 100 millisecondes).
(2) Pour les marqueurs de temps contenant un temps non valide (TI = 1), le temps en millisecondes est réglé sur FFFF
HEX. Les minutes, heures et valeurs DOW/DOM ne sont pas valides (c’est-à-dire non définies).

33003874 02/2015 157


NI_ERT_854_20

Paramètre Signification Bits Fonction


[Octets]
TT_DATA[2] Données D0D7 = données 1, 2 ou 8 positions gérées
d’événements : 1, 2 ou provenant du groupe [valeur annuelle si CT = 1]
8 positions d’événements (D7D0
programmées avec alignement à
droite)
TT_DATA[3] Temps en Temps en 0 à 59 999 millisecondes (maximum 61 100)(1)
millisecondes (octet millisecondes (octet de (2)
.
de poids faible) poids faible)
TT_DATA[4] Temps en Temps en
millisecondes (octet millisecondes (octet de
de poids fort) poids fort)
TT_DATA[5] Temps non valide / D0 à D5 = minutes Minutes : 0 à 59
Minutes D6 = R Temps non valide : TI = 1 signifie un temps non
D7 = TI valide / réservé = 0(2).
TT_DATA[6] Heure d’été / heures D0 à D4 = heures Heures : 0 à 23
D5 = R Heure d’été : DS = 1 indique que l’heure d’été est
D6 = R définie
D7 = DS Avec le décalage SZ -> WZ présente l’heure 2A
et l’ID SZ, et l’heure 2B a l’ID WZ
TT_DATA[7] Jour de la semaine / D0 à D4 = DOM Jour du mois : 1 à 31
Jour du mois D5 à D7 = DOW Jour de la semaine : Lun à Dim = 1 à 7
Le jour de la semaine correspond à l’heure de
l’Europe centrale (CET), différent donc du
standard utilisé aux États-Unis (Dim = 1).
(1) La valeur maximale des millisecondes est de 61 100 ms avec des secondes de découpage (61 000 plus une
tolérance de 100 millisecondes).
(2) Pour les marqueurs de temps contenant un temps non valide (TI = 1), le temps en millisecondes est réglé sur FFFF
HEX. Les minutes, heures et valeurs DOW/DOM ne sont pas valides (c’est-à-dire non définies).

Type de message d’événement


Interprétation du deuxième octet du tableau (TT_DATA[1]) :

D7 D6 Type de message D5 à D0 Numéro de la première entrée du


d’événement groupe d’événements
01 Message 1 broche 1 à 32 Numéro de broche d’entrée
10 Message 2 broches 1, 3, 5 à 31 Première entrée du groupe
11 Message 8 broches 1, 9, 17, 25 Première entrée du groupe

158 33003874 02/2015


NI_ERT_854_20

Mode de fonctionnement

Transfert de données de l’ERT


Le nombre de mots d’E/S disponibles sur les stations distantes S908 est limité à 64 entrées et
64 sorties. C’est pourquoi le nombre de modules ERT configurables par station distante avec au
minimum 8 mots d’entrée et 5 mots de sortie est limité à 8. Le nombre de modules ERT dans les
stations EIO est illimité.
La taille du transfert de données ERT requis est sensiblement plus importante :
 32 compteurs = 64 mots,
 un événement avec marqueur de temps sur 5 octets = 4 mots,
 32 valeurs numériques et état ERT = 3 mots.
Du fait de ces contraintes de taille contradictoires, il est nécessaire d’utiliser un EFB de transfert
spécial, NI_ERT_854_20, pour effectuer les opérations nécessaires sur l’automate et adapter la
représentation ERT des données en forme multiplexée. Ce type d’EFB est nécessaire pour chaque
module ERT.
Par mesure de simplification, seuls les paramètres EFB effectivement utilisés doivent être
configurés. Ceci accélère la configuration, en particulier lorsque les entrées de compteur et
d’événement ne sont pas mélangées. La mémoire n’est pas enregistrée, car Unity Pro complète
les sorties avec des données invisibles.

Structure sous-jacente du bloc de registre


Structure sous-jacente du bloc de registre d’entrées NI_ERT_854_20 avec 8 mots d’entrée %IW
à transférer de l’ERT vers l’automate :

Sommaire Fonction
Entrées numériques 1 à 16 Données d’entrée traitées numériquement, mises à jour de
Entrées numériques 17 à manière cyclique (l’adresse d’entrée du module correspond à
celle du module d’entrées numériques standard, c’est-à-dire
32
que les entrées 1 à 16 correspondent aux bits 15 à 0)
Etat du transfert Etat du transfert IN (TS_IN)
MUX 1 Bloc de données multiplexées pour le transfert de blocs,
comme :
MUX 2
 1 événement avec marqueur de temps sur 5 octets ou
MUX 3  2 valeurs de compteur parmi les 32 maximum configurées
MUX 4 ou
 1 mot d’état

RESERVE Réservé pour usage interne

Structure simplifiée du bloc de registre de sorties du NI_ERT_854_20, avec 5 mots de sortie


%MW pour le transfert de l’automate vers l’ERT.

33003874 02/2015 159


NI_ERT_854_20

Bloc de registre de sorties du NI_ERT_854_20 :

Sommaire Fonction
Etat du transfert Etat du transfert OUT (TS_OUT)
MUX 1 Bloc de données temporelles de l’ERT pour la
synchronisation de l’horloge
MUX 2
MUX 3
MUX 4

NOTE : normalement, les entrées et sorties de l’EFB NI_ERT_854_20 servent d’interface


utilisateur, pas les mots d’E/S %IW et %MW.

160 33003874 02/2015


NI_ERT_854_20

Configuration des EFB

Raccordement des EFB


Le lien entre l’EFB et les références d’entrée et de sortie (%IW et %QW) est établi par une
connexion graphique au numéro d’emplacement de l’ERT. Les EFB NI_QUANTUM et NI_DROP
actuellement disponibles dans la bibliothèque de sécurité sont les suivants :
 NI_QUANTUM en local
 NI_DROP pour les racks distants
Ces EFB transmettent à chaque emplacement spécifié un index entier qui renvoie à une structure
de données interne ayant les valeurs configurées. Les paramètres du module et l’ID y sont
stockés, en plus des adresses et des longueurs des références d’entrée et de sortie affectées
(%IW et %MW).
Le temps d’exécution peut être considérablement réduit en désactivant l’EFB NI_QUANTUM ou
NI_DROP à l’issue de la première exécution.

Fonction de CL_TT
La mise à 1 du marqueur d’entrée CL_TT provoque l’effacement du tampon FIFO d’événements
de l’ERT. La mise à 1 du marqueur pendant un cycle est suffisante.

Schéma fonctionnel
Principe de structure :

33003874 02/2015 161


NI_ERT_854_20

Flux de données

Entrées numériques
Aucun marqueur de nouvelles données n’est fourni avec ce type d’entrée. Les entrées numériques
des deux premiers mots de registre d’entrée sont mises à jour directement par le module ERT à
chaque cycle. L’EFB NI_ERT_854_20 rend disponibles les valeurs traitées en tant que BOOL
dans le tableau du paramètre de sortie INPUT.

Entrées d’événement
Vous devez confirmer que vous êtes prêt à recevoir de nouveaux événements. Par conséquent,
l’administration des marqueurs devient plus complexe (un mécanisme d’établissement de liaison
est requis). Les données d’événement restent dans le tableau de sortie des messages
d’événement TT_DATA et le marqueur de nouvelles données ND_TT reste défini jusqu’à ce que
l’entrée ACK soit paramétrée et qu’un nouvel événement soit demandé. L’EFB réagit en
redéfinissant ND_TT pour au moins un cycle. Une fois le nouvel événement envoyé au tableau de
sortie des messages d’événement TT_DATA, ND_TT est réinitialisé par l’EFB. Réinitialisez l’entrée
ACK après la réinitialisation du marqueur ND_TT par l’EFB, afin que les nouvelles données
d’événement ne soient pas écrasées. Cet état peut ensuite rester stable afin d’accorder
suffisamment de temps au programme utilisateur pour le traitement d’événement. Chaque
événement ultérieur suivi par l’ERT est temporairement stocké dans le tampon FIFO des
événements.
Les nouveaux événements sont envoyés directement à partir du tampon interne de l’EFB à des
intervalles d’au moins deux cycles tant que l’entrée ACK est définie (pour le mode spécial de
fonctionnement en continu) ; toutefois, il en découle que ND_TT demeure défini pour un seul cycle.
Dans ce mode spécial, le programme utilisateur doit encore mettre fin au traitement des
événements avant que ND_TT ne signale le transfert d’autres nouveaux événements à la sortie
des messages d’événement TT_DATA car aucune protection de liaison par ACK n’est disponible
dans ce cas.

Déclaration des heures brutes


Si cette déclaration a été activée lors de la configuration de l’ERT, le transfert de l’ensemble du
temps (avec mois/année) se déroule dans les conditions suivantes :
 lorsque le mois change,
 après le démarrage du module,
 à chaque démarrage ou arrêt du programme utilisateur de l’automate,
 lorsque le tampon FIFO d’événements est supprimé,
 lorsque l’horloge est démarrée ou définie.

162 33003874 02/2015


NI_ERT_854_20

Si cette déclaration est envoyée sans les valeurs d’entrée des données, le « déclenchement » a
lieu à l’aide d’un événement correctement horodaté. S’il n’a pas lieu, les valeurs restent
« déterminées » dans l’ERT jusqu’à ce qu’un événement se produise. Pendant ce temps, le bit CT
est toujours défini de sorte que l’octet 2 contienne le mois, l’octet 3 l’année et les octets 4 à 8
affichent les mêmes valeurs temporelles de l’événement déclenché dont le message apparaît
immédiatement après la déclaration.

Entrées d’état
Le marqueur de nouvelles données d’état ND_STAT est défini pour un cycle. Les entrées d’état
peuvent être remplacées après deux cycles d’interrogation.
Le mot d’état contient les bits d’erreur EFB et ERT.

Division des bits d’erreur


Structure interne du mot d’état EFB/ERT :

Bits d’erreur EFB Bits d’erreur ERT


D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0

Bits d’erreur ERT


Bits d’erreur ERT D8 à D0 :

Bit Brève description Signification


D0 FW Micrologiciel n’identifiant pas les erreurs de test automatique dans les
mémoires internes
D1 FP Erreurs de paramétrisation
D2 TE Erreur externe de référence temporelle (signal temporel interrompu ou absent)
D3 TU Temps valide
D4 TA Temps non synchronisé (mode autonome, exécution permanente sans
message d’erreur de temps).
D5 PF Dépassement de tampon FIFO (perte de toutes les données d’événement les
plus récentes)
D6 PH Tampon FIFO à moitié plein
D7 DC Stabilisation active (certaines données d’événement sont perdues)
D8 CE Erreurs de communication ERT (erreurs de procédure ou temporisation)

Lors de la configuration de l’écran des paramètres, certaines de ces erreurs peuvent être
attribuées aux messages d’erreur groupés avec la mention « F » ainsi qu’à l’octet d’erreur du
module dans le tableau d’état. Toutes les autres erreurs sont définies comme des avertissements.
D11 à D9 réservé.

33003874 02/2015 163


NI_ERT_854_20

Bits d’erreur EFB


Bits d’erreur EFB D15 à D12 :

Bin. Hex Signification


1001 9 HEX Réponse erronée reconnue, commande (erreur
interne EFB)
1000 8 HEX Dépassement du délai de communication EFB
0101 5 HEX Emplacement erroné
0110 6 HEX Le bit d’état de santé n’est pas défini (ERT apparaît
comme indisponible)
1010 A HEX Erreur de somme de contrôle CRC
Autres – Erreur interne
valeurs

164 33003874 02/2015


Unity Pro
Statistique
33003874 02/2015

Partie VIII
Statistique

Statistique

Introduction
Cette section décrit les fonctions et blocs fonction élémentaires du groupe Statistique.

Contenu de cette partie


Cette partie contient les chapitres suivants :
Chapitre Titre du chapitre Page
38 S_LIMIT_*** : Limite 167
39 S_MAX_*** : Fonction de valeur maximum 169
40 S_MIN_*** : Fonction de valeur minimum 171
41 S_MUX_*** : Multiplexeur 173
42 S_SEL : Sélection binaire 175

33003874 02/2015 165


Statistique

166 33003874 02/2015


Unity Pro
S_LIMIT_***
33003874 02/2015

Chapitre 38
S_LIMIT_*** : Limite

S_LIMIT_*** : Limite

Description

Description de la fonction
Cette fonction transfère la valeur à l’entrée non modifiée (Input) en sortie si la valeur à l’entrée
n’est pas inférieure à la valeur minimum (LowerLimit) et ne dépasse pas la valeur maximum
(UpperLimit). Si la valeur en entrée (Input) est inférieure à la valeur minimum (LowerLimit),
la valeur minimum est transférée en sortie. Si la valeur en entrée (Input) dépasse la valeur
maximum (UpperLimit), la valeur maximum est transférée en sortie.
Les types de données de l’ensemble des valeurs en entrée et en sortie doivent être identiques.
EN et ENO peuvent être définis en tant que paramètres supplémentaires.

Formule
OUT = IN, si (IN ≥ MN) & (IN ≤ MX)
OUT = MN, si (IN < MN)
OUT = MX, si (IN > MX)

Fonctions disponibles
Liste des fonctions disponibles
 S_LIMIT_BOOL
 S_LIMIT_BYTE
 S_LIMIT_WORD
 S_LIMIT_DWORD
 S_LIMIT_INT
 S_LIMIT_DINT
 S_LIMIT_UINT
 S_LIMIT_UDINT

33003874 02/2015 167


S_LIMIT_***

Représentation en FBD
Représentation

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


LowerLimit BOOL, BYTE, WORD, DWORD, limite inférieure
INT, DINT, UINT, UDINT
Input BOOL, BYTE, WORD, DWORD, entrée
INT, DINT, UINT, UDINT
UpperLimit BOOL, BYTE, WORD, DWORD, limite supérieure
INT, DINT, UINT, UDINT

Description du paramètre de sortie

Paramètre Type de données Signification


Output BOOL, BYTE, WORD, sortie
DWORD, INT, DINT,
UINT, UDINT

168 33003874 02/2015


Unity Pro
S_MAX_***
33003874 02/2015

Chapitre 39
S_MAX_*** : Fonction de valeur maximum

S_MAX_*** : Fonction de valeur maximum

Description

Description de la fonction
La fonction affecte la valeur en entrée la plus élevée à la sortie.
Les types de données de l’ensemble des valeurs en entrée et en sortie doivent être identiques.
Le nombre d’entrées peut atteindre 32.
EN et ENO peuvent être définis en tant que paramètres supplémentaires.

Formule
OUT = MAX {IN1, IN2, ..., INn}

Fonctions disponibles
Liste des fonctions disponibles
 S_MAX_BOOL
 S_MAX_BYTE
 S_MAX_WORD
 S_MAX_DWORD
 S_MAX_INT
 S_MAX_DINT
 S_MAX_UINT
 S_MAX_UDINT

Représentation en FBD
Représentation

33003874 02/2015 169


S_MAX_***

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


Value1 BOOL, BYTE, WORD, 1. valeur en entrée
DWORD, INT, DINT,
UINT, UDINT
Value2 BOOL, BYTE, WORD, 2. valeur en entrée
DWORD, INT, DINT,
UINT, UDINT
Valuen BOOL, BYTE, WORD, n. valeur en entrée
DWORD, INT, DINT, n = max 32
UINT, UDINT

Description des paramètres de sortie

Paramètre Type de données Signification


Maximum BOOL, BYTE, WORD, valeur maximum
DWORD, INT, DINT,
UINT, UDINT

170 33003874 02/2015


Unity Pro
S_MIN_***
33003874 02/2015

Chapitre 40
S_MIN_*** : Fonction de valeur minimum

S_MIN_*** : Fonction de valeur minimum

Description

Description de la fonction
La fonction affecte la valeur en entrée la plus faible à la sortie.
Les types de données de l’ensemble des valeurs en entrée et en sortie doivent être identiques.
Le nombre d’entrées peut atteindre 32.
EN et ENO peuvent être définis en tant que paramètres supplémentaires.

Formule
OUT = MIN {IN1, IN2, ..., INn}

Fonctions disponibles
Liste des fonctions disponibles
 S_MIN_BOOL
 S_MIN_BYTE
 S_MIN_WORD
 S_MIN_DWORD
 S_MIN_INT
 S_MIN_DINT
 S_MIN_UINT
 S_MIN_UDINT

Représentation en FBD
Représentation

33003874 02/2015 171


S_MIN_***

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


Value1 BOOL, BYTE, WORD, 1. valeur en entrée
DWORD, INT, DINT,
UINT, UDINT
Value2 BOOL, BYTE, WORD, 2. valeur en entrée
DWORD, INT, DINT,
UINT, UDINT
Valuen BOOL, BYTE, WORD, n. valeur en entrée
DWORD, INT, DINT, n = max 32
UINT, UDINT

Description des paramètres de sortie

Paramètre Type de données Signification


Minimum BOOL, BYTE, WORD, valeur minimale
DWORD, INT, DINT,
UINT, UDINT

172 33003874 02/2015


Unity Pro
S_MUX_***
33003874 02/2015

Chapitre 41
S_MUX_*** : Multiplexeur

S_MUX_*** : Multiplexeur

Description

Description de la fonction
Cette fonction transfère l’entrée en sortie selon la valeur K en entrée .
Le nombre d’entrées peut atteindre 31.
EN et ENO peuvent être définis en tant que paramètres supplémentaires.

Exemple
K = 0: L’entrée IN0 est transférée en sortie.
K = 1: L’entrée IN1 est transférée en sortie.
K = 5: L’entrée IN5 est transférée en sortie.
K= n : L’entrée INn est transférée en sortie.

Types de données
Les types de données des entrées Input0 à Inputn de la sortie doivent être identiques.

Fonctions disponibles
Liste des fonctions disponibles
 S_MUX_INT
 S_MUX_DINT
 S_MUX_UINT
 S_MUX_UDINT

Représentation en FBD
Représentation

33003874 02/2015 173


S_MUX_***

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


K INT, DINT, UINT, entrée de la sélection
UDINT K = 0...30
IN0 BOOL, BYTE, WORD, 1. entrée
DWORD, INT, DINT,
UINT, UDINT
IN1 BOOL, BYTE, WORD, 2. entrée
DWORD, INT, DINT,
UINT, UDINT
IN2 BOOL, BYTE, WORD, 3. entrée
DWORD, INT, DINT,
UINT, UDINT
INn BOOL, BYTE, WORD, n+1. entrée, n = max. 30
DWORD, INT, DINT,
UINT, UDINT

Description des paramètres de sortie

Paramètre Type de données Signification


OUT BOOL, BYTE, WORD, sortie
DWORD, INT, DINT,
UINT, UDINT

174 33003874 02/2015


Unity Pro
S_SEL
33003874 02/2015

Chapitre 42
S_SEL : Sélection binaire

S_SEL : Sélection binaire

Description

Description de la fonction
Cette fonction permet d’effectuer une sélection binaire entre deux valeurs d’entrée.
En fonction de l’état de l’entrée Selection, l’entrée Input0 ou Input1 est transférée en sortie
Output.
Selection = 0 -> Output = Input0
Selection = 1 -> Output = Input1
Les types de données des valeurs en entrée Input0 et Input1 et en sortie Output doivent être
identiques.
EN et ENO peuvent être définis en tant que paramètres supplémentaires.

Représentation en FBD
Représentation

Représentation en LD
Représentation

33003874 02/2015 175


S_SEL

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


Selection BOOL entrée de la sélection
Input0 BOOL, BYTE, WORD, entrée 0
DWORD, INT, DINT,
UINT, UDINT
Input1 BOOL, BYTE, WORD, entrée 1
DWORD, INT, DINT,
UINT, UDINT

Description du paramètre de sortie

Paramètre Type de données Signification


Output BOOL, BYTE, WORD, sortie
DWORD, INT, DINT,
UINT, UDINT

176 33003874 02/2015


Unity Pro
Temporisateurs et compteurs
33003874 02/2015

Partie IX
Temporisateurs et compteurs

Temporisateurs et compteurs

Introduction
Cette section décrit les fonctions et blocs fonction élémentaires de la famille Temporisateurs
et compteurs.

Contenu de cette partie


Cette partie contient les chapitres suivants :
Chapitre Titre du chapitre Page
43 S_CTD_*** : Décompteur 179
44 S_CTU_*** : Compteur 181
45 S_CTUD_*** : Compteur/décompteur 183
46 S_TOF : Délai à la désactivation 185
47 S_TON : On Delay 187
48 S_TP : Impulsion 189

33003874 02/2015 177


Temporisateurs et compteurs

178 33003874 02/2015


Unity Pro
S_CTD_***
33003874 02/2015

Chapitre 43
S_CTD_*** : Décompteur

S_CTD_*** : Décompteur

Description

Description de la fonction
Le bloc fonction permet de décompter.
Un signal de 1 à l’entrée LD entraîne l’affectation de la valeur de l’entrée PV à la sortie CV. Pour
chaque transition de 0 à 1 à l’entrée CD, la valeur de CV est diminuée de 1.
Lorsque CV ≤est à 0, la sortie Q est à 1.
NOTE : Le compteur fonctionne uniquement jusqu’aux valeurs minimum du type de données
utilisé. Il n’y a pas de dépassement.
Les paramètres supplémentaires EN et ENO peuvent être définis.

Fonctions disponibles
Liste des fonctions disponibles
 S_CTD_INT
 S_CTD_DINT
 S_CTD_UINT
 S_CTU_UDINT

Représentation en FBD
Représentation

33003874 02/2015 179


S_CTD_***

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


CD BOOL entrée déclencheur
LD BOOL charger les données
PV INT, DINT, UINT, valeur de présélection
UDINT

Description du paramètre de sortie

Paramètre Type de données Signification


Q BOOL sortie
CV INT, DINT, UINT, valeur du compteur (valeur actuelle)
UDINT

180 33003874 02/2015


Unity Pro
S_CTU_***
33003874 02/2015

Chapitre 44
S_CTU_*** : Compteur

S_CTU_*** : Compteur

Description

Description de la fonction
Le bloc fonction permet de compter.
Un signal de 1 à l’entrée R permet à la valeur 0 d’être affectée à la sortie CV. Pour chaque transition
de 0 à 1 à l’entrée CU, la valeur de CV est augmentée de 1. Lorsque CV ≥ PV, la sortie Q est définie
sur 1.
NOTE : Le compteur fonctionne uniquement jusqu’aux valeurs maximum du type de données
utilisé. Il n’y a pas de dépassement.
Les paramètres supplémentaires EN et ENO peuvent être définis.

Fonctions disponibles
Liste des fonctions disponibles
 S_CTU_INT
 S_CTU_DINT
 S_CTU_UINT
 S_CTU_UDINT

Représentation en FBD
Représentation

33003874 02/2015 181


S_CTU_***

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


CU BOOL entrée déclencheur
R BOOL réinitialisation.
PV INT, DINT, UINT, valeur de présélection
UDINT

Description du paramètre de sortie

Paramètre Type de données Signification


Q BOOL sortie
CV INT, DINT, UINT, valeur du compteur (valeur actuelle)
UDINT

182 33003874 02/2015


Unity Pro
S_CTUD_***
33003874 02/2015

Chapitre 45
S_CTUD_*** : Compteur/décompteur

S_CTUD_*** : Compteur/décompteur

Description

Description de la fonction
Le bloc fonction permet de compter et de décompter.
Un signal de 1 à l’entrée R permet à la valeur 0 d’être affectée à la sortie CV. Un signal de 1 à
l’entrée LD entraîne l’affectation de la valeur de l’entrée PV à la sortie CV. Pour chaque transition
de 0 à 1 à l’entrée CU, la valeur de CV est augmentée de 1. Pour chaque transition de 0 à 1 de
l’entrée CD, la valeur de CV est diminuée de 1.
Si les entrées R et LD ont un signal de 1 simultané, l’entrée R prévaut.
Lorsque CV ≥ PV, la sortie QU est de 1.
Lorsque CV ≤est à 0, la sortie QD est à 1.
NOTE : Le décompte fonctionne uniquement jusqu’aux valeurs minimum du type de données
utilisé et le compteur uniquement jusqu’aux valeurs maximum du type de données utilisé. Il n’y a
pas de dépassement.
Les paramètres supplémentaires EN et ENO peuvent être définis.

Fonctions disponibles
Liste des fonctions disponibles
 S_CTUD_INT
 S_CTUD_DINT
 S_CTUD_UINT
 S_CTUD_UDINT

Représentation en FBD
Représentation

33003874 02/2015 183


S_CTUD_***

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


CU BOOL entrée déclencheur de compteur
CD BOOL entrée déclencheur de décompteur
R BOOL réinitialisation.
LD BOOL charger les données
PV INT, DINT, UINT, valeur de présélection
UDINT

Description du paramètre de sortie

Paramètre Type de données Signification


QU BOOL affichage du compte
QD BOOL affichage du décompte
CV INT, DINT, UINT, valeur du compteur (valeur actuelle)
UDINT

184 33003874 02/2015


Unity Pro
S_TOF
33003874 02/2015

Chapitre 46
S_TOF : Délai à la désactivation

S_TOF : Délai à la désactivation

Description

Description de la fonction
Le bloc fonction est utilisé en tant que délai à la désactivation.
Lorsque le bloc fonction est appelé pour la première fois, l’état initial de ET est 0.
EN et ENO peuvent être définis en tant que paramètres supplémentaires.

Représentation en FBD
Représentation

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


IN BOOL délai au démarrage
PT TIME temps de délai à la présélection

33003874 02/2015 185


S_TOF

Description du paramètre de sortie

Paramètre Type de données Signification


Q BOOL sortie
ET TIME temporisateur interne

Chronogramme
Représentation du délai à la désactivation S_TOF

(1) Si IN passe à 1, Q passe à 1.


(2) Si IN passe à 0, le temporisateur interne (ET) se lance.
(3) Si le temporisateur interne atteint la valeur de PT, Q passe à 0.
(4) Si IN passe à 1, Q passe à 1 et le temporisateur interne s’arrête et se réinitialise.
(5) Si IN passe à 1 avant que le temporisateur interne atteigne la valeur de PT, celui-ci est arrêté et réinitialisé
sans que Q reprenne la valeur 0.

186 33003874 02/2015


Unity Pro
S_TON
33003874 02/2015

Chapitre 47
S_TON : On Delay

S_TON : On Delay

Description

Description de la fonction
Le bloc fonction est utilisé en tant que délai à l’activation.
Lorsque le bloc fonction est appelé pour la première fois, l’état initial de ET est 0.
EN et ENO peuvent être définis en tant que paramètres supplémentaires.

Représentation en FBD
Représentation

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


IN BOOL délai au démarrage
PT TIME temps de délai à la présélection

33003874 02/2015 187


S_TON

Description du paramètre de sortie

Paramètre Type de données Signification


Q BOOL sortie
ET TIME temporisateur interne

Chronogramme
Représentation du délai à l’activation S_TON

(1) Si IN passe à 1, le temporisateur interne (ET) se lance.


(2) Si le temporisateur interne atteint la valeur de PT, Q passe à 1.
(3) Si IN passe à 0, Q passe à 0 et le temporisateur interne s’arrête et se réinitialise.
(4) Si IN passe à 0 avant que le temporisateur interne atteigne la valeur de PT, le temporisateur interne
s’arrête et se réinitialise sans que Q passe à 1.

188 33003874 02/2015


Unity Pro
S_TP
33003874 02/2015

Chapitre 48
S_TP : Impulsion

S_TP : Impulsion

Description

Description de la fonction
Le bloc fonction permet de générer une impulsion d’une durée définie.
Lorsque le bloc fonction est appelé pour la première fois, l’état initial de ET est 0.
EN et ENO peuvent être définis en tant que paramètres supplémentaires.

Représentation en FBD
Représentation

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


IN BOOL impulsion de déclenchement
PT TIME durée d’impulsion présélectionnée

33003874 02/2015 189


S_TP

Description du paramètre de sortie :

Paramètre Type de données Signification


Q BOOL sortie
ET TIME temporisateur interne

Chronogramme
Représentation de l’impulsion S_TP

(1) Si IN passe à 1, Q passe à 1 et le temporisateur interne se lance.


(2) Si le temporisateur interne atteint la valeur de PT, Q passe à 0 (indépendant de IN).
(3) Si IN passe à 0, le temporisateur interne s’arrête et se réinitialise.
(4) Si le temporisateur interne n’a pas encore atteint la valeur de PT, il n’est pas affecté par l’horloge de IN.
(5) Si le temporisateur interne atteint la valeur de PT et que IN passe à 0, il s’arrête et se réinitialise et Q passe
à 0.

190 33003874 02/2015


Unity Pro
Type à type
33003874 02/2015

Partie X
Type à type

Type à type

Introduction
Cette section décrit les fonctions et blocs fonction élémentaires de la famille Type à type.

Contenu de cette partie


Cette partie contient les chapitres suivants :
Chapitre Titre du chapitre Page
49 S_BIT_TO_BYTE : Conversion de type 193
50 S_BIT_TO_WORD : Conversion de type 195
51 S_BOOL_TO_*** : Conversion de type 197
52 S_BYTE_TO_BIT : Conversion de type 199
53 S_BYTE_TO_*** : Conversion de type 201
54 S_DWORD_TO_*** : Conversion de type 203
55 S_INT_TO_*** : Conversion de type 205
56 S_DINT_TO_*** : Conversion de type 207
57 S_REAL_TO_***: Conversion de type 209
58 S_TIME_TO_UDINT : Conversion de type 211
59 S_UDINT_TO_*** : Conversion de type 213
60 S_UINT_TO_*** : Conversion de type 215
61 S_WORD_TO_BIT : Conversion de type 217
62 S_WORD_TO_*** : Conversion de type 219

33003874 02/2015 191


Type à type

192 33003874 02/2015


Unity Pro
S_BIT_TO_BYTE :
33003874 02/2015

Chapitre 49
S_BIT_TO_BYTE : Conversion de type

S_BIT_TO_BYTE : Conversion de type

Description

Description de la fonction
La fonction convertit 8 valeurs d’entrée du type de données BOOL en une sortie du type de données
BYTE.
Les valeurs d’entrée sont affectées à chaque bit de l’octet de la sortie en fonction des noms
d’entrée.

EN et ENO peuvent être définis en tant que paramètres supplémentaires.

Formule
Formule du bloc

Représentation en FBD
Représentation

33003874 02/2015 193


S_BIT_TO_BYTE :

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


InputBit0 BOOL bit d’entrée 0
InputBit1 BOOL bit d’entrée 1
: : :
InputBit7 BOOL bit d’entrée 7

Description du paramètre de sortie :

Paramètre Type de données Signification


OutputByte BYTE valeur en sortie

194 33003874 02/2015


Unity Pro
S_BIT_TO_WORD
33003874 02/2015

Chapitre 50
S_BIT_TO_WORD : Conversion de type

S_BIT_TO_WORD : Conversion de type

Description

Description de la fonction
La fonction convertit 16 valeurs d’entrée du type de données BOOL en une valeur en sortie du type
de données WORD.
Les valeurs d’entrée sont affectées à chaque bit du mot de la sortie en fonction des noms d’entrée.

EN et ENO peuvent être définis en tant que paramètres supplémentaires.

Formule
Formule du bloc

Représentation en FBD
Représentation

33003874 02/2015 195


S_BIT_TO_WORD

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


InputBit0 BOOL bit d’entrée 0
: : :
InputBit15 BOOL bit d’entrée 15

Description du paramètre de sortie

Paramètre Type de données Signification


WORD_Output WORD valeur en sortie

196 33003874 02/2015


Unity Pro
S_BOOL_TO_***
33003874 02/2015

Chapitre 51
S_BOOL_TO_*** : Conversion de type

S_BOOL_TO_*** : Conversion de type

Description

Description de la fonction
Cette fonction convertit une valeur en entrée du type de données BOOL en un type de données
BYTE, WORD, DWORD, INT, DINT, UINT ou UDINT.
La valeur en entrée est écrite dans le bit le plus bas de la sortie. Tous les autres bits de sortie sont
mis à zéro.
EN et ENO peuvent être définis en tant que paramètres supplémentaires.

Fonctions disponibles
Liste des fonctions disponibles
 S_BOOL_TO_BYTE
 S_BOOL_TO_WORD
 S_BOOL_TO_DWORD
 S_BOOL_TO_INT
 S_BOOL_TO_DINT
 S_BOOL_TO_UINT
 S_BOOL_TO_UDINT

Représentation en FBD
Représentation d’une application d’un entier

33003874 02/2015 197


S_BOOL_TO_***

Représentation en LD
Représentation d’une application d’un entier

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


BOOL_variable BOOL valeur en entrée

Description du paramètre de sortie

Paramètre Type de données Signification


ConvertedVariable BYTE, WORD, DWORD, valeur en sortie
INT, DINT, UINT,
UDINT

198 33003874 02/2015


Unity Pro
S_BYTE_TO_BIT
33003874 02/2015

Chapitre 52
S_BYTE_TO_BIT : Conversion de type

S_BYTE_TO_BIT : Conversion de type

Description

Description de la fonction
La procédure convertit une valeur en entrée du type de données BYTE en 8 valeurs de sortie du
type de données BOOL.
Chaque bit d’un octet de l’entrée est affecté aux sorties en fonction de leurs noms.

EN et ENO peuvent être définis en tant que paramètres supplémentaires.

Représentation en FBD
Représentation

33003874 02/2015 199


S_BYTE_TO_BIT

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


BYTE_variable BYTE entrée

Description du paramètre de sortie

Paramètre Type de données Signification


BOOL_variable1 BOOL bit de sortie 0
BOOL_variable2 BOOL bit de sortie 1
: : :
BOOL_variable8 BOOL bit de sortie 7

200 33003874 02/2015


Unity Pro
S_BYTE_TO_***
33003874 02/2015

Chapitre 53
S_BYTE_TO_*** : Conversion de type

S_BYTE_TO_*** : Conversion de type

Description

Description de la fonction
Cette fonction convertit une valeur en entrée du type de données BYTE en un type de données
BOOL, WORD, DWORD, INT, DINT, UINT ou UDINT.
Lors de la conversion d’un type de données BYTE en un type de données WORD, DWORD, INT,
DINT, UINT ou UDINT, le modèle de bit de l’entrée est transféré vers le bit le moins significatif de
la sortie. Les bits les plus significatifs de la sortie sont définis sur zéro.
Lors de la conversion d’un type de données BYTE en un type de données BOOL, le bit le moins
significatif de la valeur en entrée est transféré en sortie.
EN et ENO peuvent être définis en tant que paramètres supplémentaires.

Fonctions disponibles
Liste des fonctions disponibles
 S_BYTE_TO_BOOL
 S_BYTE_TO_WORD
 S_BYTE_TO_DWORD
 S_BYTE_TO_INT
 S_BYTE_TO_DINT
 S_BYTE_TO_UINT
 S_BYTE_TO_UDINT

Représentation en FBD
Représentation d’une application d’un entier

33003874 02/2015 201


S_BYTE_TO_***

Représentation en LD
Représentation d’une application d’un entier

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


BYTE_variable BYTE valeur en entrée

Description des paramètres de sortie

Paramètre Type de données Signification


ConvertedVariable BOOL, WORD, DWORD, valeur en sortie
INT, DINT, UINT,
UDINT

202 33003874 02/2015


Unity Pro
S_DWORD_TO_***
33003874 02/2015

Chapitre 54
S_DWORD_TO_*** : Conversion de type

S_DWORD_TO_*** : Conversion de type

Description

Description de la fonction
Cette fonction convertit une valeur en entrée du type de données DWORD en un type de données
BOOL, BYTE, WORD, INT, DINT, UINT ou UDINT.
NOTE : Cette conversion respecte strictement les règles CEI. Etant donné que cette fonction a été
réalisée en tant que fonction générique, il existe quelques conversions illogiques, par exemple
DWORD_TO_BOOL.
Lors de la conversion d’un type de données DWORD en un type de données BOOL, BYTE, WORD,
INT ou UINT, les bits les moins significatifs de la valeur en entrée sont transférés en sortie.
EN et ENO peuvent être définis en tant que paramètres supplémentaires.

Fonctions disponibles
Liste des fonctions disponibles
 S_DWORD_TO_BOOL
 S_DWORD_TO_BYTE
 S_DWORD_TO_WORD
 S_DWORD_TO_INT
 S_DWORD_TO_DINT
 S_DWORD_TO_UINT
 S_DWORD_TO_UDINT

Représentation en FBD
Représentation d’une application d’un entier

33003874 02/2015 203


S_DWORD_TO_***

Représentation en LD
Représentation d’une application d’un entier

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


Variable_DWORD DWORD, valeur en entrée

Description des paramètres de sortie

Paramètre Type de données Signification


ConvertedVariable BOOL, BYTE, WORD, valeur en sortie
INT, DINT, UINT,
UDINT

Erreur d’exécution
Le bit système %S18 (voir page 238) et le mot système %SW17 (voir page 247) ne sont pas
utilisés.

204 33003874 02/2015


Unity Pro
S_INT_TO_***
33003874 02/2015

Chapitre 55
S_INT_TO_*** : Conversion de type

S_INT_TO_*** : Conversion de type

Description

Description de la fonction
Cette fonction convertit une valeur en entrée du type de données INT en une valeur de sortie
BOOL, BYTE, WORD, DWORD, DINT, UINT ou UDINT.
NOTE : Cette conversion respecte strictement les règles CEI. Etant donné que cette fonction a été
réalisée en tant que fonction générique, il existe quelques conversions illogiques, par exemple
INT_TO_BOOL.
Les valeurs d’entrée négative ne peuvent pas être converties en type de données UINT ou UDINT.
Lors de la conversion d’une valeur en entrée d’un type de données INT en un type de données
WORD, le profil binaire en entrée est transféré en sortie sans être modifié.
Lors de la conversion d’une valeur en entrée d’un type de données INT en un type de données
BOOL ou BYTE, les bits les moins significatifs de l’entrée sont transférés en sortie.
EN et ENO peuvent être définis en tant que paramètres supplémentaires.

Fonctions disponibles
Liste des fonctions disponibles
 S_INT_TO_BOOL
 S_INT_TO_BYTE
 S_INT_TO_WORD
 S_INT_TO_DWORD
 S_INT_TO_DINT
 S_INT_TO_UINT
 S_INT_TO_UDINT

Représentation en FBD
Représentation d’une application d’un entier double

33003874 02/2015 205


S_INT_TO_***

Représentation en LD
Représentation d’une application d’un entier double

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


INT_variable INT valeur en entrée

Description des paramètres de sortie

Paramètre Type de données Signification


ConvertedVariable BOOL, BYTE, DWORD, valeur en sortie
WORD, DINT, UINT,
UDINT

Erreur d’exécution
Le bit système %S18 (voir page 238) est défini sur 1, si :
 la plage des valeurs en sortie est dépassée (types de données numériques)
 une valeur en entrée négative est convertie en une valeur de sortie UDINT ou UINT.

Le bit système%S18 (voir page 238) et le mot système %SW17 (voir page 247) ne sont pas
utilisés lors de la conversion des types de données :
 BOOL
 BYTE
 WORD
 DWORD

206 33003874 02/2015


Unity Pro
S_DINT_TO_***
33003874 02/2015

Chapitre 56
S_DINT_TO_*** : Conversion de type

S_DINT_TO_*** : Conversion de type

Description

Description de la fonction
La fonction convertit une valeur d’entrée du type de données DINT en une valeur de sortie de type
BOOL, BYTE, WORD, DWORD, INT, UINT UDINT ou REAL.
NOTE : cette conversion est strictement conforme aux règles CEI. Cette fonction étant réalisée en
tant que fonction générique, il en résulte aussi quelques conversions illogiques, par exemple
DINT_TO_BOOL.
Lors de la conversion d’un type de données DINT en un type de données BOOL, BYTE, WORD, INT
ou UINT, les bits les moins significatifs de la valeur en entrée sont transférés en sortie.
Des valeurs d’entrée négatives ne peuvent pas être converties en type de données UINT ou
UDINT.
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.

Fonctions disponibles
Liste des fonctions disponibles
 S_DINT_TO_BOOL
 S_DINT_TO_BYTE
 S_DINT_TO_WORD
 S_DINT_TO_DWORD
 S_DINT_TO_INT
 S_DINT_TO_UINT
 S_DINT_TO_UDINT
 S_DINT_TO_REAL

Représentation en FBD
Représentation d’une application d’un entier

33003874 02/2015 207


S_DINT_TO_***

Représentation en LD
Représentation d’une application d’un entier

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


DINT_variable DINT valeur en entrée

Description du paramètre de sortie

Paramètre Type de données Signification


ConvertedVariable BOOL, BYTE, WORD, valeur en sortie
DWORD, INT, UINT,
UDINT, REAL

Erreur d’exécution
Le bit système %S18 est réglé sur 1.
 la plage des valeurs en sortie est dépassée (types de données numériques sauf REAL)
 une valeur en entrée négative est convertie en une valeur en sortie UDINT ou UINT.

Le bit système %S18 n’est pas utilisé pour la conversion des types de données BOOL, BYTE, WORD
et DWORD.

208 33003874 02/2015


Unity Pro
S_REAL_TO_***
33003874 02/2015

Chapitre 57
S_REAL_TO_***: Conversion de type

S_REAL_TO_***: Conversion de type

Description

Description de la fonction
Cette fonction convertit une valeur d’entrée du type de données REAL en type de données DINT,
UDINT.
NOTE : cette conversion est strictement conforme aux règles CEI. Etant donné que cette fonction
a été réalisée en tant que fonction générique, il existe quelques conversions illogiques.
Lors de la conversion en DINT et UDINT, les valeurs sont arrondies conformément aux règles
spécifiées par CEI 559.
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.

Fonctions disponibles
Liste des fonctions disponibles :
 S_REAL_TO_DINT
 S_REAL_TO_UDINT

Exemple
L’exemple suivant montre la manière d’arrondir selon CEI 559.
1,4 -> 1
1,5 -> 2
2,5 -> 2
3,5 -> 4
4,5 -> 4
4,6 -> 5

Valeurs d’entrée négatives


Des valeurs d’entrée négative ne peuvent pas être converties en type de données, UDINT.

33003874 02/2015 209


S_REAL_TO_***

Représentation en FBD
Représentation d’une application à entier double :

Représentation en LD
Représentation d’une application à entier double :

Description des paramètres


Description des paramètres d’entrée :

Paramètre Type de données Signification


REAL_variable REAL Valeur d’entrée

Description des paramètres de sortie :

Paramètre Type de données Signification


ConvertedVariable DINT, UDINT Valeur de sortie

Erreur d’exécution
Le bit système %S18 (voir page 238) est réglé sur 1.
 un nombre à virgule flottante non admis est présent à l’entrée
 la plage des valeurs en sortie est dépassée (types de données numériques)
 une valeur négative d’entrée doit être convertie en UDINT.
 lors de la conversion en type de données REAL, un nombre à virgule flottante non admis est
généré. De plus, dans ce cas, l’état devient %SW17.

210 33003874 02/2015


Unity Pro
S_TIME_TO_UDINT
33003874 02/2015

Chapitre 58
S_TIME_TO_UDINT : Conversion de type

S_TIME_TO_UDINT : Conversion de type

Description

Description de la fonction
Cette fonction convertit une valeur d’entrée du type de données TIME en type de données UDINT.
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.

Fonctions disponibles
Liste des fonctions disponibles
 S_TIME_TO_UDINT

Représentation en FBD
Représentation d’une application d’entier double non signé

Représentation en LD
Représentation d’une application d’entier double non signé

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


TIME_variable TIME valeur en entrée

33003874 02/2015 211


S_TIME_TO_UDINT

Description du paramètre de sortie :

Paramètre Type de données Signification


ConvertedVariable UDINT valeur en sortie

212 33003874 02/2015


Unity Pro
S_UDINT_TO_***
33003874 02/2015

Chapitre 59
S_UDINT_TO_*** : Conversion de type

S_UDINT_TO_*** : Conversion de type

Description

Description de la fonction
La fonction convertit une valeur d’entrée du type de données UDINT en une valeur de sortie du
type de données BOOL, BYTE, WORD, DWORD, INT, DINT, UINT, REAL ou TIME.
NOTE : cette conversion est strictement conforme aux règles CEI. Cette fonction étant réalisée en
tant que fonction générique, il en résulte aussi quelques conversions illogiques, par ex.
UDINT_TO_BOOL.
Lors de la conversion d’un type de données UDINT en un type de données BOOL, BYTE, WORD,
INT ou UINT, les bits de poids faible de la valeur d’entrée sont transférés en sortie.
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.

Fonctions disponibles
Liste des fonctions disponibles
 S_UDINT_TO_BOOL
 S_UDINT_TO_BYTE
 S_UDINT_TO_WORD
 S_UDINT_TO_DWORD
 S_UDINT_TO_INT
 S_UDINT_TO_DINT
 S_UDINT_TO_UINT
 S_UDINT_TO_TIME
 S_UDINT_TO_REAL

Représentation en FBD
Représentation d’une application d’un entier

33003874 02/2015 213


S_UDINT_TO_***

Représentation en LD
Représentation d’une application d’un entier

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


Variable_UDINT UDINT valeur en entrée

Description des paramètres de sortie

Paramètre Type de données Signification


ConvertedVariable BOOL, BYTE, WORD, valeur en sortie
DWORD, INT, DINT,
UINT, REAL, TIME

Erreur d’exécution
Le bit système %S18 (voir page 238) est réglé sur 1.
 la plage des valeurs de sortie est dépassée (types de données numériques),
 une valeur d’entrée négative est susceptible d’être convertie en une valeur de sortie UDINT,
UINT ou TIME,
Le bit système%S18 (voir page 238) et le mot système %SW17 (voir page 247) ne sont pas
utilisés lors de la conversion des types de données :
 BOOL
 BYTE
 WORD
 DWORD
 REAL

214 33003874 02/2015


Unity Pro
S_UINT_TO_***
33003874 02/2015

Chapitre 60
S_UINT_TO_*** : Conversion de type

S_UINT_TO_*** : Conversion de type

Description

Description de la fonction
Cette fonction convertit une valeur en entrée du type de données UINT en une valeur de sortie du
type de données BOOL, BYTE, WORD, DWORD, INT, DINT ou UDINT.
NOTE : Cette conversion respecte strictement les règles CEI. Etant donné que cette fonction a été
réalisée en tant que fonction générique, il existe quelques conversions illogiques, par exemple
UINT_TO_BOOL.
Lors de la conversion d’une valeur en entrée d’un type de données UINT à un type de données
WORD, le modèle de bit en entrée est transféré en sortie sans être modifié.
Lors de la conversion d’une valeur en entrée d’un type de données UINT en un type de données
BOOL ou BYTE, les bits les moins significatifs en entrée sont transférés en sortie.
EN et ENO peuvent être définis en tant que paramètres supplémentaires.

Fonctions disponibles
Liste des fonctions disponibles
 S_UINT_TO_BOOL
 S_UINT_TO_BYTE
 S_UINT_TO_WORD
 S_UINT_TO_DWORD
 S_UINT_TO_INT
 S_UINT_TO_DINT
 S_UINT_TO_UDINT

Représentation en FBD
Représentation d’une application d’un entier

33003874 02/2015 215


S_UINT_TO_***

Représentation en LD
Représentation d’une application d’un entier

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


UINT_variable UINT valeur en entrée

Description des paramètres de sortie

Paramètre Type de données Signification


ConvertedVariable BOOL, BYTE, WORD, valeur en sortie
DWORD, INT, DINT,
UDINT

Erreur d’exécution
Le bit système %S18 (voir page 238) est défini sur 1.
 la plage des valeurs en sortie est dépassée (types de données numériques)
Le bit système%S18 (voir page 238) et le mot système %SW17 (voir page 247) ne sont pas
utilisés lors de la conversion des types de données :
 BOOL
 BYTE
 WORD
 DWORD

216 33003874 02/2015


Unity Pro
S_WORD_TO_BIT
33003874 02/2015

Chapitre 61
S_WORD_TO_BIT : Conversion de type

S_WORD_TO_BIT : Conversion de type

Description

Description de la fonction
La procédure convertit une valeur en entrée du type de données WORD en 16 valeurs de sortie du
type de données BOOL.
Chaque bit d’un mot de l’entrée est affecté aux sorties en fonction de leurs noms.

EN et ENO peuvent être définis en tant que paramètres supplémentaires.

Représentation en FBD
Représentation

33003874 02/2015 217


S_WORD_TO_BIT

Représentation en LD
Représentation

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


WORD_variable WORD entrée

Description du paramètre de sortie

Paramètre Type de données Signification


BOOL_variable1 BOOL sortie BIT0
: : :
BOOL_variable16 BOOL sortie BIT15

218 33003874 02/2015


Unity Pro
S_WORD_TO_***
33003874 02/2015

Chapitre 62
S_WORD_TO_*** : Conversion de type

S_WORD_TO_*** : Conversion de type

Description

Description de la fonction
Cette fonction convertit une valeur en entrée du type de données WORD en un type de données
BOOL, BYTE, DWORD, INT, DINT, UINT ou UDINT.
Lors de la conversion du type de données WORD en un type de données DWORD, DINT ou UDINT
le modèle de bit de l’entrée est transféré vers le bit le moins significatif de la sortie. Les bits les plus
significatifs de la sortie sont définis sur zéro.
Lors de la conversion d’un type de données WORD en un type de données BOOL ou BYTE, les bits
les moins significatifs de la valeur en entrée sont transférés en sortie.
EN et ENO peuvent être définis en tant que paramètres supplémentaires.

Fonctions disponibles
Liste des fonctions disponibles
 S_WORD_TO_BOOL
 S_WORD_TO_BYTE
 S_WORD_TO_DWORD
 S_WORD_TO_INT
 S_WORD_TO_DINT
 S_WORD_TO_UINT
 S_WORD_TO_UDINT

Représentation en FBD
Représentation d’une application d’un entier

33003874 02/2015 219


S_WORD_TO_***

Représentation en LD
Représentation d’une application d’un entier

Description des paramètres


Description des paramètres d’entrée

Paramètre Type de données Signification


WORD_variable WORD valeur en entrée

Description des paramètres de sortie

Paramètre Type de données Signification


ConvertedVariable BOOL, BYTE, DWORD, valeur en sortie
INT, DINT, UINT,
UDINT

220 33003874 02/2015


Unity Pro
Communication
33003874 02/2015

Partie XI
Communication

Communication

Introduction
Cette section décrit les blocs fonction dérivés de la famille Communication.

Contenu de cette partie


Cette partie contient les chapitres suivants :
Chapitre Titre du chapitre Page
63 S_WR_ETH : fonction de communication Ethernet sécurisée entre automates 223
64 S_RD_ETH : fonction de communication Ethernet sécurisée entre automates 227

33003874 02/2015 221


Communication

222 33003874 02/2015


Unity Pro
S_WR_ETH
33003874 02/2015

Chapitre 63
S_WR_ETH : fonction de communication Ethernet sécurisée entre automates

S_WR_ETH : fonction de communication Ethernet


sécurisée entre automates

Description

Description de la fonction
Le bloc fonction S_WR_ETH s’utilise sur un automate émetteur lorsque vous configurez une
communication poste à poste sécurisée entre deux automates. Il permet de calculer le CRC et
l’horodatage des données de sécurité à envoyer et de les insérer dans le tableau DATA_SAFE.
NOTE : Pour établir une communication poste à poste sécurisée, reportez-vous au document
Modicon Quantum Safety Reference Manual.
EN et ENO peuvent être configurés comme paramètres supplémentaires.
Tâches du bloc fonction S_WR_ETH :
 Calculer le CRC des données de sécurité à envoyer.
 Calculer l’horodatage à envoyer avec les données. Cet horodatage est basé sur une référence
temporelle mise à jour régulièrement en fonction de l’heure reçue d’un serveur NTP (mots
système %SW36 à %SW39 (voir page 247)).
 Insérer le CRC calculé et l’horodatage à la fin des données à envoyer (zone Données
réservées (voir page 225)).
Le bloc fonction S_WR_ETH doit être appelé à chaque cycle dans l’automate émetteur. Pendant le
cycle, il doit être exécuté dans la logique une fois toutes les modifications requises apportées aux
données à envoyer. Cela signifie que les données à envoyer ne doivent pas être modifiées par
l’utilisateur pendant le cycle, après l’exécution du DFB. Sinon, les informations de CRC utilisées
dans la zone des données réservées seront incorrectes et la communication poste à poste
sécurisée n’est pas établie.

Représentation en FBD
Représentation

33003874 02/2015 223


S_WR_ETH

Représentation en LD
Représentation

Description des paramètres


Description du paramètre d’entrée/sortie :

Paramètre Type de Signification


données
DATA_SAFE ARRAY[0..99] Tableau des données de sécurité à envoyer à
of INT l’aide du service IO Scanning.

Description du paramètre d’entrée :

Paramètre Type de Signification


données
ID INT Identifiant de communication. La valeur de ID
permet de calculer le CRC. Elle doit être unique et
identique à celle utilisée par le récepteur.

Description du paramètre de sortie :

Paramètre Type de Signification


données
SYNCHRO_NTP BOOL Réglé sur 1 pour indiquer que la synchronisation à
l’heure NTP est correcte. SYNCHRO_NTP combine
les bits %SW39.0, %SW39.1 et %SW39.2 à l’aide
de l’opérateur logique AND.

224 33003874 02/2015


S_WR_ETH

Description du tableau DATA_SAFE


Le tableau DATA_SAFE doit être alloué dans la logique de sécurité. Si tel n’est pas le cas, Unity
Pro XLS crée un message d’erreur et ne génère pas le code de l’application utilisateur.
Le tableau DATA_SAFE doit être stocké dans la zone mémoire de sécurité. Si tel n’est pas le cas,
Unity Pro XLS crée un message d’erreur et ne génère pas le code de l’application utilisateur.
Le tableau DATA_SAFE est composé de deux zones :
 La zone Données de sécurité utilisateur contient les données utilisateur.
Cette zone commence à l’indice 0 et se termine à l’indice 90.
 La zone Données réservées est réservée à la sécurité. Elle contient les variables du CRC et
de l’horodatage. Ces variables permettent de vérifier si les données contenues dans la zone
Données de sécurité utilisateur sont sûres ou non.
L’utilisateur ne doit rien écrire dans cette zone.
Cette zone commence à l’indice 91 et se termine à l’indice 99.
Représentation de la structure du tableau DATA_SAFE (array[0..99] of INT) :

33003874 02/2015 225


S_WR_ETH

226 33003874 02/2015


Unity Pro
S_RD_ETH
33003874 02/2015

Chapitre 64
S_RD_ETH : fonction de communication Ethernet sécurisée entre automates

S_RD_ETH : fonction de communication Ethernet


sécurisée entre automates

Description

Description de la fonction
Le bloc fonction S_RD_ETH s’utilise sur un automate récepteur lorsque vous configurez une
communication poste à poste sécurisée entre deux automates. Il permet de copier les données
reçues dans la zone mémoire non restreinte de la zone mémoire de sécurité, et de garantir la
validité de ces données.
NOTE : Pour établir une communication poste à poste sécurisée, reportez-vous au document
Modicon Quantum Safety Reference Manual.
EN et ENO peuvent être configurés comme paramètres supplémentaires.
Tâches du bloc fonction S_RD_ETH :
 Créer une copie des données reçues dans la zone mémoire non restreinte, dans la zone
mémoire de sécurité si les conditions suivantes sont remplies :
 Le CRC des dernières données reçues dans la zone mémoire non restreinte à l’aide du
service IO Scanning est correct. Si le CRC est incorrect, les données sont considérées
comme non sûres et ne sont pas inscrites dans la zone mémoire de sécurité.
 Les dernières données reçues dans la zone mémoire non restreinte sont plus récentes que
celles inscrites dans la zone mémoire de sécurité (contrôle de l’horodatage). Si les dernières
données reçues dans la zone mémoire non restreinte ne sont pas plus récentes, elles ne
sont pas copiées dans la zone mémoire de sécurité.
 Vérifier l’âge des données dans la zone mémoire de sécurité. Si l’âge est supérieur à une valeur
maximale définie par l’utilisateur dans le registre d’entrée SAFETY_CONTROL_TIMEOUT, les
données sont déclarées non sûres et le bit HEALTH est réglé sur 0.
NOTE : l’âge des données correspond à la différence entre l’heure à laquelle elles sont
calculées dans l’automate émetteur et l’heure à laquelle elles sont vérifiées dans l’automate
récepteur. La référence horaire est mise à jour régulièrement en fonction de l’heure reçue d’un
serveur NTP (mots système %SW36 à %SW39 (voir page 247)).
Si le bit HEALTH est réglé sur 0, les données disponibles dans le tableau OUTPUT_DATA_SAFE
doivent être considérées comme non sûres et vous devez prendre les mesures qui s’imposent.

33003874 02/2015 227


S_RD_ETH

Représentation en FBD
Représentation :

Représentation en LD
Représentation :

228 33003874 02/2015


S_RD_ETH

Description des paramètres


Description des paramètres d’entrée :

Paramètre Type de Signification


données
INPUT_DATA ARRAY[0..99] Tableau des données reçues dans la
of INT zone mémoire non restreinte à l’aide du
service IO Scanning.
ID INT Identifiant de communication. La valeur
de ID permet de calculer le CRC. Elle
doit être unique et identique à celle
utilisée par l’émetteur.
SAFETY_CONTROL_TIMEOUT INT Valeur de timeout (en ms). Elle permet
de vérifier l’âge des données dans la
zone mémoire de sécurité et de
déterminer si elles sont considérées
comme sûres.

Description des paramètres de sortie :

Paramètre Type de Signification


données
OUTPUT_DATA_SAFE ARRAY[0..99] Tableau des données de sécurité
of INT situées dans la zone mémoire de
sécurité.
SYNCHRO_NTP BOOL Réglé sur 1 pour indiquer que la
synchronisation à l’heure NTP est
correcte. SYNCHRO_NTP combine les
bits %SW39.0, %SW39.1 et %SW39.2 à
l’aide de l’opérateur logique AND.
NEW BOOL Réglé sur 1 pour indiquer que les
nouvelles données ont été actualisées
pendant le cycle en cours.
HEALTH BOOL  =1, les données dans la zone
mémoire de sécurité sont sûres.
 =0, les données dans la zone
mémoire de sécurité ne sont pas
sûres.
TIME_DIFF INT Renvoie l’âge des données reçues et
inscrites dans la zone mémoire de
sécurité (en ms).
Réglé sur 0 si l’heure NTP interne
(%SW36 à %SW38) n’est pas initialisée ou
si aucune donnée correcte n’a encore
été reçue.

33003874 02/2015 229


S_RD_ETH

Description des tableaux INPUT_DATA et OUTPUT_DATA_SAFE


Les tableaux INPUT_DATA et OUTPUT_DATA_SAFE doivent être alloués dans la logique de
sécurité. Si tel n’est pas le cas, Unity Pro XLS crée un message d’erreur et ne génère pas le code
de l’application utilisateur.
Le tableau INPUT_DATA doit être stocké dans la zone mémoire non restreinte. Si tel n’est pas le
cas, Unity Pro XLS crée un message d’erreur et ne génère pas le code de l’application utilisateur.
Le tableau OUTPUT_DATA_SAFE doit être stocké dans la zone mémoire de sécurité. Si tel n’est
pas le cas, Unity Pro XLS crée un message d’erreur et ne génère pas le code de l’application
utilisateur.
Les tableaux INPUT_DATA et OUTPUT_DATA_SAFE sont composés de deux zones :
 La zone Données de sécurité utilisateur contient les données utilisateur.
Cette zone commence à l’indice 0 et se termine à l’indice 90.
 La zone Données réservées est réservée à la sécurité. Elle contient les variables du CRC et
de l’horodatage. Ces variables permettent de vérifier si les données contenues dans la zone
Données de sécurité utilisateur sont sûres ou non.
L’utilisateur ne doit rien écrire dans cette zone.
Cette zone commence à l’indice 91 et se termine à l’indice 99.
Représentation de la structure des tableaux INPUT_DATA et OUTPUT_DATA_SAFE (array[0..99] of
INT) :

230 33003874 02/2015


Unity Pro

33003874 02/2015

Annexes

33003874 02/2015 231


232 33003874 02/2015
Unity Pro
Objets système
33003874 02/2015

Annexe A
Objets système

Objets système

Introduction
Ce chapitre décrit les mots et les bits système de l’automate de sécurité Quantum.
Remarque : les symboles associés à chaque objet bit ou mot système mentionné dans les
tableaux descriptifs de ces objets ne sont pas implémentés en standard dans le logiciel, mais ils
peuvent être saisis à l’aide de l’éditeur de données.
Il est recommandé d’implémenter les noms de symbole associés aux bits et mots système qui
apparaissent sur les pages suivantes afin d’assurer la continuité et de faciliter la compréhension.
Exemple : %S0 COLDSTART (l’utilisateur peut sélectionner un autre mot à la place de
COLDSTART).

Contenu de ce chapitre
Ce chapitre contient les sous-chapitres suivants :
Sous- Sujet Page
chapitre
A.1 Bits système 234
A.2 Mots système 243

33003874 02/2015 233


Objets système

Sous-chapitre A.1
Bits système

Bits système

Introduction
Cette section présente les bits système des automates de sécurité Quantum.
Pour une question pratique, tous les bits système des automates Quantum standard sont
répertoriés et expliqués au fur et à mesure qu’ils sont utilisés dans l’automate de sécurité
Quantum.

Contenu de ce sous-chapitre
Ce sous-chapitre contient les sujets suivants :
Sujet Page
Présentation des bits système 235
Description des bits système %S0 à %S13 236
Description des bits système %S15 à %S21 238
Description des bits système %S30 à %S51 240
Description des bits système %S59 à %S122 241

234 33003874 02/2015


Objets système

Présentation des bits système

Généralités
Les automates Quantum disposent de bits système %Si qui indiquent les états de l’automate ou
permettent d’agir sur le fonctionnement de celui-ci.
Ces bits peuvent être testés dans le programme utilisateur afin de détecter toute évolution de
fonctionnement.
Certains de ces bits doivent être remis dans leur état initial ou normal par le programme ou par
l’utilisateur. Les autres bits sont automatiquement réinitialisés par le système. Pour finir, il existe
des bits qui n’affichent que l’état de l’automate.

33003874 02/2015 235


Objets système

Description des bits système %S0 à %S13

Description détaillée
NOTE : Certains bits système ne peuvent pas être utilisés dans l’automate de sécurité Quantum.
Les bits système inutilisables sont indiqués dans la colonne Sécurité Quantum par Non.
Le tableau suivant fournit une description des bits système %S0 à %S13 :

Bit Fonction Description Etat Accès en Sécurité


Icône initial écriture Quantum
%S0 démarrage à Normalement sur 0, ce bit est mis sur 1 par : 1 non oui
COLDSTART froid  retour d’alimentation avec perte de données (1
(défaut de la pile) ; cycle)
 le programme utilisateur ;
 le bornier ;
 un changement de cartouche ;

Ce bit est mis à l’état 1 lors du premier cycle de


restauration complet de l’automate en RUN ou STOP.
Il est remis sur 0 par le système avant le cycle suivant.
%S0 n’est pas toujours positionné lors du premier
parcours de l’automate. En cas de besoin d’un signal
positionné pour chaque démarrage de l’automate,
utilisez plutôt %S21.
%S1 reprise à voir le chapitre "Bits système" dans le manuel de 0 non non
WARMSTART chaud référence Unity Pro - Langages et structure de
programme
%S4 base de temps voir le chapitre "Bits système" dans le manuel de - non non
TB10MS 10 ms référence Unity Pro - Langages et structure de
programme
%S5 base de temps voir le chapitre "Bits système" dans le manuel de - non non
TB100MS 100 ms référence Unity Pro - Langages et structure de
programme
%S6 base de temps voir le chapitre "Bits système" dans le manuel de - non non
TB1SEC 1s référence Unity Pro - Langages et structure de
programme
%S7 base de temps voir le chapitre "Bits système" dans le manuel de - non non
TB1MIN 1 min référence Unity Pro - Langages et structure de
programme
%S10 Défaut Normalement à 1, passe à 0 lors de la détection d’un 1 non oui
IOERR d’entrée/sortie défaut d’E/S sur un module ou appareil dans le rack
sur Fipio (c’est-à-dire configuration non conforme,
défaut d’échange, défaut matériel, etc). Le bit %S10
est remis à 1 par le système dès la disparition du
défaut.

236 33003874 02/2015


Objets système

Bit Fonction Description Etat Accès en Sécurité


Icône initial écriture Quantum
%S11 débordement Normalement à 0, remis à 1 par le système dès que le 0 non oui
WDG de chien de temps d’exécution de la tâche devient supérieur au
garde temps maximum d’exécution (c’est-à-dire au chien de
garde) déclaré dans les propriétés de tâche.
%S12 PLC in RUN Ce bit est mis à 1 par le système quand l’automate est 0 non oui
PLCRUNNING en mode RUN.
Il est mis à 0 par le système dès que l’automate n’est
plus en RUN (STOP, INIT, etc).
%S13 premier cycle Normalement à 0, mis à 1 par le système lors du - non oui
1RSTSCANRUN après premier cycle de la tâche maître après passage de
passage en l’automate en mode RUN.
RUN

AVERTISSEMENT
FONCTIONNEMENT D’EQUIPEMENT NON INTENTIONNEL
Sur les automates de sécurité Quantum, les interruptions de communication des modules NOE,
CRA ou CRP ne sont pas signalées sur le bit %S10.
Vérifiez que ces bits système sont utilisés correctement.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.

33003874 02/2015 237


Objets système

Description des bits système %S15 à %S21

Description détaillée
NOTE : tous les bits système ne peuvent pas être utilisés dans l’automate de sécurité Quantum.
Les bits système inutilisables sont indiqués par « non » dans la colonne Sécurité Quantum.
Le tableau suivant fournit une description des bits système %S15 à %S21 :

Bit Fonction Description Etat Accès Sécurité


Symbole initial en Quantum
écriture
%S15 anomalie chaîne voir le chapitre « Bits système » dans le manuel de 0 oui non
STRINGERROR de caractères référence Unity Pro - Langages et structure de
programme
%S16 anomalie Normalement à l’état 1, ce bit est réglé sur 0 par le 1 oui oui
IOERRTSK d’entrées/sorties système en cas d’anomalie d’un module d’E/S en rack
tâche ou d’un équipement sur Fipio configuré dans la tâche.
Ce bit doit être remis à 1 par l’utilisateur.
%S17 décalage ou normalement à l’état 0 0 non oui
CARRY rotation de la Lors d’une opération de décalage ou de rotation, ce bit
sortie prend l’état du bit sortant.
%S18 dépassement ou Normalement à l’état 0, ce bit est réglé sur 1 en cas de 0 oui oui
OVERFLOW erreur dépassement de capacité dans les cas suivants :
arithmétique  un résultat supérieur à + 32 767 ou inférieur à -
32 768, en mono-longueur,
 un résultat supérieur à + 65 535, en entier non
signé,
 un résultat supérieur à + 2 147 483 647 ou
inférieur à - 2 147 483 648, en double-longueur,
 un résultat supérieur à +4 294 967 296, en double-
longueur ou en entier non signé,
 valeurs réelles hors bornes ;
 division par 0 ;
 racine d’un nombre négatif ;
 forçage à un pas inexistant sur un programmateur
cyclique ;
 empilage d’un registre plein, dépilage d’un registre
vide.
Doit être testé par le programme utilisateur, après
chaque opération où il y a risque de dépassement,
puis remis à 0 par l’utilisateur en cas de dépassement.
Lorsque le bit %S18 passe à 1, l’application s’arrête
en erreur si le bit %S78 a été réglé sur 1.

238 33003874 02/2015


Objets système

Bit Fonction Description Etat Accès Sécurité


Symbole initial en Quantum
écriture
%S19 dépassement Normalement à l’état 0, ce bit est réglé sur 1 par le 0 oui oui
OVERRUN période de tâche système en cas de dépassement de la période
(scrutation d’exécution (délai d’exécution de tâche supérieur à la
périodique) période définie par l’utilisateur dans la configuration
ou programmée dans le mot %SW associé à la tâche).
Ce bit doit être remis à 0 par l’utilisateur. Chaque
tâche gère son propre bit %S19.
%S20 dépassement Normalement à l’état 0, ce bit est réglé sur 1 lorsque 0 oui non
INDEXOVF d’index l’adresse de l’objet indexé devient inférieure à 0 ou
dépasse le nombre d’objets déclaré dans la
configuration.
Dans ce cas, l’index est considéré comme étant égal
à 0.
Doit être testé par le programme utilisateur, après
chaque opération où il y a risque de dépassement,
puis remis à 0 en cas de dépassement.
Lorsque le bit %S20 passe à 1, l’application s’arrête
en erreur si le bit %S78 a été réglé sur 1.
%S21 premier cycle de Testé dans une tâche (Mast, Fast, Aux0, Aux1, Aux2, 0 non oui
1RSTTASKRUN tâche Aux3), le bit %S21 indique le premier cycle de cette
tâche. %S21 est réglé sur 1 en début de cycle et remis
à zéro en fin de cycle.
Remarque : le bit %S21 ne possède pas la même
signification sous PL7 et sous Unity Pro.

AVERTISSEMENT
COMPORTEMENT IMPREVU DE L’EQUIPEMENT
Sur les automates de sécurité Quantum, les interruptions de communication des modules NOE,
CRA et CRP ne sont pas signalées dans le bit %S16.
Assurez-vous que ces bits système sont utilisés correctement.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.

33003874 02/2015 239


Objets système

Description des bits système %S30 à %S51

Description détaillée
NOTE : tous les bits système ne peuvent pas être utilisés dans l’automate de sécurité Quantum.
Les bits système inutilisables sont signalés dans la colonne Sécurité Quantum par la mention
Non.
Le tableau suivant fournit une description des bits système %S30 à %S51 :

Bit Fonction Description Etat Accès en Sécurité


Symbole initial écriture Quantum
%S30 activation/désactiva voir le chapitre « Bits système » dans le manuel de 1 oui non
MASTACT tion de la tâche référence Unity Pro - Langages et structure de
maître programme
%S31 activation/désactiva voir le chapitre « Bits système » dans le manuel de 0 oui non
FASTACT tion de la tâche référence Unity Pro - Langages et structure de
rapide programme
%S32 activation/désactiva voir le chapitre « Bits système » dans le manuel de 0 oui non
%S33 tion des tâches référence Unity Pro - Langages et structure de
%S34 auxiliaires 0 à 3 programme
%S35
%S38 activation/inhibition voir le chapitre « Bits système » dans le manuel de 1 oui non
ACTIVEVT des événements référence Unity Pro - Langages et structure de
programme
%S39 saturation lors du voir le chapitre « Bits système » dans le manuel de 0 oui non
EVTOVR traitement de référence Unity Pro - Langages et structure de
l’événement programme
%S50 mise à jour de la Normalement réglé sur 0. Ce bit est réglé sur 1 par 0 oui oui
RTCWRITE date et de l’heure à le programme ou le terminal :
l’aide des mots  état 0 : mise à jour des mots système %SW50 à
%SW50 à %SW53 %SW53 avec la date et l’heure fournies par
l’horodateur de l’automate,
 état 1 : les mots système %SW50 à %SW53 ne
sont plus mis à jour, ce qui rend possible leur
modification.
 Le basculement de 1 à 0 met à jour l’horodateur
avec les valeurs saisies dans les mots %SW50
à %SW53.
%S51 retard de Lorsqu’il est réglé sur 1, ce bit géré par le système - non oui
RTCERR l’horodateur indique que l’horodateur est manquant ou que ses
mots système (%SW50 à %SW53) sont sans
signification. S’il est réglé sur 1, l’horodateur doit
être reréglé sur l’heure correcte.

240 33003874 02/2015


Objets système

Description des bits système %S59 à %S122

Description détaillée
NOTE : tous les bits système ne peuvent pas être utilisés dans l’automate de sécurité Quantum.
Les bits système inutilisables sont signalés dans la colonne Sécurité Quantum par la mention
Non.
Le tableau suivant fournit une description des bits système %S59 à %S122 :

Bit Fonction Description Etat Accès Sécurité


Symbole initial en Quantum
écriture
%S59 Mise à jour Normalement réglé sur 0. Ce bit est réglé sur 1 ou 0 0 oui oui
RTCTUNING incrémentielle par le programme ou le terminal :
de la date et de  état 0 : le système ne gère pas le mot système
l’heure à l’aide %SW59,
du mot  état 1 : le système gère les fronts sur le mot
%SW59 %SW59 pour régler la date et l’heure courantes
(par incrément).
%S67 état de la pile Ce bit permet de surveiller l’état de la pile principale - non oui
PCMCIABAT0 de la carte quand la carte mémoire est dans l’emplacement
mémoire PCMCIA supérieur (tous les automates Atrium,
d’application Premium et Quantum) :
 état 1 : pile principale de tension faible (application
toujours préservée mais il faut remplacer la pile
selon la procédure dite de maintenance prédictive),
 état 0 : pile principale de tension suffisante
(application toujours préservée).
Le bit %S67 est géré :
 sur les cartes mémoires RAM de PV06 (version de
produit inscrite sur l’étiquette de la carte) de petite
et moyenne capacité, c’est à dire offrant sous Unity
une taille mémoire =#768 Ko : TSX MRP P 128K,
TSX MRP P 224K TSX MCP C 224K, MCP C 512K,
TSX MRP P 384K, TSX MRP C 448K, TSX MRP C
768K,
 sous Unity, lorsque la version est ≥ 2.02.

%S67 état de la Ce bit permet de contrôler l’état de fonctionnement de – non oui


PLCBAT batterie du la pile de sauvegarde des données et du programme
processeur en mémoire RAM :
 état 0 : pile présente et en service,
 état 1 : pile absente ou hors service.

33003874 02/2015 241


Objets système

Bit Fonction Description Etat Accès Sécurité


Symbole initial en Quantum
écriture
%S75 état de la pile Ce bit permet de surveiller l’état de la pile principale – non non
PCMCIABAT1 de la carte quand la carte mémoire est dans l’emplacement
mémoire de PCMCIA inférieur, voir la section « Bits système » du
stockage de manuel de référence Unity Pro - Langages et structure
données de programme.
Remarque : les données stockées sur une carte
mémoire située à l’emplacement B ne sont pas traitées
dans le cadre des projets SIL3.
%S75 tampon de Ce bit est réglé sur 1 par le système lorsque l’option de 0 non oui
DIAGBUFFCONF diagnostic diagnostic a été configurée. Ensuite, un tampon de
configuré diagnostic, servant au stockage des erreurs détectées
par les DFB de diagnostic, est réservé.
Ce bit est en lecture seule.
%S77 tampon de Ce bit est réglé sur 1 par le système lorsque le tampon 0 non oui
DIAGBUFFFULL diagnostic recevant les erreurs des blocs fonction de diagnostic
plein est rempli.
Ce bit est en lecture seule.
%S78 arrêt en cas Normalement réglé sur 0, ce bit peut être réglé sur 1 0 oui oui
HALTIFERROR d’erreur par l’utilisateur pour programmer l’arrêt de l’automate
en cas d’erreur de l’application : %S15, %S18, %20.
%S80 remise à zéro Normalement réglé sur 0, ce bit peut être réglé sur 1 0 oui oui
RSTMSGCNT des compteurs par l’utilisateur pour remettre à zéro les compteurs de
de messages messages %SW80 à %SW86.
%S94 sauvegarde voir le chapitre « Bits système » dans le manuel de 0 oui non
SAVECURRVAL des valeurs de référence Unity Pro - Langages et structure de
réglage programme
%S118 Défaut général Normalement à 1, ce bit est réglé sur 0 par le système – non oui
REMIOERR E/S distantes lors de l’apparition d’un défaut sur un équipement
connecté aux bus d’entrées/de sorties distantes RIO
(Fipio pour Premium ou station S908 pour Quantum).
Ce bit reprend la valeur 1 lorsque l’erreur disparaît.
Ce bit n’est pas mis à jour si une erreur se produit sur
les autres bus (DIO, ProfiBus, ASI).
%S119 Erreur Normalement réglé sur 1, ce bit est réglé sur 0 par le – non oui
LOCIOERR générale d’E/S système lors de l’apparition d’une erreur sur un module
en rack d’E/S implanté dans un des racks.
Ce bit reprend la valeur 1 lorsque l’erreur disparaît.
%S120 Erreurs de bus voir le chapitre « Bits système » dans le manuel de – non non
%S121 DIO référence Unity Pro - Langages et structure de
%S122 programme

242 33003874 02/2015


Objets système

Sous-chapitre A.2
Mots système

Mots système

Introduction
Cette section présente les mots système des automates de sécurité Quantum.
Pour une question pratique, tous les mots système des automates Quantum standard sont
répertoriés et expliqués au fur et à mesure qu’ils sont utilisés dans l’automate de sécurité
Quantum.

Contenu de ce sous-chapitre
Ce sous-chapitre contient les sujets suivants :
Sujet Page
Description des mots système %SW0 à %SW21 244
Description des mots système %SW30 à %SW59 247
Description des mots système %SW60 à %SW127 251

33003874 02/2015 243


Objets système

Description des mots système %SW0 à %SW21

Description détaillée
NOTE : tous les mots système ne peuvent pas être utilisés dans l’automate de sécurité Quantum.
Les mots système inutilisables sont signalés dans la colonne Sécurité Quantum par la mention
Non.
Le tableau suivant fournit une description des mots système %SW0 à %SW21 :

Mot Fonction Description Etat initial Accès en Sécurité


Symbole écriture Quantum
%SW0 période de voir le chapitre « Objets système » du manuel 0 oui non
MASTPERIOD scrutation de la de référence Unity Pro - Langages et structure
tâche MAST de programme
%SW1 période de voir le chapitre « Objets système » du manuel 0 oui non
FASTPERIOD scrutation de la de référence Unity Pro - Langages et structure
tâche FAST de programme
%SW2, %SW3, période de voir le chapitre « Objets système » du manuel 0 oui non
%SW4, %SW5 scrutation de la de référence Unity Pro - Langages et structure
tâche auxiliaire de programme
%SW8 acquisition de la voir le chapitre « Objets système » du manuel 0 oui non
TSKINHIBIN surveillance de référence Unity Pro - Langages et structure
d’entrées tâche de programme
%SW9 surveillance de la voir le chapitre « Objets système » du manuel 0 oui non
TSKINHIBOUT mise à jour de de référence Unity Pro - Langages et structure
sorties de tâches de programme
%SW10 premier cycle voir le chapitre « Objets système » du manuel 0 non non
TSKINIT après un de référence Unity Pro - Langages et structure
démarrage à de programme
froid
%SW11 durée du chien Lit la durée du chien de garde. Cette durée est - non oui
WDGVALUE de garde exprimée en millisecondes (20 à 990 ms).
Ce mot ne peut pas être modifié.
%SW12 mode du Ce mot indique le mode de fonctionnement du 16#A501 non oui
APMODE processeur de processeur d’application. Les valeurs
l’application possibles sont :
 16#A501 : le processeur de l’application
est en mode de maintenance.
 16#5AFE : le processeur de l’application
est en mode de sécurité.
Toute autre valeur génère une erreur.
Ce mot système n’est pas disponible pour
l’UC Quantum standard.

244 33003874 02/2015


Objets système

Mot Fonction Description Etat initial Accès en Sécurité


Symbole écriture Quantum
%SW13 mode du Ce mot indique le mode de fonctionnement du 16#501A non oui
INTELMODE processeur Intel processeur Intel Pentium. Les valeurs
possibles sont :
 16#501A : le processeur de l’application
est en mode de maintenance.
 16#5AFE : le processeur de l’application
est en mode de sécurité.
Toute autre valeur génère une erreur.
Ce mot système n’est pas disponible pour
l’UC Quantum standard.
%SW14 version Ce mot contient la version commerciale du - non oui
OSCOMMVERS commerciale du processeur automate.
processeur Exemple : 16#0135
automate version : 01 ; numéro de révision : 35
%SW15 version du patch Ce mot contient la version commerciale du - non oui
OSCOMMPATCH du processeur patch pour le processeur automate.
automate Le codage s’effectue sur l’octet de poids faible
du mot.
codage : 0 = pas de patch, 1 = A, 2 = B...
Exemple : 16#0003 correspond au patch C.
%SW16 numéro de Ce mot contient le numéro de version en - non oui
OSINTVERS version du hexadécimal du microprogramme du
microprogramme processeur automate.
Exemple : 16#0017
version : 2.1 ; numéro de version : 17
%SW17 statut de défaut voir le chapitre « Objets système » du manuel 0 oui oui
FLOATSTAT sur opération de référence Unity Pro - Langages et structure
flottante de programme
%SW17.1 : indicateur non géré par les
automates de sécurité Quantum.
%SW18 compteur de %SW18 est le mot faible et %SW19 est le mot 0 oui oui
%SW19 temps absolu élevé servant au calcul des durées. Ils sont
100MSCOUNTER tous deux incrémentés tous les 1/10e de
seconde par le système (même lorsque
l’automate est en mode STOP, ils ne sont plus
incrémentés si l’automate est hors tension). Ils
peuvent être lus et écrits par le programme
utilisateur ou par le terminal.

33003874 02/2015 245


Objets système

Mot Fonction Description Etat initial Accès en Sécurité


Symbole écriture Quantum
%SW20 compteur de Le mot faible %SW20 et le mot élevé %SW21 0 non oui
%SW21 temps absolu sont incrémentés tous les 1/1000e de
MSCOUNTER seconde par le système (même lorsque
l’automate est en mode STOP, ils ne sont plus
incrémentés si l’automate est hors tension). Ils
peuvent être lus par le programme utilisateur
ou par le terminal. %SW20 et %SW21 sont
réinitialisés lors d’un démarrage à froid, mais
pas lors d’un démarrage à chaud.

246 33003874 02/2015


Objets système

Description des mots système %SW30 à %SW59

Description détaillée
NOTE : tous les mots système ne peuvent pas être utilisés dans l’automate de sécurité Quantum.
Les mots système inutilisables sont signalés dans la colonne Sécurité Quantum par la mention
Non.
Le tableau suivant fournit une description des mots système %SW30 à %SW59 :

Mot Fonction Description Etat Accès Sécurité


Symbole initial en Quantum
écriture
%SW30 délai d’exécution Ce mot indique le délai d’exécution du dernier - non non
MASTCURRTIME de la tâche maître cycle de la tâche maître (en ms).

%SW31 délai d’exécution Ce mot indique le délai d’exécution le plus long de - non oui
MASTMAXTIME maxi de la tâche la tâche maître, depuis le dernier démarrage à
maître froid (en ms).
%SW32 délai d’exécution Ce mot indique le délai d’exécution le plus court de - non oui
MASTMINTIME mini de la tâche la tâche maître, depuis le dernier démarrage à
maître froid (en ms).
%SW33 à délai d’exécution voir le chapitre « Objets système » du manuel de - non non
%SW35 tâche rapide référence Unity Pro - Langages et structure de
programme
%SW36 Nombre NTP de Ce mot indique le nombre de secondes transmises 0 non oui
secondes (octet depuis le 1er janvier 1980 à 00:00 (octet de poids
de poids faible) faible). Il indique l’heure NTP provenant du module
140 NOE 771 11. Il est actualisé en interne entre
deux synchronisations NTP.
%SW37 Nombre NTP de Ce mot indique le nombre de secondes transmises 0 non oui
secondes (octet depuis le 1er janvier 1980 à 00:00 (octet de poids
de poids fort) fort). Il indique l’heure NTP provenant du module
140 NOE 771 11. Il est actualisé en interne entre
deux synchronisations NTP.
%SW38 Nombre NTP de Ce mot indique le nombre de millisecondes 0 non oui
millisecondes ajoutées au nombre NTP de secondes (%SW36 et
%SW37). Il indique l’heure NTP provenant du
module 140 NOE 771 11. Il est actualisé en
interne entre deux synchronisations NTP.

33003874 02/2015 247


Objets système

Mot Fonction Description Etat Accès Sécurité


Symbole initial en Quantum
écriture
%SW39 Etat des Signification des différents bits du mot %SW39 : 0 oui oui
horodatages NTP  %SW39.0 (géré par le contrôleur) :
en ms  =0, la valeur horaire n’est pas disponible ou
l’heure n’a pas été mise à jour pendant les
deux dernières minutes.
 =1, la valeur horaire est disponible ou
l’heure a été mise à jour pendant les
deux dernières minutes.
 %SW39.1 (géré par l’état du 140 NOE 771 11) :
 =0, l’heure du serveur NTP n’est pas
disponible.
 =1, l’heure mise à jour est reçue du
serveur NTP et a été envoyée au module
(au moins une fois).
 %SW39.2 (géré par l’UC) :
 =0, la valeur horaire dans les mots %SW36 à
%SW38 diffère de celle reçue par le serveur
NTP, de plus de deux secondes. La
dernière heure reçue du serveur NTP n’a
pas été prise en compte.
 =1, la valeur horaire dans les mots %SW36 à
%SW38 correspond à celle reçue par le
serveur NTP (différence inférieure à
deux secondes). La valeur horaire dans les
mots %SW36 à %SW38 est filtrée avec une
pente de 1 ms/s pour revenir à la dernière
heure reçue du serveur NTP.
 %SW39.3 à %SW39.7 : inutilisés
 %SW39.8 (contrôle configurable par
l’application) :
 =0, aucune action
 =1. S’il est réglé sur 1, l’UC accepte la
prochaine heure reçue du serveur NTP
sans filtrage (1 ms/s) et sans contrôle de
cohérence (différence entre la valeur
horaire dans les mots %SW36 à %SW38 et
l’heure du serveur NTP). Dès la nouvelle
heure du serveur NTP reçue, le bit
%SW39.8 est automatiquement réinitialisé
à 0 par le contrôleur.
 %SW39.9 à %SW39.15 : inutilisés

%SW40 à délai d’exécution voir le chapitre « Objets système » du manuel de - non non
%SW47 tâches auxiliaires référence Unity Pro - Langages et structure de
programme

248 33003874 02/2015


Objets système

Mot Fonction Description Etat Accès Sécurité


Symbole initial en Quantum
écriture
%SW48 nombre voir le chapitre « Objets système » du manuel de 0 oui non
IOEVTNB d’événements référence Unity Pro - Langages et structure de
programme
%SW49 fonction Mots système contenant la date et l’heure - oui oui
DAYOFWEEK d’horodateur courantes (en BCD) :
 %SW49 : jour de la semaine :
%SW50  1 = Lundi,
SEC  2 = Mardi,
 3 = Mercredi,
%SW51  4 = Jeudi,
HOURMIN  5 = Vendredi,
 6 = Samedi,
%SW52  7 = Dimanche,
MONTHDAY
 %SW50 : secondes (16#SS00),
 %SW51 : heures et minutes (16#HHMM),
%SW53
 %SW52 : mois et jour (16#MMJJ),
YEAR
 %SW53 : année (16#AAAA).
Ces mots sont gérés par le système lorsque le bit
%S50 est réglé sur 0.
Ils sont écrits par le programme utilisateur ou par
le terminal lorsque le bit %S50 est réglé sur 1.
%SW54 fonction Mots système contenant la date et l’heure de la - non oui
STOPSEC d’horodateur au dernière coupure d’alimentation ou du dernier arrêt
dernier arrêt de l’automate (au format Binary Coded Decimal) :
%SW55  %SW54 : secondes (00SS),
STOPHM  %SW55 : heures et minutes (HHMM),
 %SW56 : mois et jour (MMJJ),
%SW56  %SW57 : année (AAAA),
STOPMD  %SW58 : l’octet de poids fort contient le jour de
la semaine (de 1 pour lundi à 7 pour
%SW57 dimanche), tandis que l’octet de poids faible
STOPYEAR contient le code du dernier arrêt :
 1 = passage du mode RUN au mode STOP
%SW58 par le terminal ou l’entrée dédiée,
STOPDAY  2 = arrêt par le chien de garde (tâche de
l’automate ou débordement SFC),
 4 = coupure d’alimentation ou opération de
verrouillage de la carte mémoire,
 5 = arrêt suite à une anomalie matérielle,
 6 = arrêt suite à une anomalie logicielle. Les
détails relatifs au type d’anomalie logicielle
sont stockés dans %SW125.

33003874 02/2015 249


Objets système

Mot Fonction Description Etat Accès Sécurité


Symbole initial en Quantum
écriture
%SW59 réglage de la date Contient deux séries de 8 bits permettant de régler 0 oui oui
ADJDATETIME courante la date courante.
L’action est effectuée sur le front montant du bit.
Ce mot est activé par le bit %S59=1.
Dans l’illustration ci-dessous, les bits de la colonne
de gauche incrémentent la valeur, tandis que ceux
de la colonne de droite la décrémentent :

250 33003874 02/2015


Objets système

Description des mots système %SW60 à %SW127

Description détaillée
tous les mots système ne peuvent pas être utilisés dans l’automate de sécurité Quantum. Dans le
tableau suivant, les mots système inutilisables sont repérés par non dans la colonne Sécurité
Quantum.
Ce tableau fournit une description des mots système %SW60 à %SW127 :

Mot Fonction Description Etat Accès Sécuri-


Symbole initial en té Quan-
écriture tum
%SW60 registre de Signification des différents bits du mot %SW60 : 0 oui non
HSB_CMD commande du  %SW60.0 = 1 Invalide les commandes saisies à
système de l’écran (clavier).
redondance  %SW60.1
d’UC  = 0 Cconfigure l’automate A en mode Local.
Quantum  = 1 Configure l’automate A en mode RUN.

 %SW60.2
 = 0 Configure l’automate B en mode Local.
 = 1 Configure l’automate B en mode RUN.

 %SW60.3
 = 0 Si une différence d’application est détectée,
l’automate redondant est forcé à passer en
mode Local.
 = 1 L’UC redondante fonctionne normalement
même lorsqu’une différence est détectée.
 %SW60.4
 = 0 N’autorise une mise à jour du micrologiciel
qu’après l’arrêt de l’application.
 = 1 Autorise une mise à jour du micrologiciel
même si l’application n’est pas arrêtée.
 %SW60.5 = 1 Demande le transfert de l’application
de l’automate redondant à l’automate primaire.
 %SW60.8
 = 0 Commutation d’adresse sur le port
Modbus 1 lors d’une permutation primaire.
 = 1 Aucune commutation d’adresse sur le port
Modbus 1 lors d’une permutation primaire.

33003874 02/2015 251


Objets système

Mot Fonction Description Etat Accès Sécuri-


Symbole initial en té Quan-
écriture tum
%SW61 registre d’état Signification des différents bits du mot %SW61 : 0 non oui
HSB_STS Quantum  Bits %SW61.0 et %SW61.1 du mode de
fonctionnement de l’automate :
 %SW61.1 = 0, %SW61.0 = 1 : mode Local
 %SW61.1 = 1, %SW61.0 = 0 : mode Primaire
 %SW61.1 = 1, %SW61.0 = 1 : mode Secondaire
(redondant)
 Bits %SW61.2 et %SW61.3 du mode de
fonctionnement de l’autre automate
 %SW61.3 = 0, %SW61.2 = 1 : mode Local
 %SW61.3 = 1, %SW61.2 = 0 : mode Primaire
 %SW61.3 = 1, %SW61.2 = 1 : mode Secondaire
(redondant)
 %SW61.3 = 0, %SW61.2 = 0 : l’automate distant
n’est pas accessible (hors tension, aucune
communication).
 %SW61.4
 = 0 Les applications sont identiques sur les
deux automates.
 = 1 Les applications ne sont pas identiques sur
les deux automates.
 %SW61.5
 = 0 L’automate est utilisé comme unité A.
 = 1 L’automate est utilisé comme unité B.

 %SW61.7
 = 0 Version de SE des automates identique.
 = 1 Version de SE des automates différente.

 %SW61.8
 = 0 Version de SE des coprocesseurs identique.
 = 1 Version de SE des coprocesseurs différente.

 %SW61.12
 = 0 Information donnée par le bit 13 non
pertinente.
 = 1 Information donnée par le bit 13 valide.

 %SW61.13
 = 0 Adresse du module NOE définie comme
égale à l’adresse IP.
 = 1 Adresse du module NOE définie comme
égale à l’adresse IP + 1.
 %SW61.15
 = 0 Redondance d’UC non activée.
 = 1 Redondance d’UC activée.

252 33003874 02/2015


Objets système

Mot Fonction Description Etat Accès Sécuri-


Symbole initial en té Quan-
écriture tum
%SW62 Mot de Ces deux mots peuvent être ajoutés à la première 0 oui oui
HSBY_REVERSE0 transfert section de la tâche maître. Ils sont ensuite transférés
%SW63 automatiquement du processeur redondant à
HSBY_REVERSE1 l’automate primaire.
Ils peuvent être lus sur l’automate primaire et utilisés
comme paramètres de l’application primaire.
%SW70 fonction Mot système contenant le numéro de la semaine dans – oui
WEEKOFYEAR d’horodateur l’année : 1 à 52.

%SW71 position des Ce mot fournit l’image des positions des commutateurs 0 non oui
KEY_SWITCH commuta- sur le panneau avant du processeur Quantum. Ce mot
teurs sur le est mis à jour automatiquement par le système.
panneau  %SW71.0 = 1 : commutateur en position
avant du pro- « Protection mémoire ».
cesseur  %SW71.1 = 1 Commutateur en position « STOP ».
Quantum.  %SW71.2 = 1 Commutateur en position « START ».
 %SW71.8 = 1 Commutateur en position « MEM ».
 %SW71.9 = 1 Commutateur en position « ASCII ».
 %SW71.10 = 1 Commutateur en position « RTU ».
 %SW71.3 à 7 et 11 à 15 ne sont pas utilisés.

%SW75 Compteur Voir le chapitre « Objets système » du Manuel de 0 non


TIMEREVTNB d’événements référence Unity Pro - Langages et structure de
de type programme.
temporisateur.
%SW76 fonction de Résultat du dernier enregistrement : 0 oui
DLASTREG diagnostic :  = 0 si l’enregistrement est réussi
enregistre-  = 1 si le tampon de diagnostic n’a pas été configuré
ment  = 2 si le tampon de diagnostic est plein

%SW77 fonction de Résultat de la dernière désenregistrement : 0 oui


DLASTDEREG diagnostic :  = 0 si le non-enregistrement est réussi
non-enregis-  = 1 si le tampon de diagnostic n’a pas été configuré
trement  = 21 si l’identificateur d’erreur n’est pas valide
 = 22 si l’erreur n’a pas été enregistrée
%SW78 fonction de Nombre d’erreurs actuellement dans le tampon de 0 oui
DNBERRBUF diagnostic : diagnostic.
nombre
d’erreurs

33003874 02/2015 253


Objets système

Mot Fonction Description Etat Accès Sécuri-


Symbole initial en té Quan-
écriture tum
%SW80 gestion des Ces mots sont mis à jour par le système et peuvent 0 oui oui
MSGCNT0 messages également être réinitialisés à l’aide de %S80.
 %SW80 : nombre de messages Modbus envoyés par
%SW81 le système comme client sur tous les ports de
MSCNT1 communication (sauf coprocesseur Ethernet et
USB).
NOTE : les messages Modbus envoyés par le
système comme maître ne sont pas comptés dans
ce mot.
 %SW81 : nombre de messages Modbus reçus par le
système comme client sur tous les ports de
communication (sauf coprocesseur Ethernet et
USB).
NOTE : les messages Modbus reçus en réponse
aux requêtes envoyées par le système, comme
maître, ne sont pas comptés dans ce mot.
%SW87 gestion des Nombre de requêtes traitées par le serveur synchrone 0 oui
MSTSERVCNT flux de com- par cycle de tâche maître (MAST).
munication
%SW90 nombre Ce mot système permet de définir un nombre 0 oui oui
MAXREQNB maximum de maximum de requêtes qui peuvent être traitées par
requêtes l’automate par cycle de tâche maître.
traitées par Lorsque l’UC est le serveur : ce nombre de requêtes
cycle de tâche doit être compris entre 2 (minimum) et N+4 (maximum).
maître N : le nombre varie en fonction du modèle.
Lorsque l’UC est le client :
N : le nombre varie en fonction du modèle.
La valeur 0 ne fonctionne pas.
Si vous indiquez une valeur hors limites, la valeur N est
prise en compte.
Voir aussi le chapitre « Objets système » du manuel de
référence Unity Pro - Langages et structure de
programme.
%SW108 nombre de Ce mot système compte le nombre de bits de module 0 non oui
FORCEDIOIM bits de d’entrées/sorties forcés. Ce mot est incrémenté lors
modules d’E/S d’un forçage ou décrémenté lors d’un déforçage.
forcés
%SW110 Taille de %M Le mot système fournit des informations quant à la – non oui
dans la zone taille de la zone mémoire non restreinte affectée à %M.
des mémoires Ce mot système n’est pas disponible pour l’UC
non Quantum standard.
restreintes

254 33003874 02/2015


Objets système

Mot Fonction Description Etat Accès Sécuri-


Symbole initial en té Quan-
écriture tum
%SW111 Taille de Le mot système fournit des informations quant à la – non oui
%MW dans la taille de la zone mémoire non restreinte affectée à
zone des %MW.
mémoires non Ce mot système n’est pas disponible pour l’UC
restreintes Quantum standard.
%SW124 type de défaut Ce mot système est mis à jour quand l’automate passe – non oui
CPUERR système à l’état erreur.
Les valeurs possibles sont les suivantes :
 0x0065 : exécution de l’instruction HALT
impossible,
 0x0080 : chien de garde du système.

Si l’automate passe à l’état erreur de sécurité, le


contenu de %SW125 est mis à jour et peut être lu après
le prochain redémarrage de l’automate (voir ci-
dessous).

33003874 02/2015 255


Objets système

Mot Fonction Description Etat Accès Sécuri-


Symbole initial en té Quan-
écriture tum
%SW125 dernier défaut Le code du dernier défaut détecté est donné dans ce – non oui
BLKERRTYPE détecté mot. Si %S78 a la valeur 1, les erreurs détectées
suivantes entraînent l’arrêt de l’automate. %S15, %S18
et %S20 sont activés indépendamment de %S78 :
 16#0002: signature PCMCIA non vérifiée,
 16#2258: exécution de l’instruction HALT,
 16#2302: appel d’une fonction système non prise
en charge dans un bloc fonction utilisateur,
 16#9690: erreur de CRC d’application détectée en
arrière-plan,
 16#DE87 : erreur de calcul sur les nombres à
virgule flottante (%S18, ces erreurs sont
répertoriées dans le mot %SW17),
 16#DEB0 : débordement du chien de garde (%S11),
 16#DEF1 : erreur de transfert de chaîne de
caractères (%S15),
 16#DEF2 : erreur arithmétique ou de division par 0
(%S18),
 16#DEF3 : dépassement d’index (%S20).

Remarque : les codes 16#8xxx et 16#7xxx n’arrêtent


pas l’application et indiquent une erreur sur les blocs
fonction.
En cas d’erreur concernant SIL3, l’automate s’arrête.
Après la mise hors tension et le redémarrage de
l’automate, %SW125 contient le code de la cause de
l’erreur :
 0x5AF1 : erreur de contrôle de chaîne (exécution
imprévisible dans l’UC),
 0x5AF2 : erreur en mémoire (adresse
endommagée),
 0x5AF3 : erreur de comparaison (les résultats
d’exécution d’Intel et du processeur de l’application
sont différents),
 0x5AF4 : erreur d’horodateur,
 0x5AF5 : erreur d’initialisation de l’exécution de
code double,
 0x5AF6 : erreur d’activation du chien de garde,
 0x5AF7 : erreur lors du contrôle de la mémoire
(demande plus de 8 heures),
 0x5AF8 : erreur lors du contrôle de la mémoire
(RAM endommagée).
Remarque : %SW125 n’est remis à zéro qu’après un
init, un téléchargement complet ou un redémarrage
(il contient toujours le dernier défaut détecté).

256 33003874 02/2015


Objets système

Mot Fonction Description Etat Accès Sécuri-


Symbole initial en té Quan-
écriture tum
%SW126 adresse Adresse de l’instruction qui a généré le défaut bloquant 0 non oui
ERRADDR0 d’instruction de l’application.
%SW127 de défaut Avec des processeurs 16 bits :
ERRADDR1 bloquant  %SW126 contient le décalage de cette adresse ;
 %SW127 contient le numéro du segment pour cette
adresse.
Avec des processeurs 32 bits :
 %SW126 contient le mot de poids faible de cette
adresse ;
 %SW127 contient le mot de poids fort de cette
adresse.
Le contenu de %SW126 et %SW127 ne doit être utilisé
que par Schneider Electric.

Pour une description des mots système %SW128 à %SW339 et %SW535 à %SW640, reportez-vous
au chapitre Mots système Quantum spécifiques dans le Manuel de référence Unity Pro - Langages
et structure de programme. Les mots système %SW340 à %SW534 ne sont pas utilisés dans les
automates de sécurité Quantum.

33003874 02/2015 257


Objets système

258 33003874 02/2015


Unity Pro
Glossaire
33003874 02/2015

Glossaire

!
%
Préfixe identifiant les adresses de mémoire interne de l’automate utilisées pour stocker la valeur
des variables du programme, les constantes, E/S, etc.
%I
Selon la norme standard CEI, %I indique un objet langage de type entrée TOR.
%IW
Selon la norme standard CEI, %IW indique un objet langage de type entrée analogique.
%KW
Selon la norme standard CEI, %KW indique un objet langage de type mot constant.
%M
Selon la norme standard CEI, %M indique un objet langage de type bit mémoire.
%MW
Selon la norme standard CEI, %MW indique un objet langage de type mot mémoire.
%Q
Selon la norme standard CEI, %Q indique un objet langage de type sortie TOR.
%QW
Selon la norme standard CEI, %QW indique un objet langage de type sortie analogique.

A
ARRAY
Un ARRAY est un tableau d’éléments de même type.
La syntaxe est la suivante : ARRAY [<borniers>] OF <Type>
Exemple :
ARRAY [1..2] OF BOOL est un tableau à une dimension composé de deux éléments de type
BOOL.
NOTE : seuls les tableaux ARRAY à une dimension sont autorisés pour les applications de sécurité.

33003874 02/2015 259


Glossaire

B
BCD
format décimal codé en binaire
BCD permet de représenter des nombres décimaux compris entre 0 et 9 à l’aide d’un groupe de
4 bits (demi-octet).
Dans ce format, les 4 bits utilisés pour coder les nombres décimaux ont une plage de
combinaisons inutilisées.
Exemple de codage BCD :
 le nombre 2450
 est codé : 0010 0100 0101 0000

BOOL
BOOL est l’abréviation du type booléen. Il s’agit de l’élément de données de base en informatique.
Une variable de type BOOL présente l’une ou l’autre des valeurs suivantes : 0 (FALSE) ou 1 (TRUE).
Un bit extrait de mot est de type BOOL, par exemple : %MW10.4.
BYTE
Lorsque 8 bits sont regroupés, on parle alors de BYTE (octet). La saisie d’un BYTE s’effectue soit
en mode binaire, soit en base 8.
Le type BYTE est codé sur un format 8 bits qui, au format hexadécimal, va de 16#00 à 16#FF.

C
CEI 61131-3
standard international : commandes de logique programmable
Partie 3 : Langages de programmation
conventions de désignation (identificateur)
Un identificateur est une suite de lettres, de chiffres et de traits de soulignement commençant par
une lettre ou un trait de soulignement (par exemple, le nom d’un type de bloc fonction, d’une
instance, d’une variable ou d’une section). Les lettres des jeux de caractères nationaux (comme
ö, ü, é et õ) peuvent être utilisées, sauf dans les noms de projet et DFB. Les traits de soulignement
sont significatifs dans les identificateurs ; par exemple, A_BCD et AB_CD sont interprétés comme
des identificateurs différents. L’utilisation de plusieurs traits de soulignement consécutifs ou au
début d’un identificateur est incorrecte.
Les identificateurs ne peuvent pas contenir d’espace. La casse n’est pas prise en compte ; par
exemple, ABCD et abcd sont interprétés comme un seul et même identificateur.
Selon la norme standard CEI 61131-3, les chiffres en début ne sont pas autorisés dans les identifi-
cateurs. Cependant, vous pouvez les utiliser si vous sélectionnez Outils →Options du projet,
puis l’onglet Extensions de langage et que vous cochiez la case Chiffres non significatifs.
Les identificateurs ne peuvent pas être des mots clés.

260 33003874 02/2015


Glossaire

D
DBCD
représentation d’un entier double au format double BCD.
Le format BCD (Binary Coded Decimal) est utilisé pour représenter des nombres décimaux
compris entre 0 et 9 à l’aide d’un groupe de 4 bits.
Dans ce format, les 4 bits utilisés pour coder les nombres décimaux ont une plage de
combinaisons inutilisées.
Exemple de codage DBCD
 le nombre 78993016
 est codé : 0111 1000 1001 1001 0011 0000 0001 0110

DINT
Format d’entier double (codé en 32 bits).
Les limites inférieure et supérieure sont les suivantes : -(2 puissance 31) à (2 puissance 31) - 1.
Exemple :
-2 147 483 648, 2 147 483 647, 16#FFFFFFFF.
DWORD
mot double
Le type DWORD est codé sur un format de 32 bits.
Ce tableau donne les limites inférieure/supérieure des bases qui peuvent être utilisées :

Base Limite inférieure Limite supérieure


Hexadécimale 16#0 16#FFFFFFFF
Octale 8#0 8#37777777777
Binaire 2#0 2#11111111111111111111111111111111

Exemples de représentation

Contenu des données Représentation dans l’une des bases


00000000000010101101110011011110 16#ADCDE
00000000000000010000000000000000 8#200000
00000000000010101011110011011110 2#10101011110011011110

33003874 02/2015 261


Glossaire

E
EBOOL
type booléen étendu
Une variable de type EBOOL présente une valeur 0 (FALSE) ou 1 (TRUE), mais également des
fronts montants ou descendants et des fonctions de forçage.
Une variable de type EBOOL occupe 1 octet en mémoire.
L’octet se compose comme suit :
 1 bit pour la valeur ;
 1 bit pour le bit d’historique (chaque fois que l’objet d’état change, la valeur est copiée dans le
bit d’historique) ;
 1 bit pour le forçage (égal à 0 si l’objet n’est pas forcé, égal à 1 si le bit est forcé).
La valeur par défaut de chaque bit est 0 (FALSE).
EF
fonction élémentaire
Il s’agit d’un bloc, utilisé dans un programme, qui réalise une fonction logicielle prédéfinie.
Une fonction ne dispose pas d’informations sur l’état interne. Plusieurs appels de la même fonction
à l’aide des mêmes paramètres d’entrée fournissent les mêmes valeurs en sortie. Vous trouverez
des informations sur la forme graphique de l’appel de fonction dans le "[bloc fonctionnel
(instance)]". Contrairement à l’appel des blocs fonction, les appels de fonction comportent
uniquement une sortie qui n’est pas nommée et dont le nom est identique à celui de la fonction.
En FBD, chaque appel est indiqué par un numéro unique via le bloc graphique. Ce numéro est
généré automatiquement et ne peut pas être modifié.
Vous positionnez et paramétrez ces fonctions dans votre programme afin d’exécuter votre
application.
Vous pouvez également développer d’autres fonctions à l’aide du kit de développement SDKC.
EFB
bloc fonction élémentaire (EFB)
Il s’agit d’un bloc, utilisé dans un programme, qui réalise une fonction logicielle prédéfinie.
Les EFB présentent des états et des paramètres internes. Même si les entrées sont identiques,
les valeurs des sorties peuvent différer. Par exemple, un compteur comporte une sortie qui indique
que la valeur de présélection est atteinte. Cette sortie est réglée sur 1 lorsque la valeur en cours
est égale à la valeur de présélection.

262 33003874 02/2015


Glossaire

EN
EN correspond à ENable (activer) ; il s’agit d’une entrée de bloc facultative.
Lorsque l’entrée EN est activée, une sortie ENO est automatiquement établie.

Si... alors...
Si EN = 0,  le bloc n’est pas activé,
 son programme interne n’est pas exécuté,
 et ENO est à 0.

Si EN = 1,  le programme interne du bloc est exécuté,


 et ENO est réglé sur 1 par le système.

Remarque : si une erreur survient, ENO est réglé sur 0.


Si EN n’est pas connectée, elle est automatiquement définie sur 1.

ENO
ENO correspond à Error NOtification (notification d’erreur) ; il s’agit de la sortie associée à l’entrée
facultative EN.
Si ENO est réglée sur 0 (car EN = 0 ou en cas d’erreur d’exécution) :
 l’état des sorties de blocs fonction reste identique à celui dans lequel elles étaient lors du dernier
cycle de scrutation exécuté correctement ;
 les sorties de fonctions, ainsi que les procédures, sont définies sur 0.

F
FBD
langage en blocs fonctionnels
FBD est un langage de programmation graphique qui fonctionne comme un logigramme. En
complément des blocs logiques simples (ET, OU, etc.), chaque fonction ou bloc fonction du
programme est représenté(e) sous cette forme graphique. Pour chaque bloc, les entrées se situent
à gauche et les sorties à droite. Les sorties des blocs peuvent être liées aux entrées d’autres blocs
afin de former des expressions complexes.
FFB
FFB est l’abréviation de Functions and Function Block, terme générique utilisé pour désigner des
EF (fonction élémentaire), des EFB (bloc fonction élémentaire) et des DFB (bloc fonction dérivé).
fonction
Voir EF.
fonction élémentaire
Voir EF.

33003874 02/2015 263


Glossaire

G
GRAY
Le code Gray ou "binaire réfléchi" permet de coder une valeur numérique développée en chaîne
de configurations binaires qui peut être différenciée par le changement d’état d’un seul bit.
Ce code peut être utilisé, par exemple, pour éviter l’événement aléatoire suivant : en binaire pur,
le changement de la valeur 0111 en 1000 peut produire des nombres aléatoires compris entre 0
et 1 000, étant donné que les bits ne changent pas tous de valeur simultanément.
Equivalence entre décimal, BCD et Gray :

I
INF
Utilisé pour signifier qu’un nombre dépasse les limites autorisées.
Pour un nombre de type entier, les plages de valeurs (indiquées en gris) sont les suivantes :

Lorsqu’un résultat est :


 inférieur à -3,402824e+38, le symbole -INF (pour -infini) est affiché ;
 supérieur à +3,402824e+38, le symbole INF (pour + infini) est affiché.
INT
format d’entier simple (codé en 16 bits)
Les limites inférieure et supérieure sont les suivantes : -(2 puissance 15) à (2 puissance 15) - 1.
Exemple
-32 768, 32 767, 2#1111110001001001, 16#9FA4.

264 33003874 02/2015


Glossaire

IODDT
type de données E/S dérivées (Input/Output Derived Data Type)
Le terme IODDT désigne un type de données structuré représentant un module ou une voie d’un
module automate. Chaque module expert possède ses propres IODDT.

L
langage en blocs fonctionnels
Voir FBD.
LD
langage à contacts
LD est un langage de programmation représentant les instructions à exécuter sous forme de
schémas graphiques très proches d’un schéma électrique (contacts, bobines, etc.).

M
Module SAI
module d’entrées analogiques de sécurité
Module SDI
module d’entrées numériques de sécurité
mot clé
Un mot clé est une combinaison de caractères unique employée en tant qu’élément syntaxique
d’un langage de programmation. (voir la définition relative au standard CEI 61131-3 fournie à
l’annexe B. Tous les mots clés utilisés dans Unity Pro et mentionnés dans le standard CEI 61131-
3 sont répertoriés dans l’annexe C de ce standard. Ils ne peuvent pas servir d’identificateurs (noms
de variables, sections, types DFM, etc.) dans votre programme).

N
NAN
Utilisé pour signifier qu’un résultat d’opération n’est pas un nombre (NAN = Not A Number).
Exemple : calcul de la racine carrée d’un nombre négatif.
NOTE : la norme standard CEI 559 définit deux classes de NAN : le NAN silencieux (QNAN) et le
NaN de signalisation (SNaN). Un QNAN est un NAN avec un bit de fraction de poids fort tandis qu’un
SNAN est un NAN sans bit de fraction de poids fort (numéro de bit 22). Les QNAN peuvent être
propagés par le biais de la plupart des opérations arithmétiques sans indication d’une exception.
Quant aux SNAN, ils signalent en général une opération non valide lorsqu’ils sont utilisés en tant
qu’opérandes dans des opérations arithmétiques (voir %SW17 et %S18).

33003874 02/2015 265


Glossaire

P
procédure
Les procédures sont techniquement des vues fonctionnelles.
L’unique différence avec les fonctions élémentaires réside dans le fait que les procédures peuvent
comprendre plus d’une sortie et qu’elles gèrent le type de données VAR_IN_OUT. En apparence,
les procédures ne sont pas différentes des fonctions élémentaires.
Les procédures sont un supplément à la norme standard CEI 61131-3.

R
REAL
Le type REAL (réel) est un type codé sur 32 bits.
Les plages de valeurs possibles sont illustrées dans la figure suivante :

Lorsqu’un résultat est :


 compris entre -1,175494e-38 et 1,175494e-38, il est considéré comme étant un DEN ;
 inférieur à -3,402824e+38, le symbole -INF (pour - infini) est affiché ;
 supérieur à +3,402824e+38, le symbole INF (pour + infini) est affiché ;
 indéfini (racine carrée d’un nombre négatif), le symbole NAN est affiché.
NOTE : la norme standard CEI 559 définit deux classes de NAN : le NAN silencieux (QNAN) et
le NAN de signalisation (SNAN). Un QNAN est un NAN (Not a Number) avec un bit de fraction
de poids fort tandis qu’un SNAN est un NAN sans bit de fraction de poids fort (numéro de bit 22).
Les QNAN peuvent être propagés par la plupart des opérations arithmétiques sans générer
d’exception. Quant aux SNAN, ils signalent en général une opération non valide lorsqu’ils sont
utilisés en tant qu’opérandes dans des opérations arithmétiques (voir %SW17 et %S18).
NOTE : lorsqu’un DEN (nombre non normalisé) est utilisé en tant qu’opérande, le résultat n’est pas
significatif.

266 33003874 02/2015


Glossaire

réseau
Il existe deux significations du terme réseau.

Utilisée… Signification
en LD un réseau est un ensemble d’éléments graphiques interconnectés. La
portée d’un réseau est locale, par rapport à l’unité (section)
organisationnelle du programme dans laquelle le réseau est situé.
avec des un réseau est un groupe de stations qui communiquent entre elles. Le
modules de terme "réseau" est également utilisé pour définir un groupe d’éléments
communication graphiques interconnectés. Ce groupe constitue ensuite une partie d’un
experts programme qui peut être composé d’un groupe de réseaux.

T
TIME
Le type TIME exprime une durée en millisecondes. Codé sur 32 bits, ce type permet d’obtenir des
durées de 0 à 2 32-1 millisecondes.
Les unités du type TIME sont les suivantes : les jours (d), les heures (h), les minutes (m), les
secondes (s) et les millisecondes (ms). Une valeur littérale du type TIME est représentée par une
combinaison de types antérieurs précédés de T#, t#, TIME# ou time#.
Exemples : T#25h15m, t#14,7S, TIME#5d10h23m45s3ms

U
UDINT
UDINT est l’abréviation du format Unsigned Double INTeger (entier double non signé) (codé sur
32 bits). Les limites inférieure et supérieure sont les suivantes : 0 à (2 puissance 32) - 1.
Exemple
0, 4 294 967 295, 2#11111111111111111111111111111111, 8#37777777777,
16#FFFFFFFF.
UINT
format d’entier non signé (codé en 16 bits)
Les limites inférieure et supérieure sont les suivantes : 0 à (2 puissance 16) - 1.
Exemple
0, 65 535, 2#1111111111111111, 8#177777, 16#FFFF.
UMA
UMA est l’acronyme de « Unrestricted Memory Area » (zone mémoire non restreinte). La zone
UMA est une partie de la mémoire de l’automate de sécurité pour %M et %MW qui n’est pas protégée
en écriture. Ses adresses peuvent être écrites à partir d’autres automates ou IHM. Sa configuration
s’effectue dans la boîte de dialogue des propriétés d’UC de Unity Pro XLS.

33003874 02/2015 267


Glossaire

V
valeur littérale de temps
Les unités du type TIME sont les suivantes : les jours (d), les heures (h), les minutes (m), les
secondes (s) et les millisecondes (ms). Une valeur littérale du type TIME est représentée par une
combinaison de types antérieurs précédés de T#, t#, TIME# ou time#.
Exemples : T#25h15m, t#14,7S, TIME#5d10h23m45s3ms
valeur littérale en base 10
Une valeur littérale en base 10 est utilisée pour représenter une valeur entière décimale. Cette
valeur peut être précédée des signes + et -. Si le caractère _ est utilisé dans cette valeur littérale,
il n’est pas significatif.
Exemple :
-12, 0, 123_456, +986
valeur littérale en base 16
Une valeur littérale en base 16 est utilisée pour représenter un entier hexadécimal. La base est
déterminée par le nombre 16 et le symbole #. Les signes + et - sont interdits. Pour faciliter la
lecture, vous pouvez utiliser le symbole _ entre les bits.
Exemple :
16#F_F ou 16#FF (en décimal 255)
16#E_0 ou 16#E0 (en décimal 224)
valeur littérale en base 2
Une valeur littérale en base 2 est utilisée pour représenter un entier binaire. La base est
déterminée par le nombre 2 et le symbole #. Les signes + et - sont interdits. Pour faciliter la lecture,
vous pouvez utiliser le symbole _ entre les bits.
Exemple :
2#1111_1111 ou 2#11111111 (255 en décimal)
2#1110_0000 ou 2#11100000 (224 en décimal)
valeur littérale en base 8
Une valeur littérale en base 8 est utilisée pour représenter un entier octal. La base est déterminée
par le nombre 8 et le symbole #. Les signes + et - sont interdits. Pour faciliter la lecture, vous
pouvez utiliser le symbole _ entre les bits.
Exemple :
8#3_77 ou 8#377 (255 en décimal)
8#34_0 ou 8#340 (224 en décimal)

268 33003874 02/2015


Glossaire

valeur littérale entier


Une valeur littérale d’entier est utilisée pour saisir des valeurs de type entier dans le système
décimal. Les valeurs peuvent être précédées d’un signe (+/-). Les traits de soulignement (_)
séparant les nombres ne sont pas significatifs.
Exemple
-12, 0, 123_456, +986
variable
Entité mémoire du type BOOL, WORD, DWORD, etc., dont le contenu peut être modifié par le
programme en cours d’exécution.
variable non affectée
Variable dont la position dans la mémoire de l’automate ne peut pas être connue. Une variable à
laquelle aucune adresse n’a été associée est dite non affectée.
NOTE : il est interdit d’utiliser des variables non affectées dans des applications de sécurité.
variables affectées
Variable dont la position dans la mémoire de l’automate peut être connue. Par exemple, la variable
Pression_eau est associée au repère %MW102. Pression_eau est dite affectée.
NOTE : toutes les variables utilisées dans les applications de sécurité doivent être affectées.

W
WORD
Le type WORD est codé sur un format de 16 bits et est utilisé pour effectuer des traitements sur des
chaînes de bits.
Ce tableau donne les limites inférieure/supérieure des bases qui peuvent être utilisées :

Base Limite inférieure Limite supérieure


Hexadécimale 16#0 16#FFFF
Octale 8#0 8#177777
Binaire 2#0 2#1111111111111111

Exemples de représentation

Contenu des données Représentation dans l’une des bases


0000000011010011 16#D3
1010101010101010 8#125252
0000000011010011 2#11010011

33003874 02/2015 269


Glossaire

270 33003874 02/2015


Unity Pro
Index
33003874 02/2015

Index

Symbols %SW1, 244


%SW10, 244
%S0, 236
%SW108, 254
%S1, 236
%SW11, 244
%S10, 236
%SW110, 254
%S11, 237
%SW111, 255
%S118, 242
%SW12, 244
%S119, 242
%SW124, 255
%S12, 237
%SW125, 256
%S120, 242
%SW126, 257
%S121, 242
%SW127, 257
%S122, 242
%SW13, 245
%S13, 237
%SW14, 245
%S15, 238
%SW15, 245
%S16, 238
%SW16, 245
%S17, 238
%SW17, 245
%S18, 238
%SW18, 245
%S19, 239
%SW19, 245
%S20, 239
%SW2, 244
%S21, 239
%SW20, 246
%S30, 240
%SW21, 246
%S31, 240
%SW3, 244
%S32, 240
%SW30, 247
%S33, 240
%SW31, 247
%S34, 240
%SW32, 247
%S35, 240
%SW33 à %SW35, 247
%S38, 240
%SW36, 247
%S39, 240
%SW37, 247
%S4, 236
%SW38, 247
%S5, 236
%SW39, 248
%S50, 240
%SW4, 244
%S51, 240
%SW40 à %SW47, 248
%S59, 241
%SW48, 249
%S6, 236
%SW49, 249
%S67, 241, 241
%SW5, 244
%S7, 236
%SW50, 249
%S75, 242, 242
%SW51, 249
%S77, 242
%SW52, 249
%S78, 242
%SW53, 249
%S80, 242
%SW54, 249
%S94, 242
%SW55, 249
%SW0, 244

33003874 02/2015 271


Index

%SW56, 249 Bloc fonction bistable, réarmement dominant


%SW57, 249 S_RS, 101
%SW58, 249 Bloc fonction bistable, réglage dominant
%SW59, 250 S_SR, 107
%SW60, 251 bloc fonction élémentaire (EFB), 18
%SW61, 252
%SW62, 253
%SW63, 253 C
%SW70, 253 Calcul de valeur absolue
%SW71, 253 S_ABS_***, 113
%SW75, 253 CARRY, 238
%SW76, 253 COLDSTART, 236
%SW77, 253 Communication
%SW78, 253 S_RD_ETH, 227
%SW8, 244 S_WR_ETH, 223
%SW80, 254 Comparaison
%SW81, 254 S_EQ_***, 31
%SW87, 254 S_GE_***, 33
%SW9, 244 S_GT_***, 35
%SW90, 254 S_LE_***, 37
S_LT_***, 39
S_NE_***, 41
0-9 Compteur
100MSCOUNTER, 245 S_CTU_***, 181
1RSTSCANRUN, 237 Compteur/décompteur
1RSTTASKRUN, 239 S_CTUD_***, 183
configuration d’un rack de station d’E/S dis-
tantes
A NI_DROP, 147
ACTIVEVT, 240 Conversion de type
Addition S_BIT_TO_BYTE, 193
S_ADD_***, 115 S_BIT_TO_WORD, 195
ADJDATETIME, 250 S_BOOL_TO_***, 197
Affectation S_BYTE_TO_***, 201
S_MOVE, 121 S_BYTE_TO_BIT, 199
S_SMOVE_BIT, 123 S_DINT_TO_***, 207
S_SMOVE_WORD, 129 S_DWORD_TO_***, 203
APMODE, 244 S_INT_TO_***, 205
appel FFB conditionnel, 22 conversion de type
appel FFB inconditionnel, 22 S_REAL_TO_***, 209
S_TIME_TO_UDINT, 211

B
BLKERRTYPE, 256

272 33003874 02/2015


Index

Conversion de type F
S_UDINT_TO_***, 213
FASTACT, 240
S_UINT_TO_***, 215
FASTPERIOD, 244
S_WORD_TO_***, 219
FLOATSTAT, 245
S_WORD_TO_BIT, 217
Fonction AND
CPUERR, 255
S_AND_***, 87
Fonction de valeur maximum
S_MAX_***, 169
D Fonction de valeur minimum
DAYOFWEEK, 249 S_MIN_***, 171
Décalage vers la droite fonction élémentaire (EF), 18
S_SHR_***, 105 Fonction OR
Décalage vers la gauche S_OR_***, 93
S_SHL_***, 103 Fonction OR exclusive
Décompteur S_XOR_***, 109
S_CTD_***, 179 FORCEDIOIM, 254
Délai à l’activation
S_TON, 187
Délai à la désactivation H
S_TOF, 185
HALTIFERROR, 242
Détection des fronts descendants
Haute disponibilité
S_F_TRIG, 89
S_AISIL2, 65
Détection des fronts montants
S_DISIL2, 45
S_R_TRIG, 95
HOURMIN, 249
DIAGBUFFCONF, 242
HSB_CMD, 251
DIAGBUFFFULL, 242
HSB_STS, 252
Division
HSBY_REVERSEi, 253
S_DIV_***, 117
DLASTDEREG, 253
DLASTREG, 253 I
DNBERRBUF, 253
Impulsion
S_TP, 189
E INDEXOVF, 239
Inférieur à
Egal à
S_LT_***, 39
S_EQ_***, 31
Inférieur ou égal
EN, 21
S_LE_***, 37
ENO, 21
INTELMODE, 245
ERRADDRi, 257
IOERR, 236
ES_Quantum
IOERRTSK, 238
NI_ERT_854_20, 153
IOEVTNB, 249
NI_QUANTUM, 151
Evaluation du signe
S_SIGN_***, 141
EVTOVR, 240

33003874 02/2015 273


Index

K MSGCNT0, 254
MSGCNT1, 254
KEY_SWITCH, 253
MSTSERVCNT, 254
Multiplexeur
L S_MUX_***, 173
Multiplication
Limite S_MUL_***, 119
S_LIMIT_***, 167
LOCIOERR, 242
Logique N
S_AND_***, 87
Négation
S_F_TRIG, 89
S_NEG_***, 137
S_NOT_***, 91
S_NOT_***, 91
S_OR_***, 93
NI_DROP
S_R_TRIG, 95
configuration d’un rack de station d’E/S
S_ROL_***, 97
distantes, 147
S_ROR_***, 99
NI_ERT_854_20, 153
S_RS, 101
NI_QUANTUM, 151
S_SHL_***, 103
Non égal à
S_SHR_***, 105
S_NE_***, 41
S_SR, 107
S_XOR_***, 109
O
M OSCOMMPATCH, 245
OSCOMMVERS, 245
MASTACT, 240
OSINTVERS, 245
MASTCURRTIME, 247
OVERFLOW, 238
MASTMAXTIME, 247
OVERRUN, 239
MASTMINTIME, 247
MASTPERIOD, 244
Mathématiques P
S_ABS_***, 113
PCMCIABAT0, 241
S_ADD_***, 115
PCMCIABAT1, 242
S_DIV_***, 117
PLCBAT, 241
S_MOVE, 121
PLCRUNNING, 237
S_MUL_***, 119
S_NEG_***, 137
S_SIGN_***, 141
S_SMOVE_BIT, 123
R
S_SMOVE_WORD, 129 Redondance d’UC
mathématiques S_HSBY_SWAP, 79
S_SQRT_REAL, 139 REMIOERR, 242
Mathématiques Rotation vers la droite
S_SUB_***, 143 S_ROR_***, 99
MAXREQNB, 254 Rotation vers la gauche
MONTHDAY, 249 S_ROL_***, 97

274 33003874 02/2015


Index

RSTMSGCNT, 242 S_ROR_***, 99


RTCERR, 240 S_RS, 101
RTCTUNING, 241 S_SEL, 175
RTCWRITE, 240 S_SHL_***, 103
S_SHR_***, 105
S_SIGN_***, 141
S S_SMOVE_BIT, 123
S_ABS_***, 113 S_SMOVE_WORD, 129
S_ADD_***, 115 S_SQRT_REAL, 139
S_AISIL2, 65 S_SR, 107
S_AND_***, 87 S_SUB_***, 143
S_BIT_TO_BYTE, 193 S_TIME_TO_UDINT, 211
S_BIT_TO_WORD, 195 S_TOF, 185
S_BOOL_TO_***, 197 S_TON, 187
S_BYTE_TO_***, 201 S_TP, 189
S_BYTE_TO_BIT, 199 S_UDINT_TO_***, 213
S_CTD_***, 179 S_UINT_TO_***, 215
S_CTU_***, 181 S_WORD_TO_***, 219
S_CTUD_***, 183 S_WORD_TO_BIT, 217
S_DINT_TO_***, 207 S_WR_ETH, 223
S_DISIL2, 45 S_XOR_***, 109
S_DIV_***, 117 SAVECURRVAL, 242
S_DWORD_TO_***, 203 SEC, 249
S_EQ_***, 31 Sélection binaire
S_F_TRIG, 89 S_SEL, 175
S_GE_***, 33 Soustraction
S_GT_***, 35 S_SUB_***, 143
S_HSBY_SWAP, 79 Statistiques
S_INT_TO_***, 205 S_LIMIT_***, 167
S_LE_***, 37 S_MAX_***, 169
S_LIMIT_***, 167 S_MIN_***, 171
S_LT_***, 39 S_MUX_***, 173
S_MAX_***, 169 S_SEL, 175
S_MIN_***, 171 STOPDAY, 249
S_MOVE, 121 STOPHM, 249
S_MUL_***, 119 STOPMD, 249
S_MUX_***, 173 STOPSEC, 249
S_NE_***, 41 STOPYEAR, 249
S_NEG_***, 137 STRINGERROR, 238
S_NOT_***, 91 Supérieur à
S_OR_***, 93 S_GT_***, 35
S_R_TRIG, 95 Supérieur ou égal à
S_RD_ETH, 227 S_GE_***, 33
S_REAL_TO_***, 209
S_ROL_***, 97

33003874 02/2015 275


Index

T
TB100MS, 236
TB10MS, 236
TB1MIN, 236
TB1SEC, 236
Temporisateur et compteur
S_CTD_***, 179
S_CTU_***, 181
S_CTUD_***, 183
S_TOF, 185
S_TON, 187
S_TP, 189
TIMEREVTNB, 253
TSKINHIBIN, 244
TSKINHIBOUT, 244
TSKINIT, 244
Type à type
S_BIT_TO_BYTE, 193
S_BIT_TO_WORD, 195
S_BOOL_TO_***, 197
S_BYTE_TO_***, 201
S_BYTE_TO_BIT, 199
S_DINT_TO_***, 207
S_DWORD_TO_***, 203
S_INT_TO_***, 205
type à type
S_REAL_TO_***, 209
S_TIME_TO_UDINT, 211
Type à type
S_UDINT_TO_***, 213
S_UINT_TO_***, 215
S_WORD_TO_***, 219
S_WORD_TO_BIT, 217
types de bloc, 18

W
WARMSTART, 236
WDG, 237
WDGVALUE, 244
WEEKOFYEAR, 253

Y
YEAR, 249

276 33003874 02/2015

Vous aimerez peut-être aussi