Schneider Electric Modicon LMC058 Motion Controller - Fonctions et variables système Mode d'emploi

Ajouter à Mes manuels
116 Des pages
Schneider Electric Modicon LMC058 Motion Controller - Fonctions et variables système Mode d'emploi | Fixfr
Modicon LMC058 Motion Controller
EIO0000004172 09/2020
Modicon LMC058 Motion
Controller
Fonctions et variables système
Guide de la bibliothèque LMC058
PLCSystem
EIO0000004172.00
09/2020
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.
Vous acceptez de ne pas reproduire, excepté pour votre propre usage à titre non commercial, tout
ou partie de ce document et sur quelque support que ce soit sans l'accord écrit de Schneider
Electric. Vous acceptez également de ne pas créer de liens hypertextes vers ce document ou son
contenu. Schneider Electric ne concède aucun droit ni licence pour l'utilisation personnelle et non
commerciale du document ou de son contenu, sinon une licence non exclusive pour une
consultation « en l'état », à vos propres risques. Tous les autres droits sont réservés.
Toutes les réglementations locales, régionales et nationales pertinentes doivent être respecté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.
© 2020 Schneider Electric. Tous droits réservés.
2
EIO0000004172 09/2020
Table des matières
Consignes de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . .
A propos de ce manuel. . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 1 Variables système du contrôleur LMC058 . . . . . . . . . . .
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 du contrôleur . . . . . . . . .
PLC_W : Variables en lecture/écriture du contrôleur . . . . . . . . . . . . . .
1.3 Structures SERIAL_R et SERIAL_W . . . . . . . . . . . . . . . . . . . . . . . . . .
SERIAL_R[0...2] : variables système en lecture seule de ligne série
SERIAL_W[0...2] : variables système en lecture/écriture de ligne
série. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4 Structures ETH_R et ETH_W . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ETH_R : variables système en lecture seule du port Ethernet . . . . . .
ETH_W : variables système en lecture/écriture du port Ethernet . . . . .
1.5 Structure TM5_MODULE_R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TM5_MODULE_R[1..254] : variables système en lecture seule des
modules TM5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.6 Type de données des variables système PROFIBUS_R . . . . . . . . . .
PROFIBUS_R : variable système de diagnostic Profibus . . . . . . . . . .
Chapitre 2 Fonctions système de LMC058 . . . . . . . . . . . . . . . . . . .
2.1 Fonctions de lecture de LMC058. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DM72FGetImmediateInput : lecture d'entrée d'une E/S experte
intégrée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
getTM5Delay : nombre de cycles du bus TM5 sans échange valide .
IsFirstMastColdCycle : indique si ce cycle est le premier cycle de
démarrage à froid de la tâche MAST. . . . . . . . . . . . . . . . . . . . . . . . . .
IsFirstMastCycle : indique si ce cycle est le premier cycle de la
tâche MAST. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IsFirstMastWarmCycle : indique si ce cycle est le premier cycle de
démarrage à chaud de la tâche MAST . . . . . . . . . . . . . . . . . . . . . . . .
EIO0000004172 09/2020
7
9
13
14
15
17
19
20
25
26
27
28
29
30
34
35
35
36
36
37
38
39
40
42
43
45
3
2.2 Fonctions d'écriture de l'automate LMC058. . . . . . . . . . . . . . . . . . . . .
DM72F•SetImmediateOutput• : écriture de sortie d'une E/S experte
intégrée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SetLEDBehaviour : détermine le fonctionnement d'un voyant . . . . . . .
SetRTCDrift : réglage l'horodateur chaque semaine . . . . . . . . . . . .
2.3 Fonctions utilisateur de LMC058 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FB_ControlClone : Cloner le contrôleur . . . . . . . . . . . . . . . . . . . . .
DataFileCopy : Commandes de copie de fichier . . . . . . . . . . . . . . .
ExecuteScript : Exécution de commandes de script . . . . . . . . . . .
Chapitre 3 Types de données de la bibliothèque PLCSystem de
LMC058 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1 Types de données de la variable système PLC_RW . . . . . . . . . . . . . .
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_IO_STATUS : codes d'état d'E/S . . . . . . . . . . . . . . . . . . . . . .
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_R_TERMINAL_PORT_STATUS : codes d'état de la connexion
du port de programmation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PLC_R_USB_HOST_STATUS : Codes des états de la connexion du
port d'hôte USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PLC_W_COMMAND : codes de commande de contrôle . . . . . . . . . . .
3.2 Types de données des variables système DataFileCopy . . . . . . . . . .
DataFileCopyError : codes d'erreurs détectées . . . . . . . . . . . . . . . . . .
3.3 Types de données des variables système ExecScript. . . . . . . . . . . . .
ExecuteScriptError : codes d'erreurs détectées. . . . . . . . . . . . . . . . . .
3.4 Types de données de la variable système ETH_RW. . . . . . . . . . . . . .
ETH_R_IP_MODE : codes sources d'adresse IP. . . . . . . . . . . . . . . . .
ETH_R_FRAME_PROTOCOL : codes de protocole de transmission
de trames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ETH_R_PORT_DUPLEX_STATUS : codes du mode de transmission
4
46
47
49
51
53
54
55
58
61
62
63
65
66
67
68
70
71
72
73
73
74
74
75
76
77
78
EIO0000004172 09/2020
ETH_R_PORT_LINK_STATUSETH_R_PORT_LINK_STATUS : codes
d'état de la liaison de communication . . . . . . . . . . . . . . . . . . . . . . . . .
ETH_R_PORT_SPEED : codes de la vitesse de communication des
ports Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ETH_R_PORT_IP_STATUSETH_R_PORT_IP_STATUS : codes d'état
du port TCP/IP Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ETH_R_RUN_IDLEETH_R_RUN_IDLE : codes d'état fonctionnement
et attente Ethernet/IP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5 Types de données des variables système TM5_MODULE_R/W . . . .
TM5_MODULE_STATE : Codes des états du module d'extension TM5
3.6 Types de données des fonctions système . . . . . . . . . . . . . . . . . . . . .
LED_ID : codes du paramètre LedId de la fonction SetLEDBehaviour
LED_BHV : Codes des paramètres LedBhv de la fonction
SetLEDBehaviour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LED_BHV_ERROR : codes des erreurs détectées de la fonction
SetLEDBehaviour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MINUTE : codes du paramètre LedColor de la fonction
SetLEDBehaviour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RTCSETDRIFT_ERROR : codes des erreurs détectées pour la
fonction SetRTCDrift . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DAY_OF_WEEK : codes des paramètres de la fonction jour de
SetRTCDrift . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
HOUR : type du paramètre d'heure de la fonction SetRTCDrift . . .
MINUTE : type de paramètre de la fonction minute de SetRTCDrift
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
EIO0000004172 09/2020
.........................................
.........................................
79
80
81
82
83
83
84
85
86
87
88
89
90
91
92
93
95
96
97
101
105
113
5
6
EIO0000004172 09/2020
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.
EIO0000004172 09/2020
7
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.
8
EIO0000004172 09/2020
A propos de ce manuel
Présentation
Objectif du document
Ce document est destiné à vous familiariser à l'utilisation des fonctions et variables disponibles
dans le Modicon LMC058 Motion Controller. La bibliothèque PLCSystem du LMC058 contient des
fonctions et des variables permettant d'obtenir des informations et d'exécuter des commandes
avec le système du contrôleur.
Ce document décrit les types de données, fonctions et variables de la bibliothèque PLCSystem du
LMC058.
Connaissances de base requises :
connaissances de base sur les fonctionnalités, la structure et la configuration du contrôleur
LMC058
 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 d’EcoStruxureTM Machine Expert V1.2.5.
Les caractéristiques techniques des équipements décrits dans le présent document sont
également fournies en ligne. Pour accéder aux informations en ligne, allez sur la page d'accueil de
Schneider Electric https://www.se.com/ww/en/download/.
Les caractéristiques présentées dans ce document devraient être identiques à celles fournies en
ligne. Toutefois, en application de notre politique d'amélioration continue, nous pouvons être
amenés à réviser le contenu du document afin de le rendre plus clair et plus précis. Si vous
constatez une différence entre le document et les informations fournies en ligne, utilisez ces
dernières en priorité.
Document(s) à consulter
Titre de documentation
Référence
Modicon LMC058 Logic Controller - Guide de programmation
EIO0000004165 (Eng)
EIO0000004166 (Fre)
EIO0000004167 (Ger)
EIO0000004168 (Spa)
EIO0000004169 (Ita)
EIO0000004170 (Chs)
EIO0000004172 09/2020
9
Vous pouvez télécharger ces publications et autres informations techniques depuis notre site web
à l'adresse : https://www.se.com/ww/en/download/ .
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 contrôle cruciales.
Des canaux de commande séparés ou redondants doivent être prévus pour les fonctions de
commande critique.
Les liaisons de communication peuvent faire partie des canaux de commande du système.
Soyez particulièrement attentif aux implications des retards de transmission imprévus ou des
pannes de 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 les documents suivants ou leurs équivalents pour votre site
d'installation : 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 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, d'installation et d'exploitation de variateurs de vitesse).
AVERTISSEMENT
FONCTIONNEMENT IMPRÉVU DE L'ÉQUIPEMENT


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.
10
EIO0000004172 09/2020
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
IEC 61131-2:2007
Automates programmables - Partie 2 : exigences et essais des équipements
ISO 13849-1:2015
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
ISO 14119:2013
Sécurité des machines - Dispositifs de verrouillage associés à des protecteurs
- Principes de conception et de choix
ISO 13850:2015
Sécurité des machines - Fonction d'arrêt d'urgence - Principes de conception
IEC 62061:2015
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é : prescriptions 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:2016
Réseaux de communication industriels - Profils - Partie 3 : Bus de terrain de
sécurité fonctionnelle - Règles générales et définitions de profils.
2006/42/EC
Directive Machines
2014/30/EU
Directive sur la compatibilité électromagnétique
2014/35/EU
Directive sur les basses tensions
EIO0000004172 09/2020
11
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.
12
EIO0000004172 09/2020
Modicon LMC058 Motion Controller
Variables système du contrôleur LMC058
EIO0000004172 09/2020
Chapitre 1
Variables système du contrôleur LMC058
Variables système du contrôleur LMC058
Présentation
Ce chapitre :
fournit une introduction aux variables système (voir page 14) ;
 décrit les variables système (voir page 20) disponibles avec la bibliothèque PLCSystem de
LMC058.

Contenu de ce chapitre
Ce chapitre contient les sous-chapitres suivants :
Sous-chapitre
1.1
Sujet
Page
Variables système : définition et utilisation
14
1.2
Structures PLC_R et PLC_W
19
1.3
Structures SERIAL_R et SERIAL_W
26
1.4
Structures ETH_R et ETH_W
29
1.5
Structure TM5_MODULE_R
35
1.6
Type de données des variables système PROFIBUS_R
36
EIO0000004172 09/2020
13
Variables système du contrôleur LMC058
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 Modicon
LMC058 Motion 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
EIO0000004172 09/2020
Variables système du contrôleur LMC058
Présentation des variables système
Introduction
Cette section décrit comment les variables système sont mises en œuvre. 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 ;
 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).
 sont déclarées automatiquement comme des variables globales. Elles s'appliquent à
l'ensemble du système et toute POU (unité organisationnelle de programme) d'une tâche peut
y accéder.

Convention de désignation
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 un nom de structure de variables en lecture seule utilisées pour le diagnostic du
contrôleur.
 un ensemble de noms de composant qui identifie le rôle de la variable. Par exemple,
i_wVendorID représente l'ID du fournisseur du contrôleur.
Vous pouvez accéder aux variables système en entrant leur nom de structure suivi du nom du
composant.
Voici un exemple de mise en œuvre de variables système :
VAR
myCtr_Serial : DWORD;
myCtr_ID : DWORD;
myCtr_FramesRx : UDINT;
END_VAR
myCtr_Serial := PLC_GVL.PLC_R.i_dwSerialNumber;
myCtr_ID := PLC_GVL.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.
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 en intégralité. Les bonnes pratiques de programmation préconisent
souvent d'utiliser le nom complet de la variable dans les déclarations.
EIO0000004172 09/2020
15
Variables système du contrôleur LMC058
Emplacement des variables système
Deux sortes de variables système sont définies pour la programmation du contrôleur :
variables localisées
 variables non localisées

Les variables localisé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 accessibles par l'intermédiaire de requêtes Modbus TCP, Modbus série et EtherNet/IP
dans les états RUNNING et STOPPED ;
sont utilisées dans des programmes EcoStruxure Machine Expert conformément à la
convention structure_name.component_name expliquée précédemment. Les adresses
%MW de 0 à 59999 sont accessibles directement. Les adresses supérieures sont considérées
hors plage par EcoStruxure Machine Expert et sont uniquement accessibles via la convention
structure_name.component_name.
Les variables non localisées :
ne se trouvent pas physiquement dans la zone %MW.
 ne sont pas accessibles par le biais de requêtes de bus de terrain ou de réseau, sauf si vous
les cherchez dans la table de réaffectation, et elles ne sont alors accessibles que dans les états
RUNNING et STOPPED ; La table de réaffectation utilise les zones %MW dynamiques
suivantes :
 %MW60200 à %MW61999 pour les variables système en lecture seule,
 %MW62200 à %MW63999 pour les variables en lecture/écriture.


16
sont utilisées dans des programmes EcoStruxure Machine Expert conformément à la
convention structure_name.component_name expliquée précédemment. Les adresses
%MW de 0 à 59999 sont accessibles directement. Les adresses supérieures sont considérées
hors plage par EcoStruxure Machine Expert et sont uniquement accessibles via la convention
structure_name.component_name.
EIO0000004172 09/2020
Variables système du contrôleur LMC058
Utilisation des variables système
Introduction
Cette rubrique décrit la procédure de programmation et d'utilisation des variables système dans
EcoStruxure Machine Expert.
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
EcoStruxure Machine Expert a une fonction de saisie automatique. Dans un POU, commencez par
entrer le nom de structure de la variable système (PLC_W, PLC_R...) 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é,
EcoStruxure Machine Expert affiche un menu contextuel des noms de composants/variables
possibles.
EIO0000004172 09/2020
17
Variables système du contrôleur LMC058
Exemple
L’exemple suivant décrit l'utilisation de certaines 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;
18
EIO0000004172 09/2020
Variables système du contrôleur LMC058
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 du contrôleur
20
PLC_W : Variables en lecture/écriture du contrôleur
25
EIO0000004172 09/2020
19
Variables système du contrôleur LMC058
PLC_R : Variables système en lecture seule du contrôleur
Structure de la variable
Ce tableau décrit les paramètres de la variable système PLC_R (type PLC_R_STRUCT) :
Adresse
Nom de la variable
Type
Commentaire
60000
i_wVendorID
WORD
ID du fournisseur du contrôleur.
101A hex = Schneider Electric
60001
i_wProductID
WORD
ID de référence du contrôleur.
Modbus (1)
NOTE : L'ID du fournisseur et l'ID de
référence constituent l'ID cible du contrôleur,
indiqué dans l'écran des paramètres de
communication (ID cible = 101A XXXX hex).
60002
i_dwSerialNumber
DWORD
Numéro de série du contrôleur.
60004
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
60006
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
60008
i_dwHardVersion
DWORD
Version du matériel du contrôleur.
60010
i_dwChipVersion
DWORD
Version du coprocesseur du contrôleur.
60012
i_wStatus
PLC_R_STATUS
Etat du contrôleur.
60013
i_wBootProjectStatus
PLC_R_BOOT_
PROJECT_STATUS
Renvoie des informations sur l'application de
démarrage stockée dans la mémoire Flash.
60014
i_wLastStopCause
PLC_R_STOP_
Cause du dernier passage du mode
CAUSE (voir page 68) d'exécution (RUN) à un autre état.
60015
i_wLastApplicationError
PLC_R_
APPLICATION_
ERROR
(voir page 67)
(voir page 65)
Cause de la dernière exception du contrôleur.
(voir page 63)
20
EIO0000004172 09/2020
Variables système du contrôleur LMC058
Adresse
Nom de la variable
Type
Commentaire
i_lwSystemFault_1
LWORD
Le champ de bits FFFF FFFF FFFF
FFFF hex indique qu'aucune erreur n'a été
détectée.
Un bit de niveau bas signifie qu'une erreur a
été détectée :
 bit 0 = erreur d'E/S experte incorporée
détectée. (voir i_wIOStatus1 pour le
diagnostic)
 bit 1 = erreur d'E/S TM5 détectée. (voir
i_wIOStatus2 pour le diagnostic)
 bit 2 = l'erreur Ethernet 0 n'est pas
détectée en mode BOOTP ou DHCP sans
maître.
 bit 3 = erreur de ligne série 0 détectée
 bit 4 = erreur CAN 0 détectée
 bit 5 = erreur CAN 1 détectée
 bit 6 = erreur de module de bus d'interface
0 détectée
 bit 7 = erreur de module de bus d'interface
1 détectée
Modbus (1)
60016
NOTE : Après mise hors tension puis sous
tension, SystemFault peut conserver un état
d'erreur détectée pendant plusieurs cycles.
60020
i_lwSystemFault_2
LWORD
Non utilisé.
60024
i_wIOStatus1
PLC_R_IO_STATUS
Etat des E/S expertes intégrées.
60025
i_wIOStatus2
PLC_R_IO_STATUS
Etat d'E/S TM5.
60026
i_wClockBatteryStatus
WORD
Etat de charge de la batterie de l'horodateur :
 0000 hex = niveau de charge de la
batterie faible
 FFFF hex = charge de la batterie correcte
60028
i_dwAppliSignature1
DWORD
Premier des 4 DWORD de la signature
(16 octets au total).
La signature de l'application est générée par
le logiciel pendant la construction.
60030
i_dwAppliSignature2
DWORD
Deuxième des 4 DWORD de la signature
(16 octets au total).
La signature de l'application est générée par
le logiciel pendant la construction.
EIO0000004172 09/2020
(voir page 66)
(voir page 66)
21
Variables système du contrôleur LMC058
Adresse
Nom de la variable
Type
Commentaire
60032
i_dwAppliSignature3
DWORD
Troisième des 4 DWORD de la signature
(16 octets au total).
La signature de l'application est créée par le
logiciel pendant la génération.
60034
i_dwAppliSignature4
DWORD
Quatrième des 4 DWORD de la signature
(16 octets au total).
La signature de l'application est générée par
le logiciel pendant la construction.
s/o
i_sVendorName
STRING(31)
Nom du fournisseur : "Schneider Electric".
s/o
i_sProductRef
STRING(31)
Référence du contrôleur.
s/o
i_sNodeName
STRING(99)
Nom du nœud sur le réseau EcoStruxure
Machine Expert.
s/o
i_dwiLastStopTime
DWORD
Heure du dernier arrêt détecté en secondes
depuis le 1er janvier 1970 à 00:00.
s/o
i_dwLastPowerOffDate
DWORD
Date et heure de la dernière mise hors
tension détectée, en secondes depuis le 1er
janvier 1970 à 00:00:00 (UTC).
Modbus (1)
(1)
.
NOTE : Convertissez cette valeur en date et
heure avec la fonction
SysTimeRtcConvertUtcToDate. Pour
plus d'informations sur la conversion Date et
heure, reportez-vous au Guide de la
bibliothèque SysTime.
s/o
i_uiEventsCounter
UINT
Nombre d'événements externes détectés sur
des entrées configurées pour la détection
d'événements externes depuis le dernier
démarrage à froid.
Effectuez la réinitialisation par un démarrage
à froid ou en exécutant la commande
PLC_W.q_wResetCounterEvent.
s/o
i_wTerminalPortStatus
PLC_R_TERMINAL_
PORT_STATUS
Etat du port de programmation USB (USB
mini B).
PLC_R_USB_HOST_
STATUS
Etat du port d'hôte USB (USB A).
(voir page 70)
s/o
i_wUSBHostStatus
(voir page 71)
22
EIO0000004172 09/2020
Variables système du contrôleur LMC058
s/o
i_wUsrFreeFileHdl
WORD
Nombre de descripteurs de fichier
disponibles.
Un descripteur de fichier correspond à la
ressource allouée par le système lorsque
vous ouvrez un fichier.
s/o
i_udiUsrFsTotalBytes
UDINT
Taille de la mémoire totale du système de
fichiers de l'utilisateur (en octets).
Correspond à la taille de la mémoire Flash du
répertoire « /usr/ ».
s/o
i_udiUsrFsFreeBytes
UDINT
Taille de la mémoire libre du système de
fichiers de l'utilisateur (en octets).
s/o
i_uiTM5BusState
UINT
Champ binaire d'état du bus TM5 :
 Bits 0 à 3 = inutilisés
 Bit 4 = pilote du bus TM5 disponible
 Bit 5 = matériel de bus TM5 détecté
 Bit 6 = configuration du bus TM5 terminée
 Bit 7 = bus TM5 opérationnel
 Bit 8 = inutilisé
 Bit 9 = erreur détectée lors de la
configuration du bus TM5
 bits 10 à 15 = inutilisés
s/o
i_uiTM5SyncErrCnt
UINT
Nombre de trames synchrones incorrectes
détectées sur le bus TM5. La réinitialisation
est effectuée avec la commande
PLC_W.q_wResetTM5Counters et à la
mise hors tension.
s/o
i_uiTM5AsynErrCnt
UINT
Nombre de trames asynchrones incorrectes
détectées sur le bus TM5. La réinitialisation
est effectuée avec la commande
PLC_W.q_wResetTM5Counters et à la
mise hors tension.
s/o
i_uiTM5BreakCnt
UINT
Nombre de réinitialisations de bus TM5
détectées. La réinitialisation est effectuée
avec la commande
PLC_W.q_wResetTM5Counters et à la
mise hors tension.
s/o
i_uiTM5TopoChangedCnt
UINT
Nombre de changements dans la topologie
du bus TM5. La réinitialisation est effectuée
avec la commande
PLC_W.q_wResetTM5Counters et à la
mise hors tension.
EIO0000004172 09/2020
23
Variables système du contrôleur LMC058
s/o
i_uiTM5BusCycleCnt
UINT
Nombre de cycles du bus TM5 depuis le
démarrage à froid. La réinitialisation est
effectuée avec la commande
PLC_W.q_wResetTM5Counters et à la
mise hors tension.
s/o
i_wTM5BrokendownSlot
WORD
00..FE hex = numéro d'emplacement d'un
module TM5 non opérationnel.
FF hex = tous les modules TM5 indiquent
qu'ils sont opérationnels.
NOTE : s/o signifie qu'aucun mappage d'adresse Modbus n'est prédéfini pour cette variable
système.
24
EIO0000004172 09/2020
Variables système du contrôleur LMC058
PLC_W : Variables en lecture/écriture du contrôleur
Structure de la variable
Ce tableau décrit les paramètres de la variable système PLC_W (type PLC_W_STRUCT) :
%MW
Nom de la variable
Type
s/o
q_wResetCounterEvent WORD
Le passage de 0 à 1 réinitialise le compteur
d'événements
(PLC_R.i_uiEventsCounter).
Pour réinitialiser à nouveau le compteur, il est
nécessaire d'écrire 0 dans cette variable afin
permettre une autre transition de 0 à 1.
s/o
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.
s/o
q_wPLCControl
PLC_W_COMMAND
La commande RUN/STOP du contrôleur est
exécutée lorsque la valeur de la variable
système PLC_R.q_uiOpenPLCControl
passe de 0 à 6699.
s/o
q_wResetTM5counters
WORD
Le passage de 0 à 1 réinitialise tous les
compteurs TM5 des variables système
structurées PLC_R
(PLC_R.i_uiTM5SyncErrCnt à
PLC_R.i_uiTM5BusCycleCnt).
Pour réinitialiser à nouveau les compteurs, il
est nécessaire d'écrire 0 dans cette variable
afin de permettre une autre transition de 0 à 1.
(voir page 72)
Commentaire
NOTE : s/o signifie qu'aucune affectation %MW n'est prédéfinie pour cette variable système.
EIO0000004172 09/2020
25
Variables système du contrôleur LMC058
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
26
Page
SERIAL_R[0...2] : variables système en lecture seule de ligne série
27
SERIAL_W[0...2] : variables système en lecture/écriture de ligne série
28
EIO0000004172 09/2020
Variables système du contrôleur LMC058
SERIAL_R[0...2] : variables système en lecture seule de ligne série
Introduction
Pour le LMC058 Motion Controller :
Serial_R[0] désigne la ligne série intégrée.
 Serial_R[1] désigne la ligne série du module PCI s'il est installé.
 Serial_R[2] désigne la ligne série facultative du module PCI s'il est installé.

Structure de la variable
Ce tableau décrit les paramètres des variables système SERIAL_R[0...2] :
%MW
Nom de la variable
Type
Commentaire
Ligne série
s/o
i_udiFramesTransmittedOK
UDINT
Nombre de trames transmises avec succès.
s/o
i_udiFramesReceivedOK
UDINT
Nombre de trames reçues sans aucune erreur
détectée.
s/o
i_udiRX_MessagesError
UDINT
Nombre de trames reçues avec erreurs
détectées (somme de contrôle, parité).
Spécifique Modbus
s/o
i_uiSlaveExceptionCount
UINT
Nombre de réponses d'exception Modbus
renvoyées par le Logic Controller.
s/o
i_udiSlaveMsgCount
UINT
Nombre de messages reçus du maître et
adressés au Logic Controller.
s/o
i_uiSlaveNoRespCount
UINT
Nombre de demandes de diffusion Modbus
reçues par le Logic Controller.
s/o
i_uiSlaveNakCount
UINT
Non utilisée
s/o
i_uiSlaveBusyCount
UINT
Non utilisée
s/o
i_uiCharOverrunCount
UINT
Nombre de débordements de caractères.
s/o signifie qu'aucun mappage %MW n'est prédéfini pour cette variable système.
Non utilisée signifie que la variable n'est pas gérée par le système et que si sa valeur est différente de zéro,
elle doit être considérée comme variable parasite.
Les compteurs SERIAL_R sont réinitialisés en cas de :
 téléchargement,
 réinitialisation du contrôleur ;
 commande SERIAL_W[x].q_wResetCounter ;
 commande de réinitialisation associée au code fonction n°8 de la requête Modbus.
EIO0000004172 09/2020
27
Variables système du contrôleur LMC058
SERIAL_W[0...2] : variables système en lecture/écriture de ligne série
Introduction
Pour le LMC058 Motion Controller :
Serial_W[0] désigne la ligne série intégrée.
 Serial_W[1] désigne la ligne série PCI.
 Serial_W[2] désigne la ligne série PCI.

Structure de la variable
Ce tableau décrit les paramètres de la variable système SERIAL_W[0...2] :
%MW
Nom de la variable
Type
Commentaire
s/o
q_wResetCounter
WORD
Le passage de 0 à 1 réinitialise tous les
compteurs .
Pour réinitialiser à nouveau les compteurs, il est
nécessaire d'écrire 0 dans cette variable pour
permettre une autre transition de 0 à 1.
NOTE : s/o signifie qu'aucun mappage %MW n'est prédéfini pour cette variable système.
28
EIO0000004172 09/2020
Variables système du contrôleur LMC058
Sous-chapitre 1.4
Structures ETH_R et ETH_W
Structures ETH_R et ETH_W
Présentation
Cette section répertorie et décrit les variables système incluses dans les structures ETH_R et
ETH_W.
Contenu de ce sous-chapitre
Ce sous-chapitre contient les sujets suivants :
Sujet
Page
ETH_R : variables système en lecture seule du port Ethernet
30
ETH_W : variables système en lecture/écriture du port Ethernet
34
EIO0000004172 09/2020
29
Variables système du contrôleur LMC058
ETH_R : variables système en lecture seule du port Ethernet
Structure de la variable
Ce tableau décrit les paramètres de la variable système ETH_R (type ETH_R_STRUCT) :
%MW
Nom de la variable
Type
Commentaire
60050
i_byIPAddress[0..3]
ARRAY[0..3] OF
BYTE
Adresse IP [aaa.bbb.ccc.ddd] :
 i_byIPAddress[0] = aaa
 ...
 i_byIPAddress[3]= ddd
60052
i_bySubNetMask[0..3]
ARRAY[0..3] OF
BYTE
Masque de sous-réseau
[aaa.bbb.ccc.ddd] :
 i_bySub-netMask[0] = aaa
 ...
 i_bySub-netMask[3] = ddd
60054
i_byGateway[0..3]
ARRAY[0..3] OF
BYTE
Adresse de passerelle
[aaa.bbb.ccc.ddd] :
 i_byGateway[0] = aaa
 ...
 i_byGateway[3] = ddd
60056
i_byMACAddress[0..5]
ARRAY[0..5] OF
BYTE
Adresse MAC[aa.bb.cc.dd.ee.ff] :
 i_byMACAddress[0] = aa
 ...
 i_byMACAddress[5]= ff
60059
i_sDeviceName
STRING(16)
Nom utilisé pour obtenir l'adresse IP auprès
du serveur.
s/o
i_wIpMode
ETH_R_IP_MODE
Méthode utilisée pour obtenir une
adresse IP.
s/o
i_byFDRServerIPAddress[0..3]
ARRAY[0..3] OF
BYTE
Adresse IP [aaa.bbb.ccc.ddd] du
serveur DHCP ou BootP :
 i_byFDRServerIPAddress[0] = aaa
 ...
 i_byFDRServerIPAddress[3] = ddd
(voir page 76)
Egale à 0.0.0.0 en cas d'utilisation d'une
adresse IP enregistrée ou par défaut.
s/o
i_udiOpenTcpConnections
UDINT
Nombre de connexions TCP ouvertes.
s/o
i_wFrameSendingProtocol
ETH_R_FRAME_
PROTOCOL
Protocole Ethernet configuré pour l'envoi
des trames (IEEE 802.3 ou Ethernet II).
(voir page 77)
s/o signifie qu'aucun mappage %MW n'est prédéfini pour cette variable système.
30
EIO0000004172 09/2020
Variables système du contrôleur LMC058
%MW
Nom de la variable
Type
Commentaire
s/o
i_udiFramesTransmittedOK
UDINT
Nombre de trames transmises
correctement. Réinitialisation lors de la mise
sous tension ou avec la commande de
réinitialisation ETH_W.q_wResetCounter.
s/o
i_udiFramedReceivedOK
UDINT
Nombre de trames reçues correctement.
Réinitialisation lors de la mise sous tension
ou avec la commande de réinitialisation
ETH_W.q_wResetCounter.
s/o
i_udiTransmitBufferErrors
UDINT
Nombre de trames transmises avec
détection d'erreurs. Réinitialisation lors de
la mise sous tension ou avec la commande
de réinitialisation
ETH_W.q_wResetCounter.
s/o
i_udiReceiveBufferErrors
UDINT
Nombre de trames reçues avec détection
d'erreurs. Réinitialisation lors de la mise
sous tension ou avec la commande de
réinitialisation ETH_W.q_wResetCounter.
s/o
i_wPortALinkStatus
ETH_R_PORT_
LINK_STATUS
(voir page 79)
Liaison du port Ethernet (0 = aucune liaison,
1 = liaison connectée à un autre
équipement Ethernet).
ETH_R_PORT_
SPEED
Débit réseau du port Ethernet (10 ou
100 Mbits/s).
s/o
i_wPortASpeed
s/o
i_wPortADuplexStatus
(voir page 80)
ETH_R_PORT_
Etat duplex du port Ethernet (0 = semi
DUPLEX_STATUS duplex ou 1 = duplex intégral).
(voir page 78)
s/o
i_udiPortACollisions
UDINT
Nombre de trames impliquées dans une ou
plusieurs collisions et transmises
correctement par la suite. Réinitialisation
lors de la mise sous tension ou avec la
commande de réinitialisation
ETH_W.q_wResetCounter.
s/o
i_wPortAIpStatus
ETH_R_PORT_IP_ Etat de la pile du port TCP/IP Ethernet
STATUS
(voir page 81)
Spécifique à Modbus TCP/IP
s/o
i_udiModbusMessageTransmitted
UDINT
Nombre de messages Modbus transmis.
Réinitialisation lors de la mise sous tension
ou avec la commande de réinitialisation
ETH_W.q_wResetCounter.
s/o signifie qu'aucun mappage %MW n'est prédéfini pour cette variable système.
EIO0000004172 09/2020
31
Variables système du contrôleur LMC058
%MW
Nom de la variable
Type
Commentaire
s/o
i_udiModbusMessageReceived
UDINT
Nombre de messages Modbus reçus.
Réinitialisation lors de la mise sous tension
ou avec la commande de réinitialisation
ETH_W.q_wResetCounter.
s/o
i_udiModbusErrorMessage
UDINT
Messages de détection d'erreurs Modbus
transmis et reçus.
Réinitialisation lors de la mise sous tension
ou avec la commande de réinitialisation
ETH_W.q_wResetCounter.
s/o
i_byMasterIpTimeouts
BYTE
Compteur d'événements de dépassement
de délai TCP maître Ethernet Modbus.
Réinitialisation lors de la mise sous tension
ou avec la commande de réinitialisation
ETH_W.q_wResetCounter.
s/o
i_byMasterIpLost
BYTE
Etat de la liaison du maître Modbus TCP
Ethernet : 0 = liaison OK, 1 = liaison perdue.
s/o signifie qu'aucun mappage %MW n'est prédéfini pour cette variable système.
%MW Nom de la variable
Type
Commentaire
Spécifique à EtherNet/IP
s/o
i_udiETHIP_IOMessagingTransmitted
UDINT
Trames EtherNet/IP de classe 1 transmises.
Réinitialisation lors de la mise sous tension
ou avec la commande de réinitialisation
ETH_W.q_wResetCounter.
s/o
i_udiETHIP_IOMessagingReceived
UDINT
Trames EtherNet/IP de classe 1 reçues.
Réinitialisation lors de la mise sous tension
ou avec la commande de réinitialisation
ETH_W.q_wResetCounter.
s/o
i_udiUCMM_Request
UDINT
Messages EtherNet/IP non connectés reçus.
Réinitialisation lors de la mise sous tension
ou avec la commande de réinitialisation
ETH_W.q_wResetCounter.
s/o
i_udiUCMM_Error
UDINT
Messages EtherNet/IP non connectés non
valides reçus.
Réinitialisation lors de la mise sous tension
ou avec la commande de réinitialisation
ETH_W.q_wResetCounter.
s/o signifie qu'aucun mappage %MW n'est prédéfini pour cette variable système.
Non utilisé signifie que la variable n'est pas gérée par le système et que si sa valeur est différente de zéro, elle doit
être considérée comme variable parasite.
32
EIO0000004172 09/2020
Variables système du contrôleur LMC058
%MW Nom de la variable
Type
Commentaire
s/o
i_udiClass3_Request
UDINT
Requêtes EtherNet/IP de classe 3 reçues.
Réinitialisation lors de la mise sous tension
ou avec la commande de réinitialisation
ETH_W.q_wResetCounter.
s/o
i_udiClass3_Error
UDINT
Requêtes EtherNet/IP de classe 3 non
valides reçues.
Réinitialisation lors de la mise sous tension
ou avec la commande de réinitialisation
ETH_W.q_wResetCounter.
s/o
i_uiAssemblyInstanceInput
UINT
Numéro de l'instance d'assemblage
d'entrée. Pour plus d'informations, reportezvous au guide de programmation du
contrôleur.
s/o
i_uiAssemblyInstanceInputSize
UINT
Taille de l'instance d'assemblage d'entrée.
Pour plus d'informations, consultez le guide
de programmation de votre contrôleur.
s/o
i_uiAssemblyInstanceOutput
UINT
Numéro de l'instance d'assemblage de
sortie. Pour plus d'informations, consultez le
guide de programmation de votre contrôleur.
s/o
i_uiAssemblyInstanceOutputSize
UINT
Taille de l'instance d'assemblage de sortie.
Pour plus d'informations, consultez le guide
de programmation de votre contrôleur.
s/o
i_uiETHIP_ConnectionTimeouts
UINT
Nombre d'expirations de connexion.
Réinitialisation lors de la mise sous tension
ou avec la commande de réarmement
ETH_W.q_wResetCounter.
s/o
i_ucEipRunIdle
ETH_R_RUN_ Drapeau fonctionnement (valeur = 1) /
IDLE
attente (valeur = 0) pour la connexion
(voir page 82) EtherNet/IP classe 1.
s/o signifie qu'aucun mappage %MW n'est prédéfini pour cette variable système.
Non utilisé signifie que la variable n'est pas gérée par le système et que si sa valeur est différente de zéro, elle doit
être considérée comme variable parasite.
NOTE : s/o signifie qu'aucun mappage %MW n'est prédéfini pour cette variable système.
EIO0000004172 09/2020
33
Variables système du contrôleur LMC058
ETH_W : variables système en lecture/écriture du port Ethernet
Structure de la variable
Ce tableau décrit les paramètres de la variable système ETH_W (type ETH_W_STRUCT) :
%MW
Nom de la variable
Type
Commentaire
s/o
q_wResetCounter
WORD
Le passage de 0 à 1 réinitialise tous les compteurs
ETH_R.
Pour effectuer la réinitialisation à nouveau, il est
nécessaire d'écrire 0 dans cette variable pour permettre
une autre transition de 0 à 1.
NOTE : s/o signifie qu'aucun mappage %MW n'est prédéfini pour cette variable système.
34
EIO0000004172 09/2020
Variables système du contrôleur LMC058
Sous-chapitre 1.5
Structure TM5_MODULE_R
Structure TM5_MODULE_R
TM5_MODULE_R[1..254] : variables système en lecture seule des modules TM5
Introduction
TM5_MODULE_R est un tableau de 254 variables de type TM5_MODULE_R_STRUCT. Chaque
élément du tableau renvoie des variables système de diagnostic pour le module TM5
correspondant.
Pour l'automate LMC058 :
TM5_MODULE_R[1] désigne le module TM5 1
 ...
 TM5_MODULE_R[254] désigne le module TM5 254

Structure de la variable
Le tableau suivant décrit les paramètres de la variable système TM5_MODULE_R[1..254] :
%MW
Nom de la variable
Type
Commentaire
s/o
i_wVendorID
WORD
ID du fournisseur du module TM5 de la cible.
s/o
i_wProductID
WORD
ID du type du module TM5 de la cible.
s/o
i_dwSerialNumber
DWORD
Numéro de série du module TM5.
s/o
i_wFirmVersion
WORD
Version du micrologiciel du module TM5.
s/o
i_wBootVersion
WORD
Version du Boot du module TM5.
s/o
i_wModuleState
TM5_MODULE_
STATE
Décrit l'état du module TM5. Le module est opérationnel
lorsque TM5_ACTIVE est renvoyé.
(voir page 83)
NOTE : s/o signifie qu'aucun mappage %MW n'est prédéfini pour cette variable système.
EIO0000004172 09/2020
35
Variables système du contrôleur LMC058
Sous-chapitre 1.6
Type de données des variables système PROFIBUS_R
Type de données des variables système PROFIBUS_R
PROFIBUS_R : variable système de diagnostic Profibus
Description
Ce tableau répertorie les paramètres de la variable système PROFIBUS_R
(PROFIBUS_R_STRUCT) :
Nom de la variable
Type
Valeur
Commentaire
i_wPNOIdentifier
WORD
0x0D73
Numéro d'identification de
l'esclave Profibus
i_wBusAdr
WORD
1 à 126
Numéro d'adresse de
l'esclave Profibus
L'adresse 126 est réservée.
i_CommState
UDINT
0 - Inconnu
1 - Non configuré
2 - Arrêt
3 - Inactif
4 - En fonctionnement
Etat Profibus
Mode de fonctionnement :
E/S cycliques
i_CommError
UDINT
0 - Aucune erreur
<>0 code d'erreur
Erreur de communication
détectée par le module
Profibus, indiquée par un
code d'erreur.
i_ErrorCount
UDINT
≥0
Nombre d'erreurs de
communication détectées
36
EIO0000004172 09/2020
Modicon LMC058 Motion Controller
Fonctions système de LMC058,
EIO0000004172 09/2020
Chapitre 2
Fonctions système de LMC058
Fonctions système de LMC058
Présentation
Ce chapitre décrit les fonctions système disponibles dans la bibliothèque PLCSystem de LMC058.
Contenu de ce chapitre
Ce chapitre contient les sous-chapitres suivants :
Sous-chapitre
Sujet
Page
2.1
Fonctions de lecture de LMC058
38
2.2
Fonctions d'écriture de l'automate LMC058
46
2.3
Fonctions utilisateur de LMC058
53
EIO0000004172 09/2020
37
Fonctions système de LMC058,
Sous-chapitre 2.1
Fonctions de lecture de LMC058
Fonctions de lecture de LMC058
Présentation
Cette section décrit les fonctions de lecture de la bibliothèque PLCSystem de LMC058.
Contenu de ce sous-chapitre
Ce sous-chapitre contient les sujets suivants :
Sujet
Page
DM72FGetImmediateInput : lecture d'entrée d'une E/S experte intégrée
39
getTM5Delay : nombre de cycles du bus TM5 sans échange valide
40
IsFirstMastColdCycle : indique si ce cycle est le premier cycle de démarrage à froid de la
42
tâche MAST
IsFirstMastCycle : indique si ce cycle est le premier cycle de la tâche MAST.
43
IsFirstMastWarmCycle : indique si ce cycle est le premier cycle de démarrage à chaud de
45
la tâche MAST
38
EIO0000004172 09/2020
Fonctions système de LMC058,
DM72FGetImmediateInput : lecture d'entrée d'une E/S experte intégrée
Description de la fonction
Cette fonction s'applique aux blocs d'E/S expertes intégrées DM72F0 et DM72F1. Elle renvoie la
valeur physique actuelle de l'entrée, qui peut différer de la valeur logique actuelle de cette entrée.
La valeur de la variable de cette entrée ne change pas jusqu'au cycle de bus suivant.
Représentation graphique
Représentation en langage IL et ST
Pour voir la représentation générale en langage IL ou ST, consultez le chapitre Représentation des
fonctions et blocs fonction (voir page 95).
Description des variables d'E/S
Le tableau suivant décrit les variables d'entrée :
Entrée
Type
Commentaire
Block
INT
Bloc ciblé :
 0 = DM72F0
 1 = DM72F1
Input
INT
Entrée ciblée du bloc.
0 à 6 = DI0 à DI6
Le tableau suivant décrit la variable de sortie :
Sortie
Type
Commentaire
DM72FGetImmediateInput
BOOL
Valeur de l'entrée <Input> du bloc <block> = FALSE/TRUE.
Le tableau suivant décrit les variables d’entrée/sortie :
Entrée/sortie
Type
Commentaire
Error
BOOL
FALSE = opération correcte.
TRUE = erreur détectée lors de l'opération, la fonction renvoie
une valeur non valide.
ErrID
IMMEDIATE_FUNC_ERR_TYPE
Code d'erreur d'opération détectée si la valeur de Error est
TRUE.
EIO0000004172 09/2020
39
Fonctions système de LMC058,
getTM5Delay : nombre de cycles du bus TM5 sans échange valide
Description de la fonction
Cette fonction renvoie le nombre de cycles du bus TM5 sans échange valide avec un module TM5
cible.
NOTE : Pour le diagnostic du module TM5, reportez-vous à la variable système TM5_MODULE_R
(voir page 35).
Représentation graphique
Représentation en langage IL et ST
Pour voir la représentation générale en langage IL ou ST, consultez le chapitre Représentation des
fonctions et blocs fonction (voir page 95).
Description des variables d'E/S
Le tableau suivant décrit la variable d'entrée :
Entrée
Type
Commentaire
NodeId
DINT
Adresse du module du module TM5 ciblé (pour obtenir l'Adresse du
module, vérifiez la valeur dans l'onglet Configuration d'E/S).
Le tableau suivant décrit la variable de sortie :
40
Sortie
Type
Commentaire
getTM5Delay
USINT
La variable peut prendre les valeurs suivantes :
 0 = OK
 [1..3] = 1 à 3 cycles sans échange valide
 -1 = plus de 3 cycles sans échange valide ou paramètre non valide
EIO0000004172 09/2020
Fonctions système de LMC058,
Exemple
L'exemple qui suit montre comment obtenir le délai du premier module TM5 :
VAR
delay : DINT;
//L'ID d'emplacement est 1 pour le premier module TM5
slot_ID : USINT := 1;
END_VAR
delay = getTM5Delay(slot_ID);
EIO0000004172 09/2020
41
Fonctions système de LMC058,
IsFirstMastColdCycle : indique si ce cycle est le premier cycle de démarrage à
froid de la tâche MAST
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 langage IL et ST
Pour voir la représentation générale en langage IL ou ST, consultez le chapitre Représentation des
fonctions et blocs fonction (voir page 95).
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.
Exemple
Reportez-vous à la description de la fonction IsFirstMastCycle (voir page 43).
42
EIO0000004172 09/2020
Fonctions système de LMC058,
IsFirstMastCycle : indique si ce cycle est le premier cycle de la tâche 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 langage IL et ST
Pour voir la représentation générale en langage IL ou ST, consultez le chapitre Représentation des
fonctions et blocs fonction (voir page 95).
Description des variables d'E/S
Sortie
Type
Commentaire
IsFirstMastCycle
BOOL
TRUE lors du premier cycle de la tâche MAST après un
démarrage.
Exemple
Cet exemple décrit les trois fonctions IsFirstMastCycle, IsFirstMastColdCycle et
IsFirstMastWarmCycle utilisées ensemble.
Utilisez cet exemple dans la tâche MAST. Sinon, il peut s'exécuter plusieurs fois ou jamais (une
tâche supplémentaire peut être appelée plusieurs fois ou éventuellement aucune fois pendant un
cycle de tâche MAST) :
VAR
MyIsFirstMastCycle : BOOL;
MyIsFirstMastWarmCycle : BOOL;
MyIsFirstMastColdCycle : BOOL;
END_VAR
MyIsFirstMastWarmCycle := IsFirstMastWarmCycle();
MyIsFirstMastColdCycle := IsFirstMastColdCycle();
MyIsFirstMastCycle := IsFirstMastCycle();
IF (MyIsFirstMastWarmCycle) THEN
(*Il s'agit du premier cycle MAST après un démarrage à chaud : toutes les
variables prennent sur leurs valeurs d'initialisation, à l'exception des
variables conservées.*)
EIO0000004172 09/2020
43
Fonctions système de LMC058,
(*=> initialiser les variables nécessaires afin que l'application soit
exécutée comme prévu dans ce cas*)
END_IF;
IF (MyIsFirstMastColdCycle) THEN
(*Il s'agit du premier cycle MAST après un démarrage à froid : toutes les
variables prennent sur leurs valeurs d'initialisation, y compris les
variables conservées.*)
(*=> initialiser les variables nécessaires afin que l'application soit
exécutée comme prévu dans ce cas*)
END_IF;
IF (MyIsFirstMastCycle) THEN
(*Il s'agit du premier cycle MAST après un démarrage, c'est-à-dire après
un démarrage à chaud ou à froid ou l'exécution de commandes STOP/RUN*)
(*=> initialiser les variables nécessaires afin que l'application soit
exécutée comme prévu dans ce cas*)
END_IF;
44
EIO0000004172 09/2020
Fonctions système de LMC058,
IsFirstMastWarmCycle : indique si ce cycle est le premier cycle de démarrage à
chaud de la tâche MAST
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 langage IL et ST
Pour voir la représentation générale en langage IL ou ST, consultez le chapitre Représentation des
fonctions et blocs fonction (voir page 95).
Description des variables d'E/S
Le tableau suivant 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.
Exemple
Consultez la description de la fonction IsFirstMastCycle (voir page 43).
EIO0000004172 09/2020
45
Fonctions système de LMC058,
Sous-chapitre 2.2
Fonctions d'écriture de l'automate LMC058
Fonctions d'écriture de l'automate LMC058
Vue d'ensemble
Cette section décrit les fonctions d'écriture de la bibliothèque PLCSystem de l'automate LMC058.
Contenu de ce sous-chapitre
Ce sous-chapitre contient les sujets suivants :
Sujet
46
Page
DM72F•SetImmediateOutput• : écriture de sortie d'une E/S experte intégrée
47
SetLEDBehaviour : détermine le fonctionnement d'un voyant
49
SetRTCDrift : réglage l'horodateur chaque semaine
51
EIO0000004172 09/2020
Fonctions système de LMC058,
DM72F•SetImmediateOutput• : écriture de sortie d'une E/S experte intégrée
Description de la fonction
Cette fonction définit la valeur physique de la sortie rapide d'une E/S experte intégrée (DM72F•).
Il existe une fonction pour chaque sortie rapide :
DM72F0SetImmediateOutput0
 DM72F0SetImmediateOutput1
 DM72F1SetImmediateOutput0
 DM72F1SetImmediateOutput1

NOTE : Le forçage des sorties invalide toutes les autres commandes envoyées à une sortie, quelle
que soit la programmation de tâches en cours d'exécution.
Représentation graphique
Représentation en langage IL et ST
Pour voir la représentation générale en langage IL ou ST, consultez le chapitre Représentation des
fonctions et blocs fonction (voir page 95).
Description des variables d'E/S
Le tableau suivant décrit la variable d'entrée :
Entrée
Type
Commentaire
Value
BOOL
Valeur de sortie demandée.
Le tableau suivant décrit la variable de sortie :
Sortie
1
DM72Fb SetImmediateOutputn
2
Type
Commentaire
BOOL
TRUE = la valeur de la
sortie physique est
définie.
(1) b désigne le bloc ciblé :
 0= DM72F0
 1= DM72F1
(2) n désigne la sortie ciblée du bloc :
 0= DO0
 1= DO1
EIO0000004172 09/2020
47
Fonctions système de LMC058,
Mise en œuvre de DM72F•SetImmediateOutput•
EcoStruxure Machine Expert renvoie une erreur de compilation détectée dans les cas suivants :
La fonction DM72F•SetImmediateOutput• est utilisée dans plusieurs tâches.
 La variable %Q associée à DM72F•SetImmediateOutput• est utilisée dans l'application.
 La sortie est déjà dédiée à une fonction de bloc d'E/S expertes intégrées (par exemple : PWM,
générateur de fréquence, sortie-réflexe de codeur, alarme).

48
EIO0000004172 09/2020
Fonctions système de LMC058,
SetLEDBehaviour : détermine le fonctionnement d'un voyant
Description de la fonction
Cette fonction contrôle les voyants de diagnostic APP0 et APP1.
L'illustration suivante présente les voyants situés sur le panneau avant :
Eth LA
Eth ST
Eth NS
USB Host
MBS COM
CAN0 STS
CAN1 STS
RUN / MS
BATTERY
APP0
APP1
Représentation graphique
Représentation en langage IL et ST
Pour voir la représentation générale en langage IL ou ST, consultez le chapitre Représentation des
fonctions et blocs fonction (voir page 95).
Description des variables d'E/S
Le tableau suivant décrit les paramètres d'entrée :
Entrées
Type
Commentaire
LedId
LED_ID (voir page 85)
ID du voyant de l'application.
LedColor
LED_COLOR
Couleur du voyant de l'application.
LED_BHV (voir page 86)
Mode du voyant de l'application.
(voir page 88)
LedBhv
Le tableau suivant décrit la variable de sortie :
Sortie
Type
Commentaire
SetLEDBehaviour
LED_BHV_ERROR
Renvoie NO_ERROR (00 hex) si la commande est
correcte, ou bien le code d'identification de l'erreur
détectée.
(voir page 87)
EIO0000004172 09/2020
49
Fonctions système de LMC058,
Exemple
Cet exemple indique comment procéder pour que le voyant APP0 soit allumé en vert :
VAR myLEDStatus : LED_BHV_ERROR; myLED : LED_ID := LED_0; myLEDColor :
LED_COLOR := LED_GREEN; myLEDMode : LED_BHV := LED_ON; END_VAR
myLEDStatus := SetLedBehaviour(myLED, myLEDColor, myLEDMode);
NOTE : Vous pouvez contrôler séparément et mélanger les couleurs des voyants, par conséquent
désactivez le code de couleur en cours avant d'allumer le nouveau. Le tableau ci-dessous
présente un exemple de séquence de commandes SetLedBehaviour et le fonctionnement
correspondant des voyants :
étape
LedId
LedColor
LedBhv
Mode VERT
clignotant
Mode ROUGE
clignotant
1
LED_0
-
-
Eteint
Eteint
2
LED_0
LED_GREEN
LED_ON
Allumé
Eteint
3
LED_0
LED_GREEN
LED_OFF
Eteint
Eteint
4
LED_0
LED_RED
LED_ON
Eteint
Allumé
50
EIO0000004172 09/2020
Fonctions système de LMC058,
SetRTCDrift : réglage l'horodateur chaque semaine
Description de la fonction
Toutes les semaines, le jour et à l'heure spécifiés (heure:minute:), cette fonction ajoute ou soustrait
à l'horodateur (RTC) une durée spécifiée en secondes.
NOTE : La fonction SetRTCDrift doit être programmée pour être exécutée uniquement durant
le premier cycle Mast.
Représentation graphique
Représentation en langage IL et ST
Pour voir la représentation générale en langage IL ou ST, consultez le chapitre Représentation des
fonctions et blocs fonction (voir page 95).
Description des variables d'E/S
Le tableau suivant décrit les paramètres d'entrée :
Entrées
Type
Commentaire
RTCDrift
SINT(-29 à +29)
Correction en secondes (-29 ... +29)
Jour
DAY_OF_WEEK (voir page 90) Jour du changement.
Heure
HOUR (voir page 91)
Heure du changement.
Minute
MINUTE (voir page 92)
Minute du changement.
NOTE : Si les valeurs entrées pour RTCDrift, Day, Hour et Minute dépassent les limites, le
micrologiciel du contrôleur les remplace par les valeurs maximales.
Le tableau suivant décrit la variable de sortie :
Sortie
Type
Commentaire
SetRTCDrift
RTCSETDRIFT_ERROR
Renvoie RTC_OK (00 hex) si la commande est
correcte ou renvoie le code d'identification de
l'erreur détectée.
EIO0000004172 09/2020
(voir page 89)
51
Fonctions système de LMC058,
Exemple
Dans cet exemple, la fonction n'est appelée qu'une seule fois pendant le premier cycle de tâche
MAST, 20 secondes sont ajoutées à l'horodateur chaque mardi à 5:45
VAR
MyRTCDrift : SINT (-29...+29) := 0;
MyDay : DAY_OF_WEEK;
MyHour : HOUR;
MyMinute : MINUTE;
END_VAR
IF IsFirstMastCycle() THEN
MyRTCDrift := 20;
MyDay := TUESDAY;
MyHour := 5;
MyMinute := 45;
SetRTCDrift(MyRTCDrift, MyDay, MyHour, MyMinute);
END_IF
52
EIO0000004172 09/2020
Fonctions système de LMC058,
Sous-chapitre 2.3
Fonctions utilisateur de LMC058
Fonctions utilisateur de LMC058
Présentation
Cette section décrit les fonctions DataFileCopy et ExecuteScript disponibles dans la
bibliothèque PLCSystem de LMC058.
Contenu de ce sous-chapitre
Ce sous-chapitre contient les sujets suivants :
Sujet
Page
FB_ControlClone : Cloner le contrôleur
54
DataFileCopy : Commandes de copie de fichier
55
ExecuteScript : Exécution de commandes de script
58
EIO0000004172 09/2020
53
Fonctions système de LMC058,
FB_ControlClone : Cloner le contrôleur
Description du bloc fonction
Le clonage est possible par carte SD, clé USB ou via Controller Assistant. Lorsque les droits
utilisateur sont activés, la fonction de clonage n'est pas autorisée et ce bloc fonction permet la
fonctionnalité de clonage une seule fois lors de la mise sous tension suivante du contrôleur.
NOTE : Vous pouvez choisir de conserver les droits d'utilisateur inclus dans le clone à l'aie de la
page Clone Management du serveur Web.
Le tableau suivant indique comment définir le bloc fonction et les droits d'utilisateur :
Configuration du bloc fonction
Avec droits d'utilisateur activés
Avec droits d'utilisateur désactivés
xEnable = 1
Le clonage est autorisé
Le clonage est encore autorisé
xEnable = 0
Le clonage n'est pas autorisé
Le clonage n'est pas autorisé
FB_ControlClone affecte également l'option Lire dans le contrôleur avec Controller Assistant.
Représentation graphique
Représentation en langage IL et ST
Pour voir la représentation générale en langage IL ou ST, consultez le chapitre Représentation des
fonctions et blocs fonction (voir page 95).
Description des variables d'E/S
Le tableau suivant décrit les variables d'entrée :
Entrée
Type
Commentaire
xEnable
BOOL
Si TRUE, la fonctionnalité de clonage est activée une seule fois.
Si FALSE, la fonctionnalité de clonage est désactivée.
Le tableau suivant décrit les variables de sortie :
Sortie
Type
Commentaire
xError
BOOL
TRUE indique qu'une erreur est détectée et que le bloc fonction
a annulé l'action.
54
EIO0000004172 09/2020
Fonctions système de LMC058,
DataFileCopy : Commandes de copie de fichier
Description du bloc fonction
Cette fonction copie les données en mémoire dans un fichier, et inversement. Le fichier réside
dans le système de fichiers interne ou dans un système de fichiers externe (clé USB).
Le bloc fonction DataFileCopy peut :
lire les données d'un fichier formaté ;
 copier les données de la mémoire-tampon dans un fichier formaté. Pour plus d'informations,
consultez la section Organisation de la mémoire Flash.

Représentation graphique
Représentation en langage IL et ST
Pour voir la représentation générale en langage IL ou ST, consultez le chapitre Représentation des
fonctions et blocs fonction (voir page 95).
Description des variables d'E/S
Le tableau suivant décrit les variables d'entrée :
Entrée
Type
Commentaire
xExecute
BOOL
Sur le front montant, lance l'exécution du bloc fonction.
Sur le front descendant, réinitialise les sorties du bloc fonction lorsque toute exécution
en cours prend fin.
NOTE : Sur front descendant, la fonction continue de s'exécuter jusqu'au bout et elle
met à jour ses sorties en conséquence. Les sorties sont conservées pendant un cycle
avant d'être réinitialisées.
sFileName
STRING
Nom du fichier sans extension (l'extension .DTA est automatiquement ajoutée).
N'utilisez que les caractères alphanumériques (a à z, A à Z et 0 à 9).
xRead
BOOL
TRUE : copier les données du fichier identifié par sFileName dans la mémoire interne
du contrôleur.
FALSE : copier les données de la mémoire interne du contrôleur dans le fichier identifié
par sFileName.
EIO0000004172 09/2020
55
Fonctions système de LMC058,
Entrée
Type
Commentaire
xSecure
BOOL
TRUE : l'adresse MAC est toujours stockée dans le fichier. Seul un contrôleur ayant la
même adresse MAC peut lire le contenu du fichier.
FALSE : un autre contrôleur ayant le même type de mémoire peut lire le contenu du
fichier.
iLocation
INT
0 : le fichier réside dans le répertoire /usr/DTA du système de fichiers interne.
1 : le fichier réside dans le répertoire /usr/DTA du système de fichiers externe (clé USB).
uiSize
UINT
Indique la taille en octets. La taille maximale est 65 534 octets.
Seules les adresses de variables conformes à la norme CEI 61131-3 (variables,
tableaux, structures) sont autorisées. Par exemple :
Variable : int;
uiSize := SIZEOF (Variable);
dwAdd
DWORD
Indique l'adresse en mémoire que la fonction valire ou écrire.
Seules les adresses de variables conformes à la norme CEI 61131-3 (variables,
tableaux, structures) sont autorisées. Par exemple :
Variable : int;
dwAdd := ADR (Variable);
NOTE : Si le fichier n'existe pas déjà dans le répertoire, il est créé.
AVERTISSEMENT
FONCTIONNEMENT IMPREVU DE L'EQUIPEMENT
Vérifiez que la taille de la mémoire et le type du fichier sont corrects avant de copier le fichier
dans la mémoire.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
Le tableau suivant décrit les variables de sortie :
Sortie
Type
Commentaire
xDone
BOOL
TRUE = indique que l'action a abouti.
xBusy
BOOL
TRUE = indique que le bloc fonction s'exécute.
xError
BOOL
TRUE = indique qu'une erreur est détectée et que le bloc fonction a
annulé l'action.
eError
DataFileCopyError
Indique le type de l'erreur détectée lors de la copie du fichier de
données.
(voir page 73)
NOTE : Si vous écrivez dans une variable mémoire au sein de la zone d'écriture du fichier, une
erreur de CRC est détectée.
56
EIO0000004172 09/2020
Fonctions système de LMC058,
Exemple
L'exemple suivant montre comment utiliser les commandes de copie de fichier :
VAR
LocalArray : ARRAY [0..29] OF BYTE;
myFileName: STRING := 'exportfile';
EXEC_FLAG: BOOL;
DataFileCopy: DataFileCopy;
END_VAR
DataFileCopy(
xExecute:= EXEC_FLAG,
sFileName:= myFileName,
xRead:= FALSE,
xSecure:= FALSE,
iLocation:= DFCL_INTERNAL,
uiSize:= SIZEOF(LocalArray),
dwAdd:= ADR(LocalArray),
xDone=> ,
xBusy=> ,
xError=> ,
eError=> );
EIO0000004172 09/2020
57
Fonctions système de LMC058,
ExecuteScript : Exécution de commandes de script
Description des blocs fonction
Ce bloc fonction peut exécuter les commandes de script USB suivantes :
Download
 Upload
 SetNodeName
 Delete
 Reboot

Consultez la section Génération d'un script et de fichiers par le biais du stockage de masse USB.
Représentation graphique
Représentation en langage IL et ST
Pour voir la représentation générale en langage IL ou ST, consultez le chapitre Représentation des
fonctions et blocs fonction (voir page 95).
Description des variables d'E/S
Le tableau suivant décrit les variables d'entrée :
Entrée
Type
Commentaire
xExecute
BOOL
En cas de détection d'un front montant, lance l'exécution du bloc
fonction.
En cas de détection d'un front descendant, réinitialise les sorties du bloc
fonction lorsque toute exécution en cours prend fin.
NOTE : Sur front descendant, la fonction continue de s'exécuter
jusqu'au bout et elle met à jour ses sorties en conséquence. Les sorties
sont conservées pendant un cycle avant d'être réinitialisées.
sCmd
STRING
Syntaxe de commande de script USB.
L'exécution simultanée de commandes n'est pas autorisée : si une
commande est exécutée par un autre bloc fonctionnel ou un script USB,
le bloc fonctionnel met la commande en file d'attente et ne l'exécute pas
immédiatement.
NOTE : un script USB exécuté à partir d'une clé USB est considéré
comme en cours d'exécution jusqu'à ce que la clé soit retirée.
58
EIO0000004172 09/2020
Fonctions système de LMC058,
Le tableau suivant décrit les variables de sortie :
Sortie
Type
Commentaire
xDone
BOOL
TRUE indique que l'action a abouti.
xBusy
BOOL
TRUE indique que le bloc fonction s'exécute.
xError
BOOL
TRUE indique une détection d'erreur. Le bloc fonction annule
l'action.
eError
ExecuteScriptError
Indique le type de l'erreur détectée lors de l'exécution du
script.
(voir page 74)
Exemple
Cet exemple décrit comment exécuter une commande de script Upload :
VAR
EXEC_FLAG: BOOL;
ExecuteScript: ExecuteScript;
END_VAR
ExecuteScript(
xExecute:= EXEC_FLAG,
sCmd:= 'Upload "/usr/Syslog/*"',
xDone=> ,
xBusy=> ,
xError=> ,
eError=> );
EIO0000004172 09/2020
59
Fonctions système de LMC058,
60
EIO0000004172 09/2020
Modicon LMC058 Motion Controller
Types de données de la bibliothèque de LMC058
EIO0000004172 09/2020
Chapitre 3
Types de données de la bibliothèque PLCSystem de LMC058
Types de données de la bibliothèque PLCSystem de LMC058
Présentation
Ce chapitre décrit les types de données de la bibliothèque PLCSystem de LMC058.
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 13)
(PLC_R, PLC_W,...) de la bibliothèque PLCSystem de LMC058.
 Les types de données de fonction système sont utilisés par les fonctions système (voir page 37)
de lecture/écriture de la bibliothèque PLCSystem de LMC058.
Contenu de ce chapitre
Ce chapitre contient les sous-chapitres suivants :
Sous-chapitre
Sujet
Page
3.1
Types de données de la variable système PLC_RW
62
3.2
Types de données des variables système DataFileCopy
73
3.3
Types de données des variables système ExecScript
74
3.4
Types de données de la variable système ETH_RW
75
3.5
Types de données des variables système TM5_MODULE_R/W
83
3.6
Types de données des fonctions système
84
EIO0000004172 09/2020
61
Types de données de la bibliothèque de LMC058
Sous-chapitre 3.1
Types de données de la variable système PLC_RW
Types de données de la variable système PLC_RW
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
62
Page
PLC_R_APPLICATION_ERROR : Codes d'état des erreurs de l'application détectées
63
PLC_R_BOOT_PROJECT_STATUS : codes d'état de projet de démarrage
65
PLC_R_IO_STATUS : codes d'état d'E/S
66
PLC_R_STATUS : codes d'état du contrôleur
67
PLC_R_STOP_CAUSE : codes expliquant le passage de l'état RUN à un autre état
68
PLC_R_TERMINAL_PORT_STATUS : codes d'état de la connexion du port de programmation
70
PLC_R_USB_HOST_STATUS : Codes des états de la connexion du port d'hôte USB
71
PLC_W_COMMAND : codes de commande de contrôle
72
EIO0000004172 09/2020
Types de données de la bibliothèque de LMC058
PLC_R_APPLICATION_ERROR : Codes d'état des erreurs de l'application détectées
Description du type Enumération
Le type de données Enumération PLC_R_APPLICATION_ERROR contient les valeurs suivantes :
Enumérateur
Valeur
PLC_R_APP_ERR_UNKNOWN
FFFF hex Erreur indéfinie
détectée.
Contactez le service local de
maintenance Schneider
Electric.
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 et
apportez les corrections
nécessaires, le cas échéant.
Voir Chiens de garde
système et tâche. Une
réinitialisation est
nécessaire pour entrer en
mode RUNNING.
PLC_R_APP_ERR_HARDWAREWATCHDOG
0011 hex
Chien de garde du
système expiré.
Si le problème est
reproductible, vérifiez qu’il
n’y a aucun port de
communication configuré
mais déconnecté. Si le
problème persiste, mettez à
jour le micrologiciel. Si le
problème persiste,
contactez votre Schneider
Electricservice d'assistance.
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
EcoStruxure Machine
Expert avec la dernière
version.
PLC_R_APP_ERR_IO_CONFIG_ERROR
EIO0000004172 09/2020
0012 hex
Commentaire
Que faire
63
Types de données de la bibliothèque de LMC058
Enumérateur
Valeur
Commentaire
PLC_R_APP_ERR_UNRESOLVED_ EXTREFS
0018 hex
Fonctions non définies Supprimez les fonctions non
détectées.
résolues de l'application.
PLC_R_APP_ERR_IEC_TASK_ CONFIG_ERROR
0025 hex
Il est possible que votre
Paramètres de
configuration de tâche application soit
endommagée. Pour
incorrects détectés.
résoudre ce problème,
utilisez l'une de ces
méthodes :
1. Compiler → Tout
nettoyer.
2. Exportez/Importez votre
application.
3. Mettez à niveau
EcoStruxure Machine
Expert avec 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.
PLC_R_APP_ERR_ACCESS_ VIOLATION
0051 hex
Tentative d'accès à la
zone mémoire
réservée.
Procédez au débogage de
votre application pour
résoudre le problème.
PLC_R_APP_ERR_DIVIDE_BY_ZERO
0102 hex
Division d'un entier
par 0 détectée.
Procédez au débogage de
votre application pour
résoudre le problème.
PLC_R_APP_ERR_PROCESSORLOAD_WATCHDOG
0105 hex
Le processeur est
suchargé par des
tâches d'application.
Réduisez la charge de travail
de l'application en
améliorant son architecture.
Augmentez la durée du cycle
de tâche.
Réduisez la fréquence des
événements.
PLC_R_APP_ERR_DIVIDE_REAL_ BY_ZERO
0152 hex
Division d'un réel par 0 Procédez au débogage de
détectée.
votre application pour
résoudre le problème.
PLC_R_APP_ERR_TOO_MANY_ EVENT
4E20 hex
Le débit des
événements d'E/S
externes est trop
élevé.
64
Que faire
Réduisez la fréquence des
événements E/S experts.
EIO0000004172 09/2020
Types de données de la bibliothèque de LMC058
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 non volatile.
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 non volatile est différent du
projet chargé dans la mémoire.
PLC_R_VALID_BOOT_PROJECT
FFFF hex
Le projet de démarrage en mémoire
non volatile est identique au projet
chargé dans la mémoire.
EIO0000004172 09/2020
65
Types de données de la bibliothèque de LMC058
PLC_R_IO_STATUS : codes d'état d'E/S
Description du type Enumération
Le type de données énumération PLC_R_IO_STATUS contient les valeurs suivantes :
66
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é.
Si le mode de réarmement est manuel,
PLC_R_IO_STATUS est réglé sur
PLC_R_IO_SHORTCUT_FAULT lorsque
l'alimentation est restaurée.
PLC_R_IO_POWER_SUPPLY_FAULT
0004 hex
Erreur d'alimentation des E/S détectée.
EIO0000004172 09/2020
Types de données de la bibliothèque de LMC058
PLC_R_STATUS : codes d'état du contrôleur
Description du type Enumération
Le type de données énuméré PLC_R_STATUS contient les valeurs suivantes :
Enumérateur
Valeur
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 (voir schéma d'état du contrôleur
dans le de votre contrôleur) guide de programmation.
PLC_R_BREAKPOINT
0008 hex
Le contrôleur s'est interrompu au point d'arrêt.
EIO0000004172 09/2020
Commentaire
67
Types de données de la bibliothèque de LMC058
PLC_R_STOP_CAUSE : codes expliquant le passage de l'état RUN à un autre état
Description du type Enumération
Le type de données énumération PLC_R_STOP_CAUSE contient les valeurs suivantes :
Enumérateur
Valeur
Commentaire
Que faire
PLC_R_STOP_REASON_ UNKNOWN
00 hex
La valeur initiale ou la
cause de l'arrêt n'est
pas déterminable.
Contactez le
représentant local
Schneider Electric.
PLC_R_STOP_REASON_HW_ WATCHDOG
01 hex
Arrêté suite au timeout Contactez le
représentant local
du chien de garde
Schneider Electric.
matériel
PLC_R_STOP_REASON_ RESET
02 hex
Arrêté suite à une
réinitialisation.
Voir les possibilités de
réinitialisation dans le
Schéma d'état du
contrôleur.
PLC_R_STOP_REASON_ EXCEPTION
03 hex
Arrêté suite à une
exception.
Vérifiez votre application,
et effectuez les
corrections si
nécessaire. Voir
Horloges de surveillance
du système et des
tâches. Une
réinitialisation est
nécessaire pour entrer
en mode Run.
PLC_R_STOP_REASON_ USER
04 hex
Arrêté suite à une
Voir la Commande Stop
requête de l'utilisateur. dans Commande de
transitions d'un état à un
autre.
PLC_R_STOP_REASON_ IECPROGRAM
05 hex
–
Arrêté suite à une
requête de commande
de programme (par
exemple, commande
de contrôle avec le
paramètre
PLC_W.q_wPLCCont
rol:=PLC_W_COMMA
ND.PLC_W_STOP;).
PLC_R_STOP_REASON_ DELETE
06 hex
Arrêté suite à une
commande de
suppression
d'application.
68
Voir Applications.
EIO0000004172 09/2020
Types de données de la bibliothèque de LMC058
Enumérateur
Valeur
Commentaire
Que faire
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, de
la clé USB ou de la
commande PLC_W
command.
–
PLC_R_STOP_FROM_INPUT
0B hex
Arrêt requis par une
entrée du contrôleur.
–
PLC_R_STOP_REASON_ RETAIN_MISMATCH
0C hex
Arrêté suite à un
échec du test de
vérification du
contexte lors du
redémarrage.
Certaines variables
conservées dans la
mémoire non volatile
n'existent pas dans
l'application en cours
d'exécution.
Vérifiez votre application,
effectuez les corrections
si nécessaire, puis
rétablissez l'application
de démarrage.
PLC_R_STOP_REASON_ BOOT_APPLI_MISMATCH
0D hex
Créez une application de
Arrêté suite à un
démarrage valide.
échec de la
comparaison entre
l'application de
démarrage et celle qui
était en mémoire avant
le redémarrage.
PLC_R_STOP_REASON_ POWERFAIL
0E hex
Arrêté suite à une
coupure de courant.
–
Pour plus d'informations sur les raisons de l'arrêt du contrôleur, consultez la section Description
des états du contrôleur.
EIO0000004172 09/2020
69
Types de données de la bibliothèque de LMC058
PLC_R_TERMINAL_PORT_STATUS : codes d'état de la connexion du port de
programmation
Description du type énumération
Le type de données énumération PLC_R_TERMINAL_PORT_STATUS contient les valeurs
suivantes :
Enumérateur
Valeur
TERMINAL_NOT_CONNECTED
00 hex
Aucun PC n'est connecté au port de programmation.
TERMINAL_CONNECTION_IN_PROGRESS
01 hex
Connexion en cours.
TERMINAL_CONNECTED
02 hex
PC connecté au port de programmation.
TERMINAL_ERROR
0F hex
Erreur détectée lors de la connexion.
70
Commentaire
EIO0000004172 09/2020
Types de données de la bibliothèque de LMC058
PLC_R_USB_HOST_STATUS : Codes des états de la connexion du port d'hôte USB
Type énumération - Description
Le type de données énumération PLC_R_USB_HOST_STATUS contient les valeurs suivantes :
Enumérateur
Valeur
Commentaire
USB_NOT_CONNECTED
00 hex
Aucun équipement (clé mémoire) connecté au port
d'hôte USB.
USB_CONNECTION_IN_PROGRESS
01 hex
Connexion en cours(1).
USB_CONNECTED
02 hex
Port d'hôte USB connecté à un équipement (clé
mémoire).
USB_ERROR
0F hex
Erreur détectée lors de la connexion.
(1) Les clés USB prises en charge répondent aux critères suivants :
 Capacité minimale de 1 Go
 Spécification USB 2.0 au plus
 Système de fichiers FAT16 ou FAT32
 Etiquette de volume impérativement définie
EIO0000004172 09/2020
71
Types de données de la bibliothèque de LMC058
PLC_W_COMMAND : codes de commande de contrôle
Description du type énumération
Le type de données énuméré PLC_W_COMMAND contient les valeurs suivantes :
72
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.
EIO0000004172 09/2020
Types de données de la bibliothèque de LMC058
Sous-chapitre 3.2
Types de données des variables système DataFileCopy
Types de données des variables système DataFileCopy
DataFileCopyError : codes d'erreurs détectées
Description du type énumération
Le type de données énumération DataFileCopyError contient les valeurs suivantes :
Enumérateur
Valeur
Description
ERR_NO_ERR
00 hex
Aucune erreur détectée.
ERR_FILE_NOT_FOUND
01 hex
Fichier inexistant.
ERR_FILE_ACCESS_REFUSED
02 hex
Ouverture du fichier impossible.
ERR_INCORRECT_SIZE
03 hex
Requête d'une taille différente de celle indiquée dans le
fichier.
ERR_CRC_ERR
04 hex
CRC incorrect. Le fichier est considéré comme
endommagé.
ERR_INCORRECT_MAC
05 hex
Le contrôleur tentant de lire le fichier n'a pas la même
adresse MAC que celle indiquée dans le fichier.
EIO0000004172 09/2020
73
Types de données de la bibliothèque de LMC058
Sous-chapitre 3.3
Types de données des variables système ExecScript
Types de données des variables système ExecScript
ExecuteScriptError : codes d'erreurs détectées
Description du type énumération
Le type de données énumération ExecuteScriptError contient les valeurs suivantes :
74
Enumérateur
Valeur
Description
CMD_OK
00 hex
Aucune erreur détectée.
ERR_CMD_UNKNOWN
01 hex
La commande n'est pas valide.
ERR_USB_KEY_MISSING
02 hex
Clé USB absente.
ERR_SEE_FWLOG
03 hex
Erreur détectée lors de l'exécution de la
commande, voir FwLog.txt. Pour plus
d'informations, reportez-vous à la section Type
de fichier.
ERR_ONLY_ONE_COMMAND_ALLOWED
04 hex
Tentative d'exécution de plusieurs scripts
simultanément.
CMD_BEING_EXECUTED
05 hex
Un script est déjà en cours.
EIO0000004172 09/2020
Types de données de la bibliothèque de LMC058
Sous-chapitre 3.4
Types de données de la variable système ETH_RW
Types de données de la variable système ETH_RW
Présentation
Cette section répertorie et décrit les types de données de variable système, inclus dans les
structures ETH_R et ETH_W.
Contenu de ce sous-chapitre
Ce sous-chapitre contient les sujets suivants :
Sujet
Page
ETH_R_IP_MODE : codes sources d'adresse IP
76
ETH_R_FRAME_PROTOCOL : codes de protocole de transmission de trames
77
ETH_R_PORT_DUPLEX_STATUS : codes du mode de transmission
78
ETH_R_PORT_LINK_STATUSETH_R_PORT_LINK_STATUS : codes d'état de la liaison de
communication
79
ETH_R_PORT_SPEED : codes de la vitesse de communication des ports Ethernet
80
ETH_R_PORT_IP_STATUSETH_R_PORT_IP_STATUS : codes d'état du port TCP/IP
Ethernet
81
ETH_R_RUN_IDLEETH_R_RUN_IDLE : codes d'état fonctionnement et attente Ethernet/IP
82
EIO0000004172 09/2020
75
Types de données de la bibliothèque de LMC058
ETH_R_IP_MODE : codes sources d'adresse IP
Description du type énumération
Le type de données énuméré ETH_R_IP_MODE contient les valeurs suivantes :
76
Enumérateur
Valeur
Commentaire
ETH_R_STORED
00 hex
L'adresse IP stockée est utilisée.
ETH_R_BOOTP
01 hex
Le protocole Bootstrap (BOOTP) permet d'obtenir une adresse IP.
ETH_R_DHCP
02 hex
Le protocole DHCP est utilisé pour obtenir une adresse IP.
ETH_DEFAULT_IP
FF hex
L'adresse IP par défaut est utilisée.
EIO0000004172 09/2020
Types de données de la bibliothèque de LMC058
ETH_R_FRAME_PROTOCOL : codes de protocole de transmission de trames
Description du type énumération
Le type de données énuméré ETH_R_FRAME_PROTOCOL contient les valeurs suivantes :
Enumérateur
Valeur
Commentaire
ETH_R_802_3
00 hex
Le protocole utilisé pour la transmission des trames est
IEEE 802.3.
ETH_R_ETHERNET_II
01 hex
Le protocole utilisé pour la transmission des trames est Ethernet II.
EIO0000004172 09/2020
77
Types de données de la bibliothèque de LMC058
ETH_R_PORT_DUPLEX_STATUS : codes du mode de transmission
Description du type énumération
Le type de données énumération ETH_R_PORT_DUPLEX_STATUS contient les valeurs suivantes :
78
Enumérateur
Valeur
Commentaire
ETH_R_PORT_HALF_DUPLEX
00 hex
Le mode de transmission en semi-duplex est utilisé.
ETH_R_FULL_DUPLEX
01 hex
Le mode de transmission en duplex intégral est
utilisé.
EIO0000004172 09/2020
Types de données de la bibliothèque de LMC058
ETH_R_PORT_LINK_STATUSETH_R_PORT_LINK_STATUS : codes d'état de la
liaison de communication
Description du type énumération
Le type de données énumération ETH_R_PORT_LINK_STATUS contient les valeurs suivantes :
Enumérateur
Valeur
Commentaire
ETH_R_LINK_DOWN
00 hex
Liaison de communication du serveur vers l'équipement.
ETH_R_LINK_UP
01 hex
Liaison de communication de l'équipement vers le serveur.
EIO0000004172 09/2020
79
Types de données de la bibliothèque de LMC058
ETH_R_PORT_SPEED : codes de la vitesse de communication des ports Ethernet
Description du type énumération
Le type de données énumération ETH_R_PORT_SPEED contient les valeurs suivantes :
80
Enumérateur
Valeur
Commentaire
ETH_R_SPEED_10_MB
10 déc
Le débit réseau est de 10 mégabits par seconde.
ETH_R_100_MB
100 déc
Le débit réseau est de 100 mégabits par seconde.
EIO0000004172 09/2020
Types de données de la bibliothèque de LMC058
ETH_R_PORT_IP_STATUSETH_R_PORT_IP_STATUS : codes d'état du port TCP/IP
Ethernet
Description du type énumération
Le type de données énumération ETH_R_PORT_IP_STATUS contient les valeurs suivantes :
Enumérateur
Valeur
Commentaire
WAIT_FOR_PARAMS
00 hex
Attente de paramètres.
WAIT_FOR_CONF
01 hex
Attente de configuration.
DATA_EXCHANGE
02 hex
Prêt pour l'échange de données.
ETH_ERROR
03 hex
Erreur détectée sur le port TCP/IP Ethernet (câble déconnecté,
configuration non valide, etc.).
DUPLICATE_IP
04 hex
L'adresse IP est déjà utilisée par un autre équipement.
EIO0000004172 09/2020
81
Types de données de la bibliothèque de LMC058
ETH_R_RUN_IDLEETH_R_RUN_IDLE : codes d'état fonctionnement et attente
Ethernet/IP
Description du type énumération
Le type de données énumération ETH_R_RUN_IDLE contient les valeurs suivantes :
82
Enumérateur
Valeur
Commentaire
IDLE
00 hex
La connexion EtherNet/IP est en attente.
RUN
01 hex
La connexion EtherNet/IP est en fonctionnement.
EIO0000004172 09/2020
Types de données de la bibliothèque de LMC058
Sous-chapitre 3.5
Types de données des variables système TM5_MODULE_R/W
Types de données des variables système TM5_MODULE_R/W
TM5_MODULE_STATE : Codes des états du module d'extension TM5
Type énumération - Description
Le type de données énumération TM5_MODULE_STATE contient les valeurs suivantes :
Enumérateur
Valeur
Commentaire
TM5_INACTIVE
00 hex
Machine d'état inactive.
TM5_BOOT
0A hex
Démarrage en cours.
TM5_FWDNLD
0B hex
Téléchargement du micrologiciel en cours.
TM5_PREOP
14 hex
Initialisation de base.
TM5_OPERATE
1E hex
Initialisation du registre.
TM5_ACTIVE
64 hex
La communication du module est active.
TM5_ERROR
C8 hex
Module en état d'erreur détectée.
TM5_UNSUP
C9 hex
Module TM5 non pris en charge.
TM5_NOCFG
CA hex
Aucune configuration disponible.
EIO0000004172 09/2020
83
Types de données de la bibliothèque de LMC058
Sous-chapitre 3.6
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 LMC058.
Contenu de ce sous-chapitre
Ce sous-chapitre contient les sujets suivants :
Sujet
84
Page
LED_ID : codes du paramètre LedId de la fonction SetLEDBehaviour
85
LED_BHV : Codes des paramètres LedBhv de la fonction SetLEDBehaviour
86
LED_BHV_ERROR : codes des erreurs détectées de la fonction SetLEDBehaviour
87
MINUTE : codes du paramètre LedColor de la fonction SetLEDBehaviour
88
RTCSETDRIFT_ERROR : codes des erreurs détectées pour la fonction SetRTCDrift
89
DAY_OF_WEEK : codes des paramètres de la fonction jour de SetRTCDrift
90
HOUR : type du paramètre d'heure de la fonction SetRTCDrift
91
MINUTE : type de paramètre de la fonction minute de SetRTCDrift
92
EIO0000004172 09/2020
Types de données de la bibliothèque de LMC058
LED_ID : codes du paramètre LedId de la fonction SetLEDBehaviour
Description du type énumération
Le type de données énumération LED_ID contient les valeurs suivantes :
Enumérateur
Valeur
Commentaire
LED_0
00 hex
Identificateur du voyant APP0 de l'application.
LED_1
01 hex
Identificateur du voyant APP1 de l'application.
EIO0000004172 09/2020
85
Types de données de la bibliothèque de LMC058
LED_BHV : Codes des paramètres LedBhv de la fonction SetLEDBehaviour
Type énumération - Description
Le type de données énumération LED_BHV contient les valeurs suivantes :
Enumérateur
Valeur
Commentaire
LED_3_FLASH
-3 dec
Le voyant d'état clignote en mode 3 (voir diagramme ci-dessous).
LED_2_FLASH
-2 dec
Le voyant d'état clignote en mode 2 (voir diagramme ci-dessous).
LED_1_FLASH
-1 dec
Le voyant d'état clignote en mode 1 (voir diagramme ci-dessous).
LED_OFF
0 dec
Le voyant d'état est éteint en permanence.
LED_ON
1 dec
Le voyant d'état est allumé en permanence.
LED_BLINK
2 dec
Le voyant d'état clignote à 2,5 Hz (voir diagramme ci-dessous).
LED_FLICK
3 dec
Le voyant d'état clignote à 10 Hz (voir diagramme ci-dessous).
Le diagramme suivant décrit les modes de clignotement des voyants Application LED_x_FLASH :
Le diagramme suivant décrit les modes de clignotement des voyants Application LED_BLINK et
LED_FLICK :
86
EIO0000004172 09/2020
Types de données de la bibliothèque de LMC058
LED_BHV_ERROR : codes des erreurs détectées de la fonction SetLEDBehaviour
Description du type énumération
Le type de données énumération LED_BHV_ERROR contient les valeurs suivantes :
Enumérateur
Valeur
Commentaire
NO_ERROR
00 hex
Fonction de paramétrage du comportement du voyant exécutée
sans détection d'erreur.
UNKNOWN_LED
01 hex
Le paramètre LED_ID est inconnu.
UNKNOWN_COLOR
02 hex
Le paramètre LED_COLOR est inconnu.
UNKNOWN_STATE
03 hex
L'état du voyant, contenu dans le paramètre LED_BHV, est
inconnu.
FIRMWARE_ERROR
04 hex
Commande rejetée par le micrologiciel suite à la détection d'une
erreur.
EIO0000004172 09/2020
87
Types de données de la bibliothèque de LMC058
MINUTE : codes du paramètre LedColor de la fonction SetLEDBehaviour
Description du type énumération
Le type de données énumération LED_COLOR contient les valeurs suivantes :
88
Enumérateur
Valeur
Commentaire
LED_RED
00 hex
Le voyant s'allume en rouge.
LED_GREEN
01 hex
Le voyant s'allume en vert.
EIO0000004172 09/2020
Types de données de la bibliothèque de LMC058
RTCSETDRIFT_ERROR : codes des erreurs détectées pour la fonction
SetRTCDrift
Description du type énumération
Le type de données énumération RTCSETDRIFT_ERROR contient les valeurs suivantes :
Enumérateur
Valeur
Commentaire
RTC_OK
00 hex
L'écart de l'horodateur est configuré correctement.
RTC_BAD_DAY
01 hex
Paramètre de jour inconnu.
RTC_BAD_HOUR
02 hex
Paramètre d'heure inconnu.
RTC_BAD_MINUTE
03 hex
Paramètre de minute inconnu.
RTC_BAD_DRIFT
04 hex
Paramètre d'écart de l'horodateur hors limites.
RTC_INTERNAL_ERROR
05 hex
Paramètres d'écart de l'horodateur rejetés sur détection
d'une erreur interne.
EIO0000004172 09/2020
89
Types de données de la bibliothèque de LMC058
DAY_OF_WEEK : codes des paramètres de la fonction jour de SetRTCDrift
Description du type énuméré
Le type de données énuméré contient les valeurs suivantes :
90
Enumérateur
Valeur
Commentaire
MONDAY
01 hex
Règle le jour de la semaine sur lundi.
TUESDAY
02 hex
Règle le jour de la semaine sur mardi.
WEDNESDAY
03 hex
Règle le jour de la semaine sur mercredi.
THURSDAY
04 hex
Règle le jour de la semaine sur jeudi.
FRIDAY
05 hex
Règle le jour de la semaine sur vendredi.
SATURDAY
06 hex
Règle le jour de la semaine sur samedi.
SUNDAY
07 hex
Règle le jour de la semaine sur dimanche.
EIO0000004172 09/2020
Types de données de la bibliothèque de LMC058
HOUR : type du paramètre d'heure de la fonction SetRTCDrift
Description du type de données
Ce type de données contient les valeurs horaires de 0 à 23.
EIO0000004172 09/2020
91
Types de données de la bibliothèque de LMC058
MINUTE : type de paramètre de la fonction minute de SetRTCDrift
Description du type de données
Ce type de données contient les minutes de 0 à 59.
92
EIO0000004172 09/2020
Modicon LMC058 Motion Controller
EIO0000004172 09/2020
Annexes
EIO0000004172 09/2020
93
94
EIO0000004172 09/2020
Modicon LMC058 Motion Controller
Représentation des fonctions et blocs fonction
EIO0000004172 09/2020
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
96
Utilisation d'une fonction ou d'un bloc fonction en langage IL
97
Utilisation d'une fonction ou d'un bloc fonction en langage ST
101
EIO0000004172 09/2020
95
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 :
96
EIO0000004172 09/2020
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 :
Étape
Action
1
Ouvrez ou créez une POU en langage IL (Instruction List, ou liste d'instructions).
NOTE : La procédure de création d'une POU n'est pas détaillée ici. Pour plus d'informations, reportez-vous
à la section Ajout et appel de POU.
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 sélectionner la fonction (sélectionnez Insérer l'appel de module dans le menu
contextuel).
5
Si la fonction a plus d'une entrée et que l'assistant Aide à la saisie est utilisé, 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 compte tenu 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 le nom de la variable dans le champ de
droite.
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
EIO0000004172 09/2020
97
Représentation des fonctions et blocs fonction
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
Exemple en IL d'une
fonction sans paramètre
d'entrée :
IsFirstMastCycle
Exemple IL d'une
fonction avec des
paramètres d'entrée :
SetRTCDrift
98
EIO0000004172 09/2020
Représentation des fonctions et blocs fonction
Utilisation d'un bloc fonction en langage IL
La procédure suivante explique comment insérer un bloc fonction en langage IL :
Étape Action
1
Ouvrez ou créez une POU en langage IL (Instruction List, ou liste d'instructions).
NOTE : La procédure de création d'une POU n'est pas détaillée ici. Pour plus d'informations,
reportez-vous à la section Ajout et appel de POU.
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.
Pour illustrer la procédure, utilisons le bloc fonction TON représenté graphiquement ci-après :
Bloc fonction
Représentation graphique
TON
EIO0000004172 09/2020
99
Représentation des fonctions et blocs fonction
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
TON
100
EIO0000004172 09/2020
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 :
Étape
Action
1
Ouvrez ou créez une POU en langage ST (Structured Text ou Littéral structuré).
NOTE : La procédure de création d'une POU n'est pas détaillée ici. Pour plus d'informations,
reportez-vous à la section Ajout et appel de POU.
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
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);
EIO0000004172 09/2020
101
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 :
Étape Action
1
Ouvrez ou créez une POU en langage ST (Structured Text ou Littéral structuré).
NOTE : La procédure de création d'une POU n'est pas détaillée ici. Pour plus
d'informations, reportez-vous à la section Ajout et appel de POU.
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 :
FunctionBlock_InstanceName(Input1:=VarInput1,
Input2:=VarInput2,... Ouput1=>VarOutput1,
Ouput2=>VarOutput2,...);
Pour illustrer la procédure, examinez cet exemple avec le bloc fonction TON représenté
graphiquement ci-après :
Bloc fonction
Représentation graphique
TON
102
EIO0000004172 09/2020
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
TON
EIO0000004172 09/2020
103
Représentation des fonctions et blocs fonction
104
EIO0000004172 09/2020
Modicon LMC058 Motion Controller
Glossaire
EIO0000004172 09/2020
Glossaire
!
%
%MW
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.
Selon la norme IEC, %MW représente un registre de mots mémoire (par exemple, un objet
langage de type mot mémoire).
A
adresse MAC
(media access control) Nombre unique sur 48 bits associé à un élément matériel spécifique.
L'adresse MAC est programmée dans chaque carte réseau ou équipement lors de la fabrication.
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 Logic Controller. La syntaxe est la suivante : ARRAY [<dimension>] OF
<Type>
Exemple 1 : ARRAY [1..2] OF BOOL est un tableau à 1 dimension comportant 2 éléments de
type BOOL.
Exemple 2 : ARRAY [1..10, 1..20] OF INT est un tableau à 2 dimensions comportant
10 x 20 éléments de type INT.
B
bloc fonction
Unité de programmation qui possède 1 ou plusieurs entrées et renvoie 1 ou plusieurs sorties. Les
blocs fonction (FBs) sont appelés via une instance (copie du bloc fonction avec un nom et des
variables dédiés) et chaque instance a un état persistant (sorties et variables internes) d'un appel
au suivant.
Exemples : temporisateurs, compteurs
EIO0000004172 09/2020
105
Glossaire
BOOL
(booléen) Type de données informatique standard. Une variable de type BOOL peut avoir l'une des
deux valeurs suivantes : 0 (FALSE), 1 (TRUE). Un bit extrait d'un mot est de type BOOL ; par
exemple, %MW10.4 est le cinquième bit d'un mot mémoire numéro 10.
BOOTP
(bootstrap protocol). Protocole réseau UDP qu'un client réseau peut utiliser pour obtenir automatiquement une adresse IP (et éventuellement d'autres données) à partir d'un serveur. Le client
s'identifie auprès du serveur à l'aide de son adresse MAC. Le serveur, qui gère un tableau
préconfiguré des adresses MAC des équipements client et des adresses IP associées, envoie au
client son adresse IP préconfigurée. A l'origine, le protocole BOOTP était utilisé pour amorcer à
distance les hôtes sans lecteur de disque à partir d'un réseau. Le processus BOOTP affecte une
adresse IP de durée illimitée. Le service BOOTP utilise les ports UDP 67 et 68.
C
CAN
CFC
chaîne
Acronyme de Controller Area Network. Protocole (ISO 11898) pour réseaux de bus série qui
assure l'interconnexion d'équipements intelligents (de différentes marques) dans des systèmes
intelligents pour les applications industrielles en temps réel. Développé initialement pour l'industrie
automobile, le protocole CAN est désormais utilisé dans tout un éventail d'environnements de
surveillance d'automatisme.
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.
Variable composée d'une série de caractères ASCII.
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.
106
EIO0000004172 09/2020
Glossaire
CRC
Contrôle de redondance cyclique. Méthode utilisée pour déterminer la validité d'une transmission
de communication. La transmission contient un champ de bits qui constitue un total de contrôle.
Le message est utilisé pour le calcul de ce total de contrôle par l'émetteur en fonction du contenu
du message. Les noeuds récepteurs recalculent ensuite ce champ de la même manière. Tout écart
entre les deux calculs de CRC indique que le message émis et le message reçu sont différents.
D
DHCP
Acronyme de dynamic host configuration protocol. Extension avancée du protocole BOOTP. Bien
que DHCP soit plus avancé, DHCP et BOOTP sont tous les deux courants. (DHCP peut gérer les
requêtes de clients BOOTP.)
DWORD
Abréviation de double word, mot double. Codé au format 32 bits.
E
E/S
Entrée/sortie
Ethernet
Technologie de couche physique et de liaison de données pour les réseaux locaux (LANs)
également appelée IEEE 802.3.
EtherNet/IP
Acronyme de Ethernet Industrial Protocol, protocole industriel Ethernet. Protocole de
communication ouvert pour les solutions d'automatisation de la production dans les systèmes
industriels. EtherNet/IP est une famille de réseaux mettant en œuvre le protocole CIP au niveau
des couches supérieures. L'organisation ODVA spécifie qu'EtherNet/IP permet une adaptabilité
générale et une indépendance des supports.
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.
EIO0000004172 09/2020
107
Glossaire
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.
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. Permet de gérer les variables
globales d'un projet EcoStruxure Machine Expert.
H
hex
(hexadécimal)
I
ID
IEC
(identificateur/identification)
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.
IEC 61131-3
Partie 3 d'une norme en 3 parties de l'IEC pour les équipements d'automatisation industriels. La
norme IEC 61131-3 traite des langages de programmation des contrôleurs. Elle définit 2 normes
pour la programmation graphique et 2 normes pour la programmation textuelle. Les langages de
programmation graphiques sont le schéma à contacts (LD) et le langage à blocs fonction (FBD).
Les langages textuels comprennent le texte structuré (ST) et la liste d'instructions (IL).
IEEE 802.3
Ensemble de normes IEEE définissant la couche physique et la sous-couche MAC de la couche
de liaison de données de l'Ethernet câblé.
108
EIO0000004172 09/2020
Glossaire
IL
INT
IP
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.
Acronyme de Internet Protocol, protocole Internet. Le protocole IP fait partie de la famille de
protocoles TCP/IP, qui assure le suivi des adresses Internet des équipements, achemine les
messages sortants et reconnaît les messages entrants.
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
LED
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).
Acronyme de light emitting diode, diode électroluminescente (DEL). Indicateur qui s'allume sous
l'effet d'une charge électrique de faible niveau.
LWORD
Abréviation de long word, mot long. Type de données codé sur 64 bits.
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 l'exécution de la tâche MAST.
 OUT : les sorties sont copiées dans la section OUT après l'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.
EIO0000004172 09/2020
109
Glossaire
O
octet
Type codé sur 8 bits, de 00 à FF au format hexadécimal.
P
PLC
POU
Acronyme de programmable logic controller, Logic Controller 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.
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 Logic Controller.
protocole
Convention ou définition standard qui contrôle ou permet la connexion, la communication et le
transfert de données entre 2 systèmes informatiques et leurs équipements.
PWM
Acronyme de pulse width modulation, modulation de largeur d'impulsion. Sortie rapide qui oscille
entre OFF et ON au cours d'un cycle de service réglable, ce qui produit une forme d'onde
rectangulaire (ou carrée selon le réglage).
R
réseau
110
Système d'équipements interconnectés qui partageant un chemin de données et un protocole de
communications communs.
EIO0000004172 09/2020
Glossaire
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.
RTC
run
Acronyme de real-time clock, horloge en temps réel. Horloge horaire et calendaire supportée par
une batterie qui fonctionne en continu, même lorsque le contrôleur n'est pas alimenté, jusqu'à la
fin de l'autonomie de la batterie.
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.
S
sortie réflexe
Parmi les sorties de HSC (compteur rapide), les sorties réflexes sont associées à une valeur seuil
qui est comparée à la valeur de comptage conformément à la configuration du HSC. Les sorties
réflexes passent à l'état ON ou OFF en fonction de la relation configurée avec le seuil.
ST
STOP
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.
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.
EIO0000004172 09/2020
111
Glossaire
TCP
Acronyme de transmission control protocol, protocole de contrôle de transmission. Protocole de
couche de transport basé sur la connexion qui assure la transmission de données simultanée dans
les deux sens. Le protocole TCP fait partie de la suite de protocoles TCP/IP.
U
UDINT
UINT
Abréviation de unsigned double integer, entier double non signé. Valeur codée sur 32 bits.
Abréviation de unsigned integer, entier non signé. Valeur codée sur 16 bits.
V
variable
Unité de mémoire qui est adressée et modifiée par un programme.
variable non localisée
Variable qui n'a pas d'adresse (voir variable localisée).
variable système
Variable qui fournit des données de contrôleur et des informations de diagnostic et permet
d'envoyer des commandes au contrôleur.
W
WORD
112
Type de données codé sur 16 bits.
EIO0000004172 09/2020
Modicon LMC058 Motion Controller
Index
EIO0000004172 09/2020
Index
B
blocs fonction
FB_ControlClone, 54
C
commandes de copie de fichier
DataFileCopy, 55
commandes de script
ExecuteScript, 58
cycle
IsFirstMastColdCycle, 42
IsFirstMastCycle, 43
IsFirstMastWarmCycle, 45
D
DataFileCopy
copie de données dans ou depuis un fichier, 55
DataFileCopyError
types de données, 73
DAY_OF_WEEK
types de données, 90
DM72F•SetImmediateOutput•
fonctions, 47
DM72FGetImmediateInput
fonctions, 39
E
ETH_R
variable système, 30
ETH_R_FRAME_PROTOCOL
types de données, 77
ETH_R_IP_MODE
types de données, 76
ETH_R_PORT_DUPLEX_STATUS
types de données, 78
EIO0000004172 09/2020
ETH_R_PORT_LINK_STATUS
types de données, 79
ETH_R_PORT_SPEED
types de données, 80
ETH_W
variable système, 34
ExecuteScript
exécution de commandes de script, 58
ExecuteScriptError
types de données, 74
F
FB_ControlClone
bloc fonction, 54
fonctions
différences entre une fonction et un bloc
fonction, 96
DM72F•SetImmediateOutput•, 47
DM72FGetImmediateInput, 39
getTM5Delay, 40
SetLEDBehaviour, 49
utilisation d'une fonction ou d'un bloc
fonction en langage IL, 97
utilisation d'une fonction ou d'un bloc
fonction en langage ST, 101
G
getTM5Delay
fonctions, 40
H
horodateur
SetRTCDrift, 51, 51
HOUR
types de données, 91
113
Index
I
IsFirstMastColdCycle
premier cycle de démarrage à froid, 42
IsFirstMastCycle
premier cycle de Mast, 43
IsFirstMastWarmCycle
premier cycle de démarrage à chaud, 45
L
LED_BHV
types de données, 86
LED_BHV_ERROR
types de données, 87
LED_COLOR
types de données, 88
LED_ID
types de données, 85
M
M241 PLCSystem
DataFileCopy, 55
ExecuteScript, 58
IsFirstMastColdCycle, 42
IsFirstMastCycle, 43
IsFirstMastWarmCycle, 45
MINUTE
types de données, 92
P
PLC_R
variable système, 20
PLC_R_APPLICATION_ERROR
types de données, 63
PLC_R_BOOT_PROJECT_STATUS
types de données, 65
PLC_R_IO_STATUS
types de données, 66
PLC_R_STATUS
types de données, 67
PLC_R_STOP_CAUSE
types de données, 68
114
PLC_R_TERMINAL_PORT_STATUS
types de données, 70
PLC_R_USB_HOST_STATUS
types de données, 71
PLC_W
variable système, 25
PLC_W_COMMAND
types de données, 72
PROFIBUS_R, 36
type de données, 36
R
RTCSETDRIFT_ERROR
types de données, 89
S
SERIAL_R
variable système, 27
SERIAL_W
variable système, 28
SetLEDBehaviour
fonctions, 49
SetRTCDrift
accélération ou ralentissement de la fréquence de l'horodateur, 51
T
TM5_MODULE_R
variable système, 35
TM5_MODULE_STATE
types de données, 83
type de données
PLC_R_STOP_CAUSE, 68
PROFIBUS_R, 36
EIO0000004172 09/2020
Index
types de données, 79, 81, 82
DataFileCopyError, 73
DAY_OF_WEEK, 90
ETH_R_FRAME_PROTOCOL, 77
ETH_R_IP_MODE, 76
ETH_R_PORT_DUPLEX_STATUS, 78
ETH_R_PORT_SPEED, 80
ExecuteScriptError, 74
HOUR, 91
LED_BHV, 86
LED_BHV_ERROR, 87
LED_COLOR, 88
LED_ID, 85
MINUTE, 92
PLC_R_APPLICATION_ERROR, 63
PLC_R_BOOT_PROJECT_STATUS, 65
PLC_R_IO_STATUS, 66
PLC_R_STATUS, 67
PLC_R_TERMINAL_PORT_STATUS, 70
PLC_R_USB_HOST_STATUS, 71
PLC_W_COMMAND, 72
RTCSETDRIFT_ERROR, 89
TM5_MODULE_STATE, 83
V
variable système
ETH_R, 30
ETH_W, 34
PLC_R, 20
PLC_W, 25
SERIAL_R, 27
SERIAL_W, 28
TM5_MODULE_R, 35
variables système
définition, 15
utilisation, 17
EIO0000004172 09/2020
115
Index
116
EIO0000004172 09/2020

Manuels associés