Schneider Electric SoMachine - SqlRemoteAccess Mode d'emploi

Ajouter à Mes manuels
72 Des pages
Schneider Electric SoMachine - SqlRemoteAccess Mode d'emploi | Fixfr
SoMachine
EIO0000002412 06/2017
SoMachine
SqlRemoteAccess
Guide de la bibliothèque
EIO0000002412.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
EIO0000002412 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 3 Transfert de données via SQL Gateway entre SoMachine
et une base de données . . . . . . . . . . . . . . . . . . . . . . . . .
Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Partie II Énumérations et Structures . . . . . . . . . . . . . . . . . . .
Chapitre 4 Énumérations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ET_Result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 5 Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ST_ConnectionSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 6 ALIAS (DUT). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ALIAS - DUT (Device Unit Type ou type d'unité d'équipement) . . . . .
Partie III Variables globales . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 7 Liste des constantes globales. . . . . . . . . . . . . . . . . . . . .
Liste des constantes globales (GCL). . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 8 Liste des paramètres globaux. . . . . . . . . . . . . . . . . . . . .
Liste des paramètres globaux (GPL) . . . . . . . . . . . . . . . . . . . . . . . . . .
Partie IV Unités d'organisation de programme (POU) . . . . . . .
Chapitre 9 Blocs fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FB_SqlDbRead. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FB_SqlDbWrite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 10 Fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FC_EtResultToString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Annexes
EIO0000002412 06/2017
.........................................
5
9
11
13
14
14
15
19
19
23
23
27
29
29
33
33
35
35
37
39
39
41
41
43
45
46
49
53
53
55
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
57
58
59
63
67
71
EIO0000002412 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.
EIO0000002412 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
EIO0000002412 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.
EIO0000002412 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
EIO0000002412 06/2017
A propos de ce manuel
Présentation
Objectif du document
Ce document décrit la bibliothèque SqlRemoteAccess.
La bibliothèque fournit des blocs fonction clients SQL (Structured Query Language) qui permettent
à votre contrôleur de se connecter à une base de données SQL pour exécuter des requêtes SQL
de lecture et d'écriture de données.
Pour utiliser les fonctions SQL, vous devez installer le logiciel SQL Gateway fourni avec
SoMachine comme composant facultatif qui requiert une licence spécifique.
La bibliothèque SqlRemoteAccess 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.
EIO0000002412 06/2017
9
Etape
Action
6
Pour enregistrer ou imprimer une fiche technique au format .pdf, cliquez sur Download XXX
product datasheet.
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)
SQL Gateway - Guide de l'utilisateur
EIO0000002417 (ENG) ;
EIO0000002418 (FRE) ;
EIO0000002419 (GER) ;
EIO0000002421 (SPA) ;
EIO0000002420 (ITA) ;
EIO0000002422 (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
EIO0000002412 06/2017
SoMachine
Informations générales
EIO0000002412 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
3
Transfert de données via SQL Gateway entre SoMachine et une base de
données
23
EIO0000002412 06/2017
11
Informations générales
12
EIO0000002412 06/2017
SoMachine
Informations spécifiques de sécurité
EIO0000002412 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
SqlRemoteAccess. Le personnel amené à travailler avec la bibliothèque SqlRemoteAccess 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
EIO0000002412 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 n'est conçue qu'en vue d'une utilisation telle que décrite dans la
présente documentation, appliquée au secteur 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
EIO0000002412 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.
EIO0000002412 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
EIO0000002412 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.
EIO0000002412 06/2017
17
Informations spécifiques de sécurité
18
EIO0000002412 06/2017
SoMachine
Description
EIO0000002412 06/2017
Chapitre 2
Présentation de la bibliothèque
Présentation de la bibliothèque
Informations générales
Introduction
La bibliothèque SqlRemoteAccess fournit des blocs fonction clients SQL (Structured Query
Language) qui permettent à votre contrôleur de se connecter à une base de données SQL pour
exécuter des requêtes SQL de lecture et d'écriture de données.
La communication entre le contrôleur (qui se comporte comme un client SQL) et le serveur de
base de données SQL transite par Schneider Electric SQL Gateway. Par conséquent, vous devez
installer le logiciel SQL Gateway fourni avec SoMachine pour utiliser la fonction SQL. Ce
composant facultatif requiert une licence spécifique. Pour plus d'informations, consultez le
document SQL Gateway - Guide de l'utilisateur (voir page 10).
1
2
3
4
5
1 à n contrôleurs (clients SQL)
Lecture de données
Ecriture de données
SQL Gateway
1 à n serveurs de base de données
Une fois l'installation terminée, le contrôleur peut envoyer une requête SQL personnalisée au
serveur de base de données. Par exemple :
 Interrogation des données des tables.
 Insertion, modification et suppression de données dans des tables.
 Exécution de procédures de base de données.
EIO0000002412 06/2017
19
Description
Le tableau suivant indique les caractéristiques de la bibliothèque :
Caractéristique
Valeur
Titre de la bibliothèque
SqlRemoteAccess
Société
Schneider Electric
Catégorie
Communication
Composant
Bibliothèque SQL
Espace de noms par défaut
SE_SQL
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 nom de la bibliothèque. L'espace de noms par défaut de la bibliothèque est SE_SQL.
Eléments généraux à prendre en compte
Envisagez les limites suivantes pour les communications SQL :
 Seul le protocole IPv4 (Internet Protocol version 4) est pris en charge.
 Seuls les types de données conformes à la norme IEC 61131-3 sont pris en charge.
 La lecture et l'écriture d'objets BLOB (Binary Large Object) depuis ou dans une base de
données ne sont pas prises en charge.
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.
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.
20
EIO0000002412 06/2017
Description
Éléments à prendre en compte concernant la cybersécurité
Les fonctions de la bibliothèque SqlRemoteAccess ne prennent pas en charge les connexions
sécurisées, telles que TLS (Transport Layer Security) ou SSL (Secure Socket Layer), vers la
SQL Gateway. La communication ne peut s'effectuer 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.
Présentation des POU
Bloc fonction / fonction
Utilisation
FB_SqlDbRead (voir page 46)
Exécute des requêtes SQL qui lisent des données de
la base de données SQL.
FB_SqlDbWrite (voir page 49)
Exécute des requêtes SQL qui mettent à jour ou
modifient la base de données SQL.
FC_EtResultToString (voir page 53)
Convertit un élément d'énumération de type
ET_Result en une variable de type chaîne.
EIO0000002412 06/2017
21
Description
Présentation des structures dans l'interface propre au module
Structure
Utilisation
ST_ConnectionSettings (voir page 33)
Contient les informations de connexion à une
SQL Gateway et les informations concernant la base
de données SQL.
Présentation des énumérations
22
Énumération
Utilisation
ET_Result (voir page 29)
Contient les valeurs possibles qui donnent les
résultats des opérations exécutées par le bloc
fonction.
EIO0000002412 06/2017
SoMachine
Transfert de données via SQL Gateway entre SoMachine et une base de données
EIO0000002412 06/2017
Chapitre 3
Transfert de données via SQL Gateway entre SoMachine et une base de données
Transfert de données via SQL Gateway entre SoMachine et
une base de données
Principe
Configuration système requise
La configuration système requise est la suivante :
Serveur (par exemple, MySQL, non fourni par Schneider Electric)
 Client SQL (par exemple, MySQL Workbench, non fourni par Schneider Electric)
 Base de données créée avec le client SQL (par exemple, MySQL Workbench)
 SQL Gateway (installation séparée sur le DVD de SoMachine)
 Bibliothèque SqlRemoteAccess (partie de l'installation de SoMachine)

Transfert de données via SQL Gateway depuis SoMachine vers une base de données
Pour pouvoir transférer les données, la connexion SQL doit être établie avec la SQL Gateway.
Pour en savoir plus, consultez le document Passerelle SQL - Guide de l'utilisateur (voir page 10).
Pour communiquer avec SQL Gateway, il peut s'avérer nécessaire de demander à l'administrateur
de l'environnement SQL des informations sur SQL Gateway et sur la base de données. Il vous faut
l'adresse IP de la SQL Gateway, le nom de la connexion configuré dans la SQL Gateway et le nom
de la base de données.
NOTE : la syntaxe SQL dans les exemples de code présentés correspond à un serveur MySQL.
Si vous utilisez un autre serveur SQL, les commandes peuvent être différentes.
Ecriture de données de SoMachine dans la base de données
Déclaration :
PROGRAM WriteData
VAR
fbWrite
: SE_SQL.FB_SqlDbWrite;
stConnSettings
: SE_SQL.ST_ConnectionSettings;
refRequestWstring : SE_SQL.RequestWstring;
END_VAR
EIO0000002412 06/2017
23
Transfert de données via SQL Gateway entre SoMachine et une base de données
Mise en œuvre :
stConnSettings.wsDbConnectionName
:= "ConnectionCountry";
stConnSettings.wGwPort
:= 3457;
stConnSettings.wsGwIpAddress
:= "10.128.154.47";
stConnSettings.timSqlTimeout
:= T#20S;
//SQL Command to insert a new Country - MySQLSyntax: INSERT INTO <database name>.<table name> (column1...columnN) va
lues (value1...valueN)
//SQLite-Syntax: without "<database name>.")
refRequestWstring[1]
:= "INSERT INTO world.countries (C
ountry, CapitalCity, Language)";
refRequestWstring[2]
:= "values ('Germany', 'Berlin', '
german')";
fbWrite(
i_xExecute
iq_stConnSettings
i_refRequestWstring
i_uiNumOfWstrings
);
:=
:=
:=
:=
TRUE,
stConnSettings,
refRequestWstring,
2
Désignation des paramètres utilisés
Etape
Action
1
Dans les paramètres de ST_ConnectionSettings (voir page 33), configurez l'adresse IP
(wsGwIpAddress (voir page 33)) de votre PC sur lequel la passerelle s'exécute, par exemple,
10.128.154.47.
2
Dans les paramètres de ST_ConnectionSettings (voir page 33), configurez le port (wGwPort
(voir page 33)) de la passerelle (par défaut : 3457).
3
Dans les paramètres de ST_ConnectionSettings (voir page 33), configurez le nom de la
connexion (wsDbConnectionName (voir page 33)) défini dans la SQL Gateway, par exemple,
ConnectionCountry.
4
Dans les paramètres de ST_ConnectionSettings (voir page 33), configurez le timeout
(timSqlTimeout (voir page 33)). Par exemple, T#20S.
5
Formulez votre requête d'écriture dans refRequestWstring (voir page 46), par exemple,
INSERT INTO world.countries (Country) values ('France').
6
Dans i_uiNumOfWstrings (voir page 46), configurez vos lignes dans refRequestWstring
(voir page 46), par exemple, 2.
7
Appelez le bloc fonction FB_SqlDbWrite (voir page 49) avec les réglages/paramètres/variables
ci-dessus.
NOTE : Un appel de bloc fonction ne peut envoyer qu'une requête.
24
EIO0000002412 06/2017
Transfert de données via SQL Gateway entre SoMachine et une base de données
Lecture de données de SoMachine dans la base de données
Déclaration :
PROGRAM ReadData
VAR
fbRead
stConnSettings
refRequestWstring
refUserData
END_VAR
:
:
:
:
SE_SQL.FB_SqlDbRead;
SE_SQL.ST_ConnectionSettings;
SE_SQL.RequestWstring;
SE_SQL.UserData;
Mise en œuvre :
stConnSettings.wsDbConnectionName
stConnSettings.wGwPort
stConnSettings.wsGwIpAddress
stConnSettings.timSqlTimeout
:=
:=
:=
:=
"ConnectionCountry";
3457;
"10.128.154.47";
T#1 M;
//SQL Command to read all Countries in the database - MySQLSyntax: SELECT (column1...columnN) FROM <database name>.<table name> [w
here <column>=<value>]
//SQLite-Syntax: without "<database name>."
refRequestWstring[1]
:= "SELECT * FROM world.countries";
fbRead
(
i_xExecute
iq_stConnSettings
i_refRequestWstring
i_uiNumOfWstrings
i_refUserData
:=
:=
:=
:=
:=
TRUE,
stConnSettings,
refRequestWstring,
1,
refUserData
);
Désignation des paramètres utilisés
Etape
Action
1
Dans les paramètres de ST_ConnectionSettings (voir page 33), configurez l'adresse IP
(wsGwIpAddress (voir page 33)) de votre PC sur lequel la SQL Gateway s'exécute, par
exemple, 10.128.154.47.
2
Dans les paramètres de ST_ConnectionSettings (voir page 33), configurez le port (wGwPort
(voir page 33)) de la passerelle (par défaut : 3457).
3
Dans les paramètres de ST_ConnectionSettings (voir page 33), configurez le nom de la
connexion (wsDbConnectionName (voir page 33)) défini dans la SQL Gateway, par exemple,
ConnectionCountry.
4
Dans les paramètres de ST_ConnectionSettings (voir page 33), configurez le timeout
(timSqlTimeout (voir page 33)), par exemple, T#20S.
5
Formulez votre requête de lecture dans refRequestWstring (voir page 46), par exemple,
SELECT * FROM world.countries.
EIO0000002412 06/2017
25
Transfert de données via SQL Gateway entre SoMachine et une base de données
Etape
Action
6
Dans i_uiNumOfWstrings (voir page 46), configurez vos lignes dans refRequestWstring
(voir page 46), par exemple, 1.
7
Dans i_refUserData (voir page 46), configurez votre tableau UserData (voir page 46).
8
Appelez le bloc fonction FB_SqlDbRead (voir page 46) avec les réglages/paramètres/variables
ci-dessus.
Paramètres avancés du tampon de données/de la requête avec les paramètres globaux
NOTE : Le Gestionnaire de bibliothèques vous permet de modifier les paramètres avancés en
fonction de votre projet.
Etape
26
Action
1
Dans Gc_uiMaxRows (voir page 41), configurez le nombre maximum de lignes du tableau
ARRAY of UserData (requis uniquement pour FB_SqlDbRead (voir page 46)), par exemple, 20.
Résultat : 20 lignes de la base de données configurée peuvent être lues.
2
Dans Gc_uiMaxColumns (voir page 41), configurez le nombre maximum de colonnes du
tableau ARRAY of UserData (requis uniquement pour FB_SqlDbRead), par exemple, 10.
Résultat : 10 colonnes de la base de données configurée peuvent être lues.
3
Dans Gc_uiTableWstringLength (voir page 41), configurez le nombre maximum de caractères
du tableau ARRAY of UserData à double entrée (requis uniquement pour FB_SqlDbRead
(voir page 46)), par exemple, 200.
Résultat : il est possible de lire un champ de 200 caractères dans la base de données
configurée.
4
Dans Gc_uiMaxRequest (voir page 41), configurez le nombre maximum de lignes du tableau
ARRAY of RequestWstring, par exemple, 20.
Résultat : la requête peut être divisée en 20 lignes du tableau WSTRINGs.
5
Dans Gc_uiRequestWstringLength (voir page 41), configurez le nombre maximum de
caractères du tableau ARRAY of RequestWstring, par exemple, 200.
Résultat : une ligne de la requête peut comprendre 200 caractères.
EIO0000002412 06/2017
SoMachine
Énumérations et Structures
EIO0000002412 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
4
Énumérations
29
5
Structures
33
6
ALIAS (DUT)
35
EIO0000002412 06/2017
27
Énumérations et Structures
28
EIO0000002412 06/2017
SoMachine
Énumérations
EIO0000002412 06/2017
Chapitre 4
Énumérations
Énumérations
ET_Result
Présentation
Type :
Énumération
Disponible à partir de la version :
V1.0.0.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 le paramètre q_xError d'un bloc fonction (voir page 45) est FALSE, le message d'état suivant apparaît.
Ok
DINT
0
L'opération a abouti.
Si le paramètre q_xError d'un bloc fonction (voir page 45) est TRUE, l'un des messages d'état suivants apparaît.
TcpClientIssue
DINT
1
L'opération TCP n'a pas abouti. Problème général
de TCP. Consultez le Guide de la bibliothèque
TcpUdpCommunication (voir SoMachine,
TcpUdpCommunication, Guide de la bibliothèque).
InvalidIP
DINT
26
L'adresse IP indiquée n'est pas valide. Vérifiez la
valeur de l'entrée
iq_stConnSettings.wsGpIpAddress
(voir page 33).
ClientNotConnected
DINT
28
Le client n'est pas connecté au serveur TCP.
Vérifiez que le logiciel SQL Gateway est installé et
en cours d'exécution avec l'adresse IP et le port
spécifiés.
ConnectionTimedOut
DINT
41
Le système distant est indisponible ou ne répond
pas à la requête. Vérifiez que le logiciel
SQL Gateway est installé et en cours d'exécution
avec l'adresse IP et le port spécifiés.
EIO0000002412 06/2017
29
Énumérations
Nom
Type de
données
Valeur Description
DbConnectionNameNull
DINT
61
Le paramètre DbConnectionName est vide (valeur
de type Null). Le paramètre
wsDbConnectionName de l'entrée
iq_stConnSettings (voir page 33) est vide.
DataBufferTooSmall
DINT
63
Le tampon utilisateur est trop petit pour renvoyer les
données. En faisant correspondre le nombre de
lignes et de colonnes renvoyées avec les
paramètres de la liste des paramètres globaux
(voir page 41), vous trouverez les réglages
minimum du paramètre q_uiRetNumOfRows
(q_uiRetNumOfColumns) du bloc fonction
FB_SqlDbRead (voir page 46) après chaque
exécution.
SqlDatabaseBusy
DINT
64
Une requête plus ancienne est en cours de
traitement. Une autre instance avec la même entrée
du paramètre iq_stConnSettings est en cours
d'exécution (sortie de q_xBusy = TRUE).
SqlGwToPlcCorruptedMessage
DINT
65
Le contrôleur a reçu un message non valide de
SQL Gateway. Contactez votre service d'assistance
Schneider Electric local.
TimeoutExpired
DINT
66
Le timeout du bloc fonction a expiré. Vérifiez le
réglage de l'entrée
iq_stConnSettings.timSqlTimeout
(voir page 33) selon la configuration du système. La
valeur par défaut doit être augmentée.
TransactionNumMismatch
DINT
67
Numéro de transaction incohérent. Contactez votre
service d'assistance Schneider Electric local.
TransmissionNumMismatch
DINT
68
Numéro d'émission incohérent. Contactez votre
service d'assistance Schneider Electric local.
ConnectionNotIdle
DINT
69
Un autre service occupe la connexion du client
TcpUdp. Vérifiez qu'aucune autre instance de
TCPUDP.FB_TCPClient dans votre application
n'occupe la connexion.
SocketNotClosed
DINT
70
La méthode Shutdown ou Close du client TcpUdp
n'aboutit pas. Problème de connexion TCP.
Redémarrez votre contrôleur.
NoDataReturned
DINT
71
Le bloc fonction FB_SqlDbGetData ne fournit
aucune donnée. La requête SQL a été exécutée,
mais n'a pas renvoyé de données. Vérifiez que la
base de données associée contient des données.
30
EIO0000002412 06/2017
Énumérations
Nom
Type de
données
Valeur Description
NotConnected
DINT
72
Le système du client TcpUdp n'est pas prêt à
recevoir ou envoyer des données. Problème de
connexion TCP. Redémarrez votre contrôleur.
InvalidPort
DINT
80
Le numéro de port indiqué est égal à zéro. Vérifiez
l'entrée iq_stConnSettings.wGwPort
(voir page 33). Généralement, la valeur par défaut
3457 est utilisée.
InvalidWstringNumber
DINT
81
L'entrée i_uiNumOfWstrings est inférieure à 1
ou supérieure à GPL.Gc_uiMaxRequest.
Vérifiez l'entrée i_uiNumOfWstrings. Au moins
une chaîne WSTRING est requise.
Vérifiez également que le nombre indiqué est
supérieur à la limite GPL.Gc_uiMaxRequest
(GPL) (voir page 41).
InvalidRequestWstring
DINT
82
Chaîne de requête vide ou référence incorrecte
(NULL). Vérifiez l'entrée i_refRequestWstring
(voir page 49). La première chaîne WSTRING
(i_refRequestWstring[1]) doit contenir un ou
plusieurs caractères. Vérifiez que l'entrée est
affectée.
InvalidUserDataWstring
DINT
83
Référence de données utilisateur incorrecte
(NULL). Vérifiez que l'entrée i_refUserData
(voir page 46) est affectée.
GplMaxRowsExceedsLimits
DINT
85
GPL.Gc_uiMaxRows est hors limites. Vérifiez les
réglages de la liste des paramètres globaux
(voir page 41).
GplMaxColumnsExceedsLimits
DINT
86
GPL.Gc_uiMaxColumns est hors limites. Vérifiez
les réglages de la liste des paramètres globaux
(voir page 41).
GplTableWstringExceedsLimits
DINT
87
GPL.Gc_uiTableWstringLength est hors
limites. Vérifiez les réglages de la liste des
paramètres globaux (voir page 41).
GplRequestWstringExceedsLimits
DINT
88
GPL.Gc_uiRequestWstringLength est hors
limites. Vérifiez les réglages de la liste des
paramètres globaux (voir page 41).
GplMaxRequestExceedsLimits
DINT
89
GPL.Gc_uiMaxRequest est hors limites. Vérifiez
les réglages de la liste des paramètres globaux
(voir page 41).
GplMaxRecBufferExceedsLimits
DINT
91
GPL.Gc_uiRecBufferLength est hors limites.
Vérifiez les réglages de la liste des paramètres
globaux (voir page 41).
EIO0000002412 06/2017
31
Énumérations
Nom
Type de
données
Valeur Description
GplMaxSendBufferExceedsLimits
DINT
92
GPL.Gc_uiSendBufferLength est hors limites.
Vérifiez les réglages de la liste des paramètres
globaux (voir page 41).
ConnectionNameNotExisting
DINT
100
Le nom de la connexion de SQL Gateway n'existe
pas. Vérifiez les connexions de base de données
disponibles, sur la console de SQL Gateway.
DbConfigurationInvalid
DINT
101
La configuration de la connexion de SQL Gateway
ne correspond pas. Exécutez Test Database
Connection depuis la console SQL Gateway.
DbConnectionNotAvailable
DINT
102
La connexion de SQL Gateway à la base de
données ne fonctionne pas. Exécutez Test
Database Connection depuis la console
SQL Gateway.
SqlGwProtocolError
DINT
120
Erreur de protocole détectée entre la
bibliothèque SQL et la passerelle. Contactez votre
service d'assistance Schneider Electric local.
CommandExecutionIssue
DINT
150
L'exécution de la requête SQL a échoué. Vérifiez la
syntaxe SQL de l'entrée i_refRequestWString
(voir page 46). Consultez le manuel SQL Server.
NoQueryResultAvailable
DINT
151
La SQL Gateway ne répond pas. Vérifiez que la
base de données interrogée contient des données,
à l'aide d'une autre application.
SqlGwInvalidLicense
DINT
170
Problème avec la licence de SQL Gateway. Ouvrez
License Manager pour vérifier que SQL pour
SoMachine est correct.
SqlGwUnexpectedError
DINT
199
Erreur de SQL Gateway détectée. Contactez votre
service d'assistance Schneider Electric local.
NOTE : les valeurs comprises entre 100 et 199 sont des messages de SQL Gateway. Consultez
le document Passerelle SQL - Guide de l'utilisateur (voir page 10).
Utilisés par
 FB_SqlDbRead
 FB_SqlDbWrite
32
EIO0000002412 06/2017
SoMachine
Structures
EIO0000002412 06/2017
Chapitre 5
Structures
Structures
ST_ConnectionSettings
Présentation
Type :
Structure
Disponible à partir de la version :
V1.0.0.0
Hérite de :
–
Description
La structure ST_ConnectionSettings contient les informations de connexion à une
SQL Gateway et les informations concernant la base de données SQL.
Éléments de la structure
Nom
Type de données
Description
wsDbConnectionName
WSTRING[40]
La valeur de cet élément doit correspondre au nom
de connexion configuré dans la SQL Gateway.
Consultez le document Passerelle SQL - Guide de
l'utilisateur (voir page 10).
wsGwIpAddress
WSTRINGGPL.Gc_uiIpSt
ringSize
Adresse IP de la SQL Gateway. Il s'agit de
l'adresse IP du serveur qui exécute la passerelle.
wGwPort
WORD
Numéro de port de la SQL Gateway.
Valeur par défaut : 3457
timSqlTimeout
TIME
Timeout appliqué aux requêtes SQL.
Valeur par défaut : 60s
Utilisé par


FB_SqlDbRead
FB_SqlDbWrite
EIO0000002412 06/2017
33
Structures
34
EIO0000002412 06/2017
SoMachine
ALIAS (DUT)
EIO0000002412 06/2017
Chapitre 6
ALIAS (DUT)
ALIAS (DUT)
ALIAS - DUT (Device Unit Type ou type d'unité d'équipement)
Présentation
Type :
ALIAS (DUT)
Disponible à partir de la version :
V1.0.0.0
Hérite de :
–
Description
Les ALIAS RequestWstring et UserData combinent des structures de données complexes
dans un type de données pour contribuer à simplifier l'interface utilisateur.
RequestWstring
Nom
Type de données
Description
RequestWstring
ARRAY
[1..GPL.Gc_uiMaxRequest]
OF
WSTRING(GPL.Gc_uiRequ
estWstringLength)
RequestWstring est un ALIAS pour un tableau de chaînes
WSTRINGS. La requête STRING contient la requête
d'interrogation SQL.
Une requête SQL doit être divisée en plusieurs chaînes ne
dépassant pas 200 caractères.
Adaptez la taille des paramètres globaux (voir page 41)
Gc_uiMaxRequest et Gc_uiRequestWstringLength à la
longueur des requêtes SQL que vous utilisez dans votre
application.
Nom
Type de données
Description
UserData
ARRAY
[1..GPL.Gc_uiMaxRows,
1..GPL.Gc_uiMaxColumns]
OF
WSTRING(GPL.Gc_uiTable
WstringLength)
UserData est un tableau de chaînes WSTRING qui doit être
disponible sur le contrôleur pour stocker les données SQL lues
dans la base de données.
Adaptez la taille des paramètres globaux (voir page 41)
Gc_uiMaxRows, Gc_uiMaxColums et
GPL.Gc_uiTableWstringLength à la taille maximale de
UserData à recevoir dans votre application.
UserData
EIO0000002412 06/2017
35
ALIAS (DUT)
36
EIO0000002412 06/2017
SoMachine
Variables globales
EIO0000002412 06/2017
Partie III
Variables globales
Variables globales
Contenu de cette partie
Cette partie contient les chapitres suivants :
Chapitre
Titre du chapitre
Page
7
Liste des constantes globales
39
8
Liste des paramètres globaux
41
EIO0000002412 06/2017
37
Variables globales
38
EIO0000002412 06/2017
SoMachine
Liste des constantes globales
EIO0000002412 06/2017
Chapitre 7
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.0.0
Description
La liste des constantes globales contient les constantes globales de la bibliothèque
SqlRemoteAccess.
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.
EIO0000002412 06/2017
39
Liste des constantes globales
40
EIO0000002412 06/2017
SoMachine
Liste des paramètres globaux
EIO0000002412 06/2017
Chapitre 8
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.0.0
Description
Cette liste contient les paramètres globaux de la bibliothèque SqlRemoteAccess. Vous pouvez les
modifier en fonction de votre projet dans le Gestionnaire de bibliothèques.
Les paramètres globaux de la bibliothèque SqlRemoteAccess vous permettent de définir la taille
de l'ALIAS suivant des tampons de données :
 Alias UserData (voir page 35) qui doit être disponible dans le contrôleur, pour stocker les
données SQL lues dans la base de données SQL.
 Alias RequestData (voir page 35) qui doit être disponible dans le contrôleur pour segmenter
les requêtes SQL en plusieurs chaînes d'au maximum 200 caractères avant leur envoi à la base
de données SQL.
Paramètres globaux
Variable
Type de Valeur plage Description
données
Gc_uiIpStringSize
UINT
–
Limite supérieure du type WSTRING pour
l'élément wsGwIpaddress de la
ST_ConnectionSettings structure
(voir page 33).
Valeur par défaut : 15
Gc_uiMaxRows
UINT
1 à 50
Nombre maximum de lignes du tableau
ARRAY de données utilisateur (voir page 48).
Valeur par défaut : 20
Gc_uiMaxColumns
UINT
1 à 50
Nombre maximum de colonnes du tableau
ARRAY de données utilisateur (voir page 48).
Valeur par défaut : 10
EIO0000002412 06/2017
41
Liste des paramètres globaux
Variable
Type de Valeur plage Description
données
Gc_uiTableWstringLength
UINT
20 à 200
Longueur de la chaîne WSTRING dans le
tableau ARRAY de données utilisateur
(voir page 48).
Valeur par défaut : 200
Gc_uiRequestWstringLength UINT
20 à 200
Longueur de la chaîne WSTRING dans le
tableau ARRAY de données utilisateur.
Configurez une valeur correspondant à la
longueur des requêtes SQL que vous utilisez
dans votre application.
Valeur par défaut : 200
Gc_uiMaxRequest
UINT
1 à 40
Limite supérieure du tableau ARRAY des
données de la requête.
Configurez une valeur correspondant à la
longueur des requêtes SQL que vous utilisez
dans votre application.
Valeur par défaut : 20
Gc_uiRecBufferLength
UINT
512 à 2000
Longueur du tampon de réponse, en octets.
Valeur par défaut : 1000
Gc_uiSendBufferLength
UINT
512 à 2000
Longueur du tampon d'envoi, en octets.
Valeur par défaut : 1000
NOTE : les variables Gc_uiRecBufferLength et Gc_uiSendBufferLength définissent la
taille des tampons internes d'envoi et de réception de données. La taille de ces tampons détermine
le nombre de cycles requis pour transférer complètement une requête ou une réponse entre le
contrôleur et la SQL Gateway. Les valeurs choisies peuvent avoir un impact sur la durée
d'exécution des services SQL et sur la mémoire, ce qui a une incidence sur les performances
globales de l'application.
42
EIO0000002412 06/2017
SoMachine
Unités d'organisation de programme (POU)
EIO0000002412 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
9
10
EIO0000002412 06/2017
Titre du chapitre
Page
Blocs fonction
45
Fonctions
53
43
Unités d'organisation de programme (POU)
44
EIO0000002412 06/2017
SoMachine
Blocs fonction
EIO0000002412 06/2017
Chapitre 9
Blocs fonction
Blocs fonction
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
FB_SqlDbRead
46
FB_SqlDbWrite
49
EIO0000002412 06/2017
45
Blocs fonction
FB_SqlDbRead
Présentation
Type :
Bloc fonction
Disponible à partir de la version :
V1.0.0.0
Tâche
Le bloc fonction FB_SqlDbRead permet d'exécuter des requêtes SQL qui lisent des données
dans la base de données SQL. Les données sont renvoyées dans un tableau à double entrée dont
la taille est définie par les paramètres globaux (voir page 41).
Description fonctionnelle
Le bloc fonction FB_SqlDbRead est l'interface utilisateur qui permet de lire des données
provenant de la base de données SQL.
Lorsqu'un front montant est détecté sur i_xExecute, une connexion à la SQL Gateway est
établie à l'aide des paramètres définis dans la structure ST_ConnectionSettings. Dès la
connexion établie, le bloc fonction peut envoyer une requête SQL à la base de données SQL.
Tant que le bloc fonction est exécuté, la sortie q_xBusy est TRUE. Lorsqu'une commande aboutit,
la sortie 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.
46
EIO0000002412 06/2017
Blocs fonction
Interface
Entrée
Type de données
Description
i_xExecute
BOOL
Le bloc fonction exécute une requête SQL
pour lire des données de la base de
données SQL en cas de front montant sur
cette entrée.
i_refRequestWstring
REFERENCE TO
[RequestWstring]
Référence aux données qui contiennent la
requête d'interrogation SQL (comme
Select * from DB limit 10;).
Une requête SQL doit être divisée en
plusieurs chaînes ne dépassant pas
200 caractères.
Adaptez la taille des paramètres globaux
(voir page 41) Gc_uiMaxRequest et
Gc_uiRequestWstringLength à la
longueur des requêtes SQL que vous
utilisez dans votre application.
(voir page 35)
NOTE : Pour concaténer des chaînes
WSTRINGS, utilisez la fonction WCONCAT
de la bibliothèque Standard64.
i_uiNumOfWstrings
UINT
Nombre de chaînes WSTRINGS requises
qui contiennent la requête SQL divisée.
Le nombre maximum est limité par le
paramètre global (voir page 41)
Gc_uiMaxRequest.
i_refUserData
REFERENCE TO
[UserData] (voir page 35)
Référence aux UserData (voir page 48)
qui doivent être disponibles sur le contrôleur
pour stocker les données SQL lues dans la
base de données.
In_Out
Type de données
Description
iq_stConnSettings
ST_ConnectionSettings
Contient les informations de connexion à
une SQL Gateway et les informations
concernant la base de données SQL.
(voir page 33)
EIO0000002412 06/2017
47
Blocs fonction
Sortie
Type de données
Description
q_xBusy
BOOL
Si cette sortie est TRUE, le bloc fonction est
en cours d'exécution.
q_xDone
BOOL
Si cette sortie est TRUE, l'exécution s'est
effectuée correctement.
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.
q_uiRetNumOfRows
UINT
Nombre de lignes dans les données
renvoyées.
Cette sortie est mise à jour avec le nombre
d'enregistrements reçus de la base de
données SQL.
q_uiRetNumOfColumns
UINT
Nombre de colonnes dans les données
renvoyées.
Cette sortie est mise à jour avec le nombre
d'enregistrements reçus de la base de
données SQL.
Définition d'un tableau ARRAY de données utilisateur
Un tableau ARRAY à double entrée doit être disponible sur le contrôleur pour stocker temporairement les données SQL lues dans la base de données. Le tableau ARRAY à double entrée est
défini dans l'ALIAS UserData (voir page 35).
La taille du tableau ARRAY peut être adaptée par les paramètres globaux (voir page 41)
Gc_uiMaxRows, Gc_uiMaxColumns et Gc_uiTableWstringLength.
Lorsque vous configurez ces paramètres, tenez compte du volume de données SQL que vous
espérez recevoir. Avant le début du transfert, les données SQL sont segmentées en fonction de la
taille de ce tampon.
Si les données SQL reçues dépassent la taille du tableau ARRAY, le transfert des données SQL
s'interrompt et le bloc fonction signale une erreur détectée.
48
EIO0000002412 06/2017
Blocs fonction
FB_SqlDbWrite
Présentation
Type :
Bloc fonction
Disponible à partir de la version :
V1.0.0.0
Tâche
Le bloc fonction FB_SqlDbWrite permet d'exécuter des requêtes SQL qui modifient ou mettent
à jour la base de données SQL. Les requêtes ne renvoient aucune donnée.
Description fonctionnelle
Le bloc fonction FB_SqlDbWrite est l'interface utilisateur qui permet de modifier ou de mettre à
jour la base de données SQL.
Lorsqu'un front montant est détecté sur i_xExecute, une connexion à la SQL Gateway est
établie à l'aide des paramètres définis dans la structure ST_ConnectionSettings
(voir page 33). Une fois la connexion établie, le bloc fonction peut envoyer une requête SQL
(indiqué à l'entrée i_refRequestWstring) à la base de données SQL.
Tant que le bloc fonction est exécuté, la sortie q_xBusy est TRUE. Lorsqu'une commande aboutit,
la sortie 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.
EIO0000002412 06/2017
49
Blocs fonction
Interface
Entrée
Type de données
Description
i_xExecute
BOOL
Le bloc fonction exécute une requête SQL
pour modifier ou mettre à jour la base de
données SQL en cas de front montant sur
cette entrée.
i_refRequestWstring
REFERENCE TO
[RequestWstring]
Référence aux données qui contiennent une
requête de mise à jour SQL.
Les types d'interrogation SQL pris en
charge sont les suivants :
 INSERT INTO
 UPDATE
 DELETE FROM
 CREATE TABLE
 CREATE VIEW
 CREATE INDEX
 ALTER TABLE
 DROP TABLE
 TRUNCATE TABLE
(voir page 35)
Une requête SQL doit être divisée en
plusieurs chaînes ne dépassant pas
200 caractères.
Adaptez la taille des paramètres globaux
(voir page 41) Gc_uiMaxRequest et
Gc_uiRequestWstringLength à la
longueur des requêtes SQL que vous
utilisez dans votre application.
NOTE : Pour concaténer des chaînes
WSTRINGS, utilisez la fonction CONCAT
de la bibliothèque Standard64.
UINT
Nombre de chaînes WSTRINGS requises
qui contiennent la requête SQL divisée.
Le nombre maximum est limité par le
paramètre global (voir page 41)
Gc_uiMaxRequest.
In_Out
Type de données
Description
iq_stConnSettings
ST_ConnectionSettings
Contient les informations de connexion à
une SQL Gateway et les informations
concernant la base de données SQL.
i_uiNumOfWstrings
(voir page 33)
50
EIO0000002412 06/2017
Blocs fonction
Sortie
Type de données
Description
q_xBusy
BOOL
Si cette sortie est TRUE, le bloc fonction est
en cours d'exécution.
q_xDone
BOOL
Si cette sortie est TRUE, l'exécution s'est
effectuée correctement.
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.
EIO0000002412 06/2017
51
Blocs fonction
52
EIO0000002412 06/2017
SoMachine
Fonctions
EIO0000002412 06/2017
Chapitre 10
Fonctions
Fonctions
FC_EtResultToString
Présentation
Type :
Fonction
Disponible à partir de la version :
V1.0.0.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
Type de données
Description
STRING(80)
ET_Result converti en texte.
EIO0000002412 06/2017
53
Fonctions
54
EIO0000002412 06/2017
SoMachine
EIO0000002412 06/2017
Annexes
EIO0000002412 06/2017
55
56
EIO0000002412 06/2017
SoMachine
Représentation des fonctions et blocs fonction
EIO0000002412 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
58
Utilisation d'une fonction ou d'un bloc fonction en langage IL
59
Utilisation d'une fonction ou d'un bloc fonction en langage ST
63
EIO0000002412 06/2017
57
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 :
58
EIO0000002412 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.
EIO0000002412 06/2017
59
Représentation des fonctions et blocs fonction
Pour illustrer la procédure, utilisons les fonctions IsFirstMastCycle (sans paramètre d'entrée)
et SetRTCDrift (avec paramètres d'entrée) représentées graphiquement ci-après :
Fonction
Représentation graphique
sans paramètre d'entrée :
IsFirstMastCycle
avec paramètres d'entrée :
SetRTCDrift
En langage IL, le nom de la fonction est utilisé directement dans la colonne de l'opérateur :
Fonction
Représentation dans l'éditeur IL de POU
Exemple en IL d'une
fonction sans paramètre
d'entrée :
IsFirstMastCycle
60
EIO0000002412 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.
EIO0000002412 06/2017
61
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
62
EIO0000002412 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);
EIO0000002412 06/2017
63
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
64
EIO0000002412 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
EIO0000002412 06/2017
65
Représentation des fonctions et blocs fonction
66
EIO0000002412 06/2017
SoMachine
Glossaire
EIO0000002412 06/2017
Glossaire
A
application
Programme comprenant des données de configuration, des symboles et de la documentation.
B
bus d'extension
Bus de communication électronique entre des modules d'E/S d'extension et un contrôleur.
C
CFC
Acronyme de continuous function chart (diagramme fonctionnel continu). Langage de
programmation graphique (extension de la norme IEC 61131-3) basé sur le langage de diagramme
à blocs fonction et qui fonctionne comme un diagramme de flux. Toutefois, il n'utilise pas de
réseaux et le positionnement libre des éléments graphiques est possible, ce qui permet les boucles
de retour. Pour chaque bloc, les entrées se situent à gauche et les sorties à droite. Vous pouvez
lier les sorties de blocs aux entrées d'autres blocs pour créer des expressions complexes.
configuration
Agencement et interconnexions des composants matériels au sein d'un système, ainsi que les
paramètres matériels et logiciels qui déterminent les caractéristiques de fonctionnement du
système.
contrôleur
Automatise des processus industriels. On parle également de contrôleur logique programmable
(PLC) ou de contrôleur programmable.
E
E/S
Entrée/sortie
EIO0000002412 06/2017
67
Glossaire
F
FB
Acronyme de function block, bloc fonction. Mécanisme de programmation commode qui consolide
un groupe d'instructions de programmation visant à effectuer une action spécifique et normalisée
telle que le contrôle de vitesse, le contrôle d'intervalle ou le comptage. Un bloc fonction peut
comprendre des données de configuration, un ensemble de paramètres de fonctionnement interne
ou externe et généralement une ou plusieurs entrées et sorties de données.
I
IL
INT
Acronyme de instruction list, liste d'instructions. Un programme écrit en langage IL est composé
d'instructions textuelles qui sont exécutées séquentiellement par le contrôleur. Chaque instruction
comprend un numéro de ligne, un code d'instruction et un opérande (voir la norme IEC 61131-3).
Abréviation de integer, nombre entier codé sur 16 bits.
L
langage en blocs fonctionnels
Un des 5 langages de programmation de logique ou de commande pris en charge par la norme
IEC 61131-3 pour les systèmes de commande. FBD est un langage de programmation orienté
graphique. Il fonctionne avec une liste de réseaux où chaque réseau contient une structure
graphique de zones et de lignes de connexion représentant une expression logique ou
arithmétique, un appel de bloc fonction ou une instruction de retour.
LD
Acronyme de ladder diagram, schéma à contacts. Représentation graphique des instructions d'un
programme de contrôleur, avec des symboles pour les contacts, les bobines et les blocs dans une
série de réseaux exécutés séquentiellement par un contrôleur (voir IEC 61131-3).
O
octet
68
Type codé sur 8 bits, de 00 à FF au format hexadécimal.
EIO0000002412 06/2017
Glossaire
P
POU
Acronyme de program organization unit, unité organisationnelle de programme. Déclaration de
variables dans le code source et jeu d'instructions correspondant. Les POUs facilitent la
réutilisation modulaire de programmes logiciels, de fonctions et de blocs fonction. Une fois
déclarées, les POUs sont réutilisables.
programme
Composant d'une application constitué de code source compilé qu'il est possible d'installer dans
la mémoire d'un contrôleur logique.
S
SQL
ST
Le SQL (Structured Query Language) est un langage de programmation qui permet de gérer les
données stockées dans les systèmes de gestion de bases de données relationnelles (SGBDR).
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.
EIO0000002412 06/2017
69
Glossaire
70
EIO0000002412 06/2017
SoMachine
Index
EIO0000002412 06/2017
Index
A
ALIAS - Type d'unité d'équipement (DUT), 35
B
bibliothèques
SqlRemoteAccess, 19
C
communications SQL
éléments à prendre en compte, 20
EIO0000002412 06/2017
E
ET_Result, 29
ClientNotConnected, 29
CommandExecutionIssue, 32
ConnectionNameNotExisting, 32
ConnectionNotIdle, 30
ConnectionTimedOut, 29
DataBufferTooSmall, 30
DbConfigurationInvalid, 32
DbConnectionNameNull, 30
DbConnectionNotAvailable, 32
GplMaxColumnsExceedsLimits, 31
GplMaxRecBufferExceedsLimits, 31
GplMaxRequestExceedsLimits, 31
GplMaxRowsExceedsLimits, 31
GplMaxSendBufferExceedsLimits, 32
GplRequestWstringExceedsLimits, 31
GplTableWstringExceedsLimits, 31
InvalidIP, 29
InvalidPort, 31
InvalidRequestWstring, 31
InvalidUserDataWstring, 31
InvalidWstringNumber, 31
NoDataReturned, 30
NoQueryResultAvailable, 32
NotConnected, 31
Ok, 29
SocketNotClosed, 30
SqlDatabaseBusy, 30
SqlGwInvalidLicense, 32
SqlGwProtocolError, 32
SqlGwToPlcCorruptedMessage, 30
SqlGwUnexpectedError, 32
TcpClientIssue, 29
TimeoutExpired, 30
TransactionNumMismatch, 30
TransmissionNumMismatch, 30
71
Index
F
FB_SqlDbRead, 46
FB_SqlDbWrite, 49
FC_EtResultToString, 53
fonctions
différences entre une fonction et un bloc
fonction, 58
utilisation d'une fonction ou d'un bloc
fonction en langage IL, 59
utilisation d'une fonction ou d'un bloc
fonction en langage ST, 63
G
GCL (liste des constantes globales)
SqlRemoteAccess, 39
GPL (liste des paramètres globaux)
SqlRemoteAccess, 41
Q
qualification du personnel, 14
S
SqlRemoteAccess, 19
FB_SqlDbRead, 46
FB_SqlDbWrite, 49
GCL (liste des constantes globales), 39
GPL (liste des paramètres globaux), 41
ST_ConnectionSettings, 33
72
EIO0000002412 06/2017

Manuels associés