Académique Documents
Professionnel Documents
Culture Documents
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
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.
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é.
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
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.
18 33003874 02/2015
Types de module et leur utilisation
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.
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.
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).
22 33003874 02/2015
Unity Pro
Disponibilité des blocs
33003874 02/2015
Chapitre 2
Disponibilité des blocs 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
Légende :
+ Oui
- Non
Haute disponibilité
Disponibilité des blocs
Légende :
+ Oui
- Non
33003874 02/2015 23
Disponibilité des blocs
Redondance d’UC
Disponibilité des blocs
Légende :
+ Oui
- Non
Logique
Disponibilité des blocs
Légende :
+ Oui
- Non
24 33003874 02/2015
Disponibilité des blocs
Mathématiques
Disponibilité des blocs
Légende :
+ Oui
- Non
ES_Quantum
Disponibilité des blocs
Légende :
+ Oui
- Non
33003874 02/2015 25
Disponibilité des blocs
Statistique
Disponibilité des blocs
Légende :
+ Oui
- Non
Temporisateurs et compteurs
Disponibilité des blocs
Légende :
+ Oui
- Non
26 33003874 02/2015
Disponibilité des blocs
Type à type
Disponibilité des blocs
Légende :
+ Oui
- Non
Communication
Disponibilité des blocs
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.
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
32 33003874 02/2015
Unity Pro
S_GE_***
33003874 02/2015
Chapitre 4
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
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
36 33003874 02/2015
Unity Pro
S_LE_***
33003874 02/2015
Chapitre 6
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
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
40 33003874 02/2015
Unity Pro
S_NE_***
33003874 02/2015
Chapitre 8
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
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é.
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é
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.
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
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
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
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.
33003874 02/2015 49
S_DISIL2
50 33003874 02/2015
S_DISIL2
Paramètres de sortie
Paramètre de sortie OUT
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
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.
52 33003874 02/2015
S_DISIL2
33003874 02/2015 53
S_DISIL2
Bits de défaut
Le tableau suivant présente les différents bits de défaut significatifs :
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
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.
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
Dans l’exemple de configuration matérielle présenté dans ce document, les données requises de
chaque module sont les suivantes :
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.
58 33003874 02/2015
S_DISIL2
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
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
62 33003874 02/2015
S_DISIL2
33003874 02/2015 63
S_DISIL2
Exemple 3 :
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é
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.
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
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
68 33003874 02/2015
S_AISIL2
Paramètres de sortie
Paramètre de sortie OUT
33003874 02/2015 69
S_AISIL2
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.
70 33003874 02/2015
S_AISIL2
Bits de défaut
Le tableau suivant présente les deux bits de défaut significatifs :
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
72 33003874 02/2015
S_AISIL2
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 :
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.
74 33003874 02/2015
S_AISIL2
Exemple 2 :
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
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).
33003874 02/2015 79
S_HSBY_SWAP
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
33003874 02/2015 81
S_HSBY_SWAP
NOTE : les mots système %SW60 et %SW61 indiquent l’état des automates primaire et
redondant.
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.
33003874 02/2015 85
Logique
86 33003874 02/2015
Unity Pro
S_AND_***
33003874 02/2015
Chapitre 12
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
88 33003874 02/2015
Unity Pro
S_F_TRIG
33003874 02/2015
Chapitre 13
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
33003874 02/2015 89
S_F_TRIG
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_***
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
94 33003874 02/2015
Unity Pro
S_R_TRIG
33003874 02/2015
Chapitre 16
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
33003874 02/2015 95
S_R_TRIG
96 33003874 02/2015
Unity Pro
S_ROL_***
33003874 02/2015
Chapitre 17
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
98 33003874 02/2015
Unity Pro
S_ROR_***
33003874 02/2015
Chapitre 18
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
Chapitre 19
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
Chapitre 20
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
Représentation en LD
Représentation
Chapitre 21
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
Représentation en LD
Représentation
Chapitre 22
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
Chapitre 23
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
Représentation en LD
Représentation
Partie VI
Mathématiques
Mathématiques
Introduction
Cette section décrit les fonctions et blocs fonction élémentaires de la famille Mathématiques.
Chapitre 24
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
Représentation en LD
Représentation
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).
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
Représentation en LD
Représentation
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.
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.
Formule
Fonctions disponibles
Liste des fonctions disponibles
S_DIV_INT
S_DIV_DINT
S_DIV_UINT
S_DIV_UDINT
S_DIV_REAL
Représentation en FBD
Représentation
Représentation en LD
Représentation
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.
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
Représentation en LD
Représentation
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.
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
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
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.
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é.
Représentation en FBD
Représentation
Représentation en LD
Représentation
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.
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é.
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.
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.
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é.
Représentation en FBD
Représentation
Représentation en LD
Représentation
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)
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.
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
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.
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
Représentation en LD
Représentation
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.
Chapitre 32
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 :
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.
Chapitre 33
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
Représentation en LD
Représentation
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.
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
Représentation en LD
Représentation
Erreur d’exécution
Le mot système %SW17 indique l’état de l’erreur détectée sur S_SUB_REAL.
Partie VII
ES_Quantum
ES_Quantum
Introduction
Cette section décrit les blocs fonction élémentaires non perturbateurs de la famille Quantum_IO.
Chapitre 35
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 :
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) ;
Chapitre 36
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 :
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) ;
Chapitre 37
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
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.
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
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) ;
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.
Mode de fonctionnement
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
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
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 :
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.
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.
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é.
Partie VIII
Statistique
Statistique
Introduction
Cette section décrit les fonctions et blocs fonction élémentaires du groupe Statistique.
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
Représentation en FBD
Représentation
Représentation en LD
Représentation
Chapitre 39
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
Représentation en LD
Représentation
Chapitre 40
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
Représentation en LD
Représentation
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
Représentation en LD
Représentation
Chapitre 42
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
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.
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
Représentation en LD
Représentation
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
Représentation en LD
Représentation
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
Représentation en LD
Représentation
Chapitre 46
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
Chronogramme
Représentation du délai à la désactivation S_TOF
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
Chronogramme
Représentation du délai à l’activation S_TON
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
Chronogramme
Représentation de l’impulsion S_TP
Partie X
Type à type
Type à type
Introduction
Cette section décrit les fonctions et blocs fonction élémentaires de la famille Type à type.
Chapitre 49
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.
Formule
Formule du bloc
Représentation en FBD
Représentation
Représentation en LD
Représentation
Chapitre 50
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.
Formule
Formule du bloc
Représentation en FBD
Représentation
Représentation en LD
Représentation
Chapitre 51
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
Représentation en LD
Représentation d’une application d’un entier
Chapitre 52
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.
Représentation en FBD
Représentation
Représentation en LD
Représentation
Chapitre 53
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
Représentation en LD
Représentation d’une application d’un entier
Chapitre 54
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
Représentation en LD
Représentation d’une application d’un entier
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.
Chapitre 55
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
Représentation en LD
Représentation d’une application d’un entier double
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
Chapitre 56
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
Représentation en LD
Représentation d’une application d’un entier
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.
Chapitre 57
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
Représentation en FBD
Représentation d’une application à entier double :
Représentation en LD
Représentation d’une application à entier double :
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.
Chapitre 58
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é
Chapitre 59
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
Représentation en LD
Représentation d’une application d’un entier
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
Chapitre 60
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
Représentation en LD
Représentation d’une application d’un entier
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
Chapitre 61
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.
Représentation en FBD
Représentation
Représentation en LD
Représentation
Chapitre 62
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
Représentation en LD
Représentation d’une application d’un entier
Partie XI
Communication
Communication
Introduction
Cette section décrit les blocs fonction dérivés de la famille Communication.
Chapitre 63
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
Représentation en LD
Représentation
Chapitre 64
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.
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
33003874 02/2015
Annexes
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
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
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.
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 :
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.
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 :
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.
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 :
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 :
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
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 :
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 :
%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.
%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
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 :
%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.
%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.
%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.
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.
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é.
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.
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 :
Exemples de représentation
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.
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.
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.
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 :
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).
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 :
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.
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)
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 :
Exemples de représentation
Index
B
BLKERRTYPE, 256
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
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
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