Schneider Electric SoMachine - FtpRemoteFileHandling Mode d'emploi

Ajouter à Mes manuels
68 Des pages
Schneider Electric SoMachine - FtpRemoteFileHandling Mode d'emploi | Fixfr
SoMachine
EIO0000002406 06/2017
SoMachine
FtpRemoteFileHandling
Guide de la bibliothèque
EIO0000002406.01
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
EIO0000002406 06/2017
Table des matières
Consignes de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . .
A propos de ce manuel. . . . . . . . . . . . . . . . . . . . . . . . . .
Partie I Informations générales . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 1 Informations spécifiques de sécurité . . . . . . . . . . . . . . .
Qualification du Personnel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions d'utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Informations relatives au produit . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 2 Présentation de la bibliothèque . . . . . . . . . . . . . . . . . . .
Informations générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Partie II Énumérations et Structures . . . . . . . . . . . . . . . . . . .
Chapitre 3 Énumérations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ET_FtpCommand. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ET_Result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 4 Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ST_Credentials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ST_Content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ST_Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Partie III Variables globales . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 5 Liste des constantes globales. . . . . . . . . . . . . . . . . . . . .
Liste des constantes globales (GCL). . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 6 Liste des paramètres globaux. . . . . . . . . . . . . . . . . . . . .
Liste des paramètres globaux (GPL) . . . . . . . . . . . . . . . . . . . . . . . . . .
Partie IV Unités d'organisation de programme (POU) . . . . . . .
Chapitre 7 Blocs fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FB_FtpClient. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 8 Fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FC_EtResultToString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FC_EtFtpCommandToString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Annexes
EIO0000002406 06/2017
.........................................
5
9
11
13
14
14
15
19
19
23
25
26
27
29
30
31
33
35
37
37
39
39
41
43
43
47
48
49
51
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
53
54
55
59
63
67
EIO0000002406 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.
EIO0000002406 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.
AVANT DE COMMENCER
N'utilisez pas ce produit sur les machines non pourvues de protection efficace du point de fonctionnement. L'absence de ce type de protection sur une machine présente un risque de blessures
graves pour l'opérateur.
AVERTISSEMENT
EQUIPEMENT NON PROTEGE


N'utilisez pas ce logiciel ni les automatismes associés sur des appareils non équipés de
protection du point de fonctionnement.
N'accédez pas aux machines pendant leur fonctionnement.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
Cet automatisme et le logiciel associé permettent de commander des processus industriels divers.
Le type ou le modèle d'automatisme approprié pour chaque application dépendra de facteurs tels
que la fonction de commande requise, le degré de protection exigé, les méthodes de production,
des conditions inhabituelles, la législation, etc. Dans certaines applications, plusieurs processeurs
seront nécessaires, notamment lorsque la redondance de sauvegarde est requise.
Vous seul, en tant que constructeur de machine ou intégrateur de système, pouvez connaître
toutes les conditions et facteurs présents lors de la configuration, de l'exploitation et de la
maintenance de la machine, et êtes donc en mesure de déterminer les équipements automatisés,
ainsi que les sécurités et verrouillages associés qui peuvent être utilisés correctement. Lors du
choix de l'automatisme et du système de commande, ainsi que du logiciel associé pour une
application particulière, vous devez respecter les normes et réglementations locales et nationales
en vigueur. Le document National Safety Council's Accident Prevention Manual (reconnu aux
Etats-Unis) fournit également de nombreuses informations utiles.
Dans certaines applications, telles que les machines d'emballage, une protection supplémentaire,
comme celle du point de fonctionnement, doit être fournie pour l'opérateur. Elle est nécessaire si
les mains ou d'autres parties du corps de l'opérateur peuvent entrer dans la zone de point de
pincement ou d'autres zones dangereuses, risquant ainsi de provoquer des blessures graves. Les
produits logiciels seuls, ne peuvent en aucun cas protéger les opérateurs contre d'éventuelles
blessures. C'est pourquoi le logiciel ne doit pas remplacer la protection de point de fonctionnement
ou s'y substituer.
6
EIO0000002406 06/2017
Avant de mettre l'équipement en service, assurez-vous que les dispositifs de sécurité et de
verrouillage mécaniques et/ou électriques appropriés liés à la protection du point de fonctionnement ont été installés et sont opérationnels. Tous les dispositifs de sécurité et de verrouillage
liés à la protection du point de fonctionnement doivent être coordonnés avec la programmation des
équipements et logiciels d'automatisation associés.
NOTE : La coordination des dispositifs de sécurité et de verrouillage mécaniques/électriques du
point de fonctionnement n'entre pas dans le cadre de cette bibliothèque de blocs fonction, du
Guide utilisateur système ou de toute autre mise en œuvre référencée dans la documentation.
DEMARRAGE ET TEST
Avant toute utilisation de l'équipement de commande électrique et des automatismes en vue d'un
fonctionnement normal après installation, un technicien qualifié doit procéder à un test de
démarrage afin de vérifier que l'équipement fonctionne correctement. Il est essentiel de planifier
une telle vérification et d'accorder suffisamment de temps pour la réalisation de ce test dans sa
totalité.
AVERTISSEMENT
RISQUES INHERENTS AU FONCTIONNEMENT DE L'EQUIPEMENT



Assurez-vous que toutes les procédures d'installation et de configuration ont été respectées.
Avant de réaliser les tests de fonctionnement, retirez tous les blocs ou autres cales
temporaires utilisés pour le transport de tous les dispositifs composant le système.
Enlevez les outils, les instruments de mesure et les débris éventuels présents sur
l'équipement.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
Effectuez tous les tests de démarrage recommandés dans la documentation de l'équipement.
Conservez toute la documentation de l'équipement pour référence ultérieure.
Les tests logiciels doivent être réalisés à la fois en environnement simulé et réel.
Vérifiez que le système entier est exempt de tout court-circuit et mise à la terre temporaire non
installée conformément aux réglementations locales (conformément au National Electrical Code
des Etats-Unis, par exemple). Si des tests diélectriques sont nécessaires, suivez les recommandations figurant dans la documentation de l'équipement afin d'éviter de l'endommager
accidentellement.
Avant de mettre l'équipement sous tension :
 Enlevez les outils, les instruments de mesure et les débris éventuels présents sur l'équipement.
 Fermez le capot du boîtier de l'équipement.
 Retirez toutes les mises à la terre temporaires des câbles d'alimentation entrants.
 Effectuez tous les tests de démarrage recommandés par le fabricant.
EIO0000002406 06/2017
7
FONCTIONNEMENT ET REGLAGES
Les précautions suivantes sont extraites du document NEMA Standards Publication ICS 7.1-1995
(la version anglaise prévaut) :
 Malgré le soin apporté à la conception et à la fabrication de l'équipement ou au choix et à
l'évaluation des composants, des risques subsistent en cas d'utilisation inappropriée de
l'équipement.
 Il arrive parfois que l'équipement soit déréglé accidentellement, entraînant ainsi un fonctionnement non satisfaisant ou non sécurisé. Respectez toujours les instructions du fabricant pour
effectuer les réglages fonctionnels. Les personnes ayant accès à ces réglages doivent
connaître les instructions du fabricant de l'équipement et les machines utilisées avec
l'équipement électrique.
 Seuls ces réglages fonctionnels, requis par l'opérateur, doivent lui être accessibles. L'accès aux
autres commandes doit être limité afin d'empêcher les changements non autorisés des
caractéristiques de fonctionnement.
8
EIO0000002406 06/2017
A propos de ce manuel
Présentation
Objectif du document
Ce document décrit la bibliothèque FtpRemoteFileHandling.
La bibliothèque propose des fonctionnalités de client FTP (File Transfer Protocol), permettant à un
contrôleur de consulter et de gérer des fichiers distants sur un serveur FTP.
La bibliothèque FtpRemoteFileHandling utilise des fonctions et des ressources système qui sont
prises en charge sur certaines plates-formes de contrôleur :
Modicon M241 Logic Controller
Modicon M251 Logic Controller
Modicon M258 Logic Controller
Modicon LMC078 Motion Controller
Modicon LMC058 Motion Controller





Champ d'application
Ce document a été actualisé pour le lancement de SoMachine V4.3.
Les caractéristiques techniques des équipements décrits dans ce document sont également
fournies en ligne. Pour accéder à ces informations en ligne :
Etape
Action
1
Accédez à la page d'accueil de Schneider Electric www.schneider-electric.com.
2
Dans la zone Search, saisissez la référence d'un produit ou le nom d'une gamme de produits.
 N'insérez pas d'espaces dans la référence ou la gamme de produits.
 Pour obtenir des informations sur un ensemble de modules similaires, utilisez des
astérisques (*).
3
Si vous avez saisi une référence, accédez aux résultats de recherche Product Datasheets et
cliquez sur la référence qui vous intéresse.
Si vous avez saisi une gamme de produits, accédez aux résultats de recherche Product Ranges
et cliquez sur la gamme de produits qui vous intéresse.
4
Si plusieurs références s'affichent dans les résultats de recherche Products, cliquez sur la
référence qui vous intéresse.
5
Selon la taille de l'écran, vous serez peut-être amené à faire défiler la page pour consulter la fiche
technique.
6
Pour enregistrer ou imprimer une fiche technique au format .pdf, cliquez sur Download XXX
product datasheet.
EIO0000002406 06/2017
9
Les caractéristiques présentées dans ce manuel devraient être identiques à celles fournies en
ligne. Toutefois, en application de notre politique d'amélioration continue, nous pouvons être
amenés à réviser le contenu du document afin de le rendre plus clair et plus précis. Si vous
constatez une différence entre le manuel et les informations fournies en ligne, utilisez ces
dernières en priorité.
Documents à consulter
Titre du document
Référence
SoMachine - Fonctions et bibliothèques - Guide de
l'utilisateur
EIO0000000735 (ENG) ;
EIO0000000792 (FRE) ;
EIO0000000793 (GER) ;
EIO0000000795 (SPA) ;
EIO0000000794 (ITA) ;
EIO0000000796 (CHS)
SoMachine - Guide de programmation
EIO0000000067 (ENG) ;
EIO0000000069 (FRE) ;
EIO0000000068 (GER) ;
EIO0000000071 (SPA) ;
EIO0000000070 (ITA) ;
EIO0000000072 (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.
10
EIO0000002406 06/2017
SoMachine
Informations générales
EIO0000002406 06/2017
Partie I
Informations générales
Informations générales
Contenu de cette partie
Cette partie contient les chapitres suivants :
Chapitre
Titre du chapitre
Page
1
Informations spécifiques de sécurité
13
2
Présentation de la bibliothèque
19
EIO0000002406 06/2017
11
Informations générales
12
EIO0000002406 06/2017
SoMachine
Informations spécifiques de sécurité
EIO0000002406 06/2017
Chapitre 1
Informations spécifiques de sécurité
Informations spécifiques de sécurité
Présentation
Cette rubrique contient les informations permettant de travailler avec la bibliothèque FtpRemoteFileHandling. Le personnel amené à travailler avec la bibliothèque FtpRemoteFileHandling doit lire
et observer ces informations .
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Qualification du Personnel
14
Instructions d'utilisation
14
Informations relatives au produit
15
EIO0000002406 06/2017
13
Informations spécifiques de sécurité
Qualification du Personnel
Présentation
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 et du fonctionnement des équipements électriques et installations et
ayant bénéficié d'une formation de sécurité afin de reconnaître et d’éviter les risques encourus.
La personne qualifiée doit être capable de détecter d'éventuels dangers qui pourraient découler
du paramétrage, de modifications des valeurs de paramétrage et plus généralement des
équipements mécaniques, électriques ou électroniques. La personne qualifiée doit connaître les
normes, dispositions et régulations liées à la prévention des accidents de travail, et doit les
observer lors de la conception et de l'implémentation du système.
Instructions d'utilisation
Présentation
Ce produit est une bibliothèque à utiliser avec un système de commande et des servoamplificateurs. La bibliothèque est exclusivement réservée à l'utilisation décrite dans la présente
documentation, appliquée au secteur de l'automatisme industriel.
Observez en permanence les instructions applicables liées à la sécurité, les conditions spécifiques
et les données techniques.
Réalisez une analyse des risques en rapport avec l'utilisation spécifique avant d'utiliser ce produit.
Prenez les mesures de sécurité qui découlent des résultats.
Étant donné que ce produit est utilisé au sein d'un système qui l'englobe, vous devez vous assurer
de la sécurité du personnel par le biais du concept de ce système global (le concept de machine,
par exemple).
Aucune autre utilisation n'est prévue. Toute autre utilisation pourrait être dangereuse.
L’installation, l’utilisation, la réparation et la maintenance des appareils et équipements électriques
doivent être assurées par du personnel qualifié uniquement.
14
EIO0000002406 06/2017
Informations spécifiques de sécurité
Informations relatives au produit
Informations relatives 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.
Avant de tenter de fournir une solution (machine ou processus) pour une application spécifique en
utilisant les POU trouvés dans la bibliothèque, vous devez tenir compte de la réalisation et de
l'exécution des bonnes pratiques. La liste non exhaustive de ces pratiques liées à cette
bibliothèque inclut l'analyse des risques, la sécurité fonctionnelle, la compatibilité des composants,
les tests et la validation du système.
EIO0000002406 06/2017
15
Informations spécifiques de sécurité
AVERTISSEMENT
MAUVAISE UTILISATION DES POU






Effectuez une analyse de la sécurité de l'application et des appareils installés.
Assurez-vous que les POU sont compatibles avec les appareils du système et n'ont pas
d'effets inattendus sur le bon fonctionnement du système.
Utilisez les paramètres appropriés, notamment les valeurs limites, et observez l'usure de la
machine et son comportement à l'arrêt.
Vérifiez que les capteurs et déclencheurs sont compatibles avec les POU sélectionnés.
Testez de manière approfondie toutes les fonctions durant la vérification et la mise en service
dans tous les modes de fonctionnement.
Indiquez des méthodes indépendantes pour les fonctions de commande critiques (arrêt
d'urgence, conditions de dépassement des valeurs limites, etc.) en fonction d'une analyse de
la sécurité, des règles correspondantes et des réglementations.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
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.
AVERTISSEMENT
FONCTIONNEMENT INATTENDU DE L'EQUIPEMENT
Actualisez votre programme d'application, si nécessaire, en portant une attention particulière aux
réglages de l'adresse d'E/S, dès que vous modifiez la configuration matérielle.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
16
EIO0000002406 06/2017
Informations spécifiques de sécurité
Les transferts incomplets, qu'il s'agisse de fichiers de données, d'application et/ou de micrologiciel,
peuvent avoir des conséquences graves sur votre machine ou votre contrôleur. En cas coupure
de courant (volontaire ou non) ou d'interruption de la communication pendant un transfert de
fichier, votre machine peut devenir inopérante ou votre application peut tenter d'utiliser un fichier
de données endommagé. Si une interruption survient, relancez le transfert. Veillez à inclure
l'impact des fichiers de données endommagés dans votre analyse des risques.
AVERTISSEMENT
FONCTIONNEMENT IMPREVU DE L'EQUIPEMENT, PERTE DE DONNEES OU FICHIER
ENDOMMAGE



N'interrompez pas un transfert de données en cours.
Si le transfert est interrompu pour une raison quelconque, relancez-le.
Ne mettez pas votre machine en service tant que le transfert de fichier n'est pas terminé, sauf
si vous avez pris en compte les fichiers endommagés dans votre analyse des risques et si
vous avez mis en place des mesures appropriées pour prévenir les conséquences potentiellement graves dues à des échecs de transfert.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
EIO0000002406 06/2017
17
Informations spécifiques de sécurité
18
EIO0000002406 06/2017
SoMachine
Description
EIO0000002406 06/2017
Chapitre 2
Présentation de la bibliothèque
Présentation de la bibliothèque
Informations générales
Introduction
La bibliothèque FtpRemoteFileHandling fournit les fonctionnalités de client FTP nécessaires pour
gérer les fichiers distants :
 Lecture de fichiers
 Écriture de fichiers
 Suppression de fichiers
 Affichage du contenu de répertoires distants
 Ajout de répertoires
 Suppression de répertoires
1
2
3
4
Contrôleur en tant que client FTP
Téléchargement du fichier (commande Store)
Serveur FTP (sur le PC ou le contrôleur)
Chargement du fichier (commande Retrieve)
Les Logic Controller suivants fournissent des fonctionnalités de client et de serveur FTP :



Modicon M241 Logic Controller
Modicon M251 Logic Controller
Modicon M258 Logic Controller
EIO0000002406 06/2017
19
Description


Modicon LMC078 Motion Controller
Modicon LMC058 Motion Controller
Le tableau suivant indique les caractéristiques de la bibliothèque :
Caractéristique
Valeur
Titre de la bibliothèque
FtpRemoteFileHandling
Société
Schneider Electric
Catégorie
Communication
Composant
Suite de protocoles Internet
Espace de noms par défaut
SE_FTP
Attribut du modèle de langage
qualified-access-only (voir SoMachine, Fonctions et
Bibliothèque post-compatible
Oui (FCL (voir SoMachine, Fonctions et
bibliothèques - Guide de l'utilisateur))
bibliothèques - Guide de l'utilisateur)
NOTE : Cette bibliothèque est paramétrée en qualified-access-only. Cela signifie que l'on ne peut
accéder aux POU, aux structures de données, aux énumérations, et aux constantes qu'en utilisant
l'espace de noms de la bibliothèque. L'espace de noms par défaut de la bibliothèque est SE_FTP.
Éléments généraux à prendre en compte
Prenez en compte les limites suivantes du transfert de données FTP :
 Seuls les symboles ASCII sont pris en charge pour les noms de fichier et de répertoire à
échanger avec le serveur FTP.
 Seul le protocole IPv4 (Internet Protocol version 4) est pris en charge.
 Seul le mode FTP passif est pris en charge.
 Seule une connexion FTP est autorisée à la fois.
 Comme le temps de réponse du serveur FTP n'est pas contrôlable, exécutez les blocs fonction
dans une tâche cyclique à faible priorité. Configurez la fonction d'horloge de surveillance pour
qu'elle autorise un temps suffisant à la connexion. L'autre solution consiste à exécuter les blocs
fonctions dans une tâche Roue libre. Pour ce type de tâche, aucune durée de cycle n'est définie.
La bibliothèque décrite dans ce document utilise la bibliothèque TcpUdpCommunication en
interne.
Les bibliothèques TcpUdpCommunication (Schneider Electric) et CAA Net Base Services (CAA
Technical Workgroup) utilisent les mêmes ressources système sur le contrôleur. Leur utilisation
simultanée dans la même application peut perturber le fonctionnement du contrôleur.
20
EIO0000002406 06/2017
Description
AVERTISSEMENT
FONCTIONNEMENT IMPREVU DE L’EQUIPEMENT
N'utilisez pas la bibliothèque TcpUdpCommunication (Schneider Electric) avec la
bibliothèque CAA Net Base Services (CAA Technical Workgroup) simultanément dans la même
application.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
Éléments à prendre en compte concernant la cybersécurité
Les fonctions de la bibliothèque FtpRemoteFileHandling ne prennent pas en charge les
connexions sécurisées par TLS (Transport Layer Security) ou SSL (Secure Socket Layer). Par
conséquent, la communication ne peut avoir lieu qu'au sein de votre réseau industriel, isolé des
autres réseaux de votre entreprise et protégé d'Internet.
NOTE : Schneider Electric respecte les bonnes pratiques de l'industrie, en vigueur dans le
développement et la mise en œuvre des systèmes de contrôle. Cette approche, dite de « défense
en profondeur », permet de sécuriser les systèmes de contrôle industriels. Elle place les
contrôleurs derrière des pare-feu pour restreindre leur accès aux seuls personnels et protocoles
autorisés.
AVERTISSEMENT
ACCES NON AUTHENTIFIE ET EXPLOITATION PAR CONSEQUENT NON AUTORISEE DES
MACHINES







Estimez si votre environnement ou vos machines sont connecté(e)s à votre infrastructure
vitale et, le cas échéant, prenez les mesures nécessaires de prévention, basées sur le
principe de défense en profondeur, avant de connecter le système d'automatisme à un réseau
quelconque.
Limitez au strict nécessaire le nombre d'équipements connectés à un réseau.
Isolez votre réseau industriel des autres réseaux au sein de votre société.
Protégez chaque réseau contre les accès non autorisés à l'aide d'un pare-feu, d'un VPN ou
d'autres mesures de sécurité éprouvées.
Surveillez les activités au sein de votre système.
Empêchez tout accès direct ou liaison directe aux équipements sensibles par des utilisateurs
non autorisés ou des actions non authentifiées.
Préparez un plan de récupération intégrant la sauvegarde des informations de votre système
et de votre processus.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
EIO0000002406 06/2017
21
Description
Présentation des POU
Bloc fonction
Utilisation
FB_FTPClient (voir page 43)
Met en œuvre un client FTP qui se connecte à un
serveur FTP pour effectuer des opérations sur les
fichiers et les répertoires.
Présentation des structures dans l'interface propre au module
Structure
Utilisation
ST_Credentials (voir page 30)
Contient des informations propres à l'utilisateur,
permettant de se connecter à un serveur FTP
externe.
ST_Content (voir page 31)
Contient les informations utilisateur concernant le
répertoire sélectionné.
ST_Element (voir page 33)
Sous-structure de ST_Content, contenant des
informations propres aux éléments.
Présentation des énumérations
22
Énumération
Utilisation
ET_FtpCommand (voir page 26)
Définit les commandes que le bloc fonction
FB_FTPClient peut exécuter via i_etCommand.
ET_Result (voir page 27)
Contient les valeurs possibles qui donnent les
résultats des opérations exécutées par le bloc
fonction.
EIO0000002406 06/2017
SoMachine
Énumérations et Structures
EIO0000002406 06/2017
Partie II
Énumérations et Structures
Énumérations et Structures
Contenu de cette partie
Cette partie contient les chapitres suivants :
Chapitre
Titre du chapitre
Page
3
Énumérations
25
4
Structures
29
EIO0000002406 06/2017
23
Énumérations et Structures
24
EIO0000002406 06/2017
SoMachine
Énumérations
EIO0000002406 06/2017
Chapitre 3
Énumérations
Énumérations
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
ET_FtpCommand
26
ET_Result
27
EIO0000002406 06/2017
25
Énumérations
ET_FtpCommand
Présentation
Type :
Énumération
Disponible à partir de la version :
V1.0.4.0
Description
L'énumération ET_FtpCommand définit les commandes que le bloc fonction (voir page 43)
FB_FtpClient peut exécuter via i_etCommand.
Les noms de commande sont similaires aux commandes FTP définies dans IETF RFC 959.
NOTE : Les commandes permettant de gérer une connexion ne sont pas incluses dans
l'énumération ET_FtpCommand. Les informations d'identification (nom d'utilisateur, mot de passe)
sont utilisées pour établir automatiquement une connexion à l'hôte spécifié, après l'activation du
bloc fonction. Par défaut, le serveur FTP surveille le port 21. Pour modifier ces informations
d'identification, désactivez la fonction et réactivez-la avec les nouvelles informations. Pour plus
d'informations, reportez-vous à la section ST_Credentials (voir page 30).
Éléments de l'énumération
Nom
Type de
données
Valeur
Description
NoCommand
UINT
0
Valeur par défaut : état initial.
ChangeWorkingDirectory
UINT
1
Modifie le répertoire de travail.
Retrieve
UINT
2
Copie le fichier du serveur FTP externe dans un
répertoire local spécifié.
Store
UINT
3
Copie le fichier sur le serveur FTP externe.
Rename
UINT
4
Renomme un fichier ou un répertoire sur le serveur FTP
externe.
Delete
UINT
5
Supprime un fichier sur le serveur FTP externe.
RemoveDirectory
UINT
6
Supprime un répertoire sur le serveur FTP externe.
NOTE : Le répertoire du serveur FTP externe doit être
vide.
MakeDirectory
UINT
7
Crée un répertoire sur le serveur FTP externe.
List
UINT
8
Affiche le contenu du répertoire sélectionné.
Utilisé par

26
FB_FtpClient
EIO0000002406 06/2017
Énumérations
ET_Result
Présentation
Type :
Énumération
Disponible à partir de la version :
V1.0.4.0
Description
L'énumération ET_Result contient les valeurs possibles qui donnent les résultats des opérations
exécutées par le bloc fonction.
Éléments de l'énumération
Nom
Type de
données
Valeur
Description
Si q_xError d'un bloc fonction (voir page 43) est FALSE, l'un des messages d'état suivants apparaît.
Disabled
UDINT
0
Le bloc fonction est désactivé.
OperationSuccessful
UDINT
1
La dernière commande FTP s'est exécutée
correctement.
NoCommandToExecute
UDINT
2
Aucune commande à exécuter.
ProcessingCommand
UDINT
3
Le bloc fonction exécute une commande FTP.
Initializing
UDINT
4
Le bloc fonction est en cours d'initialisation.
Operational
UDINT
5
Le bloc fonction est opérationnel.
Disabling
UDINT
6
Le bloc fonction est désactivé.
Si le paramètre q_xError d'un bloc fonction (voir page 43) est TRUE, l'un des messages d'état suivants apparaît.
UnexpectedProgramBehavior
UDINT
100
Une erreur interne a été détectée.
InvalidIpAddress
UDINT
101
L'adresse IP indiquée n'est pas valide.
Seules les adresses IPv4 sont autorisées.
UnsupportedFtpCommand
UDINT
102
La commande FTP indiquée n'est pas prise en
charge.
Utilisez l'énumération ET_FtpCommand
(voir page 26).
UnableToMakeDirectory
UDINT
103
Impossible de créer le répertoire sur le serveur
FTP externe.
Vérifiez si le répertoire existe déjà.
EIO0000002406 06/2017
27
Énumérations
Nom
Type de
données
Valeur
Description
UnableToRemoveDirectory
UDINT
104
Impossible de supprimer le répertoire sur le
serveur FTP externe.
Vérifiez si le répertoire est vide, car seuls les
répertoires vides peuvent être supprimés.
Vérifiez si le répertoire a déjà été supprimé.
UnableToChangeDirectory
UDINT
105
Impossible de modifier le répertoire de travail sur
le serveur FTP externe.
Vérifiez si le répertoire cible existe.
UnableToEstablishConnection
UDINT
106
Impossible d'établir la connexion FTP.
Vérifiez si le serveur FTP est accessible.
UnableToLogin
UDINT
107
Impossible de se connecter au serveur FTP
externe.
Vérifiez si les informations d'identification sont
correctes.
UnableToSetTransferMode
UDINT
108
Impossible de définir le mode de transfert du
fichier (TYPE I).
Vérifiez si le serveur FTP peut transférer les
données binaires.
UnableToEnterPassiveMode
UDINT
109
Impossible d'activer le mode passif (PASV).
Vérifiez si le serveur FTP a été configuré en ce
sens.
UnableToPrintWorkingDirectory
UDINT
110
Impossible d'afficher le répertoire de travail du
serveur FTP externe.
UnableToInitiateFileTransfer
UDINT
111
Impossible d'effectuer le transfert de fichier.
Vérifiez que i_sCommandArg1 et
i_sCommandArg2 ne sont pas vides.
InconsistencyDuringFileTransfer UDINT
112
Une erreur a été détectée pendant le transfert du
fichier. Vérifiez si les données sont
endommagées.
UDINT
113
Impossible d'afficher le contenu du répertoire sur
le serveur FTP externe.
UnableToEstablishMutlipleConnec UDINT
tions
114
Impossible d'établir d'autres connexions FTP.
Seule une instance de FB_FtpClient peut être
active à la fois.
UnableToDeleteFile
UDINT
115
Impossible de supprimer le fichier du
serveur FTP externe.
UnableToRenameElement
UDINT
116
Impossible de renommer l'élément sur le
serveur FTP externe.
UnableToListContent
Utilisé par

28
FB_FtpClient
EIO0000002406 06/2017
SoMachine
Structures
EIO0000002406 06/2017
Chapitre 4
Structures
Structures
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
ST_Credentials
30
ST_Content
31
ST_Element
33
EIO0000002406 06/2017
29
Structures
ST_Credentials
Présentation
Type :
Structure
Disponible à partir de la version :
V1.0.4.0
Hérite de :
–
Description
La structure ST_Credentials contient des informations utilisateur permettant de se connecter à
un serveur FTP externe.
NOTE : Les commandes permettant de gérer une connexion ne sont pas incluses dans
l'énumération ET_FtpCommand. Les informations d'identification (nom d'utilisateur, mot de passe)
sont utilisées pour établir automatiquement une connexion à l'hôte spécifié, après l'activation du
bloc fonction. Par défaut, le serveur FTP surveille le port 21. Pour modifier ces informations
d'identification, désactivez la fonction et réactivez-la avec les nouvelles informations. Pour plus
d'informations, reportez-vous à la section ST_Credentials (voir page 30).
Éléments de la structure
Nom
Type de données
Description
i_sHostIp
STRING [15]
Adresse IP du serveur FTP externe.
i_sUsername
STRING [255]
Nom d'utilisateur permettant d'accéder au
serveur FTP externe.
i_sPassword
STRING [255]
Mot de passe permettant d'accéder au serveur FTP
externe.
i_sAccount
STRING [255]
Compte permettant d'accéder au serveur FTP
externe.
Ce paramètre est facultatif pour tous les
serveurs FTP.
Utilisé par

30
FB_FtpClient
EIO0000002406 06/2017
Structures
ST_Content
Présentation
Type :
Structure
Disponible à partir de la version :
V1.0.4.0
Hérite de :
–
Description
La structure ST_Content contient les informations utilisateur concernant le répertoire
sélectionné.
Éléments de la structure
Nom
Type de données
Description
i_sCommandArg1
STRING [255]
Si une commande FTP requiert un argument
d'entrée, elle doit être transférée avec cette
variable.
Pour plus d'informations sur la syntaxe,
reportez-vous au tableau suivant.
i_sCommandArg2
STRING [255]
Si une commande FTP requiert un deuxième
ou un autre argument d'entrée, elle doit être
transférée avec cette variable.
Pour plus d'informations sur la syntaxe,
reportez-vous au tableau suivant.
Nom du répertoire de travail.
q_sCurrentDirectory
STRING [255]
q_astElements
ARRAY[0..Gc_udiMaxNumberO Affiche le contenu du répertoire et les
informations sur l'élément.
fListEntries] OF
ST_Element
q_udiAvailableElements
UDINT
EIO0000002406 06/2017
Nombre d'éléments dans le répertoire.
31
Structures
Informations détaillées sur l'utilisation de i_sCommandArg1 et de i_sCommandArg2 :
Commande
i_sCommandArg1
i_sCommandArg2
ChangeWorkingDirectory
Nom du répertoire sur le serveur FTP
externe.
–
Retrieve
Nom du fichier sur le serveur FTP
externe.
Nom du fichier dans le système de
fichiers du contrôleur.
Store
Nom du fichier dans le système de
fichiers du contrôleur.
Nom du fichier sur le serveur FTP
externe.
Rename
Nom actuel sur le serveur FTP externe. Nouveau nom sur le serveur FTP
externe.
Delete
Nom du fichier sur le serveur FTP
externe.
–
RemoveDirectory
Nom du répertoire sur le serveur FTP
externe.
–
MakeDirectory
Nom du répertoire sur le serveur FTP
externe.
–
List
–
–
NOTE : Les commandes Retrieve et Store remplacent les éléments existants s'ils portent un
nom identique.
Exemple de programmation permettant de copier un fichier
Pour copier le fichier task.txt du répertoire /jobs du serveur FTP externe dans le répertoire racine
local sans modifier son nom, procédez comme suit avant d'envoyer un front positif via
i_xExecute :
i_sCommandArg1 := 'jobs/task.txt';
i_sCommandArg2 := 'task.txt';
Utilisé par

32
FB_FtpClient
EIO0000002406 06/2017
Structures
ST_Element
Présentation
Type :
Structure
Disponible à partir de la version :
V1.0.4.0
Hérite de :
–
Description
La structure ST_Element fait partie de ST_Content. Elle contient des informations sur chaque
élément dans le répertoire sélectionné du serveur FTP externe, une fois ET_FtpCommand.List
exécuté.
Éléments de la structure
Nom
Type de données
Description
sName
STRING [255]
Nom de l'élément.
xIsDirectory
BOOL
TRUE : l'élément est un répertoire.
FALSE : l'élément est un fichier.
udiSize
UDINT
Taille du fichier en octets.
sDate
STRING [255]
Date de dernière modification.
Utilisé par

FB_FtpClient
EIO0000002406 06/2017
33
Structures
34
EIO0000002406 06/2017
SoMachine
Variables globales
EIO0000002406 06/2017
Partie III
Variables globales
Variables globales
Contenu de cette partie
Cette partie contient les chapitres suivants :
Chapitre
Titre du chapitre
Page
5
Liste des constantes globales
37
6
Liste des paramètres globaux
39
EIO0000002406 06/2017
35
Variables globales
36
EIO0000002406 06/2017
SoMachine
Liste des constantes globales
EIO0000002406 06/2017
Chapitre 5
Liste des constantes globales
Liste des constantes globales
Liste des constantes globales (GCL)
Présentation
Type :
Constantes globales
Disponible à partir de la version :
V1.0.4.0
Description
La liste des constantes globales contient les constantes globales de la bibliothèque
FtpRemoteFileHandling.
Constantes globales
Variable
Type de données
Gc_sLibraryVersion
STRING[80]
1
Valeur
Description
1
Vx.x.x.0
Version de bibliothèque
Cette valeur varie selon la version de la bibliothèque.
EIO0000002406 06/2017
37
Liste des constantes globales
38
EIO0000002406 06/2017
SoMachine
Liste des paramètres globaux
EIO0000002406 06/2017
Chapitre 6
Liste des paramètres globaux
Liste des paramètres globaux
Liste des paramètres globaux (GPL)
Présentation
Type :
Paramètres globaux
Disponible à partir de la version :
V1.0.4.0
Description
Cette liste contient les paramètres globaux de la bibliothèque FtpRemoteFileHandling. Vous
pouvez les modifier en fonction de votre projet dans le Gestionnaire de bibliothèques.
Paramètres globaux
Variable
Type de
données
Valeur
Description
Gc_udiMaxNumberOfListEntries
UDINT
20
Nombre maximum d'éléments d'un répertoire à
afficher.
Gc_udiListBufferSize
UDINT
2550
Nombre maximum d'octets à mettre en mémoire
tampon lors de l'appel de ET_FtpCommand.List.
Il est recommandé de multiplier la valeur du
paramètre Gc_udiMaxNumberOfListEntries
par 255 et d'utiliser le résultat pour cette variable.
EIO0000002406 06/2017
39
Liste des paramètres globaux
40
EIO0000002406 06/2017
SoMachine
Unités d'organisation de programme (POU)
EIO0000002406 06/2017
Partie IV
Unités d'organisation de programme (POU)
Unités d'organisation de programme (POU)
Contenu de cette partie
Cette partie contient les chapitres suivants :
Chapitre
Titre du chapitre
Page
7
Blocs fonction
43
8
Fonctions
47
EIO0000002406 06/2017
41
Unités d'organisation de programme (POU)
42
EIO0000002406 06/2017
SoMachine
Blocs fonction
EIO0000002406 06/2017
Chapitre 7
Blocs fonction
Blocs fonction
FB_FtpClient
Présentation
Type :
Bloc fonction
Disponible à partir de la version :
V1.0.4.0
Tâche
Le bloc fonction FB_FtpClient inclut des fonctionnalités FTP permettant d'effectuer des
opérations sur les fichiers et les répertoires. Chaque instance gère une connexion FTP. Si vous
tentez de lancer un deuxième transfert, le bloc fonction répond avec
ET_Result.UnableToEstablishMutlipleConnections.
Description fonctionnelle
Le bloc fonction FB_FtpClient est l'interface utilisateur qui permet d'interagir avec le
serveur FTP externe.
Une fois le bloc fonction activé, une connexion FTP est établie à l'aide des informations utilisateur
envoyées par iq_stCredentials. Dès que la connexion est établie, le bloc fonction peut traiter
les commandes envoyées par i_etCommand et un front montant est détecté au niveau de
i_xExecute.
Tant que des commandes sont exécutées, la sortie q_xBusy est TRUE. Lorsqu'une commande
aboutit, q_xDone a pour valeur TRUE.
Les messages d'état et informations de diagnostic sont fournis à l'aide des sorties q_xError
(TRUE si une erreur a été détectée), q_etResult et q_etResultMsg.
EIO0000002406 06/2017
43
Blocs fonction
Afin d'acquitter les erreurs détectées, désactivez et réactivez le bloc fonction pour pouvoir envoyer
une commande.
Lorsque vous désactivez le bloc fonction (i_xEnable = FALSE), il doit être appelé tant que
q_xActive = TRUE pour terminer les routines de nettoyage internes. Ensuite, vous pouvez le
réactiver.
Si un timeout est dépassé après l'établissement d'une connexion, l'exécution de la
commande FTP suivante (ET_FtpCommand) est détectée comme une erreur. Pour éviter cela,
activez le bloc fonction juste avant d'effectuer les opérations associées et désactivez-le ensuite.
Le schéma montre le comportement type des entrées et sorties du bloc fonction :
44
EIO0000002406 06/2017
Blocs fonction
Interface
Entrée
Type de données
Description
i_xEnable
BOOL
Activation et initialisation du bloc fonction.
i_xExecute
BOOL
La commande spécifiée avec l'entrée
i_etCommand est exécutée sur le front
montant de cette entrée.
i_etCommand
ET_FtpCommand
Commande FTP exécutée si l'entrée
i_xExecute est TRUE.
Entrée/sortie
Type de données
Description
iq_stCredentials
ST_Credentials
Permet de transmettre la structure
contenant les paramètres utilisateur, tels
que le nom d'utilisateur ou le mot de passe.
iq_stContent
ST_Content
Permet de transmettre le répertoire de
travail et, le cas échéant, le nombre et le
nom des fichiers dans ce répertoire.
Sortie
Type de données
Description
q_xActive
BOOL
Si le bloc fonction est actif, la sortie est
TRUE.
q_xReady
BOOL
Si l'initialisation aboutit, la sortie est TRUE
tant que le bloc fonction accepte des
entrées.
q_xBusy
BOOL
Si cette sortie est TRUE, le bloc fonction
exécute la commande spécifiée dans
i_etCommand.
q_xDone
BOOL
Si cette sortie est TRUE, le bloc fonction a
fini d'exécuter la commande spécifiée dans
i_etCommand.
q_xError
BOOL
Si cette sortie est TRUE, une erreur a été
détectée. Pour plus d'informations,
reportez-vous à q_etResult et
q_etResultMsg.
q_etResult
ET_Result
Fournit des informations de diagnostic et
d'état.
q_sResultMsg
STRING[255]
Fournit des informations supplémentaires
de diagnostic et d'état.
EIO0000002406 06/2017
45
Blocs fonction
46
EIO0000002406 06/2017
SoMachine
Fonctions
EIO0000002406 06/2017
Chapitre 8
Fonctions
Fonctions
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
FC_EtResultToString
48
FC_EtFtpCommandToString
49
EIO0000002406 06/2017
47
Fonctions
FC_EtResultToString
Présentation
Type :
Fonction
Disponible à partir de la version :
V1.0.1.0
Hérite de :
–
Met en œuvre :
–
Tâche
Convertir un élément d'énumération de type ET_Result en une variable de type STRING.
Description fonctionnelle
La fonction FC_EtResultToString permet de convertir un élément d'énumération de type
ET_Result en une variable de type STRING.
Interface
Entrée
Type de données
Description
i_etResult
ET_Result
Énumération avec le résultat.
Valeur retournée
48
Type de données
Description
STRING(80)
ET_Result converti en texte.
EIO0000002406 06/2017
Fonctions
FC_EtFtpCommandToString
Présentation
Type :
Fonction
Disponible à partir de la version :
V1.0.1.0
Hérite de :
–
Met en œuvre :
–
Tâche
Convertir un élément d'énumération de type ET_FtpCommand en une chaîne de caractères
contenant la commande FTP.
Description fonctionnelle
En utilisant la fonction FC_EtFtpCommandToString, vous pouvez convertir un élément
d'énumération de type ET_FtpCommand en une valeur de chaîne.
Interface
Entrée
Type de données
Description
i_etFtpCommand
ET_FtpCommand
Énumération avec le résultat.
Valeur retournée
Type de données
Description
STRING(80)
Le ET_FtpCommand converti en valeur de chaîne.
EIO0000002406 06/2017
49
Fonctions
50
EIO0000002406 06/2017
SoMachine
EIO0000002406 06/2017
Annexes
EIO0000002406 06/2017
51
52
EIO0000002406 06/2017
SoMachine
Représentation des fonctions et blocs fonction
EIO0000002406 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
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
EIO0000002406 06/2017
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
EIO0000002406 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.
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
EIO0000002406 06/2017
55
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
Exemple en IL d'une
fonction sans paramètre
d'entrée :
IsFirstMastCycle
56
EIO0000002406 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.
EIO0000002406 06/2017
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
TON
58
EIO0000002406 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);
EIO0000002406 06/2017
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 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
60
EIO0000002406 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
EIO0000002406 06/2017
61
Représentation des fonctions et blocs fonction
62
EIO0000002406 06/2017
SoMachine
Glossaire
EIO0000002406 06/2017
Glossaire
A
adresse IP
L'adresse IP de IPv4 (Internet Protocol version 4) est une valeur de 4 octets permettant d'identifier
les équipements connectés à un réseau IP.
application
Programme comprenant des données de configuration, des symboles et de la documentation.
ASCII
Acronyme de American Standard Code for Information Interchange. Protocole utilisé pour
représenter les caractères alphanumériques (lettres, chiffres, ainsi que certains caractères
graphiques et de contrôle).
B
bus d'extension
Bus de communication électronique entre des modules d'E/S d'extension et un contrôleur.
C
CFC
client
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.
Composante d'une application de communications. La partie initialement active établit une
connexion (TCP) ou envoie des données au serveur.
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.
EIO0000002406 06/2017
63
Glossaire
E
E/S
Entrée/sortie
F
FB
FTP
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.
Acronyme de File Transfer Protocol, protocole de transfert de fichiers. Protocole réseau standard
basé sur une architecture client-serveur qui sert à échanger et à manipuler des fichiers sur des
réseaux TCP/IP quelle que soit leur taille.
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).
EIO0000002406 06/2017
Glossaire
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.
S
serveur
ST
Composante d'une application de communications. Au départ, le serveur est passif. Il attend que
des clients initialisent une communication. Le serveur s'exécute sur un numéro de port défini ; son
adresse est connue des clients.
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.
EIO0000002406 06/2017
65
Glossaire
66
EIO0000002406 06/2017
SoMachine
Index
EIO0000002406 06/2017
Index
B
28
UnableToInitiateFileTransfer, 28
UnableToListContent, 28
UnableToLogin, 28
UnableToMakeDirectory, 27
UnableToPrintWorkingDirectory, 28
UnableToRemoveDirectory, 28
UnableToRenameElement, 28
UnableToSetTransferMode, 28
UnexpectedProgramBehavior, 27
UnsupportedFtpCommand, 27
bibliothèques
FtpRemoteFileHandling, 19
E
ET_FtpCommand, 26
ET_Result, 27
ChangeWorkingDirectory, 26
Delete, 26
Disabled, 27
Disabling, 27
InconsistencyDuringFileTransfer, 28
Initializing, 27
InvalidIpAddress, 27
List, 26
MakeDirectory, 26
NoCommand, 26
NoCommandToExecute, 27
Operational, 27
OperationSuccessful, 27
ProcessingCommand, 27
RemoveDirectory, 26
Rename, 26
Retrieve, 26
Store, 26
UnableToChangeDirectory, 28
UnableToDeleteFile, 28
UnableToEnterPassiveMode, 28
UnableToEstablishConnection, 28
UnableToEstablishMutlipleConnections,
F
FB_FtpClient, 43
FC_EtFtpCommandToString, 49
FC_EtResultToString, 48
fonctions
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
FtpRemoteFileHandling, 19
FB_FtpClient, 43
FC_EtFtpCommandToString, 49
GCL (liste des constantes globales), 37
GPL (liste des paramètres globaux), 39
G
GCL (liste des constantes globales)
FtpRemoteFileHandling, 37
gestion des fichiers distants par FTP
éléments à prendre en compte, 20
GPL (liste des paramètres globaux)
FtpRemoteFileHandling, 39
EIO0000002406 06/2017
67
Index
L
limites du transfert de données FTP, 20
Q
qualification du personnel, 14
S
ST_Content, 31
ST_Credentials, 30
ST_Element, 33
T
transfert de données FTP
limites, 20
68
EIO0000002406 06/2017

Manuels associés