Schneider Electric Magelis SCU - HMI Controller Mode d'emploi

Ajouter à Mes manuels
68 Des pages
Schneider Electric Magelis SCU - HMI Controller Mode d'emploi | Fixfr
Magelis SCU
EIO0000001247 12/2016
Magelis SCU
HMI Controller
Guide de la bibliothèque PLCSystem
EIO0000001247.03
12/2016
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.
© 2016 Schneider Electric. Tous droits réservés.
2
EIO0000001247 12/2016
Table des matières
Consignes de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . .
A propos de ce manuel. . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 1 Variables système du contrôleur HMI SCU . . . . . . . . . .
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 : Variables en lecture/écriture du contrôleur . . . . . . . . . . . . . .
1.3 Structures SERIAL_W . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SERIAL_W[0] : Variables système en lecture/écriture de ligne série .
Chapitre 2 Fonctions système de HMI SCU . . . . . . . . . . . . . . . . . .
2.1 Fonctions de lecture du HMI SCU . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GetBatteryLevel : Renvoie le niveau de charge de la batterie . . .
GetLocalAIOStatus : Renvoie l'état des E/S analogiques intégrées
GetLocalIOStatus : Renvoie l'état des E/S intégrées . . . . . . . . . .
GetShortCutStatus : Renvoie l'état de court-circuit sur les sorties
intégrées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GetTempStatus : Renvoie l'état des entrées de température. . . . . .
IsFirstMastColdCycle : Indique si le cycle est le premier cycle de
MAST après démarrage à froid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IsFirstMastCycle : Indique si le cycle est le premier cycle MAST
IsFirstMastWarmCycle : Indique si le cycle est le premier cycle
MAST après un démarrage à chaud . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 3 Types de données de la bibliothèque PLCSystem du HMI
SCU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1 Types de données des variables système PLC_R/W . . . . . . . . . . . . .
PLC_R_APPLICATION_ERROR : Codes d'état des erreurs de
l'application détectées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PLC_R_BOOT_PROJECT_STATUS : Codes d'état du projet de
démarrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PLC_R_IO_STATUS : Codes d'état d'E/S . . . . . . . . . . . . . . . . . . . . . .
PLC_R_STATUS : codes d'état du contrôleur . . . . . . . . . . . . . . . . . . .
PLC_R_STOP_CAUSE : Codes des causes de passage de l'état RUN
à un autre état . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PLC_W_COMMAND : codes de commande de contrôle . . . . . . . . . .
EIO0000001247 12/2016
5
7
13
14
15
17
19
20
22
23
23
25
26
27
28
29
31
32
33
34
35
37
38
39
40
41
42
43
44
3
3.2 Types de données des fonctions système . . . . . . . . . . . . . . . . . . . . . .
FIRMWARE_VERSION : type de sortie de la fonction
GetFirmwareVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BOOT_PROJECT_STATUS : Codes de sortie de la fonction
GetBootProjectStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
STOP_WHY : Codes de sortie de la fonction GetLastStopCause . .
LOCAL_IO_GET_STATUS : codes de paramètre de la fonction
GetLocalIOStatus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LOCAL_IO_GEN_STATUS : GetLocalIOStatus Codes de sortie de
fonction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Annexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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
45
46
47
48
49
50
51
53
54
55
59
63
67
EIO0000001247 12/2016
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.
EIO0000001247 12/2016
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
EIO0000001247 12/2016
A propos de ce manuel
Présentation
Objectif du document
Ce document présente les fonctions et variables système proposées par le contrôleur HMI SCU.
La bibliothèque PLCSystem du HMI SCU contient des fonctions et des variables permettant
d'obtenir des informations du système du contrôleur et d'y envoyer des commandes.
Ce document décrit les types de données, fonctions et variables de la bibliothèque PLCSystem du
HMI SCU.
Les connaissances de base requises sont les suivantes :
 connaissances de base sur les fonctionnalités, la structure et la configuration du contrôleur HMI
SCU
 programmation en langages FBD, LD, ST, IL ou CFC
 variables système (variables globales)
Champ d'application
Ce document a été actualisé pour le lancement de SoMachine V4.2.
Document(s) à consulter
Titre de documentation
Référence
Magelis SCU HMI Controller - Guide de programmation
EIO0000001240 (Eng),
EIO0000001241 (Fre),
EIO0000001242 (Ger),
EIO0000001243 (Spa),
EIO0000001244 (Ita),
EIO0000001245 (Chs)
Magelis SCU HMI Controller - Guide de la bibliothèque HSC
EIO0000001512 (eng),
EIO0000001513 (fre),
EIO0000001514 (ger),
EIO0000001515 (spa),
EIO0000001516 (ita),
EIO0000001517 (chs)
EIO0000001247 12/2016
7
Titre de documentation
Référence
Magelis SCU HMI Controller - Guide de la bibliothèque PTO/PWM
EIO0000001518 (eng),
EIO0000001519 (fre),
EIO0000001520 (ger),
EIO0000001521 (spa),
EIO0000001522 (ita),
EIO0000001523 (chs)
Guide de la bibliothèque PLCCommunication
EIO0000000361 (eng),
EIO0000000742 (fre),
EIO0000000743 (ger),
EIO0000000744 (spa),
EIO0000000745 (ita),
EIO0000000746 (chs)
Magelis SCU HMI Controller - Guide de référence du matériel
EIO0000001232 (eng),
EIO0000001233 (fre),
EIO0000001234 (ger),
EIO0000001235 (spa),
EIO0000001236 (ita),
EIO0000001237 (chs),
EIO0000001238 (por)
Vous pouvez télécharger ces publications et autres informations techniques depuis notre site web
à l'adresse : http://www.schneider-electric.com/ww/en/download
8
EIO0000001247 12/2016
Information spécifique au produit
AVERTISSEMENT
PERTE DE CONTROLE





Le concepteur d'un système de commande doit envisager les modes de défaillance possibles
des chemins de commande et, pour certaines fonctions de commande critiques, prévoir un
moyen d'atteindre un état sécurisé en cas de défaillance d'un chemin, et après cette
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 chemins de commande système peuvent inclure les liaisons de communication. 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.
EIO0000001247 12/2016
9
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 :
10
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
2014/30/EU
Directive sur la compatibilité électromagnétique
2014/35/EU
Directive sur les basses tensions
EIO0000001247 12/2016
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 utilisé dans le contexte de la description de dangers
spécifiques a la même signification que les termes zone dangereuse ou zone de danger employés
dans la directive Machines (2006/42/EC) 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.
EIO0000001247 12/2016
11
12
EIO0000001247 12/2016
Magelis SCU
Variables système du contrôleur HMI SCU
EIO0000001247 12/2016
Chapitre 1
Variables système du contrôleur HMI SCU
Variables système du contrôleur HMI SCU
Présentation
Ce chapitre :
fournit une introduction aux variables système (voir page 14) ;
 décrit les variables système (voir page 23) disponibles avec la bibliothèque PLCSystem du
contrôleur HMI SCU.

Contenu de ce chapitre
Ce chapitre contient les sous-chapitres suivants :
Sous-chapitre
Sujet
Page
1.1
Variables système : définition et utilisation
14
1.2
Structures PLC_R et PLC_W
19
1.3
Structures SERIAL_W
23
EIO0000001247 12/2016
13
Variables système du contrôleur HMI SCU
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 SCU
HMI Controller.
Contenu de ce sous-chapitre
Ce sous-chapitre contient les sujets suivants :
Sujet
14
Page
Présentation des variables système
15
Utilisation des variables système
17
EIO0000001247 12/2016
Variables système du contrôleur HMI SCU
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-3. Vous pouvez accéder aux variables système à l'aide du
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
ont une portée de niveau système et doivent être utilisées avec précaution car toutes les unités
organisationnelles de programme (POU) 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 la fonction 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é.
EIO0000001247 12/2016
15
Variables système du contrôleur HMI SCU
Emplacement des variables système
Les variables non localisées constituent l'un des types de variable système qui est défini pour
utilisation lors de la programmation du contrôleur.
Ces variables non localisées ne sont accessibles que via une ouverture de session ou le partage
du symbole dans Configuration des symboles.
16
EIO0000001247 12/2016
Variables système du contrôleur HMI SCU
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.
EIO0000001247 12/2016
17
Variables système du contrôleur HMI SCU
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;
18
EIO0000001247 12/2016
Variables système du contrôleur HMI SCU
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
20
PLC_W : Variables en lecture/écriture du contrôleur
22
EIO0000001247 12/2016
19
Variables système du contrôleur HMI SCU
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 la vue
Paramètres de communication (ID
cible = 101A XXXX hex).
i_dwSerialNumber
DWORD
Numéro de série du contrôleur
(renvoie les cinq derniers chiffres).
i_byFirmVersion[0..3]
ARRAY[0..3] OF BYTE
Version du micrologiciel du contrôleur
[aa.bb.cc.dd] :
 i_byFirmVersion[0] = aa
 ...
 i_byFirmVersion[3] = dd
i_byBootVersion[0..3]
ARRAY[0..3] OF BYTE
Version de démarrage du contrôleur
[aa.bb.cc.dd] :
 i_byBootVersion[0] = aa
 ...
 i_byBootVersion[3] = dd
i_dwHardVersion
DWORD
Version du matériel du contrôleur.
i_dwChipVersion
DWORD
Version du processeur du contrôleur.
PLC_R_STATUS
Etat du contrôleur.
PLC_R_BOOT_PROJECT_
STATUS (voir page 40)
Renvoie des informations sur le projet
de démarrage stocké dans la mémoire
Flash.
(voir page 43)
PLC_R_STOP_CAUSE
Cause du dernier passage du mode
d'exécution (RUN) à un autre état.
i_wLastApplicationError
PLC_R_APPLICATION_
ERROR (voir page 39)
Cause de la dernière exception du
contrôleur.
i_lwSystemFault_1
LWORD
Non utilisé. renvoie toujours
FFFF FFFF FFFF FFFF hex.
i_lwSystemFault_2
LWORD
Non utilisé.
i_wStatus
(voir page 42)
i_wBootProjectStatus
i_wLastStopCause
20
EIO0000001247 12/2016
Variables système du contrôleur HMI SCU
Nom de la variable
Type
Commentaire
i_wIOStatus1
PLC_R_IO_STATUS
Etat de l'E/S embarquée.
i_wIOStatus2
PLC_R_IO_STATUS
Réservé.
i_wBatteryStatus
WORD
Charge restante de la batterie.
Cette variable système peut renvoyer
les valeurs significatives suivantes :
 0064 hex = 100 % = 3 V
 0032 hex = 50 % = 2,5 V
 0000 hex = 0 % = 2 V
(voir page 41)
NOTE : L'écran d'affichage du
contrôleur IHM indique également que
le niveau de la batterie est faible à
partir de 50 %.
i_dwAppliSignature1
DWORD
Signature du premier des
quatre DWORD (16 octets au total).
La signature de l'application est créée
automatiquement 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
automatiquement 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
automatiquement par le logiciel
pendant la génération.
i_dwAppliSignature4
DWORD
Signature du quatrième des
quatre DWORD (16 octets au total).
Le logiciel crée la signature de
l'application automatiquement
pendant la génération.
EIO0000001247 12/2016
21
Variables système du contrôleur HMI SCU
PLC_W : Variables en lecture/écriture du contrôleur
Structure de la variable
Le tableau suivant décrit les paramètres de la variable système PLC_W (type PLC_W_STRUCT) :
Nom de la variable
Type
Commentaire
q_uiOpenPLCControl
UINT
Cette commande vous donne la possibilité
déclencher une commande STOP, RUN,
Reset froid ou Reset chaud.
q_wPLCControl
PLC_W_COMMAND
Cette variable contient la valeur qui
représente une commande pour un
changement d'état voulu par l'utilisateur. Les
commandes STOP, RUN, Reset froid et
Reset chaud du contrôleur sont énumérées
dans le type de données PLC_W_COMMAND.
Ce changement d'état voulu est déclenché
par le passage de la valeur de
PLC_W.q_uiOpenPLCControl de 0 à 6699.
(voir page 44)
22
EIO0000001247 12/2016
Variables système du contrôleur HMI SCU
Sous-chapitre 1.3
Structures SERIAL_W
Structures SERIAL_W
SERIAL_W[0] : Variables système en lecture/écriture de ligne série
Introduction
SERIAL_W est une variable système de type SERIAL_W_STRUCT. Un élément force les variables
système SERIAL_R pour la ligne série correspondante à réinitialiser.
Pour HMI SCU, Serial_W[0] fait référence à COM1.
Structure de la variable
Le tableau suivant décrit les paramètres de la variable système SERIAL_W[0] :
Nom de la variable
Type
Commentaire
q_wResetCounter
WORD
Le passage de 0 à 1 réinitialise tous les compteurs
SERIAL_R[0].
Pour réinitialiser à nouveau les compteurs, il est
nécessaire d'écrire 0 dans ce registre pour qu'une
autre transition de 0 à 1 puisse se produire.
NOTE : Un seul port de communication est défini pour le contrôleur HMI SCU.
EIO0000001247 12/2016
23
Variables système du contrôleur HMI SCU
24
EIO0000001247 12/2016
Magelis SCU
Fonctions système de HMI SCU,
EIO0000001247 12/2016
Chapitre 2
Fonctions système de HMI SCU
Fonctions système de HMI SCU
EIO0000001247 12/2016
25
Fonctions système de HMI SCU,
Sous-chapitre 2.1
Fonctions de lecture du HMI SCU
Fonctions de lecture du HMI SCU
Présentation
Cette section décrit les fonctions de lecture incluses dans la bibliothèque PLCSystem du HMI SCU.
Contenu de ce sous-chapitre
Ce sous-chapitre contient les sujets suivants :
Sujet
Page
GetBatteryLevel : Renvoie le niveau de charge de la batterie
27
GetLocalAIOStatus : Renvoie l'état des E/S analogiques intégrées
28
GetLocalIOStatus : Renvoie l'état des E/S intégrées
29
GetShortCutStatus : Renvoie l'état de court-circuit sur les sorties intégrées
31
GetTempStatus : Renvoie l'état des entrées de température
32
IsFirstMastColdCycle : Indique si le cycle est le premier cycle de MAST après démarrage
33
à froid
IsFirstMastCycle : Indique si le cycle est le premier cycle MAST
34
IsFirstMastWarmCycle : Indique si le cycle est le premier cycle MAST après un démarrage
35
à chaud
26
EIO0000001247 12/2016
Fonctions système de HMI SCU,
GetBatteryLevel : Renvoie le niveau de charge de la batterie
Description de la fonction
Cette fonction renvoie la charge électrique restante de la pile de sauvegarde externe (en
pourcentage).
Pour plus d'informations sur les piles internes et externes, reportez-vous au Guide de référence
du matériel duHMI SCU (voir Magelis SCU, HMI Controller, Guide de référence du matériel).
NOTE : Vous pouvez également obtenir ces informations au moyen de la variable système
PLC_R.i_wBatteryStatus (voir page 20).
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ésen-
tation des fonctions et blocs fonction (voir page 53).
Description des variables d'E/S
Ce tableau décrit la variable de sortie :
Sortie
Type
Commentaire
GetBatteryLevel
WORD
Pourcentage de charge restant dans la pile.
Plage : 0...100 :
 100 % = 3 V
 50 % = 2,5 V
 0%=2V
NOTE : Un message signalant un niveau de
batterie faible s'affiche sur le contrôleur si la
tension est ≤ 2,5 Volts.
EIO0000001247 12/2016
27
Fonctions système de HMI SCU,
GetLocalAIOStatus : Renvoie l'état des E/S analogiques intégrées
Description de la fonction
Cette fonction renvoie l'état des entrées et sorties locales.
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ésen-
tation des fonctions et blocs fonction (voir page 53).
Description des variables d'E/S
Ce tableau décrit la variable de sortie :
28
Bit
Description
0
Entrée analogique 0 avec erreur de configuration détectée.
1
Entrée analogique 0 avec courant hors plage.
2
Entrée analogique 0 avec données non valides.
3
Entrée analogique 0 avec rupture de fil (disponible uniquement
pour la plage d'entrée 4--20 mA).
4
Entrée analogique 1 avec erreur de configuration détectée.
5
Entrée analogique 1 avec courant hors plage.
6
Entrée analogique 1 avec données non valides.
7
Entrée analogique 1 avec rupture de fil (disponible uniquement
pour la plage d'entrée 4--20 mA).
8
Sortie analogique 0 avec erreur de configuration détectée.
9
Sortie analogique 0 avec tension ou courant hors plage.
10
Sortie analogique 0 avec données non valides.
11
Sortie analogique 0 avec erreur détectée.
12
Sortie analogique 1 avec erreur de configuration détectée.
13
Sortie analogique 1 avec tension ou courant hors plage.
14
Sortie analogique 1 avec données non valides.
15
Sortie analogique 1 avec erreur détectée.
EIO0000001247 12/2016
Fonctions système de HMI SCU,
GetLocalIOStatus : Renvoie l'état des E/S intégrées
Description de la fonction
Cette fonction renvoie l'état des E/S intégrées.
NOTE : Vous pouvez également obtenir ces informations au moyen de la variable système
PLC_R.i_wLocalIOStatus (voir page 20).
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ésen-
tation des fonctions et blocs fonction (voir page 53).
Description des variables d'E/S
Ce tableau décrit le paramètre d'entrée :
Entrée
Type
Commentaire
Mode
LOCAL_IO_GET_STATUS
Paramètre de la fonction : seul
LOCAL_IO_GET_GEN_STATUS
(00 hex) (voir page 49) est
disponible actuellement.
(voir page 49)
Ce tableau décrit la variable de sortie :
Sortie
GetLocalIOStatus
Type
Commentaire
LOCAL_IO_GEN_STATUS
Etat des E/S intégrées.
(voir page 50)
Exemple 1
Cet exemple illustre une utilisation directe de l'énumérateur LOCAL_IO_GET_GEN_STATUS
associé au type d'énumération LOCAL_IO_GET_STATUS pour le paramètre d'entrée Mode :
VAR
MyLocalIOStatus : LOCAL_IO_GEN_STATUS;
END_VAR
MyLocalIOStatus := GetLocalIOStatus(LOCAL_IO_GET_GEN_STATUS);
EIO0000001247 12/2016
29
Fonctions système de HMI SCU,
Exemple 2
Cet exemple illustre l'utilisation d'une variable intermédiaire pour le paramètre d'entrée Mode.
VAR
MyLocalIOStatus : LOCAL_IO_GEN_STATUS;
MyMode : LOCAL_IO_GET_STATUS;
END_VAR
MyMode := LOCAL_IO_GET_GEN_STATUS;
MyLocalIOStatus := GetLocalIOStatus(MyMode);
30
EIO0000001247 12/2016
Fonctions système de HMI SCU,
GetShortCutStatus : Renvoie l'état de court-circuit sur les sorties intégrées
Description de la fonction
Cette fonction renvoie le diagnostic de court-circuit ou de surcharge sur les sorties intégrées.
NOTE : Pour plus d'informations sur la gestion des sorties intégrées, consultez le Guide de
référence du matériel HMI SCU (voir Magelis SCU, HMI Controller, Guide de référence du
matériel).
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ésen-
tation des fonctions et blocs fonction (voir page 53).
Description des variables d'E/S
Ce tableau décrit la variable de sortie :
Paramètre
Type
Commentaire
GetShortCutStatus
WORD
Voir la description du champ de bits ciaprès.
Ce tableau décrit le champ de bits pour le contrôleur :
Bit
Description
0
TRUE = court-circuit sur les sorties (Q0 et Q1).
EIO0000001247 12/2016
31
Fonctions système de HMI SCU,
GetTempStatus : Renvoie l'état des entrées de température
Description de la fonction
Cette fonction renvoie l'état des entrées de température.
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ésen-
tation des fonctions et blocs fonction (voir page 53).
Description des variables d'E/S
Paramètre
Type
Commentaire
GetTempStatus
WORD
Voir la description du champ de bits
ci-après.
Le tableau suivant décrit la variable d'entrée :
32
Bit
Commentaire
0
Entrée de température 0 avec erreur de configuration détectée.
1
Entrée de température 1 avec erreur de configuration détectée.
2
Entrée de température 0 avec erreur de dépassement de plage
détectée.
3
Entrée de température 1 avec erreur de dépassement de plage
détectée.
4
Entrée de température 0 avec données non valides.
5
Entrée de température 1 avec données non valides.
6
Entrée de température 0 avec rupture de fil détectée.
7
Entrée de température 1 avec rupture de fil détectée.
8...15
Réservés.
EIO0000001247 12/2016
Fonctions système de HMI SCU,
IsFirstMastColdCycle : Indique si le cycle est le premier cycle de MAST après
démarrage à froid
Description de la fonction
Cette fonction renvoie TRUE au cours du premier 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 53).
Description des variables d'E/S
Ce tableau décrit la variable de sortie :
Sortie
Type
Commentaire
IsFirstMastColdCycle
BOOL
TRUE au cours du premier cycle de la tâche
MAST après un démarrage à froid.
EIO0000001247 12/2016
33
Fonctions système de HMI SCU,
IsFirstMastCycle : Indique si le cycle est le premier cycle MAST
Description de la fonction
Cette fonction renvoie TRUE lors du premier 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ésen-
tation des fonctions et blocs fonction (voir page 53).
Description des variables d'E/S
34
Sortie
Type
Commentaire
IsFirstMastCycle
BOOL
TRUE lors du premier cycle de la tâche
MAST après un démarrage.
EIO0000001247 12/2016
Fonctions système de HMI SCU,
IsFirstMastWarmCycle : Indique si le cycle est le premier cycle MAST après un
démarrage à chaud
Description de la fonction
Cette fonction renvoie TRUE lors du premier 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ésen-
tation des fonctions et blocs fonction (voir page 53).
Description des variables d'E/S
Ce tableau décrit la variable de sortie :
Sortie
Type
Commentaire
IsFirstMastWarmCycle
BOOL
TRUE au cours du premier cycle de la tâche
MAST après un démarrage à chaud.
EIO0000001247 12/2016
35
Fonctions système de HMI SCU,
36
EIO0000001247 12/2016
Magelis SCU
Types de données de la bibliothèque PLCSystem du HMI SCU
EIO0000001247 12/2016
Chapitre 3
Types de données de la bibliothèque PLCSystem du HMI SCU
Types de données de la bibliothèque PLCSystem du HMI SCU
Présentation
Ce chapitre décrit les types de données de la bibliothèque PLCSystem du HMI SCU.
Deux 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 20)
de la bibliothèque PLCSystem HMI SCU (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 la bibliothèque PLCSystem HMI SCU.

Contenu de ce chapitre
Ce chapitre contient les sous-chapitres suivants :
Sous-chapitre
Sujet
Page
3.1
Types de données des variables système PLC_R/W
38
3.2
Types de données des fonctions système
45
EIO0000001247 12/2016
37
Types de données de la bibliothèque PLCSystem du HMI SCU
Sous-chapitre 3.1
Types de données des variables système PLC_R/W
Types de données des variables système PLC_R/W
Présentation
Cette section répertorie et décrit les types de données de variable système, inclus dans les
structures PLC_R et PLC_W.
Contenu de ce sous-chapitre
Ce sous-chapitre contient les sujets suivants :
Sujet
38
Page
PLC_R_APPLICATION_ERROR : Codes d'état des erreurs de l'application détectées
39
PLC_R_BOOT_PROJECT_STATUS : Codes d'état du projet de démarrage
40
PLC_R_IO_STATUS : Codes d'état d'E/S
41
PLC_R_STATUS : codes d'état du contrôleur
42
PLC_R_STOP_CAUSE : Codes des causes de passage de l'état RUN à un autre état
43
PLC_W_COMMAND : codes de commande de contrôle
44
EIO0000001247 12/2016
Types de données de la bibliothèque PLCSystem du HMI SCU
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
PLC_R_APP_ERR_UNKNOWN
FFFF hex
Erreur non définie.
PLC_R_APP_ERR_NOEXCEPTION
0000 hex
Aucune erreur détectée.
PLC_R_APP_ERR_WATCHDOG
0010 hex
L'horloge de surveillance de l'application
est arrivée à expiration.
PLC_R_APP_ERR_HARDWAREWATCHDOG
0011 hex
L'horloge de surveillance matérielle est
arrivée à expiration.
PLC_R_APP_ERR_IO_CONFIG_ERROR
0012 hex
Paramètres de configuration d'E/S
incorrects détectés.
PLC_R_APP_ERR_UNRESOLVED_EXTREFS
0018 hex
Fonctions indéfinies détectées.
PLC_R_APP_ERR_IEC_TASK_CONFIG_ERROR
0025 hex
Paramètres de configuration de tâche
incorrects détectés.
PLC_R_APP_ERR_ILLEGAL_INSTRUCTION
0050 hex
Instruction indéfinie détectée.
PLC_R_APP_ERR_ACCESS_VIOLATION
0051 hex
Tentative d'accès à la zone mémoire
réservée.
PLC_R_APP_ERR_DIVIDE_BY_ZERO
0102 hex
Division d'un entier par 0 détectée.
PLC_R_APP_ERR_DIVIDE_REAL_BY_ZERO
0152 hex
Division d'un réel par 0 détectée.
EIO0000001247 12/2016
39
Types de données de la bibliothèque PLCSystem du HMI SCU
PLC_R_BOOT_PROJECT_STATUS : Codes d'état du 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
Non utilisé
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 en mémoire Flash
est différent de celui chargé dans la RAM
ou le projet de démarrage n'existe pas.
PLC_R_VALID_BOOT_PROJECT
FFFF hex
Le projet de démarrage en mémoire Flash
est identique au projet chargé dans la RAM.
40
EIO0000001247 12/2016
Types de données de la bibliothèque PLCSystem du HMI SCU
PLC_R_IO_STATUS : Codes d'état d'E/S
Description du type énumération
Le type de données énumération PLC_R_IO_STATUS contient les valeurs suivantes :
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 d'E/S
incorrects détectés.
PLC_R_IO_SHORTCUT_FAULT
0003 hex
Court-circuit des entrées/sorties
détecté.
RESERVE
0004 hex
Non utilisé
PLC_R_IO_COM_LOST
0005 hex
Erreur de communication avec le
processeur détectée.
Les E/S intégrées ne sont pas mises
à jour.
EIO0000001247 12/2016
41
Types de données de la bibliothèque PLCSystem du HMI SCU
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 :
42
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.
EIO0000001247 12/2016
Types de données de la bibliothèque PLCSystem du HMI SCU
PLC_R_STOP_CAUSE : Codes des causes de 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
Commentaire
PLC_R_STOP_REASON_UNKNOWN
00 hex
La valeur initiale ou la cause de l'arrêt ne sont pas définies.
PLC_R_STOP_REASON_HW_WATCHDOG
01 hex
Arrêt après expiration de l'horloge de surveillance matérielle
(matériel système ou tâche logicielle).
PLC_R_STOP_REASON_RESET
02 hex
Arrêté suite à une réinitialisation.
PLC_R_STOP_REASON_EXCEPTION
03 hex
Arrêté suite à une exception.
PLC_R_STOP_REASON_USER
04 hex
Arrêté suite à une requête de l'utilisateur.
PLC_R_STOP_REASON_IECPROGRAM
05 hex
Arrêté suite à une requête de commande de programme.
PLC_R_STOP_REASON_DELETE
06 hex
Arrêté suite à une commande de suppression d'application.
PLC_R_STOP_REASON_DEBUGGING
07 hex
Arrêté suite au passage en mode de débogage.
PLC_R_STOP_FROM_NETWORK_REQUEST
0A hex
Arrêté suite à une requête du réseau
(PLC_W.q_wPLCControl:=PLC_W_COMMAND.PLC_W_
STOP;).
PLC_R_STOP_FROM_INPUT
0B hex
Arrêt requis par une entrée du contrôleur.
Pour plus d'informations sur les raisons de l'arrêt du contrôleur, consultez la section Description
des états de contrôleur (voir Magelis SCU, HMI Controller, Guide de programmation).
EIO0000001247 12/2016
43
Types de données de la bibliothèque PLCSystem du HMI SCU
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 :
44
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.
EIO0000001247 12/2016
Types de données de la bibliothèque PLCSystem du HMI SCU
Sous-chapitre 3.2
Types de données des fonctions système
Types de données des fonctions système
Présentation
Cette section décrit les différents types de données des fonctions système de la bibliothèque
PLCSystem de HMI SCU.
Contenu de ce sous-chapitre
Ce sous-chapitre contient les sujets suivants :
Sujet
Page
FIRMWARE_VERSION : type de sortie de la fonction GetFirmwareVersion
46
BOOT_PROJECT_STATUS : Codes de sortie de la fonction GetBootProjectStatus
47
STOP_WHY : Codes de sortie de la fonction GetLastStopCause
48
LOCAL_IO_GET_STATUS : codes de paramètre de la fonction GetLocalIOStatus
49
LOCAL_IO_GEN_STATUS : GetLocalIOStatus Codes de sortie de fonction
50
EIO0000001247 12/2016
45
Types de données de la bibliothèque PLCSystem du HMI SCU
FIRMWARE_VERSION : type de sortie de la fonction GetFirmwareVersion
Description de la structure
La structure de données contient les variables suivantes :
Variable
46
Type
Description
FwVersion
DWORD
Contient la version du micrologiciel (par exemple, 2.0.20.4 = 02001404 hex).
BootVersion
WORD
Contient la version du boot (par exemple, 1.4 = 0104 hex).
AsicVersion
WORD
Contient la version du coprocesseur.
EIO0000001247 12/2016
Types de données de la bibliothèque PLCSystem du HMI SCU
BOOT_PROJECT_STATUS : Codes de sortie de la fonction
GetBootProjectStatus
Description du type énumération
Le type de données énumération contient les valeurs suivantes :
Enumérateur
Valeur
Description
NO_BOOT_PROJECT
0000 hex
Non utilisé.
BOOT_PROJECT_CREATION_
IN_PROGRESS
0001 hex
Le projet de démarrage est en cours de
création.
DIFFERENT_BOOT_PROJECT
0002 hex
Le projet de démarrage en mémoire Flash
est différent du projet chargé dans la RAM ou
il n'existe pas de projet de démarrage.
VALID_BOOT_PROJECT
FFFF hex
Le projet de démarrage en mémoire Flash
est identique au projet chargé dans la RAM.
EIO0000001247 12/2016
47
Types de données de la bibliothèque PLCSystem du HMI SCU
STOP_WHY : Codes de sortie de la fonction GetLastStopCause
Description du type énumération
Le type de données énumération contient l'état avec les valeurs suivantes :
Enumérateur
Valeur
Description
STOP_REASON_UNKNOWN
00 hex
La valeur initiale ou la cause de l'arrêt ne sont pas
définies.
STOP_REASON_HW_WATCHDOG
01 hex
Arrêté suite au timeout de l'horloge de surveillance
logicielle.
STOP_REASON_RESET
02 hex
Arrêté suite à une réinitialisation.
STOP_REASON_EXCEPTION
03 hex
Arrêté suite à une exception.
STOP_REASON_USER
04 hex
Arrêté suite à une requête de l'utilisateur.
STOP_REASON_IECPROGRAM
05 hex
Arrêté suite à une requête de commande de programme
(par exemple, commande de contrôle avec paramètre
PLC_W.q_wPLCControl:=
PLC_W_COMMAND.PLC_W_STOP;).
STOP_REASON_DELETE
06 hex
Arrêté suite à une commande de suppression
d'application.
STOP_REASON_DEBUGGING
07 hex
Arrêté suite au passage en mode de débogage.
STOP_FROM_NETWORK_REQUEST
0A hex
Arrêté suite à une requête du réseau (commande
PLC_W).
STOP_FROM_INPUT
0B hex
Arrêt requis par une entrée du contrôleur.
48
EIO0000001247 12/2016
Types de données de la bibliothèque PLCSystem du HMI SCU
LOCAL_IO_GET_STATUS : codes de paramètre de la fonction GetLocalIOStatus
Description du type énuméré
Le type de données énuméré LOCAL_IO_GET_STATUS contient la valeur suivante :
Enumérateur
Valeur
Description
LOCAL_IO_GET_GEN_STATUS
00 hex
Valeur utilisée pour demander l'état
général des E/S intégrées.
EIO0000001247 12/2016
49
Types de données de la bibliothèque PLCSystem du HMI SCU
LOCAL_IO_GEN_STATUS : GetLocalIOStatus Codes de sortie de fonction
Description du type énumération
Le type de données énumération LOCAL_IO_GEN_STATUS contient l'état des E/S locales avec les
valeurs suivantes :
50
Enumérateur
Valeur
Description
LOCAL_IO_OK
Hex 00
Les entrées/sorties sont opérationnelles.
LOCAL_IO_NO_INIT
Hex 01
Paramètres de configuration E/S erronés
détectés.
LOCAL_IO_COM_LOST
Hex 02
Erreur de communication avec le
coprocesseur.
Les E/S intégrées ne sont pas mises à jour.
LOCAL_IO_CONF_FAULT
Hex 03
Paramètres de configuration E/S erronés
détectés.
EIO0000001247 12/2016
Magelis SCU
EIO0000001247 12/2016
Annexes
EIO0000001247 12/2016
51
52
EIO0000001247 12/2016
Magelis SCU
Représentation des fonctions et blocs fonction
EIO0000001247 12/2016
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
54
Utilisation d'une fonction ou d'un bloc fonction en langage IL
55
Utilisation d'une fonction ou d'un bloc fonction en langage ST
59
EIO0000001247 12/2016
53
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 :
54
EIO0000001247 12/2016
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.
EIO0000001247 12/2016
55
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
56
EIO0000001247 12/2016
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, reportezvous à 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.
EIO0000001247 12/2016
57
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
58
EIO0000001247 12/2016
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);
EIO0000001247 12/2016
59
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
60
EIO0000001247 12/2016
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
EIO0000001247 12/2016
61
Représentation des fonctions et blocs fonction
62
EIO0000001247 12/2016
Magelis SCU
Glossaire
EIO0000001247 12/2016
Glossaire
A
application
Programme comprenant des données de configuration, des symboles et de la documentation.
B
bus d'extension
Bus de communication électronique entre des modules d'E/S d'extension et un contrôleur.
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.
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.
E
E/S
Entrée/sortie
EIO0000001247 12/2016
63
Glossaire
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.
firmware
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 firmware est stocké dans la mémoire non
volatile du contrôleur.
G
GVL
Acronyme de Global Variable List, liste de variables globales. Permet de gérer les variables
globales d'un projet SoMachine.
I
IL
INT
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).
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
64
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).
EIO0000001247 12/2016
Glossaire
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.
O
octet
Type codé sur 8 bits, de 00 à FF au format hexadécimal.
P
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 de commande
Réseau incluant des contrôleurs logiques, des systèmes SCADA, des PC, des IHM, des
commutateurs, etc.
Deux types de topologies sont pris en charge :
à plat : tous les modules et équipements du réseau appartiennent au même sous-réseau.
 à 2 niveaux : le réseau est divisé en un réseau d'exploitation et un réseau intercontrôleurs.

Ces deux réseaux peuvent être indépendants physiquement, mais ils sont généralement liés par
un équipement de routage.
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.
EIO0000001247 12/2016
65
Glossaire
V
variable
Unité de mémoire qui est adressée et modifiée par un programme.
66
EIO0000001247 12/2016
Magelis SCU
Index
EIO0000001247 12/2016
Index
B
BOOT_PROJECT_STATUS
types de données, 47
F
FIRMWARE_VERSION
types de données, 46
fonctions
différences entre une fonction et un bloc
fonction, 54
GetBatteryLevel, 27
GetLocalIOStatus, 29
GetRunStopSwitch, 28
GetShortCutStatus, 31
IsFirstMastColdCycle, 33
IsFirstMastCycle, 34
IsFirstMastWarmCycle, 35
utilisation d'une fonction ou d'un bloc
fonction en langage IL, 55
utilisation d'une fonction ou d'un bloc
fonction en langage ST, 59
G
GetBatteryLevel
fonctions, 27
GetLocalIOStatus
fonctions, 29
GetRunStopSwitch
fonctions, 28
GetShortCutStatus
fonctions, 31
I
IsFirstMastWarmCycle
fonctions, 35
L
LOCAL_IO_GEN_STATUS
types de données, 50
LOCAL_IO_GET_STATUS
types de données, 49
P
PLC_R
variable système, 20
PLC_R_APPLICATION_ERROR
types de données, 39
PLC_R_BOOT_PROJECT_STATUS
types de données, 40
PLC_R_IO_STATUS
types de données, 41
PLC_R_STATUS
types de données, 42
PLC_R_STOP_CAUSE
types de données, 43
PLC_W
variable système, 22
PLC_W_COMMAND
types de données, 44
S
SERIAL_W
variable système, 23
STOP_WHY
types de données, 48
IsFirstMastColdCycle
fonctions, 33
IsFirstMastCycle
fonctions, 34
EIO0000001247 12/2016
67
Index
T
types de données
BOOT_PROJECT_STATUS, 47
FIRMWARE_VERSION, 46
LOCAL_IO_GEN_STATUS, 50
LOCAL_IO_GET_STATUS, 49
PLC_R_APPLICATION_ERROR, 39
PLC_R_BOOT_PROJECT_STATUS, 40
PLC_R_IO_STATUS, 41
PLC_R_STATUS, 42
PLC_R_STOP_CAUSE, 43
PLC_W_COMMAND, 44
STOP_WHY, 48
V
Variable système
PLC_R, 20
variable système
PLC_W, 22
SERIAL_W, 23
variables système
définition, 15
Variables système
Utilisation, 17
68
EIO0000001247 12/2016

Manuels associés