▼
Scroll to page 2
of
68
Magelis SCU EIO0000001247 12/2016 Magelis SCU HMI Controller Guide de la bibliothèque PLCSystem EIO0000001247.03 12/2016 www.schneider-electric.com Le présent document comprend des descriptions générales et/ou des caractéristiques techniques des produits mentionnés. Il ne peut pas être utilisé pour définir ou déterminer l'adéquation ou la fiabilité de ces produits pour des applications utilisateur spécifiques. Il incombe à chaque utilisateur ou intégrateur de réaliser l'analyse de risques complète et appropriée, l'évaluation et le test des produits pour ce qui est de l'application à utiliser et de l'exécution de cette application. Ni la société Schneider Electric ni aucune de ses sociétés affiliées ou filiales ne peuvent être tenues pour responsables de la mauvaise utilisation des informations contenues dans le présent document. Si vous avez des suggestions, des améliorations ou des corrections à apporter à cette publication, veuillez nous en informer. Aucune partie de ce document ne peut être reproduite sous quelque forme ou par quelque moyen que ce soit, électronique, mécanique ou photocopie, sans autorisation préalable de Schneider Electric. Toutes les réglementations de sécurité pertinentes locales doivent être observées lors de l'installation et de l'utilisation de ce produit. Pour des raisons de sécurité et afin de garantir la conformité aux données système documentées, seul le fabricant est habilité à effectuer des réparations sur les composants. Lorsque des équipements sont utilisés pour des applications présentant des exigences techniques de sécurité, suivez les instructions appropriées. La non-utilisation du logiciel Schneider Electric ou d'un logiciel approuvé avec nos produits matériels peut entraîner des blessures, des dommages ou un fonctionnement incorrect. Le non-respect de cette consigne peut entraîner des lésions corporelles ou des dommages matériels. © 2016 Schneider Electric. Tous droits réservés. 2 EIO0000001247 12/2016 Table des matières Consignes de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . A propos de ce manuel. . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 1 Variables système du contrôleur HMI SCU . . . . . . . . . . 1.1 Variables système : définition et utilisation . . . . . . . . . . . . . . . . . . . . . Présentation des variables système . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation des variables système . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Structures PLC_R et PLC_W. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PLC_R : variables système en lecture seule de contrôleur . . . . . . . . . PLC_W : Variables en lecture/écriture du contrôleur . . . . . . . . . . . . . . 1.3 Structures SERIAL_W . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SERIAL_W[0] : Variables système en lecture/écriture de ligne série . Chapitre 2 Fonctions système de HMI SCU . . . . . . . . . . . . . . . . . . 2.1 Fonctions de lecture du HMI SCU . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetBatteryLevel : Renvoie le niveau de charge de la batterie . . . GetLocalAIOStatus : Renvoie l'état des E/S analogiques intégrées GetLocalIOStatus : Renvoie l'état des E/S intégrées . . . . . . . . . . GetShortCutStatus : Renvoie l'état de court-circuit sur les sorties intégrées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetTempStatus : Renvoie l'état des entrées de température. . . . . . IsFirstMastColdCycle : Indique si le cycle est le premier cycle de MAST après démarrage à froid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IsFirstMastCycle : Indique si le cycle est le premier cycle MAST IsFirstMastWarmCycle : Indique si le cycle est le premier cycle MAST après un démarrage à chaud . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 3 Types de données de la bibliothèque PLCSystem du HMI SCU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Types de données des variables système PLC_R/W . . . . . . . . . . . . . PLC_R_APPLICATION_ERROR : Codes d'état des erreurs de l'application détectées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PLC_R_BOOT_PROJECT_STATUS : Codes d'état du projet de démarrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PLC_R_IO_STATUS : Codes d'état d'E/S . . . . . . . . . . . . . . . . . . . . . . PLC_R_STATUS : codes d'état du contrôleur . . . . . . . . . . . . . . . . . . . PLC_R_STOP_CAUSE : Codes des causes de passage de l'état RUN à un autre état . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PLC_W_COMMAND : codes de commande de contrôle . . . . . . . . . . EIO0000001247 12/2016 5 7 13 14 15 17 19 20 22 23 23 25 26 27 28 29 31 32 33 34 35 37 38 39 40 41 42 43 44 3 3.2 Types de données des fonctions système . . . . . . . . . . . . . . . . . . . . . . FIRMWARE_VERSION : type de sortie de la fonction GetFirmwareVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BOOT_PROJECT_STATUS : Codes de sortie de la fonction GetBootProjectStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . STOP_WHY : Codes de sortie de la fonction GetLastStopCause . . LOCAL_IO_GET_STATUS : codes de paramètre de la fonction GetLocalIOStatus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LOCAL_IO_GEN_STATUS : GetLocalIOStatus Codes de sortie de fonction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Annexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Annexe A Représentation des fonctions et blocs fonction . . . . . . . . Différences entre une fonction et un bloc fonction . . . . . . . . . . . . . . . . Utilisation d'une fonction ou d'un bloc fonction en langage IL . . . . . . . Utilisation d'une fonction ou d'un bloc fonction en langage ST . . . . . . Glossaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 45 46 47 48 49 50 51 53 54 55 59 63 67 EIO0000001247 12/2016 Consignes de sécurité Informations importantes AVIS Lisez attentivement ces instructions et examinez le matériel pour vous familiariser avec l'appareil avant de tenter de l'installer, de le faire fonctionner, de le réparer ou d'assurer sa maintenance. Les messages spéciaux suivants que vous trouverez dans cette documentation ou sur l'appareil ont pour but de vous mettre en garde contre des risques potentiels ou d'attirer votre attention sur des informations qui clarifient ou simplifient une procédure. EIO0000001247 12/2016 5 REMARQUE IMPORTANTE L'installation, l'utilisation, la réparation et la maintenance des équipements électriques doivent être assurées par du personnel qualifié uniquement. Schneider Electric décline toute responsabilité quant aux conséquences de l'utilisation de ce matériel. Une personne qualifiée est une personne disposant de compétences et de connaissances dans le domaine de la construction, du fonctionnement et de l'installation des équipements électriques, et ayant suivi une formation en sécurité leur permettant d'identifier et d'éviter les risques encourus. 6 EIO0000001247 12/2016 A propos de ce manuel Présentation Objectif du document Ce document présente les fonctions et variables système proposées par le contrôleur HMI SCU. La bibliothèque PLCSystem du HMI SCU contient des fonctions et des variables permettant d'obtenir des informations du système du contrôleur et d'y envoyer des commandes. Ce document décrit les types de données, fonctions et variables de la bibliothèque PLCSystem du HMI SCU. Les connaissances de base requises sont les suivantes : connaissances de base sur les fonctionnalités, la structure et la configuration du contrôleur HMI SCU programmation en langages FBD, LD, ST, IL ou CFC variables système (variables globales) Champ d'application Ce document a été actualisé pour le lancement de SoMachine V4.2. Document(s) à consulter Titre de documentation Référence Magelis SCU HMI Controller - Guide de programmation EIO0000001240 (Eng), EIO0000001241 (Fre), EIO0000001242 (Ger), EIO0000001243 (Spa), EIO0000001244 (Ita), EIO0000001245 (Chs) Magelis SCU HMI Controller - Guide de la bibliothèque HSC EIO0000001512 (eng), EIO0000001513 (fre), EIO0000001514 (ger), EIO0000001515 (spa), EIO0000001516 (ita), EIO0000001517 (chs) EIO0000001247 12/2016 7 Titre de documentation Référence Magelis SCU HMI Controller - Guide de la bibliothèque PTO/PWM EIO0000001518 (eng), EIO0000001519 (fre), EIO0000001520 (ger), EIO0000001521 (spa), EIO0000001522 (ita), EIO0000001523 (chs) Guide de la bibliothèque PLCCommunication EIO0000000361 (eng), EIO0000000742 (fre), EIO0000000743 (ger), EIO0000000744 (spa), EIO0000000745 (ita), EIO0000000746 (chs) Magelis SCU HMI Controller - Guide de référence du matériel EIO0000001232 (eng), EIO0000001233 (fre), EIO0000001234 (ger), EIO0000001235 (spa), EIO0000001236 (ita), EIO0000001237 (chs), EIO0000001238 (por) Vous pouvez télécharger ces publications et autres informations techniques depuis notre site web à l'adresse : http://www.schneider-electric.com/ww/en/download 8 EIO0000001247 12/2016 Information spécifique au produit AVERTISSEMENT PERTE DE CONTROLE Le concepteur d'un système de commande doit envisager les modes de défaillance possibles des chemins de commande et, pour certaines fonctions de commande critiques, prévoir un moyen d'atteindre un état sécurisé en cas de défaillance d'un chemin, et après cette défaillance. Par exemple, l'arrêt d'urgence, l'arrêt en cas de surcourse, la coupure de courant et le redémarrage sont des fonctions de commande cruciales. Des canaux de commande séparés ou redondants doivent être prévus pour les fonctions de commande critiques. Les chemins de commande système peuvent inclure les liaisons de communication. Une attention particulière doit être prêtée aux implications des délais de transmission non prévus ou des pannes de la liaison. Respectez toutes les réglementations de prévention des accidents ainsi que les consignes de sécurité locales.1 Chaque implémentation de cet équipement doit être testée individuellement et entièrement pour s'assurer du fonctionnement correct avant la mise en service. Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. 1 Pour plus d'informations, consultez le document NEMA ICS 1.1 (dernière édition), « Safety Guidelines for the Application, Installation, and Maintenance of Solid State Control » (Directives de sécurité pour l'application, l'installation et la maintenance de commande statique) et le document NEMA ICS 7.1 (dernière édition), « Safety Standards for Construction and Guide for Selection, Installation, and Operation of Adjustable-Speed Drive Systems » (Normes de sécurité relatives à la construction et manuel de sélection, installation et opération de variateurs de vitesse) ou son équivalent en vigueur dans votre pays. AVERTISSEMENT FONCTIONNEMENT INATTENDU DE L’EQUIPEMENT N'utilisez que le logiciel approuvé par Schneider Electric pour faire fonctionner cet équipement. Mettez à jour votre programme d'application chaque fois que vous modifiez la configuration matérielle physique. Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. EIO0000001247 12/2016 9 Terminologie utilisée dans les normes Les termes techniques, la terminologie, les symboles et les descriptions correspondantes employés dans ce manuel ou figurant dans ou sur les produits proviennent généralement des normes internationales. Dans les domaines des systèmes de sécurité fonctionnelle, des variateurs et de l'automatisme en général, les termes employés sont sécurité, fonction de sécurité, état sécurisé, défaut, réinitialisation du défaut, dysfonctionnement, panne, erreur, message d'erreur, dangereux, etc. Entre autres, les normes concernées sont les suivantes : 10 Norme Description EN 61131-2:2007 Automates programmables - Partie 2 : exigences et essais des équipements ISO 13849-1:2008 Sécurité des machines - Parties des systèmes de commande relatives à la sécurité Principes généraux de conception EN 61496-1:2013 Sécurité des machines - Équipements de protection électro-sensibles Partie 1 : prescriptions générales et essais ISO 12100:2010 Sécurité des machines - Principes généraux de conception - Appréciation du risque et réduction du risque EN 60204-1:2006 Sécurité des machines - Équipement électrique des machines - Partie 1 : règles générales EN 1088:2008 ISO 14119:2013 Sécurité des machines - Dispositifs de verrouillage associés à des protecteurs Principes de conception et de choix ISO 13850:2006 Sécurité des machines - Fonction d'arrêt d'urgence - Principes de conception EN/IEC 62061:2005 Sécurité des machines - Sécurité fonctionnelle des systèmes de commande électrique, électronique et électronique programmable relatifs à la sécurité IEC 61508-1:2010 Sécurité fonctionnelle des systèmes électriques/électroniques/électroniques programmables relatifs à la sécurité - Exigences générales IEC 61508-2:2010 Sécurité fonctionnelle des systèmes électriques/électroniques/électroniques programmables relatifs à la sécurité - Exigences pour les systèmes électriques/électroniques/électroniques programmables relatifs à la sécurité IEC 61508-3:2010 Sécurité fonctionnelle des systèmes électriques/électroniques/électroniques programmables relatifs à la sécurité - Exigences concernant les logiciels IEC 61784-3:2008 Communications numériques pour les systèmes de mesure et de commande - Bus de terrain de sécurité fonctionnelle 2006/42/EC Directive Machines 2014/30/EU Directive sur la compatibilité électromagnétique 2014/35/EU Directive sur les basses tensions EIO0000001247 12/2016 De plus, des termes peuvent être utilisés dans le présent document car ils proviennent d'autres normes telles que : Norme Description Série IEC 60034 Machines électriques rotatives Série IEC 61800 Entraînements électriques de puissance à vitesse variable Série IEC 61158 Communications numériques pour les systèmes de mesure et de commande Bus de terrain utilisés dans les systèmes de commande industriels Enfin, le terme zone de fonctionnement utilisé dans le contexte de la description de dangers spécifiques a la même signification que les termes zone dangereuse ou zone de danger employés dans la directive Machines (2006/42/EC) et la norme ISO 12100:2010. NOTE : Les normes susmentionnées peuvent s'appliquer ou pas aux produits cités dans la présente documentation. Pour plus d'informations sur chacune des normes applicables aux produits décrits dans le présent document, consultez les tableaux de caractéristiques de ces références de produit. EIO0000001247 12/2016 11 12 EIO0000001247 12/2016 Magelis SCU Variables système du contrôleur HMI SCU EIO0000001247 12/2016 Chapitre 1 Variables système du contrôleur HMI SCU Variables système du contrôleur HMI SCU Présentation Ce chapitre : fournit une introduction aux variables système (voir page 14) ; décrit les variables système (voir page 23) disponibles avec la bibliothèque PLCSystem du contrôleur HMI SCU. Contenu de ce chapitre Ce chapitre contient les sous-chapitres suivants : Sous-chapitre Sujet Page 1.1 Variables système : définition et utilisation 14 1.2 Structures PLC_R et PLC_W 19 1.3 Structures SERIAL_W 23 EIO0000001247 12/2016 13 Variables système du contrôleur HMI SCU Sous-chapitre 1.1 Variables système : définition et utilisation Variables système : définition et utilisation Présentation Cette section définit les variables système et explique leur mise en œuvre dans le Magelis SCU HMI Controller. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 14 Page Présentation des variables système 15 Utilisation des variables système 17 EIO0000001247 12/2016 Variables système du contrôleur HMI SCU Présentation des variables système Introduction Cette section décrit la mise en œuvre des variables système pour le contrôleur. Ces variables possèdent les attributs suivants : Les variables système permettent d'accéder à des informations générales sur le système, de réaliser des diagnostics système et de commander des actions simples. Les variables système sont des variables structurées selon les définitions et conventions de désignation de la norme CEI 61131-3. Vous pouvez accéder aux variables système à l'aide du nom symbolique CEI PLC_GVL. Certaines variables PLC_GVL sont en lecture seule (par exemple, PLC_R) et d'autres sont en lecture-écriture (par exemple, PLC_W). Les variables système sont déclarées automatiquement comme des variables globales. Elles ont une portée de niveau système et doivent être utilisées avec précaution car toutes les unités organisationnelles de programme (POU) d'une tâche peuvent y accéder. Conventions de désignation des variables système Les variables système sont identifiées par : un nom de structure qui représente la catégorie de variables système (par exemple, PLC_R représente le nom de structure des variables en lecture seule utilisées pour le diagnostic du contrôleur) ; un ensemble de noms de composant, qui identifie la fonction de la variable (par exemple, i_wVendorID représente l'ID du fournisseur du contrôleur). Vous pouvez accéder aux variables en entrant leur nom de structure suivi du nom du composant. Voici un exemple de mise en œuvre des variables système : VAR myCtr_Serial : DWORD; myCtr_ID : DWORD; myCtr_FramesRx : UDINT; END_VAR myCtr_Serial := PLC_R.i_dwSerialNumber; myCtr_ID := PLC_R.i_wVendorID; myCtr_FramesRx := SERIAL_R[0].i_udiFramesReceivedOK; NOTE : Dans l'exemple ci-dessus, le nom complet de la variable système est PLC_GVL.PLC_R.i_wVendorID. Le PLC_GVL est implicite lors de la déclaration d'une variable à l'aide de l'Aide à la saisie, mais vous pouvez aussi l'entrer dans son intégralité. EIO0000001247 12/2016 15 Variables système du contrôleur HMI SCU Emplacement des variables système Les variables non localisées constituent l'un des types de variable système qui est défini pour utilisation lors de la programmation du contrôleur. Ces variables non localisées ne sont accessibles que via une ouverture de session ou le partage du symbole dans Configuration des symboles. 16 EIO0000001247 12/2016 Variables système du contrôleur HMI SCU Utilisation des variables système Introduction Cette rubrique décrit la procédure de programmation et d'utilisation des variables système dans SoMachine. Les variables système ont un champ d'application global et vous pouvez les utiliser dans tous les POU (unité organisationnelle de programme) de l'application. Il n'est pas nécessaire de déclarer les variables système dans la liste des variables globales (GVL). Elles sont déclarées automatiquement à partir de la bibliothèque système du contrôleur. Utilisation des variables système dans un POU SoMachine a une fonction de saisie automatique. Dans un POU, commencez par entrer le nom de structure de la variable système (PLC_R, PLC_W, ...) suivi d'un point. Les variables système s'affichent dans l'Aide à la saisie. Vous pouvez sélectionner la variable de votre choix ou entrer manuellement son nom en intégralité. NOTE : Dans l'exemple ci-dessus, une fois que le nom de structure PLC_R. a été entré, SoMachine affiche un menu contextuel des noms de composants/variables possibles. EIO0000001247 12/2016 17 Variables système du contrôleur HMI SCU Exemple L’exemple ci-dessous décrit l'utilisation de certaines variables système : VAR myCtr_Serial : DWORD; myCtr_ID : WORD; myCtr_FramesRx : UDINT; END_VAR myCtr_Serial := PLC_R.i_dwSerialNumber; myCtr_ID := PLC_R.i_wVendorID; myCtr_FramesRx := SERIAL_R[0].i_udiFramesReceivedOK; 18 EIO0000001247 12/2016 Variables système du contrôleur HMI SCU Sous-chapitre 1.2 Structures PLC_R et PLC_W Structures PLC_R et PLC_W Présentation Cette section répertorie et décrit les variables système incluses dans les structures PLC_R et PLC_W. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet Page PLC_R : variables système en lecture seule de contrôleur 20 PLC_W : Variables en lecture/écriture du contrôleur 22 EIO0000001247 12/2016 19 Variables système du contrôleur HMI SCU PLC_R : variables système en lecture seule de contrôleur Structure de la variable Le tableau suivant décrit les paramètres de la variable système PLC_R (type PLC_R_STRUCT) : Nom de la variable Type Commentaire i_wVendorID WORD ID du fournisseur du contrôleur. 101A hex = Schneider Electric i_wProductID WORD ID de référence du contrôleur. NOTE : Les identifiants de fournisseur et de référence sont les composantes de l'identifiant cible du contrôleur indiqué dans la vue Paramètres de communication (ID cible = 101A XXXX hex). i_dwSerialNumber DWORD Numéro de série du contrôleur (renvoie les cinq derniers chiffres). i_byFirmVersion[0..3] ARRAY[0..3] OF BYTE Version du micrologiciel du contrôleur [aa.bb.cc.dd] : i_byFirmVersion[0] = aa ... i_byFirmVersion[3] = dd i_byBootVersion[0..3] ARRAY[0..3] OF BYTE Version de démarrage du contrôleur [aa.bb.cc.dd] : i_byBootVersion[0] = aa ... i_byBootVersion[3] = dd i_dwHardVersion DWORD Version du matériel du contrôleur. i_dwChipVersion DWORD Version du processeur du contrôleur. PLC_R_STATUS Etat du contrôleur. PLC_R_BOOT_PROJECT_ STATUS (voir page 40) Renvoie des informations sur le projet de démarrage stocké dans la mémoire Flash. (voir page 43) PLC_R_STOP_CAUSE Cause du dernier passage du mode d'exécution (RUN) à un autre état. i_wLastApplicationError PLC_R_APPLICATION_ ERROR (voir page 39) Cause de la dernière exception du contrôleur. i_lwSystemFault_1 LWORD Non utilisé. renvoie toujours FFFF FFFF FFFF FFFF hex. i_lwSystemFault_2 LWORD Non utilisé. i_wStatus (voir page 42) i_wBootProjectStatus i_wLastStopCause 20 EIO0000001247 12/2016 Variables système du contrôleur HMI SCU Nom de la variable Type Commentaire i_wIOStatus1 PLC_R_IO_STATUS Etat de l'E/S embarquée. i_wIOStatus2 PLC_R_IO_STATUS Réservé. i_wBatteryStatus WORD Charge restante de la batterie. Cette variable système peut renvoyer les valeurs significatives suivantes : 0064 hex = 100 % = 3 V 0032 hex = 50 % = 2,5 V 0000 hex = 0 % = 2 V (voir page 41) NOTE : L'écran d'affichage du contrôleur IHM indique également que le niveau de la batterie est faible à partir de 50 %. i_dwAppliSignature1 DWORD Signature du premier des quatre DWORD (16 octets au total). La signature de l'application est créée automatiquement par le logiciel pendant la génération. i_dwAppliSignature2 DWORD Signature du deuxième des quatre DWORD (16 octets au total). La signature de l'application est créée automatiquement par le logiciel pendant la génération. i_dwAppliSignature3 DWORD Signature du troisième des quatre DWORD (16 octets au total). La signature de l'application est créée automatiquement par le logiciel pendant la génération. i_dwAppliSignature4 DWORD Signature du quatrième des quatre DWORD (16 octets au total). Le logiciel crée la signature de l'application automatiquement pendant la génération. EIO0000001247 12/2016 21 Variables système du contrôleur HMI SCU PLC_W : Variables en lecture/écriture du contrôleur Structure de la variable Le tableau suivant décrit les paramètres de la variable système PLC_W (type PLC_W_STRUCT) : Nom de la variable Type Commentaire q_uiOpenPLCControl UINT Cette commande vous donne la possibilité déclencher une commande STOP, RUN, Reset froid ou Reset chaud. q_wPLCControl PLC_W_COMMAND Cette variable contient la valeur qui représente une commande pour un changement d'état voulu par l'utilisateur. Les commandes STOP, RUN, Reset froid et Reset chaud du contrôleur sont énumérées dans le type de données PLC_W_COMMAND. Ce changement d'état voulu est déclenché par le passage de la valeur de PLC_W.q_uiOpenPLCControl de 0 à 6699. (voir page 44) 22 EIO0000001247 12/2016 Variables système du contrôleur HMI SCU Sous-chapitre 1.3 Structures SERIAL_W Structures SERIAL_W SERIAL_W[0] : Variables système en lecture/écriture de ligne série Introduction SERIAL_W est une variable système de type SERIAL_W_STRUCT. Un élément force les variables système SERIAL_R pour la ligne série correspondante à réinitialiser. Pour HMI SCU, Serial_W[0] fait référence à COM1. Structure de la variable Le tableau suivant décrit les paramètres de la variable système SERIAL_W[0] : Nom de la variable Type Commentaire q_wResetCounter WORD Le passage de 0 à 1 réinitialise tous les compteurs SERIAL_R[0]. Pour réinitialiser à nouveau les compteurs, il est nécessaire d'écrire 0 dans ce registre pour qu'une autre transition de 0 à 1 puisse se produire. NOTE : Un seul port de communication est défini pour le contrôleur HMI SCU. EIO0000001247 12/2016 23 Variables système du contrôleur HMI SCU 24 EIO0000001247 12/2016 Magelis SCU Fonctions système de HMI SCU, EIO0000001247 12/2016 Chapitre 2 Fonctions système de HMI SCU Fonctions système de HMI SCU EIO0000001247 12/2016 25 Fonctions système de HMI SCU, Sous-chapitre 2.1 Fonctions de lecture du HMI SCU Fonctions de lecture du HMI SCU Présentation Cette section décrit les fonctions de lecture incluses dans la bibliothèque PLCSystem du HMI SCU. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet Page GetBatteryLevel : Renvoie le niveau de charge de la batterie 27 GetLocalAIOStatus : Renvoie l'état des E/S analogiques intégrées 28 GetLocalIOStatus : Renvoie l'état des E/S intégrées 29 GetShortCutStatus : Renvoie l'état de court-circuit sur les sorties intégrées 31 GetTempStatus : Renvoie l'état des entrées de température 32 IsFirstMastColdCycle : Indique si le cycle est le premier cycle de MAST après démarrage 33 à froid IsFirstMastCycle : Indique si le cycle est le premier cycle MAST 34 IsFirstMastWarmCycle : Indique si le cycle est le premier cycle MAST après un démarrage 35 à chaud 26 EIO0000001247 12/2016 Fonctions système de HMI SCU, GetBatteryLevel : Renvoie le niveau de charge de la batterie Description de la fonction Cette fonction renvoie la charge électrique restante de la pile de sauvegarde externe (en pourcentage). Pour plus d'informations sur les piles internes et externes, reportez-vous au Guide de référence du matériel duHMI SCU (voir Magelis SCU, HMI Controller, Guide de référence du matériel). NOTE : Vous pouvez également obtenir ces informations au moyen de la variable système PLC_R.i_wBatteryStatus (voir page 20). Représentation graphique Représentation en IL et en ST Pour voir la représentation générale en langage IL ou ST, reportez-vous au chapitre Représen- tation des fonctions et blocs fonction (voir page 53). Description des variables d'E/S Ce tableau décrit la variable de sortie : Sortie Type Commentaire GetBatteryLevel WORD Pourcentage de charge restant dans la pile. Plage : 0...100 : 100 % = 3 V 50 % = 2,5 V 0%=2V NOTE : Un message signalant un niveau de batterie faible s'affiche sur le contrôleur si la tension est ≤ 2,5 Volts. EIO0000001247 12/2016 27 Fonctions système de HMI SCU, GetLocalAIOStatus : Renvoie l'état des E/S analogiques intégrées Description de la fonction Cette fonction renvoie l'état des entrées et sorties locales. Représentation graphique Représentation en IL et en ST Pour voir la représentation générale en langage IL ou ST, reportez-vous au chapitre Représen- tation des fonctions et blocs fonction (voir page 53). Description des variables d'E/S Ce tableau décrit la variable de sortie : 28 Bit Description 0 Entrée analogique 0 avec erreur de configuration détectée. 1 Entrée analogique 0 avec courant hors plage. 2 Entrée analogique 0 avec données non valides. 3 Entrée analogique 0 avec rupture de fil (disponible uniquement pour la plage d'entrée 4--20 mA). 4 Entrée analogique 1 avec erreur de configuration détectée. 5 Entrée analogique 1 avec courant hors plage. 6 Entrée analogique 1 avec données non valides. 7 Entrée analogique 1 avec rupture de fil (disponible uniquement pour la plage d'entrée 4--20 mA). 8 Sortie analogique 0 avec erreur de configuration détectée. 9 Sortie analogique 0 avec tension ou courant hors plage. 10 Sortie analogique 0 avec données non valides. 11 Sortie analogique 0 avec erreur détectée. 12 Sortie analogique 1 avec erreur de configuration détectée. 13 Sortie analogique 1 avec tension ou courant hors plage. 14 Sortie analogique 1 avec données non valides. 15 Sortie analogique 1 avec erreur détectée. EIO0000001247 12/2016 Fonctions système de HMI SCU, GetLocalIOStatus : Renvoie l'état des E/S intégrées Description de la fonction Cette fonction renvoie l'état des E/S intégrées. NOTE : Vous pouvez également obtenir ces informations au moyen de la variable système PLC_R.i_wLocalIOStatus (voir page 20). Représentation graphique Représentation en IL et en ST Pour voir la représentation générale en langage IL ou ST, reportez-vous au chapitre Représen- tation des fonctions et blocs fonction (voir page 53). Description des variables d'E/S Ce tableau décrit le paramètre d'entrée : Entrée Type Commentaire Mode LOCAL_IO_GET_STATUS Paramètre de la fonction : seul LOCAL_IO_GET_GEN_STATUS (00 hex) (voir page 49) est disponible actuellement. (voir page 49) Ce tableau décrit la variable de sortie : Sortie GetLocalIOStatus Type Commentaire LOCAL_IO_GEN_STATUS Etat des E/S intégrées. (voir page 50) Exemple 1 Cet exemple illustre une utilisation directe de l'énumérateur LOCAL_IO_GET_GEN_STATUS associé au type d'énumération LOCAL_IO_GET_STATUS pour le paramètre d'entrée Mode : VAR MyLocalIOStatus : LOCAL_IO_GEN_STATUS; END_VAR MyLocalIOStatus := GetLocalIOStatus(LOCAL_IO_GET_GEN_STATUS); EIO0000001247 12/2016 29 Fonctions système de HMI SCU, Exemple 2 Cet exemple illustre l'utilisation d'une variable intermédiaire pour le paramètre d'entrée Mode. VAR MyLocalIOStatus : LOCAL_IO_GEN_STATUS; MyMode : LOCAL_IO_GET_STATUS; END_VAR MyMode := LOCAL_IO_GET_GEN_STATUS; MyLocalIOStatus := GetLocalIOStatus(MyMode); 30 EIO0000001247 12/2016 Fonctions système de HMI SCU, GetShortCutStatus : Renvoie l'état de court-circuit sur les sorties intégrées Description de la fonction Cette fonction renvoie le diagnostic de court-circuit ou de surcharge sur les sorties intégrées. NOTE : Pour plus d'informations sur la gestion des sorties intégrées, consultez le Guide de référence du matériel HMI SCU (voir Magelis SCU, HMI Controller, Guide de référence du matériel). Représentation graphique Représentation en IL et en ST Pour voir la représentation générale en langage IL ou ST, reportez-vous au chapitre Représen- tation des fonctions et blocs fonction (voir page 53). Description des variables d'E/S Ce tableau décrit la variable de sortie : Paramètre Type Commentaire GetShortCutStatus WORD Voir la description du champ de bits ciaprès. Ce tableau décrit le champ de bits pour le contrôleur : Bit Description 0 TRUE = court-circuit sur les sorties (Q0 et Q1). EIO0000001247 12/2016 31 Fonctions système de HMI SCU, GetTempStatus : Renvoie l'état des entrées de température Description de la fonction Cette fonction renvoie l'état des entrées de température. Représentation graphique Représentation en IL et en ST Pour voir la représentation générale en langage IL ou ST, reportez-vous au chapitre Représen- tation des fonctions et blocs fonction (voir page 53). Description des variables d'E/S Paramètre Type Commentaire GetTempStatus WORD Voir la description du champ de bits ci-après. Le tableau suivant décrit la variable d'entrée : 32 Bit Commentaire 0 Entrée de température 0 avec erreur de configuration détectée. 1 Entrée de température 1 avec erreur de configuration détectée. 2 Entrée de température 0 avec erreur de dépassement de plage détectée. 3 Entrée de température 1 avec erreur de dépassement de plage détectée. 4 Entrée de température 0 avec données non valides. 5 Entrée de température 1 avec données non valides. 6 Entrée de température 0 avec rupture de fil détectée. 7 Entrée de température 1 avec rupture de fil détectée. 8...15 Réservés. EIO0000001247 12/2016 Fonctions système de HMI SCU, IsFirstMastColdCycle : Indique si le cycle est le premier cycle de MAST après démarrage à froid Description de la fonction Cette fonction renvoie TRUE au cours du premier cycle MAST après un démarrage à froid (premier cycle après téléchargement ou réinitialisation à froid). Représentation graphique Représentation en IL et en ST Pour voir la représentation générale en langage IL ou ST, reportez-vous au chapitre Représentation des fonctions et blocs fonction (voir page 53). Description des variables d'E/S Ce tableau décrit la variable de sortie : Sortie Type Commentaire IsFirstMastColdCycle BOOL TRUE au cours du premier cycle de la tâche MAST après un démarrage à froid. EIO0000001247 12/2016 33 Fonctions système de HMI SCU, IsFirstMastCycle : Indique si le cycle est le premier cycle MAST Description de la fonction Cette fonction renvoie TRUE lors du premier cycle MAST après un démarrage. Représentation graphique Représentation en IL et en ST Pour voir la représentation générale en langage IL ou ST, reportez-vous au chapitre Représen- tation des fonctions et blocs fonction (voir page 53). Description des variables d'E/S 34 Sortie Type Commentaire IsFirstMastCycle BOOL TRUE lors du premier cycle de la tâche MAST après un démarrage. EIO0000001247 12/2016 Fonctions système de HMI SCU, IsFirstMastWarmCycle : Indique si le cycle est le premier cycle MAST après un démarrage à chaud Description de la fonction Cette fonction renvoie TRUE lors du premier cycle MAST après un démarrage à chaud. Représentation graphique Représentation en IL et en ST Pour voir la représentation générale en langage IL ou ST, reportez-vous au chapitre Représen- tation des fonctions et blocs fonction (voir page 53). Description des variables d'E/S Ce tableau décrit la variable de sortie : Sortie Type Commentaire IsFirstMastWarmCycle BOOL TRUE au cours du premier cycle de la tâche MAST après un démarrage à chaud. EIO0000001247 12/2016 35 Fonctions système de HMI SCU, 36 EIO0000001247 12/2016 Magelis SCU Types de données de la bibliothèque PLCSystem du HMI SCU EIO0000001247 12/2016 Chapitre 3 Types de données de la bibliothèque PLCSystem du HMI SCU Types de données de la bibliothèque PLCSystem du HMI SCU Présentation Ce chapitre décrit les types de données de la bibliothèque PLCSystem du HMI SCU. Deux types de données sont disponibles : Les types de données de variable système sont utilisés par les variables système (voir page 20) de la bibliothèque PLCSystem HMI SCU (PLC_R, PLC_W, ...). Les types de données de fonction système sont utilisés par les fonctions système (voir page 25) de la bibliothèque PLCSystem HMI SCU. Contenu de ce chapitre Ce chapitre contient les sous-chapitres suivants : Sous-chapitre Sujet Page 3.1 Types de données des variables système PLC_R/W 38 3.2 Types de données des fonctions système 45 EIO0000001247 12/2016 37 Types de données de la bibliothèque PLCSystem du HMI SCU Sous-chapitre 3.1 Types de données des variables système PLC_R/W Types de données des variables système PLC_R/W Présentation Cette section répertorie et décrit les types de données de variable système, inclus dans les structures PLC_R et PLC_W. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 38 Page PLC_R_APPLICATION_ERROR : Codes d'état des erreurs de l'application détectées 39 PLC_R_BOOT_PROJECT_STATUS : Codes d'état du projet de démarrage 40 PLC_R_IO_STATUS : Codes d'état d'E/S 41 PLC_R_STATUS : codes d'état du contrôleur 42 PLC_R_STOP_CAUSE : Codes des causes de passage de l'état RUN à un autre état 43 PLC_W_COMMAND : codes de commande de contrôle 44 EIO0000001247 12/2016 Types de données de la bibliothèque PLCSystem du HMI SCU PLC_R_APPLICATION_ERROR : Codes d'état des erreurs de l'application détectées Description du type énumération Le type de données énumération PLC_R_APPLICATION_ERROR contient les valeurs suivantes : Enumérateur Valeur Commentaire PLC_R_APP_ERR_UNKNOWN FFFF hex Erreur non définie. PLC_R_APP_ERR_NOEXCEPTION 0000 hex Aucune erreur détectée. PLC_R_APP_ERR_WATCHDOG 0010 hex L'horloge de surveillance de l'application est arrivée à expiration. PLC_R_APP_ERR_HARDWAREWATCHDOG 0011 hex L'horloge de surveillance matérielle est arrivée à expiration. PLC_R_APP_ERR_IO_CONFIG_ERROR 0012 hex Paramètres de configuration d'E/S incorrects détectés. PLC_R_APP_ERR_UNRESOLVED_EXTREFS 0018 hex Fonctions indéfinies détectées. PLC_R_APP_ERR_IEC_TASK_CONFIG_ERROR 0025 hex Paramètres de configuration de tâche incorrects détectés. PLC_R_APP_ERR_ILLEGAL_INSTRUCTION 0050 hex Instruction indéfinie détectée. PLC_R_APP_ERR_ACCESS_VIOLATION 0051 hex Tentative d'accès à la zone mémoire réservée. PLC_R_APP_ERR_DIVIDE_BY_ZERO 0102 hex Division d'un entier par 0 détectée. PLC_R_APP_ERR_DIVIDE_REAL_BY_ZERO 0152 hex Division d'un réel par 0 détectée. EIO0000001247 12/2016 39 Types de données de la bibliothèque PLCSystem du HMI SCU PLC_R_BOOT_PROJECT_STATUS : Codes d'état du projet de démarrage Description du type énumération Le type de données énumération PLC_R_BOOT_PROJECT_STATUS contient les valeurs suivantes : Enumérateur Valeur Commentaire PLC_R_NO_BOOT_PROJECT 0000 hex Non utilisé PLC_R_BOOT_PROJECT_CREATION_IN_PROGRESS 0001 hex Le projet de démarrage est en cours de création. PLC_R_DIFFERENT_BOOT_PROJECT 0002 hex Le projet de démarrage en mémoire Flash est différent de celui chargé dans la RAM ou le projet de démarrage n'existe pas. PLC_R_VALID_BOOT_PROJECT FFFF hex Le projet de démarrage en mémoire Flash est identique au projet chargé dans la RAM. 40 EIO0000001247 12/2016 Types de données de la bibliothèque PLCSystem du HMI SCU PLC_R_IO_STATUS : Codes d'état d'E/S Description du type énumération Le type de données énumération PLC_R_IO_STATUS contient les valeurs suivantes : Enumérateur Valeur Commentaire PLC_R_IO_OK FFFF hex Les entrées/sorties sont opérationnelles. PLC_R_IO_NO_INIT 0001 hex Les entrées/sorties ne sont pas initialisées. PLC_R_IO_CONF_FAULT 0002 hex Paramètres de configuration d'E/S incorrects détectés. PLC_R_IO_SHORTCUT_FAULT 0003 hex Court-circuit des entrées/sorties détecté. RESERVE 0004 hex Non utilisé PLC_R_IO_COM_LOST 0005 hex Erreur de communication avec le processeur détectée. Les E/S intégrées ne sont pas mises à jour. EIO0000001247 12/2016 41 Types de données de la bibliothèque PLCSystem du HMI SCU PLC_R_STATUS : codes d'état du contrôleur Description du type énuméré Le type de données énuméré PLC_R_STATUS contient les valeurs suivantes : 42 Enumérateur Valeur Commentaire PLC_R_EMPTY 0000 hex Le contrôleur ne contient aucune application. PLC_R_STOPPED 0001 hex Le contrôleur est arrêté. PLC_R_RUNNING 0002 hex Le contrôleur fonctionne. PLC_R_HALT 0004 hex Le contrôleur est à l'état HALT. (Reportez-vous au diagramme d'état du contrôleur dans le guide de programmation de votre contrôleur.) PLC_R_BREAKPOINT 0008 hex Le contrôleur s'est interrompu au point d'arrêt. EIO0000001247 12/2016 Types de données de la bibliothèque PLCSystem du HMI SCU PLC_R_STOP_CAUSE : Codes des causes de passage de l'état RUN à un autre état Description du type énumération Le type de données d'énumération PLC_R_STOP_CAUSE contient les valeurs suivantes : Enumérateur Valeur Commentaire PLC_R_STOP_REASON_UNKNOWN 00 hex La valeur initiale ou la cause de l'arrêt ne sont pas définies. PLC_R_STOP_REASON_HW_WATCHDOG 01 hex Arrêt après expiration de l'horloge de surveillance matérielle (matériel système ou tâche logicielle). PLC_R_STOP_REASON_RESET 02 hex Arrêté suite à une réinitialisation. PLC_R_STOP_REASON_EXCEPTION 03 hex Arrêté suite à une exception. PLC_R_STOP_REASON_USER 04 hex Arrêté suite à une requête de l'utilisateur. PLC_R_STOP_REASON_IECPROGRAM 05 hex Arrêté suite à une requête de commande de programme. PLC_R_STOP_REASON_DELETE 06 hex Arrêté suite à une commande de suppression d'application. PLC_R_STOP_REASON_DEBUGGING 07 hex Arrêté suite au passage en mode de débogage. PLC_R_STOP_FROM_NETWORK_REQUEST 0A hex Arrêté suite à une requête du réseau (PLC_W.q_wPLCControl:=PLC_W_COMMAND.PLC_W_ STOP;). PLC_R_STOP_FROM_INPUT 0B hex Arrêt requis par une entrée du contrôleur. Pour plus d'informations sur les raisons de l'arrêt du contrôleur, consultez la section Description des états de contrôleur (voir Magelis SCU, HMI Controller, Guide de programmation). EIO0000001247 12/2016 43 Types de données de la bibliothèque PLCSystem du HMI SCU PLC_W_COMMAND : codes de commande de contrôle Description du type énuméré Le type de données énuméré PLC_W_COMMAND contient les valeurs suivantes : 44 Enumérateur Valeur Commentaire PLC_W_STOP 0001 hex Commande d'arrêt du contrôleur. PLC_W_RUN 0002 hex Commande d'exécution du contrôleur. PLC_W_RESET_COLD 0004 hex Commande de lancement d'une réinitialisation à froid du contrôleur. PLC_W_RESET_WARM 0008 hex Commande de lancement d'une réinitialisation à chaud du contrôleur. EIO0000001247 12/2016 Types de données de la bibliothèque PLCSystem du HMI SCU Sous-chapitre 3.2 Types de données des fonctions système Types de données des fonctions système Présentation Cette section décrit les différents types de données des fonctions système de la bibliothèque PLCSystem de HMI SCU. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet Page FIRMWARE_VERSION : type de sortie de la fonction GetFirmwareVersion 46 BOOT_PROJECT_STATUS : Codes de sortie de la fonction GetBootProjectStatus 47 STOP_WHY : Codes de sortie de la fonction GetLastStopCause 48 LOCAL_IO_GET_STATUS : codes de paramètre de la fonction GetLocalIOStatus 49 LOCAL_IO_GEN_STATUS : GetLocalIOStatus Codes de sortie de fonction 50 EIO0000001247 12/2016 45 Types de données de la bibliothèque PLCSystem du HMI SCU FIRMWARE_VERSION : type de sortie de la fonction GetFirmwareVersion Description de la structure La structure de données contient les variables suivantes : Variable 46 Type Description FwVersion DWORD Contient la version du micrologiciel (par exemple, 2.0.20.4 = 02001404 hex). BootVersion WORD Contient la version du boot (par exemple, 1.4 = 0104 hex). AsicVersion WORD Contient la version du coprocesseur. EIO0000001247 12/2016 Types de données de la bibliothèque PLCSystem du HMI SCU BOOT_PROJECT_STATUS : Codes de sortie de la fonction GetBootProjectStatus Description du type énumération Le type de données énumération contient les valeurs suivantes : Enumérateur Valeur Description NO_BOOT_PROJECT 0000 hex Non utilisé. BOOT_PROJECT_CREATION_ IN_PROGRESS 0001 hex Le projet de démarrage est en cours de création. DIFFERENT_BOOT_PROJECT 0002 hex Le projet de démarrage en mémoire Flash est différent du projet chargé dans la RAM ou il n'existe pas de projet de démarrage. VALID_BOOT_PROJECT FFFF hex Le projet de démarrage en mémoire Flash est identique au projet chargé dans la RAM. EIO0000001247 12/2016 47 Types de données de la bibliothèque PLCSystem du HMI SCU STOP_WHY : Codes de sortie de la fonction GetLastStopCause Description du type énumération Le type de données énumération contient l'état avec les valeurs suivantes : Enumérateur Valeur Description STOP_REASON_UNKNOWN 00 hex La valeur initiale ou la cause de l'arrêt ne sont pas définies. STOP_REASON_HW_WATCHDOG 01 hex Arrêté suite au timeout de l'horloge de surveillance logicielle. STOP_REASON_RESET 02 hex Arrêté suite à une réinitialisation. STOP_REASON_EXCEPTION 03 hex Arrêté suite à une exception. STOP_REASON_USER 04 hex Arrêté suite à une requête de l'utilisateur. STOP_REASON_IECPROGRAM 05 hex Arrêté suite à une requête de commande de programme (par exemple, commande de contrôle avec paramètre PLC_W.q_wPLCControl:= PLC_W_COMMAND.PLC_W_STOP;). STOP_REASON_DELETE 06 hex Arrêté suite à une commande de suppression d'application. STOP_REASON_DEBUGGING 07 hex Arrêté suite au passage en mode de débogage. STOP_FROM_NETWORK_REQUEST 0A hex Arrêté suite à une requête du réseau (commande PLC_W). STOP_FROM_INPUT 0B hex Arrêt requis par une entrée du contrôleur. 48 EIO0000001247 12/2016 Types de données de la bibliothèque PLCSystem du HMI SCU LOCAL_IO_GET_STATUS : codes de paramètre de la fonction GetLocalIOStatus Description du type énuméré Le type de données énuméré LOCAL_IO_GET_STATUS contient la valeur suivante : Enumérateur Valeur Description LOCAL_IO_GET_GEN_STATUS 00 hex Valeur utilisée pour demander l'état général des E/S intégrées. EIO0000001247 12/2016 49 Types de données de la bibliothèque PLCSystem du HMI SCU LOCAL_IO_GEN_STATUS : GetLocalIOStatus Codes de sortie de fonction Description du type énumération Le type de données énumération LOCAL_IO_GEN_STATUS contient l'état des E/S locales avec les valeurs suivantes : 50 Enumérateur Valeur Description LOCAL_IO_OK Hex 00 Les entrées/sorties sont opérationnelles. LOCAL_IO_NO_INIT Hex 01 Paramètres de configuration E/S erronés détectés. LOCAL_IO_COM_LOST Hex 02 Erreur de communication avec le coprocesseur. Les E/S intégrées ne sont pas mises à jour. LOCAL_IO_CONF_FAULT Hex 03 Paramètres de configuration E/S erronés détectés. EIO0000001247 12/2016 Magelis SCU EIO0000001247 12/2016 Annexes EIO0000001247 12/2016 51 52 EIO0000001247 12/2016 Magelis SCU Représentation des fonctions et blocs fonction EIO0000001247 12/2016 Annexe A Représentation des fonctions et blocs fonction Représentation des fonctions et blocs fonction Présentation Chaque fonction peut être représentée dans les langages suivants : IL : (Instruction List) liste d'instructions ST : (Structured Text) littéral structuré LD : (Ladder Diagram) schéma à contacts FBD : Function Block Diagram (Langage à blocs fonction) CFC : Continuous Function Chart (Diagramme fonctionnel continu) Ce chapitre fournit des exemples de représentations de fonctions et blocs fonction et explique comment les utiliser dans les langages IL et ST. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Page Différences entre une fonction et un bloc fonction 54 Utilisation d'une fonction ou d'un bloc fonction en langage IL 55 Utilisation d'une fonction ou d'un bloc fonction en langage ST 59 EIO0000001247 12/2016 53 Représentation des fonctions et blocs fonction Différences entre une fonction et un bloc fonction Fonction Une fonction : est une POU (Program Organization Unit ou unité organisationnelle de programme) qui renvoie un résultat immédiat ; est directement appelée par son nom (et non par une instance) ; ne conserve pas son état entre deux appels ; peut être utilisée en tant qu'opérande dans des expressions. Exemples : opérateurs booléens (AND), calculs, conversions (BYTE_TO_INT) Bloc fonction Un bloc fonction : est une POU qui renvoie une ou plusieurs sorties ; doit être appelé par une instance (copie de bloc fonction avec nom et variables dédiées). Chaque instance conserve son état (sorties et variables internes) entre deux appels à partir d'un bloc fonction ou d'un programme. Exemples : temporisateurs, compteurs Dans l'exemple, Timer_ON est une instance du bloc fonction TON : 54 EIO0000001247 12/2016 Représentation des fonctions et blocs fonction Utilisation d'une fonction ou d'un bloc fonction en langage IL Informations générales Cette partie explique comment mettre en œuvre une fonction et un bloc fonction en langage IL. Les fonctions IsFirstMastCycle et SetRTCDrift, ainsi que le bloc fonction TON, sont utilisés à titre d'exemple pour illustrer les mises en œuvre. Utilisation d'une fonction en langage IL La procédure suivante explique comment insérer une fonction en langage IL : Etape Action 1 Ouvrez ou créez un POU en langage IL (Instruction List, ou liste d'instructions). NOTE : La procédure de création d'un POU n'est pas détaillée ici. Pour plus d'informations, reportez-vous à la section Ajout et appel de POU (voir SoMachine, Guide de programmation). 2 Créez les variables nécessaires à la fonction. 3 Si la fonction possède une ou plusieurs entrées, chargez la première entrée en utilisant l'instruction LD. 4 Insérez une nouvelle ligne en dessous et : saisissez le nom de la fonction dans la colonne de l'opérateur (champ de gauche), ou utilisez l'Aide à la saisie pour choisir la fonction (sélectionnez Insérer l'appel de module dans le menu contextuel). 5 Si la fonction a plusieurs entrées et que l'Aide à la saisie est utilisée, le nombre requis de lignes est automatiquement créé avec ??? dans les champs situés à droite. Remplacez les ??? par la valeur ou la variable appropriée en fonction de l'ordre des entrées. 6 Insérez une nouvelle ligne pour stocker le résultat de la fonction dans la variable appropriée : saisissez l'instruction ST dans la colonne de l'opérateur (champ de gauche) et un nom de variable dans le champ situé à droite. EIO0000001247 12/2016 55 Représentation des fonctions et blocs fonction Pour illustrer la procédure, utilisons les fonctions IsFirstMastCycle (sans paramètre d'entrée) et SetRTCDrift (avec paramètres d'entrée) représentées graphiquement ci-après : Fonction Représentation graphique sans paramètre d'entrée : IsFirstMastCycle avec paramètres d'entrée : SetRTCDrift En langage IL, le nom de la fonction est utilisé directement dans la colonne de l'opérateur : Fonction Représentation dans l'éditeur IL de POU de SoMachine Exemple IL d'une fonction sans paramètre d'entrée : IsFirstMastCycle 56 EIO0000001247 12/2016 Représentation des fonctions et blocs fonction Fonction Représentation dans l'éditeur IL de POU de SoMachine Exemple IL d'une fonction avec des paramètres d'entrée : SetRTCDrift Utilisation d'un bloc fonction en langage IL La procédure suivante explique comment insérer un bloc fonction en langage IL : Etape Action 1 Ouvrez ou créez un POU en langage IL (Instruction List, ou liste d'instructions). NOTE : La procédure de création d'un POU n'est pas détaillée ici. Pour plus d'informations, reportezvous à la section Ajout et appel de POU (voir SoMachine, Guide de programmation). 2 Créez les variables nécessaires au bloc fonction (y compris le nom de l'instance). 3 L'appel de blocs fonction nécessite l'utilisation d'une instruction CAL : Utilisez l'Aide à la saisie pour sélectionner le bloc fonction (cliquez avec le bouton droit et sélectionnez Insérer l'appel de module dans le menu contextuel). L'instruction CAL et les E/S nécessaires sont automatiquement créées. Chaque paramètre (E/S) est une instruction : Les valeurs des entrées sont définies à l'aide de « := ». Les valeurs des sorties sont définies à l'aide de « => ». 4 Dans le champ CAL de droite, remplacez les ??? par le nom de l'instance. 5 Remplacez les autres ??? par une variable ou une valeur immédiate appropriée. EIO0000001247 12/2016 57 Représentation des fonctions et blocs fonction Pour illustrer la procédure, utilisons le bloc fonction TON représenté graphiquement ci-après : Bloc fonction Représentation graphique TON En langage IL, le nom du bloc fonction est utilisé directement dans la colonne de l'opérateur : Bloc fonction Représentation dans l'éditeur IL de POU de SoMachine TON 58 EIO0000001247 12/2016 Représentation des fonctions et blocs fonction Utilisation d'une fonction ou d'un bloc fonction en langage ST Informations générales Cette partie décrit comment mettre en œuvre une fonction ou un bloc fonction en langage ST. La fonction SetRTCDrift et le bloc fonction TON sont utilisés à titre d'exemple pour illustrer les mises en œuvre. Utilisation d'une fonction en langage ST La procédure suivante explique comment insérer une fonction en langage ST : Etape Action 1 Ouvrez ou créez un POU en langage ST (Structured Text ou Littéral structuré). NOTE : La procédure de création d'un POU n'est pas détaillée ici. Pour plus d'informations, reportez-vous à la section Ajout et appel de POU (voir SoMachine, Guide de programmation). 2 Créez les variables nécessaires à la fonction. 3 Utilisez la syntaxe générale dans l'éditeur ST de POU pour la représentation en langage ST d'une fonction. La syntaxe générale est la suivante : RésultatFonction:= NomFonction(VarEntrée1, VarEntrée2, … VarEntréex); Pour illustrer la procédure, utilisons la fonction SetRTCDrift représentée graphiquement ciaprès : Fonction Représentation graphique SetRTCDrift La représentation en langage ST de cette fonction est la suivante : Fonction Représentation dans l'éditeur ST de POU de SoMachine SetRTCDrift PROGRAM MyProgram_ST VAR myDrift: SINT(-29..29) := 5; myDay: DAY_OF_WEEK := SUNDAY; myHour: HOUR := 12; myMinute: MINUTE; myRTCAdjust: RTCDRIFT_ERROR; END_VAR myRTCAdjust:= SetRTCDrift(myDrift, myDay, myHour, myMinute); EIO0000001247 12/2016 59 Représentation des fonctions et blocs fonction Utilisation d'un bloc fonction en langage ST La procédure suivante explique comment insérer un bloc fonction en langage ST : Etape Action 1 Ouvrez ou créez un POU en langage IL (Instruction List, ou liste d'instructions). NOTE : La procédure de création d'un POU n'est pas détaillée ici. Pour plus d'informations sur l'ajout, la déclaration et l'appel de POU, reportez-vous à la documentation (voir SoMachine, Guide de programmation) associée. 2 Créez les variables d'entrée, les variables de sortie et l'instance requises pour le bloc fonction : Les variables d'entrée sont les paramètres d'entrée requis par le bloc fonction. Les variables de sortie reçoivent la valeur renvoyée par le bloc fonction. 3 Utilisez la syntaxe générale dans l'éditeur ST de POU pour la représentation en langage ST d'un bloc fonction. La syntaxe générale est la suivante : BlocFonction_NomInstance(Entrée1:=VarEntrée1, Entrée2:=VarEntrée2,… Sortie1=>VarSortie1, Sortie2=>VarSortie2,…); Pour illustrer la procédure, utilisons le bloc fonction TON représenté graphiquement ci-après : Bloc fonction Représentation graphique TON 60 EIO0000001247 12/2016 Représentation des fonctions et blocs fonction Le tableau suivant montre plusieurs exemples d'appel de bloc fonction en langage ST : Bloc fonction Représentation dans l'éditeur ST de POU de SoMachine TON EIO0000001247 12/2016 61 Représentation des fonctions et blocs fonction 62 EIO0000001247 12/2016 Magelis SCU Glossaire EIO0000001247 12/2016 Glossaire A application Programme comprenant des données de configuration, des symboles et de la documentation. B bus d'extension Bus de communication électronique entre des modules d'E/S d'extension et un contrôleur. C CFC Acronyme de continuous function chart, diagramme fonctionnel continu. Langage de programmation graphique (extension de la norme IEC 61131-3) basé sur le langage de diagramme à blocs fonction et qui fonctionne comme un diagramme de flux. Toutefois, il n'utilise pas de réseaux et le positionnement libre des éléments graphiques est possible, ce qui permet les boucles de retour. Pour chaque bloc, les entrées se situent à gauche et les sorties à droite. Vous pouvez lier les sorties de blocs aux entrées d'autres blocs pour créer des expressions complexes. configuration Agencement et interconnexions des composants matériels au sein d'un système, ainsi que les paramètres matériels et logiciels qui déterminent les caractéristiques de fonctionnement du système. contrôleur Automatise des processus industriels. On parle également de contrôleur logique programmable (PLC) ou de contrôleur programmable. E E/S Entrée/sortie EIO0000001247 12/2016 63 Glossaire F FB Acronyme de function block, bloc fonction. Mécanisme de programmation commode qui consolide un groupe d'instructions de programmation visant à effectuer une action spécifique et normalisée telle que le contrôle de vitesse, le contrôle d'intervalle ou le comptage. Un bloc fonction peut comprendre des données de configuration, un ensemble de paramètres de fonctionnement interne ou externe et généralement une ou plusieurs entrées et sorties de données. firmware Représente le BIOS, les paramètres de données et les instructions de programmation qui constituent le système d'exploitation d'un contrôleur. Le firmware est stocké dans la mémoire non volatile du contrôleur. G GVL Acronyme de Global Variable List, liste de variables globales. Permet de gérer les variables globales d'un projet SoMachine. I IL INT Acronyme de instruction list, liste d'instructions. Un programme écrit en langage IL est composé d'instructions textuelles qui sont exécutées séquentiellement par le contrôleur. Chaque instruction comprend un numéro de ligne, un code d'instruction et un opérande (voir la norme IEC 61131-3). Abréviation de integer), nombre entier codé sur 16 bits. L langage en blocs fonctionnels Un des 5 langages de programmation de logique ou de commande pris en charge par la norme IEC 61131-3 pour les systèmes de commande. FBD est un langage de programmation orienté graphique. Il fonctionne avec une liste de réseaux où chaque réseau contient une structure graphique de zones et de lignes de connexion représentant une expression logique ou arithmétique, un appel de bloc fonction ou une instruction de retour. LD 64 Acronyme de ladder diagram, schéma à contacts. Représentation graphique des instructions d'un programme de contrôleur, avec des symboles pour les contacts, les bobines et les blocs dans une série de réseaux exécutés séquentiellement par un contrôleur (voir IEC 61131-3). EIO0000001247 12/2016 Glossaire M MAST Tâche de processeur exécutée par le biais de son logiciel de programmation. La tâche MAST comprend deux parties : IN : les entrées sont copiées dans la section IN avant exécution de la tâche MAST. OUT : les sorties sont copiées dans la section OUT après exécution de la tâche MAST. O octet Type codé sur 8 bits, de 00 à FF au format hexadécimal. P POU Acronyme de program organization unit, unité organisationnelle de programme. Déclaration de variables dans le code source et jeu d'instructions correspondant. Les POUs facilitent la réutilisation modulaire de programmes logiciels, de fonctions et de blocs fonction. Une fois déclarées, les POUs sont réutilisables. programme Composant d'une application constitué de code source compilé qu'il est possible d'installer dans la mémoire d'un contrôleur logique. R réseau de commande Réseau incluant des contrôleurs logiques, des systèmes SCADA, des PC, des IHM, des commutateurs, etc. Deux types de topologies sont pris en charge : à plat : tous les modules et équipements du réseau appartiennent au même sous-réseau. à 2 niveaux : le réseau est divisé en un réseau d'exploitation et un réseau intercontrôleurs. Ces deux réseaux peuvent être indépendants physiquement, mais ils sont généralement liés par un équipement de routage. S ST Acronyme de structured text, texte structuré. Langage composé d'instructions complexes et d'instructions imbriquées (boucles d'itération, exécutions conditionnelles, fonctions). Le langage ST est conforme à la norme IEC 61131-3. EIO0000001247 12/2016 65 Glossaire V variable Unité de mémoire qui est adressée et modifiée par un programme. 66 EIO0000001247 12/2016 Magelis SCU Index EIO0000001247 12/2016 Index B BOOT_PROJECT_STATUS types de données, 47 F FIRMWARE_VERSION types de données, 46 fonctions différences entre une fonction et un bloc fonction, 54 GetBatteryLevel, 27 GetLocalIOStatus, 29 GetRunStopSwitch, 28 GetShortCutStatus, 31 IsFirstMastColdCycle, 33 IsFirstMastCycle, 34 IsFirstMastWarmCycle, 35 utilisation d'une fonction ou d'un bloc fonction en langage IL, 55 utilisation d'une fonction ou d'un bloc fonction en langage ST, 59 G GetBatteryLevel fonctions, 27 GetLocalIOStatus fonctions, 29 GetRunStopSwitch fonctions, 28 GetShortCutStatus fonctions, 31 I IsFirstMastWarmCycle fonctions, 35 L LOCAL_IO_GEN_STATUS types de données, 50 LOCAL_IO_GET_STATUS types de données, 49 P PLC_R variable système, 20 PLC_R_APPLICATION_ERROR types de données, 39 PLC_R_BOOT_PROJECT_STATUS types de données, 40 PLC_R_IO_STATUS types de données, 41 PLC_R_STATUS types de données, 42 PLC_R_STOP_CAUSE types de données, 43 PLC_W variable système, 22 PLC_W_COMMAND types de données, 44 S SERIAL_W variable système, 23 STOP_WHY types de données, 48 IsFirstMastColdCycle fonctions, 33 IsFirstMastCycle fonctions, 34 EIO0000001247 12/2016 67 Index T types de données BOOT_PROJECT_STATUS, 47 FIRMWARE_VERSION, 46 LOCAL_IO_GEN_STATUS, 50 LOCAL_IO_GET_STATUS, 49 PLC_R_APPLICATION_ERROR, 39 PLC_R_BOOT_PROJECT_STATUS, 40 PLC_R_IO_STATUS, 41 PLC_R_STATUS, 42 PLC_R_STOP_CAUSE, 43 PLC_W_COMMAND, 44 STOP_WHY, 48 V Variable système PLC_R, 20 variable système PLC_W, 22 SERIAL_W, 23 variables système définition, 15 Variables système Utilisation, 17 68 EIO0000001247 12/2016