Schneider Electric SoMachine - Affichage et réglage de l'horodateur Mode d'emploi
Ajouter à Mes manuels65 Des pages
▼
Scroll to page 2
of
65
SoMachine EIO0000000668 06/2017 SoMachine Affichage et réglage de l'horodateur Guide des bibliothèques SysTimeRtc et SysTimeCore EIO0000000668.08 06/2017 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. © 2017 Schneider Electric. Tous droits réservés. 2 EIO0000000668 06/2017 Table des matières Consignes de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . A propos de ce manuel. . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 1 Informations générales . . . . . . . . . . . . . . . . . . . . . . . . . . Informations générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 2 Mise en route . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ajout des bibliothèques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Afficher la date et l'heure du contrôleur . . . . . . . . . . . . . . . . . . . . . . . . Régler la date et l'heure du contrôleur. . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 3 Bibliothèque SysTimeCore . . . . . . . . . . . . . . . . . . . . . . . 3.1 Description des fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SysTimeGetMs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SysTimeGetNs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SysTimeGetUs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 4 Bibliothèque SysTimeRtc . . . . . . . . . . . . . . . . . . . . . . . . 4.1 Description des fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SysTimeRtcControl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SysTimeRtcGet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SysTimeRtcHighResGet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SysTimeRtcSet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SysTimeRtcHighResSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SysTimeRtcConvertDateToUtc. . . . . . . . . . . . . . . . . . . . . . . . . . . SysTimeRtcConvertDateToHighRes . . . . . . . . . . . . . . . . . . . . . . SysTimeRtcConvertUtcToDate. . . . . . . . . . . . . . . . . . . . . . . . . . . SysTimeRtcConvertHighResToDate . . . . . . . . . . . . . . . . . . . . . . SysTimeRtcGetTimezone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SysTimeRtcSetTimezone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SysTimeRtcConvertLocalToUtc . . . . . . . . . . . . . . . . . . . . . . . . . SysTimeRtcConvertLocalToHighRes . . . . . . . . . . . . . . . . . . . . . SysTimeRtcConvertUtcToLocal . . . . . . . . . . . . . . . . . . . . . . . . . SysTimeRtcConvertHighResToLocal . . . . . . . . . . . . . . . . . . . . . 4.2 Description des types de données . . . . . . . . . . . . . . . . . . . . . . . . . . . SYSTIMEDATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RTS_SYSTIMEDATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TimezoneInformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Annexes EIO0000000668 06/2017 ......................................... 5 7 11 11 13 14 15 18 21 22 23 24 25 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 45 46 47 3 Annexe A Représentation des fonctions et blocs fonction . . . . . . . . Différences entre une fonction et un bloc fonction . . . . . . . . . . . . . . . . Utilisation d'une fonction ou d'un bloc fonction en langage IL . . . . . . . Utilisation d'une fonction ou d'un bloc fonction en langage ST . . . . . . Glossaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 49 50 51 55 59 63 EIO0000000668 06/2017 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. EIO0000000668 06/2017 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 EIO0000000668 06/2017 A propos de ce manuel Présentation Objectif du document Cette documentation décrit les bibliothèques SysTimeRtc et SysTimeCore. La bibliothèque SysTimeRtc met en œuvre les fonctions de gestion du système d'exécution par l'horodateur (RTC). La bibliothèque SysTimeCore permet d'accéder aux routines horaires haute résolution qui calculent les horodatages. Le tableau suivant répertorie les fonctions des deux bibliothèques et les contrôleurs qui les prennent en charge : Nom de la fonction Nom de la bibliothèque M238 M241, M251, M258 LMC058, LMC078 XBT-GC ATV IMC XBT-GK XBT-GT HMISCU SysTimeGetMs SysTimeCore x x x x SysTimeGetNs SysTimeCore - x x x SysTimeGetUs SysTimeCore x x x x SysTimeRtcConvertDateToHighRes SysTimeRtc - x x - SysTimeRtcConvertHighResToDate SysTimeRtc - x x - SysTimeRtcHighResGet SysTimeRtc - x x - SysTimeRtcHighResSet SysTimeRtc - x x - SysTimeRtcControl SysTimeRtc - Prise en charge uniquement sur LMC078 x x SysTimeRtcConvertDateToUtc SysTimeRtc x x x x SysTimeRtcConvertUtcToDate SysTimeRtc x x x x SysTimeRtcConvertLocalToUtc SysTimeRtc - - - - SysTimeRtcConvertUtcToLocal SysTimeRtc - - - - SysTimeRtcGet SysTimeRtc x x x x SysTimeRtcSet SysTimeRtc x x x x SysTimeRtcConvertHighResToLocal SysTimeRtc - - - - SysTimeRtcConvertLocalToHighRes SysTimeRtc - - - - x Pris en charge - Non pris en charge EIO0000000668 06/2017 7 Nom de la fonction Nom de la bibliothèque M238 M241, M251, M258 LMC058, LMC078 XBT-GC ATV IMC XBT-GK XBT-GT HMISCU SysTimeRtcGetTimezone SysTimeRtc x x x x SysTimeRtcSetTimezone SysTimeRtc x x x x x Pris en charge - Non pris en charge Champ d'application Ce document a été actualisé pour le lancement de SoMachine V4.3. Documents à consulter 8 Titre du document Référence Modicon M238 Logic Controller - Fonctions et variables système - Guide de la bibliothèque PLCSystem EIO0000000364 (ENG) ; EIO0000000757 (FRE) ; EIO0000000758 (GER) ; EIO0000000759 (SPA) ; EIO0000000760 (ITA) ; EIO0000000761 (CHS) Modicon M241 Logic Controller - Fonctions et variables système - Guide de la bibliothèque PLCSystem EIO0000001438 (ENG) ; EIO0000001439 (FRE) ; EIO0000001440 (GER) ; EIO0000001441 (SPA) ; EIO0000001442 (ITA) ; EIO0000001443 (CHS) Modicon M251 Logic Controller - Fonctions et variables système - Guide de la bibliothèque PLCSystem M EIO0000001468 (ENG) ; EIO0000001469 (FRE) ; EIO0000001470 (GER) ; EIO0000001471 (SPA) ; EIO0000001472 (ITA) ; EIO0000001473 (CHS) Modicon M258 Logic Controller - Fonctions et variables système - Guide de la bibliothèque PLCSystem EIO0000000584 (ENG) ; EIO0000000585 (FRE) ; EIO0000000586 (GER) ; EIO0000000587 (ITA) ; EIO0000000588 (SPA) ; EIO0000000589 (CHS) EIO0000000668 06/2017 Titre du document Référence Variateur Altivar ATV IMC - Fonctions et variables système - Guide de la bibliothèque PLCSystem EIO0000000596 (ENG) ; EIO0000000597 (FRE) ; EIO0000000598 (GER) ; EIO0000000599 (SPA) ; EIO0000000600 (ITA) ; EIO0000000601 (CHS) Modicon LMC058 Motion Controller - Fonctions et variables système - Guide de la bibliothèque PLCSystem EIO0000000566 (ENG) ; EIO0000000567 (FRE) ; EIO0000000568 (GER) ; EIO0000000569 (ITA) ; EIO0000000570 (SPA) ; EIO0000000571 (CHS) Modicon LMC078 Motion Controller - Fonctions et variables système - Guide de la bibliothèque PLCSystem EIO0000001917 (ENG) ; EIO0000001918 (FRE) ; EIO0000001919 (GER) ; EIO0000001920 (SPA) ; EIO0000001921 (ITA) ; EIO0000001922 (CHS) Magelis XBTGC, XBTGT, XBTGK HMI Controller Fonctions système et variables - Guide de la bibliothèque PLCSystem EIO0000000626 (ENG) ; EIO0000000627 (FRE) ; EIO0000000628 (GER) ; EIO0000000629 (ITA) ; EIO0000000630 (SPA) ; EIO0000000631 (CHS) Magelis SCU HMI Controller - Fonctions système et variables - Guide de la bibliothèque PLCSystem EIO0000001246 (ENG) ; EIO0000001247 (FRE) ; EIO0000001248 (GER) ; EIO0000001249 (SPA) ; EIO0000001250 (ITA) ; EIO0000001251 (CHS) Vous pouvez télécharger ces publications ainsi que d'autres informations techniques sur notre site Web : http://www.schneider-electric.com/en/download. EIO0000000668 06/2017 9 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. 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 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 IMPREVU 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. 10 EIO0000000668 06/2017 SoMachine Informations générales EIO0000000668 06/2017 Chapitre 1 Informations générales Informations générales Informations générales Présentation Selon le système d'exécution, l'horodateur (RTC) du contrôleur est fourni sous la forme d'un horodatage standard ou à haute résolution. Cet horodatage indique le nombre de secondes (résolution standard) ou de millisecondes (haute résolution) écoulées depuis le 1er janvier 1970 à 00:00:00. C'est également le format UNIX. Tous les contrôleurs SoMachine prennent en charge l'horodateur RTC en résolution standard. Pour identifier les contrôleurs prenant en charge l'horodateur RTC à haute résolution, consultez le tableau (voir page 7) dans le chapitre Objectif de ce document. EIO0000000668 06/2017 11 Informations générales 12 EIO0000000668 06/2017 SoMachine Mise en route EIO0000000668 06/2017 Chapitre 2 Mise en route Mise en route Présentation Ce chapitre fournit des informations essentielles pour l'utilisation des fonctions SysTime. Contenu de ce chapitre Ce chapitre contient les sujets suivants : Sujet Page Ajout des bibliothèques 14 Afficher la date et l'heure du contrôleur 15 Régler la date et l'heure du contrôleur 18 EIO0000000668 06/2017 13 Mise en route Ajout des bibliothèques Marche à suivre Pour accéder aux fonctions, vous devez ajouter manuellement une bibliothèque (ou les deux) : Etape 14 Action 1 Double-cliquez sur le nœud Gestionnaire de bibliothèques du nœud Application du contrôleur dans Outils. 2 Cliquez sur Ajouter une bibliothèque. 3 Naviguez jusqu'à Système → SysLibs, qui s'affiche lorsque le filtre Société est réglé sur Système ou All Company. Résultat : la liste des bibliothèques système s'affiche. 4 Sélectionnez la bibliothèque SysTimeRtc ou SysTimeCore, puis cliquez sur OK. Résultat : la bibliothèque apparaît dans la liste Gestionnaire de bibliothèques. EIO0000000668 06/2017 Mise en route Afficher la date et l'heure du contrôleur Présentation Pour afficher l'horodateur (RTC) du contrôleur dans un format structuré et ergonomique, vous devez utiliser 2 fonctions. 1. Lisez l'horodateur (RTCà l'aide de la fonction SysTimeRtcGet (voir page 30) ou SysTimeRtcHighResGet (voir page 31). 2. Convertissez l'horodatage du format UNIX au format SYSTIMEDATE à l'aide de la fonction SysTimeRtcConvertUtcToDate (voir page 36) ou SysTimeRtcConvertHighResToDate (voir page 37). NOTE : comme l'heure UTC (temps universel coordonné) est la même dans le monde entier, la plupart des systèmes ne stockent et ne traitent que l'heure UTC. Schéma de principe - Afficher l'horodateur (RTC) du contrôleur en résolution standard EIO0000000668 06/2017 15 Mise en route Exemple Cet exemple de programme permet d'obtenir la date et l'heure du contrôleur. Déclaration des variables : VAR uidResultRtcGet: UDINT stGetDate: SysTimeRtc.RTS_SYSTIMEDATE; uiGetYear: UINT; uiGetMonth: UINT; uiGetDay: UINT; uiGetHour: UINT; uiGetMinute: UINT; uiGetSecond: UINT; uiGetMSecond: UINT; uiGetDayOfWeek: UINT; uiGetYday: UINT; uidResultConvertToDate: UDINT; END_VAR 16 EIO0000000668 06/2017 Mise en route Programme de la POU : 1 2 Affichez l'horodateur (RTC) du contrôleur sous la forme d'un horodatage. Convertissez cet horodatage au format SYSTIMEDATE. EIO0000000668 06/2017 17 Mise en route Régler la date et l'heure du contrôleur Présentation Pour régler l'horodateur (RTC) du contrôleur dans un format structuré et ergonomique, vous devez utiliser 2 fonctions. 1. Convertissez le format SYSTIMEDATE de l'horodatage au format UNIX à l'aide de la fonction SysTimeRtcConvertDateToUtc (voir page 34) ou SysTimeRtcConvertDateToHighRes (voir page 35). 2. Ecrivez l'horodateur (RTC) à l'aide de la fonction SysTimeRtcSet (voir page 32) ou SysTimeRtcHighResSet (voir page 33). NOTE : certains contrôleurs prennent en charge une fonction de correction automatique hebdomadaire de l'horodateur. Cette fonction s'appelle SetRTCDrift. Vous pouvez l'utiliser à la place de la fonction SysTimeRtcSet pour réajuster en permanence l'horodateur (RTC). Pour vérifier si cette fonction est prise en charge et en savoir plus sur celle-ci, consultez le Guide de la bibliothèque PLCSystem (voir page 8) de votre contrôleur. NOTE : comme l'heure UTC (temps universel coordonné) est la même dans le monde entier, la plupart des systèmes ne stockent et ne traitent que l'heure UTC. Schéma de principe - Régler l'horodateur (RTC) du contrôleur avec la résolution standard 18 EIO0000000668 06/2017 Mise en route Exemple Cet exemple de programme permet à l'utilisateur de régler l'horodateur de l'automate sur une date et une heure personnalisée. Déclaration des variables : VAR uiSetYear: UINT; uiSetMonth: UINT; uiSetDay: UINT; uiSetHour: UINT; uiSetMinute: UINT; uiSetSecond: UINT; uiSetMSecond: UINT udiResultConvertToUtc: UDINT; dwSetTimeStamp: DWORD; xCommandSetRtc: BOOL; uidResultRtcSet: UDINT; END_VAR EIO0000000668 06/2017 19 Mise en route Programme de la POU : 1 2 3 20 Attribuez le paramètre de date et d'heure à la structure. Convertissez le format SYSTIMEDATE en un horodatage. Réglez un nouvel horodatage sur l'horodateur (RTC) du contrôleur si xCommandSetRtc = TRUE et si la conversion a abouti. EIO0000000668 06/2017 SoMachine Bibliothèque SysTimeCore EIO0000000668 06/2017 Chapitre 3 Bibliothèque SysTimeCore Bibliothèque SysTimeCore EIO0000000668 06/2017 21 Bibliothèque SysTimeCore Sous-chapitre 3.1 Description des fonctions Description des fonctions Présentation Cette section décrit les fonctions de la bibliothèque SysTimeCore. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 22 Page SysTimeGetMs 23 SysTimeGetNs 24 SysTimeGetUs 25 EIO0000000668 06/2017 Bibliothèque SysTimeCore SysTimeGetMs Description de la fonction Renvoie un compteur croissant monotone de millisecondes. Cette valeur est utilisée pour les mesures de timeout et d'heure relatives. Ce compteur est réinitialisé à chaque redémarrage du contrôleur. NOTE : l'horodateur n'a aucune influence sur ce compteur. Représentation graphique Description des variables d'E/S Sortie Type Description SysTimeGetMs UDINT Valeur du compteur de millisecondes, réinitialisée au démarrage. EIO0000000668 06/2017 23 Bibliothèque SysTimeCore SysTimeGetNs Description de la fonction Renvoie un compteur croissant monotone de nanosecondes. Cette valeur est utilisée pour les mesures de timeout et d'heure à haute résolution. Ce compteur est réinitialisé à chaque redémarrage du contrôleur. NOTE : l'horodateur n'a aucune influence sur ce compteur. Représentation graphique Description des variables d'E/S Sortie Type Description SysTimeGetNs UDINT Code d'erreur du système d'exécution (consultez CmpErrors.library) : 0 = aucune erreur détectée Entrée/Sortie Type Description pUsTime SYSTIME Valeur du compteur de nanosecondes, réinitialisée au démarrage. NOTE : SYSTIME est un type d'alias basé sur le type de données ULINT. 24 EIO0000000668 06/2017 Bibliothèque SysTimeCore SysTimeGetUs Description de la fonction Renvoie un compteur croissant monotone de microsecondes. Cette valeur est utilisée pour les mesures de timeout et d'heure à haute résolution. Ce compteur est réinitialisé à chaque redémarrage du contrôleur. NOTE : l'horodateur n'a aucune influence sur ce compteur. Représentation graphique Description des variables d'E/S Sortie Type Description SysTimeGetUs UDINT Code d'erreur du système d'exécution (consultez CmpErrors.library) : 0 = aucune erreur détectée Entrée/Sortie Type Description pUsTime SYSTIME Valeur du compteur de microsecondes, réinitialisée à chaque redémarrage. NOTE : SYSTIME est un type d'alias basé sur le type de données ULINT. EIO0000000668 06/2017 25 Bibliothèque SysTimeCore 26 EIO0000000668 06/2017 SoMachine Bibliothèque SysTimeRtc EIO0000000668 06/2017 Chapitre 4 Bibliothèque SysTimeRtc Bibliothèque SysTimeRtc Contenu de ce chapitre Ce chapitre contient les sous-chapitres suivants : Sous-chapitre Sujet Page 4.1 Description des fonctions 28 4.2 Description des types de données 44 EIO0000000668 06/2017 27 Bibliothèque SysTimeRtc Sous-chapitre 4.1 Description des fonctions Description des fonctions Présentation Cette section décrit les fonctions de la bibliothèque SysTimeRtc. La fonction de l'horodateur gère deux types d'horodatage : Heure UTC : heure en temps universel coordonné, qui a remplacé l'heure du méridien de Greenwich. Les fuseaux horaires sont indiqués avec un décalage positif ou négatif par rapport à l'heure UTC. Par exemple, UTC+1 correspond à l'heure de l'Europe centrale (CET) et UTC+2 à l'heure d'été de l'Europe centrale (CEST). Heure locale : heure locale, avec l'heure d'été et le décalage du fuseau horaire. NOTE : comme l'heure UTC (temps universel coordonné) est la même dans le monde entier, la plupart des systèmes ne stockent et ne traitent que l'heure UTC. Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 28 Page SysTimeRtcControl 29 SysTimeRtcGet 30 SysTimeRtcHighResGet 31 SysTimeRtcSet 32 SysTimeRtcHighResSet 33 SysTimeRtcConvertDateToUtc 34 SysTimeRtcConvertDateToHighRes 35 SysTimeRtcConvertUtcToDate 36 SysTimeRtcConvertHighResToDate 37 SysTimeRtcGetTimezone 38 SysTimeRtcSetTimezone 39 SysTimeRtcConvertLocalToUtc 40 SysTimeRtcConvertLocalToHighRes 41 SysTimeRtcConvertUtcToLocal 42 SysTimeRtcConvertHighResToLocal 43 EIO0000000668 06/2017 Bibliothèque SysTimeRtc SysTimeRtcControl Description de la fonction Cette fonction permet de lire les informations sur l'état matériel de l'horodateur (RTC). Représentation graphique Description des variables d'E/S Entrée Type Description iControlTag DINT 0 = pour vérifier la pile de l'horodateur (RTC) 1 = pour vérifier le format des heures de l'horodateur (RTC) Entrée/Sortie Type Description pdiControlResult DINT Résultat de la vérification. Vérification du format des heures : 0 = format 12 heures 1 = format 24 heures Vérification de la pile : 0 = indique que la pile doit être remplacée 1 = pile chargée Sortie Type Description SysTimeRtcControl UDINT Code d'erreur du système d'exécution (consultez CmpErrors.library) : 0 = aucune erreur détectée EIO0000000668 06/2017 29 Bibliothèque SysTimeRtc SysTimeRtcGet Description de la fonction Cette fonction permet de lire la valeur de l'horodateur (RTC) du contrôleur. Le RTC est fourni sous la forme d'un horodatage qui indique le nombre de secondes écoulées depuis le 1er janvier 1970 à 00:00:00. Représentation graphique Description des variables d'E/S Entrée/Sortie Type Description pResult UDINT Code d'erreur du système d'exécution (consultez CmpErrors.library) : 0 = aucune erreur détectée Sortie Type Description SysTimeRtcGet DWORD RTC du contrôleur (nombre de secondes écoulées depuis le 1er janvier 1970 à 00:00:00) NOTE : un exemple d'utilisation de cette fonction est fourni dans ce document. (voir page 16) 30 EIO0000000668 06/2017 Bibliothèque SysTimeRtc SysTimeRtcHighResGet Description de la fonction Cette fonction permet de lire la valeur de l'horodateur (RTC) du contrôleur. L'horodateur (RTC) fournit un horodatage à haute résolution, qui indique le nombre de millisecondes écoulées depuis le 1er janvier 1970 à 00:00:00:000. Représentation graphique Description des variables d'E/S Entrée/Sortie Type Description pTimestamp SYSTIME Heure en millisecondes depuis le 1er janvier 1970 à 00:00:00:000 Sortie Type Description SysTimeRtcHighResGet UDINT Code d'erreur du système d'exécution (consultez CmpErrors.library) : 0 = aucune erreur détectée NOTE : SYSTIME est un type d'alias basé sur le type de données ULINT. EIO0000000668 06/2017 31 Bibliothèque SysTimeRtc SysTimeRtcSet Description de la fonction Cette fonction permet de régler l'horodateur du contrôleur à l'aide d'un horodatage fourni qui indique le nombre de secondes écoulées depuis le 1er janvier 1970 à 00:00:00. NOTE : le réglage de l'horodateur (RTC) du contrôleur génère des entrées dans le fichier journal du contrôleur. Par conséquent, n'utilisez pas cette fonction plus d'une fois par jour pour les ajustements automatiques. Représentation graphique Description des variables d'E/S Entrée Type Description ulTimestamp DWORD Valeur d'horodatage (nombre de secondes écoulées depuis le 1er janvier 1970 00:00:00) Sortie Type Description SysTimeRtcSet UDINT Code d'erreur du système d'exécution (consultez CmpErrors.library) : 0 = aucune erreur détectée NOTE : un exemple d'utilisation de cette fonction est fourni dans ce document. (voir page 19) 32 EIO0000000668 06/2017 Bibliothèque SysTimeRtc SysTimeRtcHighResSet Description de la fonction Cette fonction permet de régler l'horodateur (RTC) du contrôleur à l'aide d'un horodatage à haute résolution fourni, qui indique le nombre de secondes écoulées depuis le 1er janvier 1970 à 00:00:00:000. NOTE : le réglage de l'horodateur (RTC) du contrôleur génère des entrées dans le fichier journal du contrôleur. Par conséquent, n'utilisez pas cette fonction plus d'une fois par jour pour les ajustements automatiques. Représentation graphique Description des variables d'E/S Entrée/Sortie Type Description pTimestamp SYSTIME Horodatage (nombre de secondes écoulées depuis le 1er janvier 1970 00:00:00:000) Sortie Type Description SysTimeRtcHighResSet UDINT Code d'erreur du système d'exécution (consultez CmpErrors.library) : 0 = aucune erreur détectée EIO0000000668 06/2017 33 Bibliothèque SysTimeRtc SysTimeRtcConvertDateToUtc Description de la fonction Cette fonction convertit une date et une heure au format SYSTIMEDATE (voir page 45) en l'horodatage correspondant. Cet horodatage indique le nombre de secondes écoulées depuis le 1er janvier 1970 à 00:00:00. Représentation graphique Description des variables d'E/S Entrée/Sortie Type Description SYSTIMEDATE Date et heure à convertir. pdwTimestampUtc DWORD Horodatage calculé à partir de pDate. Sortie Type Description SysTimeRtcConvertDateToUtc UDINT Code d'erreur du système d'exécution (consultez CmpErrors.library) : 0 = aucune erreur détectée pDate (voir page 45) NOTE : un exemple d'utilisation de cette fonction est fourni dans ce document. (voir page 19) 34 EIO0000000668 06/2017 Bibliothèque SysTimeRtc SysTimeRtcConvertDateToHighRes Description de la fonction Cette fonction convertit une date et une heure au format SYSTIMEDATE (voir page 45) en un horodatage à haute résolution. L'horodatage indique le nombre de millisecondes écoulées depuis le 1er janvier 1970 à 00:00:00:000. Représentation graphique Description des variables d'E/S Entrée/Sortie Type Description pDate SYSTIMEDATE Heure à convertir. pTimestamp SYSTIME Horodatage calculé à partir de pDate. Sortie Type Description SysTimeRtcConvertDateToHighRes UDINT Code d'erreur du système d'exécution (consultez CmpErrors.library) : 0 = aucune erreur détectée (voir page 45) NOTE : SYSTIME est un type d'alias basé sur le type de données ULINT. EIO0000000668 06/2017 35 Bibliothèque SysTimeRtc SysTimeRtcConvertUtcToDate Description de la fonction Cette fonction convertit un horodatage en une date et une heure au format SYSTIMEDATE (voir page 45). Cet horodatage indique le nombre de secondes écoulées depuis le 1er janvier 1970 à 00:00:00. Représentation graphique Description des variables d'E/S Entrée Type Description dwTimestampUtc DWORD Horodatage à convertir. Entrée/Sortie Type Description (voir page 45) SYSTIMEDATE Date et heure calculées à partir de la valeur d'entrée. Sortie Type Description SysTimeRtcConvertUtcToDate UDINT Code d'erreur du système d'exécution (consultez CmpErrors.library) : 0 = aucune erreur détectée pDate NOTE : un exemple d'utilisation de cette fonction est fourni dans ce document. (voir page 16) 36 EIO0000000668 06/2017 Bibliothèque SysTimeRtc SysTimeRtcConvertHighResToDate Description de la fonction Cette fonction convertit un horodatage à haute résolution en une date et une heure au format SYSTIMEDATE (voir page 45). L'horodatage indique le nombre de millisecondes écoulées depuis le 1er janvier 1970 à 00:00:00:000. Représentation graphique Description des variables d'E/S Entrée/Sortie Type Description pTimestamp SYSTIME Horodatage à convertir. pDate SYSTIMEDATE (voir page 45) Date et heure calculées à partir de la valeur d'entrée. Sortie Type Description SysTimeRtcConvertHighResToDate UDINT Code d'erreur du système d'exécution (consultez CmpErrors.library) : 0 = aucune erreur détectée NOTE : SYSTIME est un type d'alias basé sur le type de données ULINT. EIO0000000668 06/2017 37 Bibliothèque SysTimeRtc SysTimeRtcGetTimezone Description de la fonction Cette fonction permet de lire les paramètres du fuseau horaire du contrôleur. Représentation graphique Description des variables d'E/S Entrée/Sortie Type Description TimezoneInformation Paramètres du fuseau horaire du contrôleur. Sortie Type Description SysTimeRtcGetTimezone UDINT Code d'erreur du système d'exécution (consultez CmpErrors.library) : 0 = aucune erreur détectée pTimezone (voir page 46) 38 EIO0000000668 06/2017 Bibliothèque SysTimeRtc SysTimeRtcSetTimezone Description de la fonction Cette fonction permet de régler les paramètres du fuseau horaire spécifié. Représentation graphique Description des variables d'E/S Entrée/Sortie Type Description (voir page 46) TimezoneInformation Paramètres du fuseau horaire à régler pour le contrôleur. Sortie Type Description SysTimeRtcSetTimezone UDINT Code d'erreur du système d'exécution (consultez CmpErrors.library) : 0 = aucune erreur détectée pTimezone EIO0000000668 06/2017 39 Bibliothèque SysTimeRtc SysTimeRtcConvertLocalToUtc Description de la fonction Cette fonction calcule l'horodatage UTC (temps universel coordonné) à partir d'une heure locale, en fonction du fuseau horaire configuré sur le système d'exécution. L'horodatage (UTC) et l'horodatage local indiquent le nombre de secondes écoulées depuis le 1er janvier 1970 à 00:00:00. Représentation graphique Description des variables d'E/S 40 Entrée Type Description dwTimestampLocal DWORD Horodatage local Entrée/Sortie Type Description pdwTimestampUTC DWORD Horodatage UTC calculé à partir de l'entrée Sortie Type Description SysTimeRtcConvertLocalToUtc UDINT Code d'erreur du système d'exécution (consultez CmpErrors.library) : 0 = aucune erreur détectée EIO0000000668 06/2017 Bibliothèque SysTimeRtc SysTimeRtcConvertLocalToHighRes Description de la fonction Cette fonction convertit une date et une heure au SYSTIMEDATE (voir page 45) en un horodatage à haute résolution, en fonction des paramètres du fuseau horaire du système d'exécution. La valeur pDate représente l'heure locale et sera convertie en une valeur UTC fournie sur pTimestamp. La valeur pTimestamp indique le nombre de millisecondes écoulées depuis le 1er janvier 1970 à 00:00:00:000. Représentation graphique Description des variables d'E/S Entrée/Sortie Type Description pDate SYSTIMEDATE Heure à locale à convertir. pTimestamp SYSTIME Horodatage calculé à partir de pDate. Sortie Type Description SysTimeRtcConvertLocalToHighRes UDINT Code d'erreur du système d'exécution (consultez CmpErrors.library) : 0 = aucune erreur détectée (voir page 45) NOTE : SYSTIME est un type d'alias basé sur le type de données ULINT. EIO0000000668 06/2017 41 Bibliothèque SysTimeRtc SysTimeRtcConvertUtcToLocal Description de la fonction Cette fonction calcule l'heure locale à partir de l'horodatage UTC (temps universel coordonné), en fonction du fuseau horaire configuré sur le système d'exécution. L'horodatage UTC et l'horodatage local indiquent le nombre de secondes écoulées depuis le 1er janvier 1970 à 00:00:00. Représentation graphique Description des variables d'E/S 42 Entrée Type Description dwTimestampUtc DWORD Horodatage UTC Entrée/Sortie Type Description pdwTimestampLocal DWORD Horodatage local calculé à partir de l'entrée. Sortie Type Description SysTimeRtcConvertUtcToLocal UDINT Code d'erreur du système d'exécution (consultez CmpErrors.library) : 0 = aucune erreur détectée EIO0000000668 06/2017 Bibliothèque SysTimeRtc SysTimeRtcConvertHighResToLocal Description de la fonction Cette fonction convertit un horodatage à haute résolution en un horodatage au format SYSTIMEDATE (voir page 45), en fonction des paramètres du fuseau horaire du système d'exécution. La valeur pTimestamp représente l'horodatage UTC et sera convertie en l'heure locale fournie sur pDate. Représentation graphique Description des variables d'E/S Entrée/Sortie Type Description pTimestamp SYSTIME Horodatage à convertir. pDate SYSTIMEDATE (voir page 45) Heure locale calculée à partir de pTimestamp. Sortie Type Description SysTimeRtcConvertHighResToLocal UDINT Code d'erreur du système d'exécution (consultez CmpErrors.library) : 0 = aucune erreur détectée NOTE : SYSTIME est un type d'alias basé sur le type de données ULINT. EIO0000000668 06/2017 43 Bibliothèque SysTimeRtc Sous-chapitre 4.2 Description des types de données Description des types de données Contenu de ce sous-chapitre Ce sous-chapitre contient les sujets suivants : Sujet 44 Page SYSTIMEDATE 45 RTS_SYSTIMEDATE 45 TimezoneInformation 46 EIO0000000668 06/2017 Bibliothèque SysTimeRtc SYSTIMEDATE Description du type de données Le type de données SYSTIMEDATE est un type d'alias basé sur le type de données RTS_SYSTIMEDATE. RTS_SYSTIMEDATE Description du type de données Le type de données RTS_SYSTIMEDATE est une structure qui met en œuvre les éléments nécessaires pour représenter un horodatage haute résolution. Cette structure contient des informations détaillées sur la date et l'heure, qui sont présentées dans un format lisible (contrairement à l'horodatage). Nom Type Description wYear UINT Année wMonth UINT Mois, valeurs de 1 à 12 (1 = janvier, 12 = décembre) wDay UINT Jour du mois, valeurs de 1 à 31 wHour UINT Heure du jour, valeurs de 0 à 23 wMinute UINT Minutes de l'heure, valeurs de 0 à 59 wSecond UINT Secondes de la minute, valeurs de 0 à 59 wMilliseconds UINT Millisecondes de la seconde, valeurs de 0 à 999 wDayOfWeek UINT Jour de la semaine, valeurs de 1 à 7 (lundi = 1, dimanche = 7) wYday UINT Jour de l'année, valeurs de 1 à 366 (1 = 1er janvier, 365 ou 366 = 31 décembre) EIO0000000668 06/2017 45 Bibliothèque SysTimeRtc TimezoneInformation Description du type de données Cette information décrit un fuseau horaire local avec l'heure normale et l'heure d'été (également appelées heure d'hiver et heure d'été). Nom Type Description ulStandardDate UDINT Date à convertir en heure normale (de l'heure d'été à l'heure d'hiver). ulDaylightDate UDINT Nombre de secondes écoulées depuis Date à convertir en heure d'été (de l'heure d'hiver à l'heure le d'été). 1er janvier 1970 à 00:00:00. szStandardName STRING (32) Heure normale du fuseau horaire (heure d'hiver). Chaîne de 32 caractères au maximum szDaylightName STRING (32) Heure d'été. Chaîne de 32 caractères au maximum iBias INT UTC = heure locale + décalage minutes iStandardBias INT Décalage supplémentaire par rapport à l'heure normale (heure d'hiver). minutes iDayligthBias INT Décalage supplémentaire par rapport à l'heure d'été. minutes 46 Unité EIO0000000668 06/2017 SoMachine EIO0000000668 06/2017 Annexes EIO0000000668 06/2017 47 48 EIO0000000668 06/2017 SoMachine Représentation des fonctions et blocs fonction EIO0000000668 06/2017 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 50 Utilisation d'une fonction ou d'un bloc fonction en langage IL 51 Utilisation d'une fonction ou d'un bloc fonction en langage ST 55 EIO0000000668 06/2017 49 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 : 50 EIO0000000668 06/2017 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 1 Action Ouvrez ou créez une 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 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. EIO0000000668 06/2017 51 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 Exemple en IL d'une fonction sans paramètre d'entrée : IsFirstMastCycle 52 EIO0000000668 06/2017 Représentation des fonctions et blocs fonction Fonction Représentation dans l'éditeur IL de POU 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. EIO0000000668 06/2017 53 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 TON 54 EIO0000000668 06/2017 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 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); EIO0000000668 06/2017 55 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 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 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 56 EIO0000000668 06/2017 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 EIO0000000668 06/2017 57 Représentation des fonctions et blocs fonction 58 EIO0000000668 06/2017 SoMachine Glossaire EIO0000000668 06/2017 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 EIO0000000668 06/2017 59 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. 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 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). O octet 60 Type codé sur 8 bits, de 00 à FF au format hexadécimal. EIO0000000668 06/2017 Glossaire 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. 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. U UTC Acronyme de Universal Time Coordinated. Principal standard horaire utilisé dans le monde pour régler les horloges. V variable Unité de mémoire qui est adressée et modifiée par un programme. EIO0000000668 06/2017 61 Glossaire 62 EIO0000000668 06/2017 SoMachine Index EIO0000000668 06/2017 Index A affichage de l'horodateur du contrôleur, 15 exemples, 16 C compteurs horaires SysTimeCore, 22 conversion SysTimeRtcConvertDateToUtc, 34 SysTimeRtcConvertUtcToDate, 36 D date SysTimeRtcConvertDateToUtc, 34 SysTimeRtcConvertUtcToDate, 36 date et heure du contrôleur affichage, 15 réglage, 18 E exemples affichage de la date et de l'heure du contrôleur, 16 réglage de l'heure et de l'heure du contrôleur, 19 F fonctions différences entre une fonction et un bloc fonction, 50 SysTimeCore, 22 SysTimeRtc, 28 utilisation d'une fonction ou d'un bloc fonction en langage IL, 51 utilisation d'une fonction ou d'un bloc fonction en langage ST, 55 EIO0000000668 06/2017 H heure SysTimeGetMs, 23 SysTimeGetNs, 24 SysTimeGetUs, 25 horodatage SysTimeRtc, 28 SysTimeRtcConvertDateToUtc, 34 SysTimeRtcConvertUtcToDate, 36 horodatage à haute résolution SysTimeRtc, 28 horodatage à résolution standard SysTimeRtc, 28 horodateur SysTimeRtcControl, 29 SysTimeRtcConvertDateToHighRes, 35 SysTimeRtcConvertHighResToDate, 37 SysTimeRtcConvertHighResToLocal, 43 SysTimeRtcConvertLocalToHighRes, 41 SysTimeRtcGet, 30 SysTimeRtcGetTimezone, 38 SysTimeRtcHighResGet, 31 SysTimeRtcHighResSet, 33 SysTimeRtcSet, 32 SysTimeRtcSetTimezone, 39 R réglage de l'horodateur du contrôleur, 18 exemples, 19 RTC SysTimeRtcControl, 29 SysTimeRtcConvertDateToHighRes, 35 SysTimeRtcConvertHighResToDate, 37 SysTimeRtcConvertHighResToLocal, 43 SysTimeRtcConvertLocalToHighRes, 41 SysTimeRtcGet, 30 SysTimeRtcHighResGet, 31 SysTimeRtcHighResSet, 33 63 Index RTC (horodateur), 13 SysTimeRtcGetTimezone, 38 SysTimeRtcSet, 32 SysTimeRtcSetTimezone, 39 RTS_SYSTIMEDATE, 45 S SysTime, fonctions SysTimeCore, bibliothèque, 13 SysTimeRtc, bibliothèque, 13 SysTimeCore compteurs horaires, 22 fonctions, 22 informations générales, 11 SysTimeGetMs, 23 SysTimeGetNs, 24 SysTimeGetUs, 25 SYSTIMEDATE, 45 SysTimeGetMs, 23 SysTimeGetNs, 24 SysTimeGetUs, 25 SysTimeRtc fonctions, 28 informations générales, 11 RTS_SYSTIMEDATE, 45 SYSTIMEDATE, 45 SysTimeRtcControl, 29 SysTimeRtcConvertDateToHighRes, 35 SysTimeRtcConvertDateToUtc, 34 SysTimeRtcConvertHighResToDate, 37 SysTimeRtcConvertHighResToLocal, 43 SysTimeRtcConvertLocalToHighRes, 41 SysTimeRtcConvertUtcToDate, 36 SysTimeRtcConvertUtcToLocal, 42 SysTimeRtcGet, 30 SysTimeRtcGetTimezone, 38 SysTimeRtcHighResGet, 31 SysTimeRtcHighResSet, 33 SysTimeRtcSet, 32 SysTimeRtcSetTimezone, 39 TimezoneInformation, 46 SysTimeRtcControl, 29 SysTimeRtcConvertDateToHighRes, 35 SysTimeRtcConvertDateToUtc, 34 64 SysTimeRtcConvertHighResToDate, 37 SysTimeRtcConvertHighResToLocal, 43 SysTimeRtcConvertLocalToHighRes, 41 SysTimeRtcConvertLocalToUtc, 40 SysTimeRtcConvertLocalToUtc, 40 SysTimeRtcConvertUtcToDate, 36 SysTimeRtcConvertUtcToLocal, 42 SysTimeRtcGet, 30 SysTimeRtcGetTimezone, 38 SysTimeRtcHighResGet, 31 SysTimeRtcHighResSet, 33 SysTimeRtcSet, 32 SysTimeRtcSetTimezone, 39 T temps universel coordonné (UTC) SysTimeRtcConvertLocalToUtc, 40 SysTimeRtcConvertUtcToLocal, 42 TimezoneInformation, 46 types de données RTS_SYSTIMEDATE, 45 SYSTIMEDATE, 45 SysTimeRtc, 44 TimezoneInformation, 46 U UTC SysTimeRtcConvertLocalToUtc, 40 SysTimeRtcConvertUtcToDate, 36 SysTimeRtcConvertUtcToLocal, 42 UTC (temps universel coordonné), 13 EIO0000000668 06/2017 Index EIO0000000668 06/2017 65