Schneider Electric SoMachine - Fonctions de journalisation des données Mode d'emploi

Ajouter à Mes manuels
38 Des pages
Schneider Electric SoMachine - Fonctions de journalisation des données Mode d'emploi | Fixfr
SoMachine
EIO0000000486 04/2014
SoMachine
Fonctions de journalisation des
données
Guide de la bibliothèque DataLogging
EIO0000000486.03
04/2014
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 d’amélioration ou de correction ou avez relevé des erreurs dans 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 l’autorisation écrite expresse de
Schneider Electric.
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.
© 2014 Schneider Electric. Tous droits réservés.
2
EIO0000000486 04/2014
Table des matières
Consignes de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . .
A propos de ce manuel . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 1 Journalisation des données . . . . . . . . . . . . . . . . . . . . .
Présentation de la journalisation des données . . . . . . . . . . . . . . . . . .
Configuration du journal des données. . . . . . . . . . . . . . . . . . . . . . . . .
Gestion des fichiers de journalisation des données . . . . . . . . . . . . . .
Informations supplémentaires sur le fichier de journalisation des
données. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ajout des blocs fonction LogRecord et Dump . . . . . . . . . . . . . . . . . . .
Création d’une chaîne WSTRING . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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
EIO0000000486 04/2014
.........................................
.........................................
5
7
9
10
12
15
20
21
22
23
25
26
27
31
35
37
3
4
EIO0000000486 04/2014
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 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.
EIO0000000486 04/2014
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
EIO0000000486 04/2014
A propos de ce manuel
Présentation
Objectif du document
Ce guide présente les fonctions de journalisation des données utilisables par les contrôleurs qui
prennent en charge les opérations de gestion de fichiers.
Champ d’application
Le présent document a été mis à jour suite au lancement de SoMachine V4.0.
Information spécifique au produit
AVERTISSEMENT
PERTE DE CONTROLE





Le concepteur d’un circuit de commande doit tenir compte des modes de défaillance potentiels
des canaux de commande et, pour certaines fonctions de commande critiques, prévoir un
moyen d’assurer la sécurité en maintenant un état sûr pendant et après la défaillance. Par
exemple, l’arrêt d’urgence, l’arrêt en cas de surcourse, la coupure de courant et le
redémarrage sont des fonctions de contrôle cruciales.
Des canaux de commande séparés ou redondants doivent être prévus pour les fonctions de
commande critique.
Les liaisons de communication peuvent faire partie des canaux de commande du système.
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.
EIO0000000486 04/2014
7
8
EIO0000000486 04/2014
SoMachine
Journalisation des données
EIO0000000486 04/2014
Chapitre 1
Journalisation des données
Journalisation des données
Introduction
Ce document présente la fonctionnalité de journalisation des données utilisable par les automates
qui prennent en charge les opérations de gestion de fichiers.
Un journal des données est un fichier texte de chaînes définies par l’utilisateur contenant des
informations sur les données d’application relatives à un processus ou une machine. Il est stocké
sur l’automate. Vous pouvez le télécharger et l’ouvrir avec un éditeur de texte standard. Ces
informations incluents des valeurs de variables intégrées et le texte qui leur est associé.
L’indication de l’heure et de la date est une option supplémentaire.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Présentation de la journalisation des données
10
Configuration du journal des données
12
Gestion des fichiers de journalisation des données
15
Informations supplémentaires sur le fichier de journalisation des données
20
Ajout des blocs fonction LogRecord et Dump
21
Création d’une chaîne WSTRING
22
EIO0000000486 04/2014
9
Journalisation des données
Présentation de la journalisation des données
Présentation
Vous pouvez contrôler et analyser les données d’application en examinant le fichier de journalisation des données (.log).
Téléchargement de fichiers
depuis SoMachine,
le serveur Web du contrôleur
ou à la demande du client FTP
Application
du contrôleur
Mémoire
du contrôleur
Fichier journal
BF
Enregistrement
Fichier journal
Commande
de vidage
BF
Vidage
Mémoire tampon
du fichier journal
Journal des données x
Journal des données y
Journal des données z
Vidage
automatique
Nouveau
journal
de données
Forcer le vidage
de la mémoire tampon
JournalDonnées.log
Journal des données 1
Journal des données 2
Journal des données 3
Journal des données 4
Journal des données 5
Journal des données 6
…
La figure illustre une application composée de deux blocs fonction, LogRecord etDump. Le bloc
fonction LogRecord écrit les données dans la mémoire tampon qui les transfère, lors de son
vidage, au fichier de journalisation (.log) situé dans la mémoire du contrôleur. Le vidage de la
mémoire tampon est automatiquement déclenché lorsqu’elle est pleine à 80 %. Ce vidage peut
également être forcé à l’aide de la fonction Dump. En tant que client FTP standard, un PC peut
accéder au fichier de journalisation des données dès lors que le contrôleur sert de serveur FTP.
Vous pouvez également télécharger le fichier depuis SoMachine ou le serveur Web du contrôleur.
NOTE : seuls les contrôleurs disposant de fonctionnalités de gestion des fichiers peuvent prendre
en charge la journalisation des données. Reportez-vous au manuel de programmation de
l’automate pour savoir s’il prend en charge la gestion des fichiers. Le logiciel ne vérifie pas si votre
contrôleur est compatible avec les opérations de journalisation des données.
10
EIO0000000486 04/2014
Journalisation des données
Exemple de fichier de journalisation des données (.log)
Entries in File: 8; Last Entry: 8;
18/06/2009;14:12:33;cycle: 1182;
18/06/2009;14:12:35;cycle: 1292;
18/06/2009;14:12:38;cycle: 1450;
18/06/2009;14:12:40;cycle: 1514;
18/06/2009;14:12:41;cycle: 1585;
18/06/2009;14:12:43;cycle: 1656;
18/06/2009;14:14:20;cycle: 6346;
18/06/2009;14:14:26;cycle: 6636;
Procédure de mise en œuvre
Avant de commencer à écrire votre programme, vous devez d’abord déclarer et configurer les
fichiers de journalisation dans votre application.
EIO0000000486 04/2014
11
Journalisation des données
Configuration du journal des données
Ajouter un gestionnaire de journaux de données
Avant de configurer la journalisation des données, ajoutez un gestionnaire de journaux de
données à votre configuration :
Étape
12
Action
1
Dans l’arborescence Outils, sélectionnez le nœud Application, cliquez sur le signe plus vert,
puis sélectionnez Ajouter d’autres objets →Gestionnaire de journaux de données....
Résultat : la boîte de dialogue Add Data Log Manager s’ouvre.
2
Dans la boîte de dialogue Add Data Log Manager, cliquez sur Ajouter.
Résultat : un nœud Gestionnaire de journaux de données apparaît sous le nœud
Application.
3
Sélectionnez le nœud Gestionnaire de journaux de données, cliquez sur le signe plus vert,
puis sélectionnez Journal de données....
Résultat : la boîte de dialogue Add DataLog s’ouvre.
4
Dans la zone de texte Data Logging File Name, saisissez le nom de fichier de votre journal de
données et cliquez sur Ajouter.
Résultat : le journal de données apparaît avec ce nom sous le nœud Gestionnaire de journaux
de données et l’écran de configuration s’ouvre dans la vue éditeur au milieu de l’écran
SoMachine Logic Builder.
Remarque : il est impossible de modifier le nom du journal de données ultérieurement.
5
Définissez les paramètres du journal de données (voir page 13).
6
Répétez les étapes 3 à 5 pour créer d’autres journaux de données.
EIO0000000486 04/2014
Journalisation des données
Ecran de configuration
Cet écran de configuration n’apparaît qu’une fois que vous avez ajouté un journal de données à
votre configuration :
Paramètres de configuration
Paramètre
Description
Add Date
Ces options permettent d’inscrire la date et l’heure de chaque enregistrement. Par
exemple, une instance ajoutée le 10 juin 2009 à 14h:30 peut apparaître sous les
formes suivantes : 10/06/2009, 06/10/2009 ou 20090610 ... à 14:30 ou
02:30:00 pm, etc.
Add Time
Max number of entries
EIO0000000486 04/2014
Cette option permet de définir le nombre maximum d’enregistrements contenus dans
le journal de données. La valeur doit être comprise entre 10 et 65 536. (Elle est
de 10 000 par défaut.)
13
Journalisation des données
Paramètre
Description
Mode
Circular (par
défaut)
Lorsque la valeur Max number of entries est atteinte, les
nouveaux enregistrements remplacent les anciens. Vous
pouvez utiliser la première ligne du journal de données pour
connaître la position du dernier enregistrement. Les cas suivants
sont basés sur un fichier configuré pour un maximum de
10 enregistrements :
 Cas 1 : Entries in File: 8; Last Entry: 8
Explication : le nombre d’entrées dans le fichier est égal à la
valeur de Last Entry. Les enregistrements sont classés du
N° 1 (le plus ancien) au N° 8 (le plus récent).
 Cas 2 : Entries in File: 10; Last Entry: 5
Explication : le nombre d’entrées dans le fichier est
supérieur à la valeur de Last Entry. Le fichier est saturé et
chaque nouvel enregistrement replace le plus ancien. Les
10 enregistrements sont classés dans cet ordre (du plus
ancien au plus récent) : 6, 7, 8, 9, 10, 1, 2, 3, 4, 5
Stop when full
Lorsque la valeur Max number of entries est atteinte, la
tentative d’enregistrement suivante renvoie un message
d’erreur.
Internal Buffer Size
Configurez la taille de la mémoire tampon qui stocke les nouveaux enregistrements.
Vous pouvez entrer une valeur comprise entre 1 et celle configurée dans Max
number of entries. (Valeur par défaut : 10.)
Max characters per entry
(optimization)
Définissez la longueur maximale de chaque entrée. Les valeurs autorisées vont
de 10 à 255. (Valeur par défaut : 64.)
La longueur maximale inclut les séparateurs et les éventuelles informations de date
et heure. Des espaces supplémentaires sont ajoutés à la fin de la ligne pour obtenir
le nombre de caractères définis.
Separator between date, time Définissez le caractère à insérer entre les différents champs du journal des données.
and record
Un séparateur supplémentaire est ajouté après l’enregistrement.
REMARQUE : pour chaque journal de données configuré, il existe une instance du bloc fonction LogRecord portant
le même nom que ce journal de données. Cette instance gère toutes les données internes et assure la journalisation
des données.
14
EIO0000000486 04/2014
Journalisation des données
Gestion des fichiers de journalisation des données
Introduction
Un bloc fonction, LogRecord, est disponible pour écrire des entrées de chaîne de texte dans le
fichier de journalisation des données. Ce bloc fonction stocke la chaîne d’entrée dans une
mémoire tampon interne. Lorsque celle-ci atteint 80 % de sa capacité, les chaînes sont envoyées
vers le fichier réel sur le contrôleur. En utilisant le bloc fonction Dump, vous pouvez forcer ce
mécanisme.
Lorsque l’alimentation est coupée, vous risquez de perdre les données conservées dans la
mémoire tampon interne ou de rallonger la durée du cycle avant vidage.
AVIS
PERTE DE DONNEES


Ne coupez pas l’alimentation du contrôleur tant que les informations de la mémoire tampon
interne n’ont pas été déplacées vers le système de fichiers réel.
Si les données enregistrées sont importantes pour l’application, configurez la taille de la
mémoire tampon interne sur 1.
Le non-respect de ces instructions peut provoquer des dommages matériels.
Ajout d’un enregistrement à l’aide du Bloc Fonction LogRecord
Ce bloc fonction permet de journaliser une chaîne UNICODE dans un journal spécifique :
Paramètres d’entrée
Paramètre
Type
Commentaire
xExecute
BOOL
La fonction est exécutée lors du front montant de cette entrée.
REMARQUE : lorsque l’entrée xExecute est définie sur TRUE
lors du premier cycle de tâche en mode RUN après un
redémarrage à froid ou à chaud, le front montant n’est pas
détecté.
EIO0000000486 04/2014
15
Journalisation des données
Paramètre
Type
Commentaire
wsRecord
WSTRING
Cette chaîne de texte UNICODE définie par l’utilisateur est écrite
dans le fichier de journalisation des données.
NOTE : Le type WSTRING (voir page 22) est disponible dans la
bibliothèque Standard64.lib, insérée automatiquement
lorsque le gestionnaire des journaux de données est ajouté à
l’application.
Paramètres de sortie
Paramètre
Type
Commentaire
xDone
BOOL
Cette sortie est définie sur TRUE lorsque l’enregistrement est
sauvegardé dans la mémoire tampon interne sans messages
d’erreur.
xBusy
BOOL
Cette sortie reste sur TRUE tant que LogRecord est en cours
d’exécution (jusqu’à la fin du transfert vers la mémoire tampon).
xError
BOOL
Cette sortie est définie sur TRUE lorsque qu’une erreur survient
(lorsque la mémoire tampon interne est pleine, par exemple).
eError
ERROR
Cette sortie contient le code d’erreur lorsque xError prend la
valeur TRUE :
 NO_ERROR
 INIT_ERROR
 DUMP_ERROR
 BUFFER_FULL_ERROR
 FILE_FULL_ERROR
 DUMP_INCOMPLETED
 INPUT_ERROR
 FILE_OPEN_ERROR
 FILE_SETPOINTER_ERROR
 FILE_WRITE_ERROR
 FILE_CLOSE_ERROR
NOTE : Si la chaîne dépasse la longueur définie, elle est tronquée.
Les sorties xDone et xError restent sur TRUE tant que xExecute prend la valeur TRUE.
Lorsque xExecute est défini sur FALSE avant que xDone ou xError soit défini sur TRUE
(xBusy prend toujours la valeur TRUE), l’un de ces paramètres passe à la valeur TRUE lorsque
le bloc fonction est exécuté sur un seul cycle de contrôleur pour que l’application détecte cet
achèvement :
1
1
16
Un cycle en tant que Ex prend la valeur FALSE.
EIO0000000486 04/2014
Journalisation des données
Le bloc fonction LogRecord inclut une instance correspondant à chaque fichier de journalisation
des données configuré. La déclaration d’instance du bloc fonction étant automatique, il est inutile
de déclarer explicitement les blocs fonction. Ajoutez le bloc fonction à votre unité organisationnelle
de programme (POU) et définissez l’instance du fichier de journalisation appropriée avec la
fonction d’aide à la saisie (voir Ajout de LogRecord (voir page 21)).
Forçage d’enregistrement à l’aide de la méthode Dump
Vous pouvez utiliser la méthode Dump (une méthode peut être considérée comme une sousfonction d’un bloc fonction, en l’occurrence LogRecord) pour forcer les données d’application à
déplacer les enregistrements sauvegardés dans la mémoire tampon interne vers le fichier réel qui
se trouve dans le système de fichiers du contrôleur :
Paramètres
Entrée
Type
Commentaire
xExecute
BOOL
La fonction d’enregistrement est exécutée sur le front montant de
cette entrée.
NOTE : Lorsque xExecute est défini sur 1 lors du premier cycle
de tâche du contrôleur, le front montant n’est pas détecté.
Sortie
Type
Commentaire
xDone
BOOL
Cette sortie est définie sur TRUE lorsque les enregistrements sont
sauvegardés sans messages d’erreur.
xBusy
BOOL
Cette sortie reste sur TRUE tant que Dump est en cours
d’exécution (jusqu’à la fin de l’écriture du fichier).
xError
BOOL
Cette sortie est définie sur TRUE lorsque qu’une erreur est
détectée (lorsque le fichier de journalisation des données est
plein, par exemple).
EIO0000000486 04/2014
17
Journalisation des données
Sortie
Type
Commentaire
eError
ERROR
Cette sortie contient le code d’erreur lorsque xError prend la
valeur TRUE :
 NO_ERROR
 INIT_ERROR
 DUMP_ERROR
 BUFFER_FULL_ERROR
 FILE_FULL_ERROR
 DUMP_INCOMPLETED
 INPUT_ERROR
 FILE_OPEN_ERROR
 FILE_SETPOINTER_ERROR
 FILE_WRITE_ERROR
 FILE_CLOSE_ERROR
Reportez-vous à la section Ajout d’une méthode Dump (voir page 21) pour plus d’informations sur
la mise en œuvre de la méthode Dump.
Enregistrement automatique dans le fichier de journalisation des données
Lorsque le bloc fonction LogRecord est utilisé et que la mémoire tampon interne est pleine à
80 %, le système déplace automatiquement les données contenues dans le tampon interne vers
le fichier de journalisation des données. Le bloc fonction Dump permet de forcer ce déplacement
sans attendre la limite de 80 %. Cette limite de 80 % permet de lancer le processus d’écriture avant
que la mémoire tampon soit pleine et lors de l’ajout d’une nouvelle chaîne.
Le tableau ci-après indique à quel stade s’effectue l’enregistrement dans le fichier pour une taille
de tampon configurée donnée (80 % de la taille de la mémoire tampon arrondie à l’entier inférieur
le plus proche) :
18
Taille du tampon
Limite de 80 %
Commentaire
1
1
La sauvegarde dans le fichier de
journalisation des données est activée dès
qu’un enregistrement est ajouté avec un
emplacement supplémentaire disponible
pour un nouvel enregistrement lors de la
sauvegarde.
2
1
3
2
4
3
La sauvegarde dans le fichier de
journalisation des données est activée
lorsque la mémoire tampon est pleine à
80 % avec un emplacement supplémentaire
disponible pour un nouvel enregistrement
arrivant au cours de la sauvegarde.
EIO0000000486 04/2014
Journalisation des données
Taille du tampon
Limite de 80 %
Commentaire
La sauvegarde dans le fichier de
journalisation des données est activée
lorsque la mémoire tampon est pleine à
80 % avec des emplacements
supplémentaires disponibles pour de
nouveaux enregistrements arrivant au cours
de la sauvegarde.
5
4
6
4
7
5
8
6
...
Lors d’un enregistrement explicité (Dump) ou automatique (80 %), le fichier de journalisation des
données est fermé après la sauvegarde de chaque enregistrement (ou groupe d’enregistrements)
pour parer à une éventuelle coupure de courant externe.
EIO0000000486 04/2014
19
Journalisation des données
Informations supplémentaires sur le fichier de journalisation des données
Propriétés du journal des données
Vous pouvez accéder aux propriétés du journal des données après avoir configuré le bloc fonction.
Les propriétés LogRecord sont des variables supplémentaires (lecture seule) automatiquement
associées à l’instance LogRecord, qui fournissent des informations sur l’état du fichier de journalisation des données :
Variables
Type
Description
<Nom de fichier
journal>.NumberOfRecords
UDINT
Nombre d’enregistrements contenus dans le fichier de
journalisation des données.
<Nom de fichier
journal>.NumberOfBufferedRecords
UINT
Nombre d’enregistrements contenus dans la mémoire
tampon.
<Nom de fichier journal>.FileStatus
FILE_STATUS
Informations d’état sur le fichier de journalisation des
données (type FILE_STATUS) :
 0: OK
 1: FILE_FULL
 2: NO_WRITE_ACCESS
 3: FILE_NOT_EXISTS
<Nom de fichier journal>.DumpInProgress BOOL
TRUE lorsque les enregistrements mis en mémoire
tampon sont stockés dans le fichier de journalisation
des données.
Recommandation
Le bloc fonction LogRecord nécessite bien plus que quinze cycles d’intervalle après avoir été
activé (avec xExecute) pour pouvoir enregistrer un enregistrement dans le fichier journal. Par
conséquent, il est vivement recommandé d’utiliser ce bloc fonction dans une tâche FAST :
Type de tâche
Temps minimum nécessaire au stockage de
l’enregistrement
Cyclique
20
300 ms
Cyclique
1
15 ms : vivement recommandé
Evénement
20
Intervalle (ms)
Nécessite 15 événements : pas recommandé
EIO0000000486 04/2014
Journalisation des données
Ajout des blocs fonction LogRecord et Dump
Vue d’ensemble
Pour ajouter le bloc fonction LogRecord et la méthode Dump à votre projet, procédez comme suit :
Ajout de LogRecord
Ajoutez le bloc fonction LogRecord à votre projet :
Etape
Action
Commentaire
1
Insérez un bloc fonction LogRecord dans votre
POU avec Input Assistant ou en entrant
directement LogRecord.
Dans la boîte de dialogue Input Assistant, effectuez
les sélections suivantes :
 Catégories : Function Blocks (Libraries)
 Eléments : {} SEDL →LogRecord
(éléments en représentation structurée)
2
Cliquez sur OK ou appuyez sur ENTER.
Le bloc fonction LogRecord est désormais intégré à
votre projet.
3
Sélectionnez le fichier de journalisation des
données approprié comme nom d’instance
LogRecord.
Dans l’Aide à la saisie, sélectionnez le fichier de
journalisation des données approprié ou entrez son
nom.
4
Configurez les entrées et sorties comme
d’habitude.
Reportez-vous à la description des paramètres de ce
bloc fonction (voir page 15).
Ajout de la méthode Dump
Ajoutez la méthode Dump à votre projet :
Etape
Action
Commentaire
1
Insérez une méthode Dump dans votre POU avec
Input Assistant ou en entrant directement
LogRecord.Dump.
Dans la boîte de dialogue Input Assistant, effectuez
les sélections suivantes :
 Catégories : Function Blocks (Libraries)
 Items: SEDL →LogRecord →Dump
(éléments en représentation structurée)
2
Cliquez sur OK ou appuyez sur ENTER.
La méthode LogRecord.Dump est désormais
intégrée à votre projet.
3
Sélectionnez le fichier de journalisation des
données approprié comme nom d’instance
LogRecord.
Dans l’Input Assistant, sélectionnez le fichier de
journalisation des données approprié ou entrez son
nom.
4
Configurez les entrées et sorties comme
d’habitude.
Reportez-vous à la description des paramètres de ce
bloc fonction (voir page 17).
EIO0000000486 04/2014
21
Journalisation des données
Création d’une chaîne WSTRING
Vue d’ensemble
L’entrée wsRecord du bloc fonction LogRecord est du type WSTRING (wide string). Pour créer la
chaîne de journal, vous devez d’abord ajouter la bibliothèque Standard64 à votre application et
utiliser des fonctions de chaîne étendue.
Exemple
La figure ci-après illustre la création d’une chaîne WSTRING qui inclut une valeur de variable :
22
EIO0000000486 04/2014
SoMachine
EIO0000000486 04/2014
Annexes
EIO0000000486 04/2014
23
24
EIO0000000486 04/2014
SoMachine
Représentation des fonctions et blocs fonction
EIO0000000486 04/2014
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
26
Utilisation d’une fonction ou d’un bloc fonction en langage IL
27
Utilisation d’une fonction ou d’un bloc fonction en langage ST
31
EIO0000000486 04/2014
25
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 :
26
EIO0000000486 04/2014
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 une POU en langage IL (Instruction List, ou liste d’instructions).
NOTE : La procédure de création d’une POU n’est pas détaillée ici. Pour plus d’informations,
reportez-vous à la section Ajout, déclaration et appel de POU.
2
Créez les variables nécessaires à la fonction.
3
Si la fonction possède une ou plusieurs entrées, chargez la première entrée en utilisant
l’instruction LD.
4
Insérez une nouvelle ligne en dessous et :
 saisissez le nom de la fonction dans la colonne de l’opérateur (champ de gauche), ou
 utilisez l’Aide à la saisie pour sélectionner la fonction (sélectionnez Insérer l’appel de module
dans le menu contextuel).
5
Si la fonction a plus d’une entrée et que l’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 un nom de variable
dans le champ situé à droite.
Pour illustrer la procédure, utilisons les fonctions IsFirstMastCycle (sans paramètre d’entrée)
et SetRTCDrift (avec paramètres d’entrée) représentées graphiquement ci-après :
Fonction
Représentation graphique
sans paramètre d’entrée :
IsFirstMastCycle
EIO0000000486 04/2014
27
Représentation des fonctions et blocs fonction
Fonction
Représentation graphique
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
Exemple IL d’une
fonction avec des
paramètres d’entrée :
SetRTCDrift
28
EIO0000000486 04/2014
Représentation des fonctions et blocs fonction
Utilisation d’un bloc fonction en langage IL
La procédure suivante explique comment insérer un bloc fonction en langage IL :
Etape
Action
1
Ouvrez ou créez une POU en langage IL (Instruction List, ou liste d’instructions).
NOTE : La procédure de création d’une POU n’est pas détaillée ici. Pour plus d’informations,
reportez-vous à la section Ajout, déclaration et appel de POU.
2
Créez les variables nécessaires au bloc fonction (y compris le nom de l’instance).
3
L’appel de blocs fonction nécessite l’utilisation d’une instruction CAL :
 Utilisez l’Aide à la saisie pour sélectionner le bloc fonction (cliquez avec le bouton droit et
sélectionnez Insérer l’appel de module dans le menu contextuel).
 L’instruction CAL et les E/S nécessaires sont automatiquement créées.
Chaque paramètre (E/S) est une instruction :
 Les valeurs des entrées sont définies à l’aide de « := ».
 Les valeurs des sorties sont définies à l’aide de « => ».
4
Dans le champ CAL de droite, remplacez les ??? par le nom de l’instance.
5
Remplacez les autres ??? par une variable ou une valeur immédiate appropriée.
Pour illustrer la procédure, utilisons le bloc fonction TON représenté graphiquement ci-après :
Bloc fonction
Représentation graphique
TON
En langage IL, le nom du bloc fonction est utilisé directement dans la colonne de l’opérateur :
EIO0000000486 04/2014
29
Représentation des fonctions et blocs fonction
Bloc fonction
Représentation dans l’éditeur IL de POU de SoMachine
TON
30
EIO0000000486 04/2014
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 une POU en langage ST (Structured Text ou Littéral structuré).
NOTE : La procédure de création d’une POU n’est pas détaillée ici. Pour plus d’informations,
reportez-vous à la section Ajout, déclaration et appel de POU.
2
Créez les variables nécessaires à la fonction.
3
Utilisez la syntaxe générale dans l’éditeur ST de POU pour la représentation en langage ST d’une
fonction. La syntaxe générale est la suivante :
RésultatFonction:= NomFonction(VarEntrée1, VarEntrée2, … VarEntréex);
Pour illustrer la procédure, utilisons la fonction SetRTCDrift représentée graphiquement ciaprès :
Fonction
Représentation graphique
SetRTCDrift
La représentation en langage ST de cette fonction est la suivante :
Fonction
Représentation dans l’éditeur ST de POU 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);
EIO0000000486 04/2014
31
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 une POU en langage ST (Structured Text ou Littéral structuré).
NOTE : La procédure de création d’une POU n’est pas détaillée ici. Pour plus d’informations
sur l’ajout, la déclaration et l’appel de POU, reportez-vous à la documentation 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
32
EIO0000000486 04/2014
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
EIO0000000486 04/2014
33
Représentation des fonctions et blocs fonction
34
EIO0000000486 04/2014
SoMachine
Glossaire
EIO0000000486 04/2014
Glossaire
C
CFC
Acronyme de continuous function chart, diagramme fonctionnel continu. Langage de
programmation graphique (extension de la norme IEC 61131-3) basé sur le langage de diagramme
à blocs fonction et qui fonctionne comme un diagramme de flux. Toutefois, il n’utilise pas de
réseaux et le positionnement libre des éléments graphiques est possible, ce qui permet les boucles
de retour. Pour chaque bloc, les entrées se situent à gauche et les sorties à droite. Vous pouvez
lier les sorties de blocs aux entrées d’autres blocs pour créer des expressions complexes.
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.
FBD
Acronyme de function block diagram, diagramme à blocs fonction. Un des 5 langages de
programmation de logique ou de contrôle pris en charge par la norme IEC 61131-3 pour les
systèmes de contrôle. 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.
I
IL
Acronyme de instruction list, liste d’instructions. Un programme écrit en langage IL est composé
d’instructions textuelles qui sont exécutées séquentiellement par le contrôleur. Chaque instruction
comprend un numéro de ligne, un code d’instruction et un opérande (voir la norme IEC 61131-3).
INT
Abréviation de integer), nombre entier codé sur 16 bits.
EIO0000000486 04/2014
35
Glossaire
L
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
Type codé sur 8 bits, de 16#00 à 16#FF en représentation hexadécimale.
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.
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.
V
variable
Unité de mémoire qui est adressée et modifiée par un programme.
36
EIO0000000486 04/2014
SoMachine
Index
EIO0000000486 04/2014
Index
B
N
Bloc Fonction
Dump, 17
LogRecord, 15
NumberOfBufferedRecords
Variables, 20
NumberOfRecords
Variables, 20
D
Dump
Bloc Fonction, 17
DumpInProgress
Variables, 20
E
ERROR
Type de paramètre de sortie, 16, 18
F
FILE_STATUS
Type, 20
FileStatus
Variables, 20
fonctions
différences entre une fonction et un bloc
fonction, 26
utilisation d’une fonction ou d’un bloc
fonction en langage IL, 27
utilisation d’une fonction ou d’un bloc
fonction en langage ST, 31
T
Type
FILE_STATUS, 20
Type de paramètre de sortie
ERROR, 16, 18
V
Variables
DumpInProgress, 20
FileStatus, 20
NumberOfBufferedRecords, 20
NumberOfRecords, 20
J
journalisation des données, 9
L
LogRecord
Bloc Fonction, 15
EIO0000000486 04/2014
37
Index
38
EIO0000000486 04/2014

Manuels associés