Schneider Electric Magelis XBTGC, XBTGT, XBTGK HMI Controller - Fonctions et variables système Mode d'emploi

Ajouter à Mes manuels
64 Des pages
Schneider Electric Magelis XBTGC, XBTGT, XBTGK HMI Controller - Fonctions et variables système Mode d'emploi | Fixfr
Magelis XBTGC, XBTGT, XBTGK HMI Controller
EIO0000000627 11/2015
Magelis XBTGC, XBTGT,
XBTGK HMI Controller
Fonctions et variables système
Guide de la bibliothèque XBT
PLCSystem
EIO0000000627.07
11/2015
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
EIO0000000627 11/2015
Table des matières
Consignes de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . .
A propos de ce manuel . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 1 Variables système XBTGC, XBTGT et XBTGK. . . . . . .
1.1 Variables système : définition et utilisation . . . . . . . . . . . . . . . . . . . . .
Présentation des variables système . . . . . . . . . . . . . . . . . . . . . . . . . .
Utilisation des variables système . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Structures PLC_R et PLC_W . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PLC_R : variables système en lecture seule de contrôleur . . . . . . . . .
PLC_W : variable système en lecture/écriture de contrôleur . . . . . . .
1.3 Structures SERIAL_R et SERIAL_W. . . . . . . . . . . . . . . . . . . . . . . . . .
SERIAL_R[0..1] : variables système en lecture seule de ligne série. .
SERIAL_W[0..1] : variables système en lecture/écriture de ligne série
Chapitre 2 Fonctions système de XBTGC , XBTGT et XBTGK . . .
2.1 Fonctions de lecture de XBTGC, XBTGT et XBTGK. . . . . . . . . . . . . .
HMI_GetRightBusStatus : renvoie l'état du bus d'extension . . . . . . . .
HMI_IsFirstMastColdCycle : indique si le cycle est le premier cycle
MAST après un démarrage à froid . . . . . . . . . . . . . . . . . . . . . . . . . . .
HMI_IsFirstMastCycle: indique si Cycle est le premier cycle Mast . . .
HMI_IsFirstMastWarmCycle : indique si Cycle est le premier cycle de
démarrage à chaud Mast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 3 Types de données de la bibliothèque XBT PLCSystem
Annexes
EIO0000000627 11/2015
PLC_R_IO_STATUS : codes d'état E/S . . . . . . . . . . . . . . . . . . . . . . .
PLC_R_APPLICATION_ERROR : Codes d'état des erreurs de
l'application détectées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PLC_R_BOOT_PROJECT_STATUS : codes d'état de projet de
démarrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PLC_R_STATUS : codes d'état du contrôleur. . . . . . . . . . . . . . . . . . .
PLC_R_STOP_CAUSE : codes expliquant le passage de l'état RUN à
un autre état . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PLC_W_COMMAND : codes de commande de contrôle . . . . . . . . . .
RIGHTBUS_GET_STATUS : codes de paramétrage de fonction
HMI_GetRightBusStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.........................................
5
7
11
12
13
15
17
18
20
21
22
23
25
26
27
31
32
34
35
36
37
39
40
41
43
44
45
3
Annexe A Représentation des fonctions et blocs fonction . . . .
Différences entre une fonction et un bloc fonction . . . . . . . . . . . . . . . .
Utilisation d'une fonction ou d'un bloc fonction en langage IL . . . . . . .
Utilisation d'une fonction ou d'un bloc fonction en langage ST . . . . . .
Glossaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
47
48
49
53
57
63
EIO0000000627 11/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, de le réparer 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.
EIO0000000627 11/2015
5
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.
6
EIO0000000627 11/2015
A propos de ce manuel
Présentation
Objectif du document
L'objet de ce document est de vous familiariser avec les fonctions et variables système fournies
par les contrôleurs XBTGC, XBTGK et XBTGT. La bibliothèque XBT PLCSystem contient des
fonctions et des variables permettant de recevoir des informations du système XBT et de lui
envoyer des commandes.
Ce document décrit les types de données associés aux fonctions et variables de la bibliothèque
XBT PLCSystem.
Les connaissances fondamentales requises pour tirer profit de ce document sont les suivantes :
connaissances de base sur les fonctionnalités, la structure et la configuration du contrôleur
XBTGC ;, XBTGT et XBT GK HMI Controller
 programmation en langages FBD, LD, ST, IL, SFC ou CFC,
 variables système (variables globales).

Champ d'application
Ce document a été actualisé pour la version de SoMachine V4.1 SP2.
EIO0000000627 11/2015
7
Information spécifique au produit
AVERTISSEMENT
PERTE DE CONTROLE





Le concepteur d'un circuit de commande doit tenir compte des modes de défaillance potentiels
des canaux de commande et, pour certaines fonctions de commande critiques, prévoir un
moyen d'assurer la sécurité en maintenant un état sûr pendant et après la défaillance. Par
exemple, l'arrêt d'urgence, l'arrêt en cas de surcourse, la coupure de courant et le
redémarrage sont des fonctions de commande cruciales.
Des canaux de commande séparés ou redondants doivent être prévus pour les fonctions de
commande critiques.
Les liaisons de communication peuvent faire partie des canaux de commande du système.
Une attention particulière doit être prêtée aux implications des délais de transmission non
prévus ou des pannes de la liaison.
Respectez toutes les réglementations de prévention des accidents ainsi que les consignes de
sécurité locales.1
Chaque implémentation de cet équipement doit être testée individuellement et entièrement
pour s'assurer du fonctionnement correct avant la mise en service.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
1
Pour plus d'informations, consultez le document NEMA ICS 1.1 (dernière édition), « Safety
Guidelines for the Application, Installation, and Maintenance of Solid State Control » (Directives de
sécurité pour l'application, l'installation et la maintenance de commande statique) et le document
NEMA ICS 7.1 (dernière édition), « Safety Standards for Construction and Guide for Selection,
Installation, and Operation of Adjustable-Speed Drive Systems » (Normes de sécurité relatives à
la construction et manuel de sélection, installation et opération de variateurs de vitesse) ou son
équivalent en vigueur dans votre pays.
AVERTISSEMENT
FONCTIONNEMENT INATTENDU DE L'EQUIPEMENT


N'utilisez que le logiciel approuvé par Schneider Electric pour faire fonctionner cet
équipement.
Mettez à jour votre programme d'application chaque fois que vous modifiez la configuration
matérielle physique.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
8
EIO0000000627 11/2015
Terminologie utilisée dans les normes
Les termes techniques, la terminologie, les symboles et les descriptions correspondantes
employés dans ce manuel ou figurant dans ou sur les produits proviennent généralement des
normes internationales.
Dans les domaines des systèmes de sécurité fonctionnelle, des variateurs et de l'automatisme en
général, les termes employés sont sécurité, fonction de sécurité, état sécurisé, défaut, réinitialisation du défaut, dysfonctionnement, panne, erreur, message d'erreur, dangereux, etc.
Entre autres, les normes concernées sont les suivantes :
Norme
Description
EN 61131-2:2007
Automates programmables - Partie 2 : exigences et essais des équipements
ISO 13849-1:2008
Sécurité des machines - Parties des systèmes de commande relatives à la
sécurité Principes généraux de conception
EN 61496-1:2013
Sécurité des machines - Équipements de protection électro-sensibles Partie 1 : prescriptions générales et essais
ISO 12100:2010
Sécurité des machines - Principes généraux de conception - Appréciation du
risque et réduction du risque
EN 60204-1:2006
Sécurité des machines - Équipement électrique des machines - Partie 1 : règles
générales
EN 1088:2008
ISO 14119:2013
Sécurité des machines - Dispositifs de verrouillage associés à des protecteurs
- Principes de conception et de choix
ISO 13850:2006
Sécurité des machines - Fonction d'arrêt d'urgence - Principes de conception
EN/IEC 62061:2005
Sécurité des machines - Sécurité fonctionnelle des systèmes de commande
électrique, électronique et électronique programmable relatifs à la sécurité
IEC 61508-1:2010
Sécurité fonctionnelle des systèmes électriques/électroniques/électroniques
programmables relatifs à la sécurité - Exigences générales
IEC 61508-2:2010
Sécurité fonctionnelle des systèmes électriques/électroniques/électroniques
programmables relatifs à la sécurité - Exigences pour les systèmes
électriques/électroniques/électroniques programmables relatifs à la sécurité
IEC 61508-3:2010
Sécurité fonctionnelle des systèmes électriques/électroniques/électroniques
programmables relatifs à la sécurité - Exigences concernant les logiciels
IEC 61784-3:2008
Communications numériques pour les systèmes de mesure et de commande Bus de terrain de sécurité fonctionnelle
2006/42/EC
Directive Machines
2004/108/EC
Directive sur la compatibilité électromagnétique
2006/95/EC
Directive sur les basses tensions
EIO0000000627 11/2015
9
De plus, des termes peuvent être utilisés dans le présent document car ils proviennent d'autres
normes telles que :
Norme
Description
Série IEC 60034
Machines électriques rotatives
Série IEC 61800
Entraînements électriques de puissance à vitesse variable
Série IEC 61158
Communications numériques pour les systèmes de mesure et de commande Bus de terrain utilisés dans les systèmes de commande industriels
Enfin, le terme zone de fonctionnement utilisable pour décrire des dangers spécifiques correspond
aux termes zone dangereuse ou zone de danger employés dans la directive européenne
Machines (EC/2006/42) et la norme ISO 12100:2010.
NOTE : Les normes susmentionnées peuvent s'appliquer ou pas aux produits cités dans la
présente documentation. Pour plus d'informations sur chacune des normes applicables aux
produits décrits dans le présent document, consultez les tableaux de caractéristiques de ces
références de produit.
10
EIO0000000627 11/2015
Magelis XBTGC, XBTGT, XBTGK HMI Controller
Variables système XBTGC, XBTGT et XBTGK
EIO0000000627 11/2015
Chapitre 1
Variables système XBTGC, XBTGT et XBTGK
Variables système XBTGC, XBTGT et XBTGK
Présentation
Ce chapitre :
propose une introduction aux variables système (voir page 12) ;
 décrit les variables système (voir page 18) disponibles avec la bibliothèque XBTPLC.

Contenu de ce chapitre
Ce chapitre contient les sous-chapitres suivants :
Souschapitre
Sujet
Page
1.1
Variables système : définition et utilisation
12
1.2
Structures PLC_R et PLC_W
17
1.3
Structures SERIAL_R et SERIAL_W
21
EIO0000000627 11/2015
11
Variables système XBTGC, XBTGT et XBTGK
Sous-chapitre 1.1
Variables système : définition et utilisation
Variables système : définition et utilisation
Présentation
Cette section définit les variables système et explique leur mise en œuvre dans le Magelis XBTGC
HMI Controller.
Contenu de ce sous-chapitre
Ce sous-chapitre contient les sujets suivants :
Sujet
12
Page
Présentation des variables système
13
Utilisation des variables système
15
EIO0000000627 11/2015
Variables système XBTGC, XBTGT et XBTGK
Présentation des variables système
Introduction
Cette section décrit la mise en œuvre des variables système pour le contrôleur. Ces variables
possèdent les attributs suivants :
 Les variables système permettent d'accéder à des informations générales sur le système, de
réaliser des diagnostics système et de commander des actions simples.
 Les variables système sont des variables structurées selon les définitions et conventions de
désignation de la norme CEI 61131. Elles sont accessibles en utilisant le nom symbolique CEI
PLC_GVL.
 Certaines variables PLC_GVL sont en lecture seule (par exemple, PLC_R) et d'autres sont en
lecture-écriture (par exemple, PLC_W).
 Les variables système sont déclarées automatiquement comme des variables globales. Elles
s'appliquent à l'ensemble du système et doivent être utilisées avec précaution, car tous les POU
(unités organisationnelles de programme) d'une tâche peuvent y accéder.
Conventions de désignation des variables système
Les variables système sont identifiées par :
 un nom de structure qui représente la catégorie de variables système (par exemple, PLC_R
représente le nom de structure des variables en lecture seule utilisées pour le diagnostic du
contrôleur) ;
 un ensemble de noms de composant qui identifie l'objet de la variable (par exemple,
i_wVendorID représente l'ID du fournisseur du contrôleur).
Vous pouvez accéder aux variables en entrant leur nom de structure suivi du nom du composant.
Voici un exemple de mise en œuvre des variables système :
VAR myCtr_Serial : DWORD; myCtr_ID : DWORD; myCtr_FramesRx : UDINT;
END_VAR
myCtr_Serial := PLC_R.i_dwSerialNumber; myCtr_ID := PLC_R.i_wVendorID;
myCtr_FramesRx := SERIAL_R[0].i_udiFramesReceivedOK;
NOTE : Dans l'exemple ci-dessus, le nom complet de la variable système est
PLC_GVL.PLC_R.i_wVendorID. Le PLC_GVL est implicite lors de la déclaration d'une variable
à l'aide de l'Aide à la saisie, mais vous pouvez aussi l'entrer dans son intégralité. Les bonnes
pratiques de programmation préconisent souvent d'utiliser le nom complet de la variable dans les
déclarations.
EIO0000000627 11/2015
13
Variables système XBTGC, XBTGT et XBTGK
Emplacement des variables système
Deux sortes de variables système sont définies pour la programmation du contrôleur :
variables affectées
 variables non affectées

Les variables affectées :
 ont un emplacement fixe dans une zone %MW statique :
 %MW60000 à %MW60199 pour les variables système en lecture seule,
 %MW62000 à %MW62199 pour les variables système en lecture/écriture ;

sont utilisées dans les programmes SoMachine selon la convention
nom_structure.nom_composant expliquée précédemment (les adresses %MW comprises
entre 0 et 59999 sont accessibles directement ; les adresses au-delà sont considérées comme
étant hors plage par SoMachine et ne sont accessibles que par le biais de la convention
nom_structure.nom_composant) ;
Les variables non affectées :
 ne se trouvent pas physiquement dans la zone %MW ;
 ne sont pas accessibles par un bus de terrain ou des requêtes réseau ;
 sont utilisées dans les programmes SoMachine conformément à la convention
nom_structure.nom_composant expliquée précédemment.
14
EIO0000000627 11/2015
Variables système XBTGC, XBTGT et XBTGK
Utilisation des variables système
Introduction
Cette rubrique décrit la procédure de programmation et d'utilisation des variables système dans
SoMachine.
Les variables système ont un champ d'application global et vous pouvez les utiliser dans tous les
POU (unité organisationnelle de programme) de l'application.
Il n'est pas nécessaire de déclarer les variables système dans la liste des variables globales (GVL).
Elles sont déclarées automatiquement à partir de la bibliothèque système du contrôleur.
Utilisation des variables système dans un POU
SoMachine a une fonction de saisie automatique. Dans un POU, commencez par entrer le nom de
structure de la variable système (PLC_R, PLC_W, ...) suivi d'un point. Les variables système
s'affichent dans l'Aide à la saisie. Vous pouvez sélectionner la variable de votre choix ou entrer
manuellement son nom en intégralité.
NOTE : Dans l'exemple ci-dessus, une fois que le nom de structure PLC_R. a été entré,
SoMachine affiche un menu contextuel des noms de composants/variables possibles.
EIO0000000627 11/2015
15
Variables système XBTGC, XBTGT et XBTGK
Exemple
L’exemple ci-dessous décrit l'utilisation de certaines variables système :
VAR myCtr_Serial : DWORD; myCtr_ID : WORD; myCtr_FramesRx : UDINT;
END_VAR
myCtr_Serial := PLC_R.i_dwSerialNumber; myCtr_ID := PLC_R.i_wVendorID;
myCtr_FramesRx := SERIAL_R[0].i_udiFramesReceivedOK;
16
EIO0000000627 11/2015
Variables système XBTGC, XBTGT et XBTGK
Sous-chapitre 1.2
Structures PLC_R et PLC_W
Structures PLC_R et PLC_W
Présentation
Cette section répertorie et décrit les variables système incluses dans les structures PLC_R et
PLC_W.
Contenu de ce sous-chapitre
Ce sous-chapitre contient les sujets suivants :
Sujet
Page
PLC_R : variables système en lecture seule de contrôleur
18
PLC_W : variable système en lecture/écriture de contrôleur
20
EIO0000000627 11/2015
17
Variables système XBTGC, XBTGT et XBTGK
PLC_R : variables système en lecture seule de contrôleur
Structure de la variable
Le tableau suivant décrit les paramètres de la variable système PLC_R (type PLC_R_STRUCT) :
Nom de la variable
Type
Commentaire
i_wVendorID
WORD
ID du fournisseur du contrôleur.
101A hex = Schneider Electric
i_wProductID
WORD
ID de référence du contrôleur.
NOTE : Les identifiants de
fournisseur et de référence sont les
composantes de l'identifiant cible du
contrôleur indiqué dans l'écran des
paramètres de communication (ID
cible = XXXX 101 hex).
i_byFirmVersion[0..3]
ARRAY[0..3] OF BYTE
Version [aa.bb.cc.dd] du
micrologiciel du contrôleur :
 i_byFirmVersion[0]= aa
 ...
 i_byFirmVersion[3]= dd
i_byBootVersion[0..3]
ARRAY[0..3] OF BYTE
Version [aa.bb.cc.dd] du
démarrage du contrôleur :
 i_byBootVersion[0]= aa
 ...
 i_byBootVersion[3]= dd
i_dwHardVersion
DWORD
Version du matériel du contrôleur.
i_wStatus
PLC_R_STATUS (voir page 40)
Etat du contrôleur.
i_wBootProjectStatus
PLC_R_BOOT_PROJECT_STATUS
(voir page 39)
Renvoie des informations sur
l'application de démarrage stockée
dans la mémoire Flash.
i_wLastStopCause
PLC_R_STOP_CAUSE (voir page 41)
Cause du dernier passage du mode
RUN à un autre état.
i_wLastApplicationError
PLC_R_APPLICATION_ERROR
(voir page 37)
Cause de la dernière exception
détectée du contrôleur.
i_wIOStatus1
PLC_R_IO_STATUS (voir page 36)
Etat des E/S intégrées.
NOTE : Valide uniquement pour le
contrôleur XBT GC.
i_wIOStatus2
PLC_R_IO_STATUS (voir page 36)
Etat des E/S TM2.
NOTE : Valide uniquement pour le
contrôleurXBT GC.
18
EIO0000000627 11/2015
Variables système XBTGC, XBTGT et XBTGK
Nom de la variable
Type
Commentaire
i_dwAppliSignature1
DWORD
Signature du premier des quatre
DWORD (16 octets au total).
La signature de l'application est créée
par le logiciel pendant la génération.
i_dwAppliSignature2
DWORD
Signature du deuxième des quatre
DWORD (16 octets au total).
La signature de l'application est créée
par le logiciel pendant la génération.
i_dwAppliSignature3
DWORD
Signature du troisième des quatre
DWORD (16 octets au total).
La signature de l'application est créée
par le logiciel pendant la génération.
i_dwAppliSignature4
DWORD
Signature du quatrième des quatre
DWORD (16 octets au total).
La signature de l'application est créée
par le logiciel pendant la génération.
EIO0000000627 11/2015
19
Variables système XBTGC, XBTGT et XBTGK
PLC_W : variable système en lecture/écriture de contrôleur
Structure de la variable
Le tableau suivant décrit les paramètres inclus dans la variable système PLC_W (type
PLC_W_STRUCT) :
Nom de la variable
Type
Commentaire
q_uiOpenPLCControl
UINT
Lorsque la valeur passe de 0 à 6699, la commande inscrite
précédemment dans la variable PLC_W.q_wPLCControl
suivante est exécutée.
q_wPLCControl
PLC_W_COMMAND
(voir page 43)
Commande RUN/STOP du contrôleur exécutée lorsque la
valeur de la variable système PLC_R.q_uiOpenPLCControl
passe de 0 à 6699.
20
EIO0000000627 11/2015
Variables système XBTGC, XBTGT et XBTGK
Sous-chapitre 1.3
Structures SERIAL_R et SERIAL_W
Structures SERIAL_R et SERIAL_W
Présentation
Cette section répertorie et décrit les variables système des structures SERIAL_R et SERIAL_W.
Contenu de ce sous-chapitre
Ce sous-chapitre contient les sujets suivants :
Sujet
Page
SERIAL_R[0..1] : variables système en lecture seule de ligne série
22
SERIAL_W[0..1] : variables système en lecture/écriture de ligne série
23
EIO0000000627 11/2015
21
Variables système XBTGC, XBTGT et XBTGK
SERIAL_R[0..1] : variables système en lecture seule de ligne série
Introduction
SERIAL_R est un tableau de 2 éléments de type SERIAL_R_STRUCT. Chaque élément du tableau
renvoie des variables système de diagnostic pour la ligne série correspondante :
 Serial_R[0] se rapporte au port COM1 (non pertinent pour le XBTGC1100).
 Serial_R[1] se rapporte au port COM2 (non pertinent pour le XBTGC).
Structure de la variable
Le tableau suivant décrit les paramètres de la variable système SERIAL_R[0..1] :
Nom de la variable
Type
Commentaire
i_udiFramesTransmittedOK
UDINT
Nombre de trames transmises avec
succès.
i_udiFramesReceivedOK
UDINT
Nombre de trames reçues sans erreur
détectée.
i_udiRX_MessagesError
UDINT
Nombre de trames reçues avec erreurs
détectées (somme de contrôle, parité).
NOTE :
Les compteurs de SERIAL_R sont réinitialisés :
 en cas de téléchargement ;
 lors d'une réinitialisation de l'automate ;
 par la commande SERIAL_W[x].q_wResetCounter ;
 par la commande de réinitialisation associée au code fonction de requête Modbus n°8.
22
EIO0000000627 11/2015
Variables système XBTGC, XBTGT et XBTGK
SERIAL_W[0..1] : variables système en lecture/écriture de ligne série
Introduction
SERIAL_W est un tableau de 2 éléments de type SERIAL_R_STRUCT. Chaque élément du tableau
force la variable système SERIAL_R pour la ligne série correspondante à réinitialiser :
 Serial_W[0] se rapporte au port COM1 (non pertinent pour le XBTGC1100).
 Serial_W[1] se rapporte au port COM2 (non pertinent pour le XBTGC).
Structure de la variable
Le tableau suivant décrit les paramètres de la variable système SERIAL_W[0..1] :
Nom de la variable
Type
Commentaire
q_wResetCounter
WORD
Le passage de 0 à 1 réinitialise tous les
compteurs de SERIAL_R[0..1].
Pour réinitialiser à nouveau les compteurs, il
est nécessaire de mettre ce registre à 0 de
sorte qu'un nouveau passage de 0 à 1 puisse
intervenir.
EIO0000000627 11/2015
23
Variables système XBTGC, XBTGT et XBTGK
24
EIO0000000627 11/2015
Magelis XBTGC, XBTGT, XBTGK HMI Controller
Fonctions système de XBTGC, XBTGT et XBTGK
EIO0000000627 11/2015
Chapitre 2
Fonctions système de XBTGC , XBTGT et XBTGK
Fonctions système de XBTGC , XBTGT et XBTGK
EIO0000000627 11/2015
25
Fonctions système de XBTGC, XBTGT et XBTGK
Sous-chapitre 2.1
Fonctions de lecture de XBTGC, XBTGT et XBTGK
Fonctions de lecture de XBTGC, XBTGT et XBTGK
Présentation
Cette section décrit les fonctions de lecture de la bibliothèque PLCSystem de XBTGC.
Contenu de ce sous-chapitre
Ce sous-chapitre contient les sujets suivants :
Sujet
26
Page
HMI_GetRightBusStatus : renvoie l'état du bus d'extension
27
HMI_IsFirstMastColdCycle : indique si le cycle est le premier cycle MAST après un démarrage
à froid
31
HMI_IsFirstMastCycle: indique si Cycle est le premier cycle Mast
32
HMI_IsFirstMastWarmCycle : indique si Cycle est le premier cycle de démarrage à chaud Mast
34
EIO0000000627 11/2015
Fonctions système de XBTGC, XBTGT et XBTGK
HMI_GetRightBusStatus : renvoie l'état du bus d'extension
Description de la fonction
Cette fonction renvoie l'état du bus d'extension des E/S dans un champ de bits. A la suite du
paramètre d'entrée (Mask), la fonction renvoie un diagnostic de configuration sur le bus
d'extension des E/S (différence de configuration du bus d'extension des E/S avec les modules
connectés) ou un diagnostic détaillé du module d'extension demandé pour les E/S analogiques.
NOTE : La fonction HMI_GetRightBusStatus ne s'applique qu'au HMI Controller XBT GC.
Représentation graphique
Représentation en IL et en ST
Pour voir la représentation générale en langage IL ou ST, reportez-vous au chapitre Représentation des fonctions et blocs fonction (voir page 47).
Description des variables d'E/S
Le tableau suivant décrit le paramètre d'entrée :
Entrée
Type
Commentaire
Mask
RIGHTBUS_GET_STATUS
(voir page 44)
Définit le type de diagnostic
du bus d'extension d'E/S,
renvoyé par la fonction :
configuration du bus ou l'un
des trois modèles
d'extension possibles.
Le tableau suivant décrit les variables de sortie :
Sortie
Type
Commentaire
HMI_GetRightBusStatus
WORD
Diagnostic du bus
d'extension d'E/S
voir informations ci-après
EIO0000000627 11/2015
27
Fonctions système de XBTGC, XBTGT et XBTGK
Diagnostic générique du bus d'extension d'E/S
Le tableau suivant décrit le champ de bits renvoyé par la fonction HMI_GetRightBusStatus
lorsque le paramètre d'entrée (Mask) est RIGHT_BUS_GET_GEN_STATUS (voir page 44) pour un
diagnostic de configuration du bus d'extension (hex 0000 si aucune erreur n'est détectée) :
Bit
Description
0
Réservé (toujours 0)
1
TRUE si la configuration 1 du module TM2 ne correspond pas au module
connecté.
2
TRUE si la configuration 2 du module TM2 ne correspond pas au module
connecté.
3
TRUE si la configuration 3 du module TM2 ne correspond pas au module
connecté.
4 à 15
Réservé (toujours 0)
Diagnostic des modules du bus d'extension d'E/S
Les tableaux ci-dessous décrivent le champ de bits renvoyé par la fonction HMI_GetRightBusStatus lorsque le paramètre d'entrée (Mask) est RIGHTBUS_GET_STATUSx (voir page 44)
(où x=1 à 3) pour un diagnostic détaillé du module d'extension "x".
NOTE : Le diagnostic détaillé est correct pour des modules d'E/S analogiques uniquement et la
signification du champ de bits dépend du type du module analogique concerné.
Lorsque le module associé est un module d'E/S analogiques standard (jusqu'à 2 voies d'entrée) :
 TM2AMM3HT
 TM2ALM3LT
 TM2AMI2HT
 TM2AMI2LT
 TM2AVO2HT
 TM2AMO1HT
28
Bit
Description
0
Toutes les voies analogiques à l'état normal
1
Module à l'état d'initialisation
2
Dysfonctionnement de l'alimentation
3
Configuration incorrecte – analyse nécessaire
4
Processus de conversion de la voie d'entrée 0
5
Processus de conversion de la voie d'entrée 1
6
Paramètre non valide de la voie d'entrée 0
7
Paramètre non valide de la voie d'entrée 1
8
Non utilisée
EIO0000000627 11/2015
Fonctions système de XBTGC, XBTGT et XBTGK
Bit
Description
9
Non utilisée
10
Valeur de dépassement par le haut de la voie d'entrée 0
11
Valeur de dépassement par le haut de la voie d'entrée 1
12
Valeur de dépassement par le bas de la voie d'entrée 0
13
Valeur de dépassement par le bas de la voie d'entrée 1
14
Non utilisée
15
Paramètre non valide de la voie de sortie
Lorsque le module associé est l'un des modules à 4 ou 8 voies d'entrées analogiques :
 TM2ARI8HT
 TM2AMI8HT
 TM2ARI8LT
 TM2ARI8LRJ
 TM2AMI4LT
 TM2AMM6HT
Bit
Description
Signification
0, 1
Etat de la voie 0
00 : voie analogique à l'état normal
01 : paramètre non valide de la voie d'entrée
10 : valeur d'entrée indisponible (module en phase
d'initialisation, processus de conversion)
11 : valeur non valide de la voie d'entrée (valeur supérieure
au seuil maximal ou inférieure au seuil minimal)
2, 3
Etat de la voie 1
voir bit 0, 1
4, 5
Etat de la voie 2
voir bit 0, 1
6, 7
Etat de la voie 3
voir bit 0, 1
8, 9
Etat de la voie 4
voir bit 0, 1 (pour les modules à 8 voies d'entrée
uniquement)
10, 11
Etat de la voie 5
voir bit 0, 1 (pour les modules à 8 voies d'entrée
uniquement)
12, 13
Etat de la voie 6
voir bit 0, 1 (pour les modules à 8 voies d'entrée
uniquement)
14, 15
Etat de la voie 7
voir bit 0, 1 (pour les modules à 8 voies d'entrée
uniquement)
NOTE : Lorsque le module d'extension ciblé est un module d'E/S numériques, le diagnostic
renvoyé est non valide (hex 0000).
EIO0000000627 11/2015
29
Fonctions système de XBTGC, XBTGT et XBTGK
Exemple
L'exemple suivant décrit une méthode utilisant HMI_GetRightBusStatus pour le diagnostic du
bus d'extension d'E/S et des modules :
VAR
(*diagnostic de conf des modules 1 à 3 = MyRightBusStatus bits 1 à 3*)
MyRightBusStatus: WORD;
(*Codes de diagnostic des modules 1 à 3*)
ModuleError:Array [1..3] of WORD;
END_VAR
(*Diagnostic de conf sur le bus d'extension*)
MyRightBusStatus:=HMI_GetRightBusStatus(RIGHTBUS_GET_GEN_STATUS);
IF MyRightBusStatus<>0 THEN
(*Diff de conf détectée => définir une alarme, vérifier les valeurs des
bits...*)END_IF;
(*Obtention du diagnostic des modules : erreur détectée si diag <> 0*)
(*Limiter la liste aux modules analogiques configurés*)
ModuleError[1]:=HMI_GetRightBusStatus(RIGHTBUS_GET_STATUS1);
ModuleError[2]:=HMI_GetRightBusStatus(RIGHTBUS_GET_STATUS2);
ModuleError[3]:=HMI_GetRightBusStatus(RIGHTBUS_GET_STATUS3);
30
EIO0000000627 11/2015
Fonctions système de XBTGC, XBTGT et XBTGK
HMI_IsFirstMastColdCycle : indique si le cycle est le premier cycle MAST après
un démarrage à froid
Description de la fonction
Cette fonction renvoie TRUE au cours du 1er cycle Mast après un démarrage à froid (premier cycle
après téléchargement ou réinitialisation à froid).
Représentation graphique
Représentation en IL et en ST
Pour voir la représentation générale en langage IL ou ST, reportez-vous au chapitre Représentation des fonctions et blocs fonction (voir page 47).
Description des variables d'E/S
Le tableau suivant décrit la variable de sortie :
Sortie
Type
Commentaire
HMI_IsFirstMastColdCycle
BOOL
TRUE au cours du premier cycle de la
tâche MAST après un démarrage à froid.
Exemple
Reportez-vous à la fonction HMI_IsFirstMastCycle (voir page 32).
EIO0000000627 11/2015
31
Fonctions système de XBTGC, XBTGT et XBTGK
HMI_IsFirstMastCycle: indique si Cycle est le premier cycle Mast
Description de la fonction
Cette fonction renvoie TRUE au cours du 1er cycle Mast après un démarrage.
Représentation graphique
Représentation en IL et en ST
Pour voir la représentation générale en langage IL ou ST, reportez-vous au chapitre Représentation des fonctions et blocs fonction (voir page 47).
Description des variables d'E/S
32
Sortie
Type
Commentaire
HMI_IsFirstMastCycle
BOOL
TRUE au cours du premier cycle de la tâche
MAST après un démarrage.
EIO0000000627 11/2015
Fonctions système de XBTGC, XBTGT et XBTGK
Exemple
Cet exemple décrit les trois fonctions HMI_IsFirstMastCycle, HMI_IsFirstMastColdCycle et HMI_IsFirstMastWarmCycle utilisées ensemble :
NOTE : Les fonctions doivent être utilisées dans la tâche MAST, faute de quoi des actions d'initialisation risquent d'être réalisées plusieurs fois ou au contraire de ne jamais être exécutées (une
tâche supplémentaire pourrait être appelée plusieurs fois ou ne pas être appelée du tout pendant
un cycle de tâche MAST).
IF HMI_IsFirstMastWarmCycle() THEN
(*Premier cycle MAST après un démarrage à chaud: toutes les variables
sont définies à leurs valeurs d'initialisation sauf les variables
conservées*)
(*=> initialiser les variables nécessaires pour que votre application
s'exécute comme prévu dans ce cas*)
END_IF;
IF HMI_IsFirstMastColdCycle() THEN
(*Premier cycle Mast après un démarrage à froid : toutes les variables
sont définies à leurs valeurs d'initialisation y compris les variables
conservées*)
(*=> initialiser les variables nécessaires pour que votre application
s'exécute comme prévu dans ce cas*)
END_IF;
IF HMI_IsFirstMastCycle() THEN
(*Premier cycle Mast après un démarrage : à froid, à chaud ou après des
commandes STOP/RUN*)
(*=> initialiser les variables nécessaires pour que votre application
s'exécute comme prévu dans ce cas*)
END_IF;]
EIO0000000627 11/2015
33
Fonctions système de XBTGC, XBTGT et XBTGK
HMI_IsFirstMastWarmCycle : indique si Cycle est le premier cycle de démarrage
à chaud Mast
Description de la fonction
Cette fonction renvoie TRUE au cours du 1er cycle Mast après un démarrage à chaud.
Représentation graphique
Représentation en IL et en ST
Pour voir la représentation générale en langage IL ou ST, reportez-vous au chapitre Représentation des fonctions et blocs fonction (voir page 47).
Description des variables d'E/S
Le tableau suivant décrit la variable de sortie :
Sortie
Type
Commentaire
HMI_IsFirstMastWarmCycle
BOOL
TRUE au cours du premier cycle de la tâche
MAST après un démarrage à chaud.
Exemple
Reportez-vous à la fonction HMI_IsFirstMastCycle (voir page 32).
34
EIO0000000627 11/2015
Magelis XBTGC, XBTGT, XBTGK HMI Controller
Types de données de la bibliothèque XBT PLC System
EIO0000000627 11/2015
Chapitre 3
Types de données de la bibliothèque XBT PLCSystem
Types de données de la bibliothèque XBT PLCSystem
Présentation
Ce chapitre décrit les types de données de la bibliothèque XBT PLCSystem.
2 sortes de types de données sont disponibles :
 Les types de données de variable système sont utilisés par les variables système
(voir page 11) de la bibliothèque XBT PLCSystem (PLC_R, PLC_W,...).
 Les types de données de fonction système sont utilisés par les fonctions système
(voir page 25) de lecture/écriture de la bibliothèque XBT PLCSystem.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
PLC_R_IO_STATUS : codes d'état E/S
36
PLC_R_APPLICATION_ERROR : Codes d'état des erreurs de l'application détectées
37
PLC_R_BOOT_PROJECT_STATUS : codes d'état de projet de démarrage
39
PLC_R_STATUS : codes d'état du contrôleur
40
PLC_R_STOP_CAUSE : codes expliquant le passage de l'état RUN à un autre état
41
PLC_W_COMMAND : codes de commande de contrôle
43
RIGHTBUS_GET_STATUS : codes de paramétrage de fonction HMI_GetRightBusStatus
44
EIO0000000627 11/2015
35
Types de données de la bibliothèque XBT PLC System
PLC_R_IO_STATUS : codes d'état E/S
Type énumération - Description
Le type de données énumération PLC_R_IO_STATUS contient les valeurs suivantes :
36
Enumérateur
Valeur
Commentaire
PLC_R_IO_OK
FFFF hex
Les entrées/sorties sont
opérationnelles.
PLC_R_IO_NO_INIT
0001 hex
Les entrées/sorties ne sont pas
initialisées.
PLC_R_IO_CONF_FAULT
0002 hex
Paramètres de configuration E/S
incorrects détectés.
EIO0000000627 11/2015
Types de données de la bibliothèque XBT PLC System
PLC_R_APPLICATION_ERROR : Codes d'état des erreurs de l'application
détectées
Description du type énumération
Le type de données énumération PLC_R_APPLICATION_ERROR contient les valeurs suivantes :
Enumérateur
Valeur
Commentaire
Que faire
PLC_R_APP_ERR_UNKNOWN
FFFF hex
Erreur indéfinie détectée.
Contactez votre service
d'assistance local.
PLC_R_APP_ERR_NOEXCEPTION
0000 hex
Aucune erreur détectée.
–
PLC_R_APP_ERR_WATCHDOG
0010 hex
Tâche chien de garde
expirée.
Vérifiez votre application. Voir le
chapitre . Une réinitialisation est
nécessaire pour entrer en mode
Run.
Chien de garde du
système expiré.
Si le problème se reproduit,
vérifiez la présence de ports de
communication déconnectés. Si
le problème persiste, mettez à
jour le micrologiciel. Si le
problème persiste encore,
contactez votre service
d'assistance local.
PLC_R_APP_ERR_HARDWAREWATCHDOG 0011 hex
PLC_R_APP_ERR_IO_CONFIG_ERROR
0012 hex
Paramètres de
configuration d'E/S
incorrects détectés.
Il est possible que votre
application soit endommagée.
Pour résoudre ce problème,
utilisez l'une de ces méthodes :
1. Compiler → Tout nettoyer
2. Exportez/Importez votre
application.
3. Mettez à niveau SoMachine à
la dernière version.
PLC_R_APP_ERR_UNRESOLVED_
EXTREFS
0018 hex
Fonctions indéfinies
détectées.
Supprimez les fonctions non
résolues de l'application.
PLC_R_APP_ERR_IEC_TASK_
CONFIG_ERROR
0025 hex
Paramètres de
configuration de tâche
incorrects détectés.
Il est possible que votre
application soit endommagée.
Pour résoudre ce problème,
utilisez l'une de ces méthodes :
1. Compiler → Tout nettoyer
2. Exportez/Importez votre
application.
3. Mettez à niveau SoMachine à
la dernière version.
PLC_R_APP_ERR_ILLEGAL_
INSTRUCTION
0050 hex
Instruction indéfinie
détectée.
Procédez au débogage de votre
application pour résoudre le
problème.
EIO0000000627 11/2015
37
Types de données de la bibliothèque XBT PLC System
Enumérateur
Valeur
Commentaire
PLC_R_APP_ERR_ACCESS_
VIOLATION
0051 hex
Tentative d'accès à la zone Procédez au débogage de votre
mémoire réservée.
application pour résoudre le
problème.
PLC_R_APP_ERR_PROCESSORLOAD_
WATCHDOG
0105 hex
Processeur surchargé par Réduisez la charge de travail de
les tâches de l'application. l'application en améliorant son
architecture. Augmentez la
durée du cycle de tâche.
Réduisez la fréquence des
événements.
38
Que faire
EIO0000000627 11/2015
Types de données de la bibliothèque XBT PLC System
PLC_R_BOOT_PROJECT_STATUS : codes d'état de projet de démarrage
Description du type énumération
Le type de données énumération PLC_R_BOOT_PROJECT_STATUS contient les valeurs
suivantes :
Enumérateur
Valeur
Commentaire
PLC_R_NO_BOOT_PROJECT
0000 hex
Le projet de démarrage n'existe pas dans la
mémoire Flash.
PLC_R_BOOT_PROJECT_CREATION_IN_PROGRESS
0001 hex
Le projet de démarrage est en cours de création.
PLC_R_DIFFERENT_BOOT_PROJECT
0002 hex
Le projet de démarrage dans la mémoire Flash
est différent du projet chargé dans la RAM.
PLC_R_VALID_BOOT_PROJECT
FFFF hex
Le projet de démarrage dans la mémoire Flash
est identique au projet chargé dans la RAM.
EIO0000000627 11/2015
39
Types de données de la bibliothèque XBT PLC System
PLC_R_STATUS : codes d'état du contrôleur
Description du type énuméré
Le type de données énuméré PLC_R_STATUS contient les valeurs suivantes :
40
Enumérateur
Valeur
Commentaire
PLC_R_EMPTY
0000 hex
Le contrôleur ne contient aucune application.
PLC_R_STOPPED
0001 hex
Le contrôleur est arrêté.
PLC_R_RUNNING
0002 hex
Le contrôleur fonctionne.
PLC_R_HALT
0004 hex
Le contrôleur est à l'état HALT. (Reportez-vous
au diagramme d'état du contrôleur dans le guide
de programmation de votre contrôleur.)
PLC_R_BREAKPOINT
0008 hex
Le contrôleur s'est interrompu au point d'arrêt.
EIO0000000627 11/2015
Types de données de la bibliothèque XBT PLC System
PLC_R_STOP_CAUSE : codes expliquant le passage de l'état RUN à un autre état
Description du type énumération
Le type de données d'énumération PLC_R_STOP_CAUSE contient les valeurs suivantes :
Enumérateur
Valeur
PLC_R_STOP_REASON_ UNKNOWN 0000 hex
Commentaire
Que faire
La valeur initiale ou la cause
de l'arrêt ne sont pas
définies.
Contactez votre service d'assistance
local en cas de raison d'arrêt non défini.
PLC_R_STOP_REASON_HW_
WATCHDOG
0001 hex
Arrêté suite à une horloge de Contactez votre service d'assistance
surveillance matérielle.
local.
PLC_R_STOP_REASON_RESET
0002 hex
Arrêté suite à une
réinitialisation.
Voir les possibilités de réinitialisation
dans le chapitre . Une réinitialisation est
nécessaire pour entrer en mode Run.
PLC_R_STOP_REASON_
EXCEPTION
0003 hex
Arrêté en cas d'exception
détectée.
Vérifiez votre application Voir le chapitre
.
PLC_R_STOP_REASON_USER
0004 hex
Arrêté suite à une requête de Voir le chapitre .
l'utilisateur.
PLC_R_STOP_REASON_
IECPROGRAM
0005 hex
Arrêté suite à une requête de –
commande de programme
(par exemple, commande de
contrôle avec le paramètre
PLC_W.q_wPLCControl:=
PLC_W_COMMAND.PLC_W_
STOP;).
PLC_R_STOP_REASON_DELETE
0006 hex
Arrêté suite à une
commande de suppression
d'application.
Voir le chapitre .
PLC_R_STOP_REASON_
DEBUGGING
0007 hex
Arrêté suite au passage en
mode de débogage.
–
PLC_R_STOP_FROM_NETWORK_
REQUEST
000A hex
Arrêté suite à une requête du –
réseau (clé USB ou
commande PLC_W).
PLC_R_STOP_FROM_INPUT
000B hex
Arrêt requis par une entrée
du contrôleur.
–
PLC_R_STOP_REASON_RETAIN_
MISMATCH
000C hex
Passage à l'état ARRETE
après un redémarrage et la
détection d'une différence
dans la définition des
variables rémanentes.
Les variables conservées ont été
supprimées car elle n'étaient pas
référencées dans l'application. Si
l'application définit les variables
conservées sur leur valeur initiale, la est
disponible.
EIO0000000627 11/2015
41
Types de données de la bibliothèque XBT PLC System
Enumérateur
Valeur
Commentaire
Que faire
PLC_R_STOP_REASON_BOOT_
APPLI_MISMATCH
000D hex
Passage à l'état ARRETE
après un redémarrage et la
détection d'une différence
dans l'application de
démarrage.
Créez une application de démarrage
valide.
PLC_R_STOP_REASON_
POWERFAIL
000E hex
Le contrôleur a été arrêté en
raison d'une coupure de
courant.
Vérifiez la source d'alimentation
électrique.
42
EIO0000000627 11/2015
Types de données de la bibliothèque XBT PLC System
PLC_W_COMMAND : codes de commande de contrôle
Description du type énuméré
Le type de données énuméré PLC_W_COMMAND contient les valeurs suivantes :
Enumérateur
Valeur
Commentaire
PLC_W_STOP
0001 hex
Commande d'arrêt du contrôleur.
PLC_W_RUN
0002 hex
Commande d'exécution du contrôleur.
PLC_W_RESET_COLD
0004 hex
Commande de lancement d'une réinitialisation à
froid du contrôleur.
PLC_W_RESET_WARM
0008 hex
Commande de lancement d'une réinitialisation à
chaud du contrôleur.
EIO0000000627 11/2015
43
Types de données de la bibliothèque XBT PLC System
RIGHTBUS_GET_STATUS : codes de paramétrage de fonction
HMI_GetRightBusStatus
Descriptions du type énuméré
Le type de données énumération contient les valeurs suivantes :
Enumérateur
Valeur
Description
RIGHTBUS_GET_GEN_STATUS
Hex 00
Paramètre d'un diagnostic de
configuration de bus d'extension
RIGHTBUS_GET_STATUS1
Hex 01
Paramètre de diagnostic du module 1
du bus d'extension
RIGHTBUS_GET_STATUS2
Hex 02
Paramètre de diagnostic du module 2
du bus d'extension
RIGHTBUS_GET_STATUS3
Hex 03
Paramètre de diagnostic du module 3
du bus d'extension
NOTE : Pour plus d'informations sur l'utilisation du type de paramètre RIGHTBUS_GET_STATUS,
consultez la fonction HMI_GetRightBusStatus (voir page 27).
44
EIO0000000627 11/2015
Magelis XBTGC, XBTGT, XBTGK HMI Controller
EIO0000000627 11/2015
Annexes
EIO0000000627 11/2015
45
46
EIO0000000627 11/2015
Magelis XBTGC, XBTGT, XBTGK HMI Controller
Représentation des fonctions et blocs fonction
EIO0000000627 11/2015
Annexe A
Représentation des fonctions et blocs fonction
Représentation des fonctions et blocs fonction
Présentation
Chaque fonction peut être représentée dans les langages suivants :
IL : (Instruction List) liste d'instructions
 ST : (Structured Text) littéral structuré
 LD : (Ladder Diagram) schéma à contacts
 FBD : Function Block Diagram (Langage à blocs fonction)
 CFC : Continuous Function Chart (Diagramme fonctionnel continu)

Ce chapitre fournit des exemples de représentations de fonctions et blocs fonction et explique
comment les utiliser dans les langages IL et ST.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Différences entre une fonction et un bloc fonction
48
Utilisation d'une fonction ou d'un bloc fonction en langage IL
49
Utilisation d'une fonction ou d'un bloc fonction en langage ST
53
EIO0000000627 11/2015
47
Représentation des fonctions et blocs fonction
Différences entre une fonction et un bloc fonction
Fonction
Une fonction :
est une POU (Program Organization Unit ou unité organisationnelle de programme) qui renvoie
un résultat immédiat ;
 est directement appelée par son nom (et non par une instance) ;
 ne conserve pas son état entre deux appels ;
 peut être utilisée en tant qu'opérande dans des expressions.

Exemples : opérateurs booléens (AND), calculs, conversions (BYTE_TO_INT)
Bloc fonction
Un bloc fonction :
est une POU qui renvoie une ou plusieurs sorties ;
 doit être appelé par une instance (copie de bloc fonction avec nom et variables dédiées).
 Chaque instance conserve son état (sorties et variables internes) entre deux appels à partir
d'un bloc fonction ou d'un programme.

Exemples : temporisateurs, compteurs
Dans l'exemple, Timer_ON est une instance du bloc fonction TON :
p
48
EIO0000000627 11/2015
Représentation des fonctions et blocs fonction
Utilisation d'une fonction ou d'un bloc fonction en langage IL
Informations générales
Cette partie explique comment mettre en œuvre une fonction et un bloc fonction en langage IL.
Les fonctions IsFirstMastCycle et SetRTCDrift, ainsi que le bloc fonction TON, sont utilisés
à titre d'exemple pour illustrer les mises en œuvre.
Utilisation d'une fonction en langage IL
La procédure suivante explique comment insérer une fonction en langage IL :
Etape
Action
1
Ouvrez ou créez un POU en langage IL (Instruction List, ou liste d'instructions).
NOTE : La procédure de création d'un POU n'est pas détaillée ici. Pour plus d'informations,
reportez-vous à la section Ajout et appel de POU (voir SoMachine, Guide de programmation).
2
Créez les variables nécessaires à la fonction.
3
Si la fonction possède une ou plusieurs entrées, chargez la première entrée en utilisant
l'instruction LD.
4
Insérez une nouvelle ligne en dessous et :
 saisissez le nom de la fonction dans la colonne de l'opérateur (champ de gauche), ou
 utilisez l'Aide à la saisie pour choisir la fonction (sélectionnez Insérer l'appel de module dans
le menu contextuel).
5
Si la fonction a plusieurs entrées et que l'Aide à la saisie est utilisée, le nombre requis de lignes est
automatiquement créé avec ??? dans les champs situés à droite. Remplacez les ??? par la valeur
ou la variable appropriée en fonction de l'ordre des entrées.
6
Insérez une nouvelle ligne pour stocker le résultat de la fonction dans la variable appropriée :
saisissez l'instruction ST dans la colonne de l'opérateur (champ de gauche) et un nom de variable
dans le champ situé à droite.
EIO0000000627 11/2015
49
Représentation des fonctions et blocs fonction
Pour illustrer la procédure, utilisons les fonctions IsFirstMastCycle (sans paramètre d'entrée)
et SetRTCDrift (avec paramètres d'entrée) représentées graphiquement ci-après :
Fonction
Représentation graphique
sans paramètre d'entrée :
IsFirstMastCycle
avec paramètres d'entrée :
SetRTCDrift
En langage IL, le nom de la fonction est utilisé directement dans la colonne de l'opérateur :
Fonction
Représentation dans l'éditeur IL de POU de SoMachine
Exemple IL d'une
fonction sans paramètre
d'entrée :
IsFirstMastCycle
50
EIO0000000627 11/2015
Représentation des fonctions et blocs fonction
Fonction
Représentation dans l'éditeur IL de POU de SoMachine
Exemple IL d'une
fonction avec des
paramètres d'entrée :
SetRTCDrift
Utilisation d'un bloc fonction en langage IL
La procédure suivante explique comment insérer un bloc fonction en langage IL :
Etape Action
1
Ouvrez ou créez un POU en langage IL (Instruction List, ou liste d'instructions).
NOTE : La procédure de création d'un POU n'est pas détaillée ici. Pour plus d'informations,
reportez-vous à la section Ajout et appel de POU (voir SoMachine, Guide de programmation).
2
Créez les variables nécessaires au bloc fonction (y compris le nom de l'instance).
3
L'appel de blocs fonction nécessite l'utilisation d'une instruction CAL :
 Utilisez l'Aide à la saisie pour sélectionner le bloc fonction (cliquez avec le bouton droit et
sélectionnez Insérer l'appel de module dans le menu contextuel).
 L'instruction CAL et les E/S nécessaires sont automatiquement créées.
Chaque paramètre (E/S) est une instruction :
 Les valeurs des entrées sont définies à l'aide de « := ».
 Les valeurs des sorties sont définies à l'aide de « => ».
4
Dans le champ CAL de droite, remplacez les ??? par le nom de l'instance.
5
Remplacez les autres ??? par une variable ou une valeur immédiate appropriée.
EIO0000000627 11/2015
51
Représentation des fonctions et blocs fonction
Pour illustrer la procédure, utilisons le bloc fonction TON représenté graphiquement ci-après :
Bloc fonction
Représentation graphique
TON
En langage IL, le nom du bloc fonction est utilisé directement dans la colonne de l'opérateur :
Bloc fonction
Représentation dans l'éditeur IL de POU de SoMachine
TON
52
EIO0000000627 11/2015
Représentation des fonctions et blocs fonction
Utilisation d'une fonction ou d'un bloc fonction en langage ST
Informations générales
Cette partie décrit comment mettre en œuvre une fonction ou un bloc fonction en langage ST.
La fonction SetRTCDrift et le bloc fonction TON sont utilisés à titre d'exemple pour illustrer les
mises en œuvre.
Utilisation d'une fonction en langage ST
La procédure suivante explique comment insérer une fonction en langage ST :
Etape
Action
1
Ouvrez ou créez un POU en langage ST (Structured Text ou Littéral structuré).
NOTE : La procédure de création d'un POU n'est pas détaillée ici. Pour plus d'informations,
reportez-vous à la section Ajout et appel de POU (voir SoMachine, Guide de programmation).
2
Créez les variables nécessaires à la fonction.
3
Utilisez la syntaxe générale dans l'éditeur ST de POU pour la représentation en langage ST d'une
fonction. La syntaxe générale est la suivante :
RésultatFonction:= NomFonction(VarEntrée1, VarEntrée2, … VarEntréex);
Pour illustrer la procédure, utilisons la fonction SetRTCDrift représentée graphiquement ciaprès :
Fonction
Représentation graphique
SetRTCDrift
La représentation en langage ST de cette fonction est la suivante :
Fonction
Représentation dans l'éditeur ST de POU de SoMachine
SetRTCDrift
PROGRAM MyProgram_ST
VAR myDrift: SINT(-29..29) := 5;
myDay: DAY_OF_WEEK := SUNDAY;
myHour: HOUR := 12;
myMinute: MINUTE;
myRTCAdjust: RTCDRIFT_ERROR;
END_VAR
myRTCAdjust:= SetRTCDrift(myDrift, myDay, myHour, myMinute);
EIO0000000627 11/2015
53
Représentation des fonctions et blocs fonction
Utilisation d'un bloc fonction en langage ST
La procédure suivante explique comment insérer un bloc fonction en langage ST :
Etape
Action
1
Ouvrez ou créez un POU en langage IL (Instruction List, ou liste d'instructions).
NOTE : La procédure de création d'un POU n'est pas détaillée ici. Pour plus
d'informations sur l'ajout, la déclaration et l'appel de POU, reportez-vous à la
documentation (voir SoMachine, Guide de programmation) associée.
2
Créez les variables d'entrée, les variables de sortie et l'instance requises pour le bloc
fonction :
 Les variables d'entrée sont les paramètres d'entrée requis par le bloc fonction.
 Les variables de sortie reçoivent la valeur renvoyée par le bloc fonction.
3
Utilisez la syntaxe générale dans l'éditeur ST de POU pour la représentation en
langage ST d'un bloc fonction. La syntaxe générale est la suivante :
BlocFonction_NomInstance(Entrée1:=VarEntrée1,
Entrée2:=VarEntrée2,… Sortie1=>VarSortie1,
Sortie2=>VarSortie2,…);
Pour illustrer la procédure, utilisons le bloc fonction TON représenté graphiquement ci-après :
Bloc fonction
Représentation graphique
TON
54
EIO0000000627 11/2015
Représentation des fonctions et blocs fonction
Le tableau suivant montre plusieurs exemples d'appel de bloc fonction en langage ST :
Bloc fonction
Représentation dans l'éditeur ST de POU de SoMachine
TON
EIO0000000627 11/2015
55
Représentation des fonctions et blocs fonction
56
EIO0000000627 11/2015
Magelis XBTGC, XBTGT, XBTGK HMI Controller
Glossaire
EIO0000000627 11/2015
Glossaire
!
%
Selon la norme IEC, % est un préfixe qui identifie les adresses mémoire internes des contrôleurs
logiques pour stocker la valeur de variables de programme, de constantes, d'E/S, etc.
%MW
Selon la norme IEC, %MW représente un registre de mots mémoire (par exemple, un objet
langage de type mot mémoire).
A
application
Programme comprenant des données de configuration, des symboles et de la documentation.
application de démarrage
(boot application). Fichier binaire qui contient l'application. En général, il est stocké dans le
contrôleur et permet à ce dernier de démarrer sur l'application que l'utilisateur a générée.
ARRAY
Agencement systématique d'objets de données d'un même type sous la forme d'un tableau défini
dans la mémoire d'un contrôleur logique. La syntaxe est la suivante : ARRAY [<dimension>]
OF <Type>
Exemple 1 : ARRAY [1..2] OF BOOL est un tableau à 1 dimension composé de 2 éléments de
type BOOL.
Exemple 2 : ARRAY [1..10, 1..20] OF INT est un tableau à 2 dimensions composés de
10 x 20 éléments de type INT.
B
bus d'extension
Bus de communication électronique entre des modules d'E/S d'extension et un contrôleur.
EIO0000000627 11/2015
57
Glossaire
C
CFC
Acronyme de continuous function chart, diagramme fonctionnel continu. Langage de
programmation graphique (extension de la norme IEC 61131-3) basé sur le langage de diagramme
à blocs fonction et qui fonctionne comme un diagramme de flux. Toutefois, il n'utilise pas de
réseaux et le positionnement libre des éléments graphiques est possible, ce qui permet les boucles
de retour. Pour chaque bloc, les entrées se situent à gauche et les sorties à droite. Vous pouvez
lier les sorties de blocs aux entrées d'autres blocs pour créer des expressions complexes.
chien de garde
Temporisateur spécial utilisé pour garantir que les programmes ne dépassent pas le temps de
scrutation qui leur est alloué. Le chien de garde est généralement réglé sur une valeur supérieure
au temps de scrutation et il est remis à 0 à la fin de chaque cycle de scrutation. Si le temporisation
chien de garde atteint la valeur prédéfinie (par exemple, lorsque le programme est bloqué dans
une boucle sans fin) une erreur est déclarée et le programme s'arrête.
configuration
Agencement et interconnexions des composants matériels au sein d'un système, ainsi que les
paramètres matériels et logiciels qui déterminent les caractéristiques de fonctionnement du
système.
contrôleur
Automatise des processus industriels. On parle également de contrôleur logique programmable
(PLC) ou de contrôleur programmable.
D
DWORD
Abréviation de double word, mot double. Codé au format 32 bits.
E
E/S
Entrée/sortie
E/S numérique
(Entrée/sortie numérique) Connexion de circuit individuelle au niveau du module électronique qui
correspond directement à un bit de table de données. Ce bit de table de données contient la valeur
du signal au niveau du circuit d'E/S. Il permet à la logique de contrôle un accès numérique aux
valeurs d'E/S.
élément
Raccourci pour l'élément d'un ARRAY.
58
EIO0000000627 11/2015
Glossaire
entrée analogique
Convertit les niveaux de tension ou de courant reçus en valeurs numériques. Vous pouvez stocker
et traiter ces valeurs au sein du contrôleur logique.
F
FB
Acronyme de function block, bloc fonction. Mécanisme de programmation commode qui consolide
un groupe d'instructions de programmation visant à effectuer une action spécifique et normalisée
telle que le contrôle de vitesse, le contrôle d'intervalle ou le comptage. Un bloc fonction peut
comprendre des données de configuration, un ensemble de paramètres de fonctionnement interne
ou externe et généralement une ou plusieurs entrées et sorties de données.
fonction
Unité de programmation possédant 1 entrée et renvoyant 1 résultat immédiat. Contrairement aux
blocs fonction (FBs), une fonction est appelée directement par son nom (et non via une instance),
elle n'a pas d'état persistant d'un appel au suivant et elle peut être utilisée comme opérande dans
d'autres expressions de programmation.
Exemples : opérateurs booléens (AND), calculs, conversion (BYTE_TO_INT).
G
GVL
Acronyme de global variable list, liste de variables globales. Gère les variables globales qui
peuvent être transmises entre contrôleurs sur un réseau Ethernet TCP/IP Modbus.
H
hex
(hexadécimal)
HMI
Acronyme de human machine interface, interface homme-machine (IHM). Interface opérateur
(généralement graphique) permettant le contrôle d'équipements industriels par l'homme.
EIO0000000627 11/2015
59
Glossaire
I
ID
(identificateur/identification)
IEC
Acronyme de International Electrotechnical Commission, Commission Electrotechnique
Internationale (CEI). Organisation internationale non gouvernementale à but non lucratif, qui
rédige et publie les normes internationales en matière d'électricité, d'électronique et de domaines
connexes.
IL
Acronyme de instruction list, liste d'instructions. Un programme écrit en langage IL est composé
d'instructions textuelles qui sont exécutées séquentiellement par le contrôleur. Chaque instruction
comprend un numéro de ligne, un code d'instruction et un opérande (voir la norme IEC 61131-3).
INT
Abréviation de integer), nombre entier codé sur 16 bits.
L
langage en blocs fonctionnels
Un des 5 langages de programmation de logique ou de commande pris en charge par la norme
IEC 61131-3 pour les systèmes de commande. FBD est un langage de programmation orienté
graphique. Il fonctionne avec une liste de réseaux où chaque réseau contient une structure
graphique de zones et de lignes de connexion représentant une expression logique ou
arithmétique, un appel de bloc fonction ou une instruction de retour.
LD
Acronyme de ladder diagram, schéma à contacts. Représentation graphique des instructions d'un
programme de contrôleur, avec des symboles pour les contacts, les bobines et les blocs dans une
série de réseaux exécutés séquentiellement par un contrôleur (voir IEC 61131-3).
M
MAST
Tâche de processeur exécutée par le biais de son logiciel de programmation. La tâche MAST
comprend deux parties :
 IN : les entrées sont copiées dans la section IN avant exécution de la tâche MAST.
 OUT : les sorties sont copiées dans la section OUT après exécution de la tâche MAST.
mémoire flash
Mémoire non volatile qui peut être écrasée. Elle est stockée dans une puce EEPROM spéciale,
effaçable et reprogrammable.
60
EIO0000000627 11/2015
Glossaire
micrologiciel
Représente le BIOS, les paramètres de données et les instructions de programmation qui
constituent le système d'exploitation d'un contrôleur. Le micrologiciel est stocké dans la mémoire
non volatile du contrôleur.
Modbus
Protocole qui permet la communication entre de nombreux équipements connectés au même
réseau.
O
octet
Type codé sur 8 bits, de 00 à FF au format hexadécimal.
P
PLC
Acronyme de programmable logic controller, contrôleur logique programmable. Ordinateur
industriel utilisé pour automatiser des processus de fabrication et autres processus électromécaniques. Les PLCs diffèrent des ordinateurs courants par le fait qu'ils sont conçus pour utiliser
plusieurs tableaux d'entrées et de sorties et pour accepter des conditions de choc, de vibration, de
température et d'interférences électriques plus rudes.
POU
Acronyme de program organization unit, unité organisationnelle de programme. Déclaration de
variables dans le code source et jeu d'instructions correspondant. Les POUs facilitent la
réutilisation modulaire de programmes logiciels, de fonctions et de blocs fonction. Une fois
déclarées, les POUs sont réutilisables.
programme
Composant d'une application constitué de code source compilé qu'il est possible d'installer dans
la mémoire d'un contrôleur logique.
R
réseau
Système d'équipements interconnectés qui partageant un chemin de données et un protocole de
communications communs.
run
Commande qui ordonne au contrôleur de scruter le programme d'application, lire les entrées
physiques et écrire dans les sorties physiques en fonction de la solution de la logique du
programme.
EIO0000000627 11/2015
61
Glossaire
S
ST
Acronyme de structured text, texte structuré. Langage composé d'instructions complexes et
d'instructions imbriquées (boucles d'itération, exécutions conditionnelles, fonctions). Le langage
ST est conforme à la norme IEC 61131-3.
STOP
Commande ordonnant au contrôleur de cesser d'exécuter un programme d'application.
T
tâche
Ensemble de sections et de sous-programmes, exécutés de façon cyclique ou périodique pour la
tâche MAST, ou périodique pour la tâche FAST.
Une tâche présente un niveau de priorité et des entrées et sorties du contrôleur lui sont associées.
Ces E/S sont actualisées par rapport à la tâche.
Un contrôleur peut comporter plusieurs tâches.
V
variable
Unité de mémoire qui est adressée et modifiée par un programme.
variable localisée
Voir variable non localisée
variable non localisée
Variable qui n'a pas d'adresse (voir variable localisée).
X
XBT
Tout panneau graphique Magelis XBT.
62
EIO0000000627 11/2015
Magelis XBTGC, XBTGT, XBTGK HMI Controller
Index
EIO0000000627 11/2015
Index
F
fonctions
différences entre une fonction et un bloc
fonction, 48
HMI_GetRightBusStatus, 27
HMI_IsFirstMastColdCycle, 31
Fonctions
HMI_IsFirstMastCycle, 32
HMI_IsFirstMastWarmCycle, 34
fonctions
utilisation d'une fonction ou d'un bloc
fonction en langage IL, 49
utilisation d'une fonction ou d'un bloc
fonction en langage ST, 53
H
HMI_GetRightBusStatus
fonctions, 27
HMI_IsFirstMastColdCycle
fonctions, 31
HMI_IsFirstMastCycle
Fonctions, 32
HMI_IsFirstMastWarmCycle
Fonctions, 34
P
PLC_R
variable système, 18
PLC_R_APPLICATION_ERROR
types de données, 37
PLC_R_BOOT_PROJECT_STATUS
types de données, 39
PLC_R_IO_STATUS
types de données, 36
PLC_R_STATUS
types de données, 40
PLC_R_STOP_CAUSE
types de données, 41
EIO0000000627 11/2015
PLC_W
variable système, 20
PLC_W_COMMAND
types de données, 43
R
RIGHTBUS_GET_STATUS
types de données, 44
S
SERIAL_R
variable système, 22
SERIAL_W
variable système, 23
T
type de données
PLC_R_STOP_CAUSE, 41
types de données
PLC_R_APPLICATION_ERROR, 37
PLC_R_BOOT_PROJECT_STATUS, 39
PLC_R_IO_STATUS, 36
PLC_R_STATUS, 40
PLC_W_COMMAND, 43
RIGHTBUS_GET_STATUS, 44
V
variable système
PLC_R, 18
PLC_W, 20
SERIAL_R, 22
SERIAL_W, 23
Variables système
Définition, 13
Utilisation, 15
63
Index
64
EIO0000000627 11/2015

Manuels associés