Schneider Electric SoMachine - SnmpManager Mode d'emploi

Ajouter à Mes manuels
78 Des pages
Schneider Electric SoMachine - SnmpManager Mode d'emploi | Fixfr
SoMachine
EIO0000002430 06/2017
SoMachine
SnmpManager
Guide de la bibliothèque
EIO0000002430.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.
Aucune partie de ce document ne peut être reproduite sous quelque forme ou par quelque moyen
que ce soit, électronique, mécanique ou photocopie, sans autorisation préalable de Schneider
Electric.
Toutes les réglementations de sécurité pertinentes locales doivent être observées lors de
l'installation et de l'utilisation de ce produit. Pour des raisons de sécurité et afin de garantir la
conformité aux données système documentées, seul le fabricant est habilité à effectuer des
réparations sur les composants.
Lorsque des équipements sont utilisés pour des applications présentant des exigences techniques
de sécurité, suivez les instructions appropriées.
La non-utilisation du logiciel Schneider Electric ou d'un logiciel approuvé avec nos produits
matériels peut entraîner des blessures, des dommages ou un fonctionnement incorrect.
Le non-respect de cette consigne peut entraîner des lésions corporelles ou des dommages
matériels.
© 2017 Schneider Electric. Tous droits réservés.
2
EIO0000002430 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 Utilisation de SnmpManager pour gérer les
appareils/clients dans un réseau . . . . . . . . . . . . . . . . . .
Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Partie II Énumérations et Structures . . . . . . . . . . . . . . . . . . .
Chapitre 4 Énumérations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ET_SnmpTag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ET_Result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ET_SnmpRequest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ET_SnmpProtocolVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 5 Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ST_RequestInformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ST_Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ST_Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Partie III Variables globales . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 6 Liste des constantes globales. . . . . . . . . . . . . . . . . . . . .
Liste des constantes globales (GCL). . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 7 Liste des paramètres globaux. . . . . . . . . . . . . . . . . . . . .
Liste des paramètres globaux (GPL) . . . . . . . . . . . . . . . . . . . . . . . . . .
Partie IV Unités d'organisation de programme (POU) . . . . . . .
Chapitre 8 Blocs fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FB_SnmpManager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 9 Fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FC_EtResultToString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Annexes
EIO0000002430 06/2017
.........................................
5
9
11
13
14
14
15
19
19
25
25
29
31
32
33
40
41
43
44
45
46
47
49
49
51
51
53
55
55
59
59
61
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
63
64
65
69
73
77
EIO0000002430 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.
EIO0000002430 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
EIO0000002430 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.
EIO0000002430 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
EIO0000002430 06/2017
A propos de ce manuel
Présentation
Objectif du document
Ce document décrit la bibliothèque SnmpManager.
La bibliothèque SnmpManager met en œuvre un gestionnaire du protocole Internet standard
SNMP (Simple Network Management Protocol). Le gestionnaire SNMP permet à votre contrôleur
de collecter et d'organiser les informations concernant les équipements pris en charge sur les
réseaux IP (Internet Protocol) et de modifier ces informations pour ajuster la configuration de
l'équipement.
La bibliothèque SnmpManager utilise des fonctions et des ressources système qui sont prises en
charge sur certaines plates-formes de contrôleur disponibles dans SoMachine.
Les contrôleurs pris en charge sont les suivants :
 Modicon M241 Logic Controller
 Modicon M251 Logic Controller
 Modicon M258 Logic Controller
 Modicon LMC058 Motion Controller
 Modicon LMC078 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 Fiches produit 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.
EIO0000002430 06/2017
9
Etape
6
Action
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)
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
EIO0000002430 06/2017
SoMachine
Informations générales
EIO0000002430 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
Utilisation de SnmpManager pour gérer les appareils/clients dans un réseau
25
EIO0000002430 06/2017
11
Informations générales
12
EIO0000002430 06/2017
SoMachine
Informations spécifiques de sécurité
EIO0000002430 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
SnmpManager. Le personnel amené à travailler avec la bibliothèque SnmpManager 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
EIO0000002430 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
EIO0000002430 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.
EIO0000002430 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
EIO0000002430 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.
EIO0000002430 06/2017
17
Informations spécifiques de sécurité
18
EIO0000002430 06/2017
SoMachine
Description
EIO0000002430 06/2017
Chapitre 2
Présentation de la bibliothèque
Présentation de la bibliothèque
Informations générales
Introduction
La bibliothèque SnmpManager met en œuvre un gestionnaire du protocole Internet standard
SNMP (Simple Network Management Protocol). Le gestionnaire SNMP permet à votre contrôleur
de collecter et d'organiser les informations concernant les équipements pris en charge sur les
réseaux IP (Internet Protocol) et de modifier ces informations pour ajuster la configuration de
l'équipement.
Le gestionnaire SNMP peut communiquer avec les équipements gérés via les protocoles SNMPv1
et SNMPv2c.
Le gestionnaire SNMP est conforme à la version 1 du protocole SNMP défini dans le document
IETF RFC 1157.
Le gestionnaire SNMP est conforme à la version 2 (de la communauté) du protocole SNMP défini
dans l'IETF RFC 1901...1907.
Il fournit les fonctions suivantes :
Génération et transmission d'une requête GET pour un OID (Object IDentifier, identifiant
d'objet).
 Génération et transmission d'une requête SET pour un OID.
 Réception et structuration de la réponse de l'agent.
 Mise à disposition de la valeur décodée d'une réponse dans un type de système approprié.
 Encodage d'une valeur donnée pour une requête SET correspondante.
 Gestion des erreurs détectées.

Un agent peut être un équipement réseau exécutant des fonctionnalités SNMP, comme un
commutateur, un routeur, une imprimante ou d'autres contrôleurs. Vous devez fournir les
informations concernant la structure MIB (Management Information Base) spécifique et les OID
correspondant à chaque agent.
EIO0000002430 06/2017
19
Description
Le tableau suivant indique les caractéristiques de la bibliothèque :
20
Caractéristique
Valeur
Titre de la bibliothèque
SnmpManager
Société
Schneider Electric
Catégorie
Communication
Composant
Suite de protocoles Internet
Espace de noms par défaut
SE_SNMP
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)
EIO0000002430 06/2017
Description
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_SNMP.
Eléments généraux à prendre en compte
Prenez en compte les limites suivantes de la communication SNMP :
Seul le protocole IPv4 (Internet Protocol version 4) est pris en charge.
 Seule une requête vers un agent SNMP est autorisée à la fois.
 Seul un OID peut être traité par requête.
 La bibliothèque SnmpManager intègre des pointeurs sur les adresses.

L'exécution de la commande Changement en ligne peut modifier le contenu des adresses.
ATTENTION
POINTEUR INCORRECT
Vérifiez la validité des pointeurs lors de leur utilisation sur les adresses et de l'exécution de la
commande Changement en ligne.
Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels.
La bibliothèque du gestionnaire SNMP repose sur les communications UDP.
NOTE : Aucune connexion de bout en bout dédiée n'est configurée avec le protocole UDP. Les
homologues communiquent en transmettant des informations de manière unidirectionnelle, d'une
source vers une destination. Il est impossible de vérifier si un message a effectivement atteint
l'homologue de destination ou si des informations ont été perdues en chemin. Le protocole UDP
ne prévoit pas d'options d'acquittement, de retransmission ni de timeout.
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.
EIO0000002430 06/2017
21
Description
Éléments à prendre en compte concernant la cybersécurité
Les fonctions de la bibliothèque SnmpManager ne prennent pas en charge les connexions
sécurisées telles que TLS (Transport Layer Security) ou SSL (Secure Socket Layer). Les
télégrammes SNMP ne sont pas chiffrés et l'authentification n'est pas requise pour obtenir ou
définir des informations sur un agent. 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
22
Bloc fonction / fonction
Utilisation
FB_SnmpManager (voir page 55)
Met en œuvre un gestionnaire SNMP qui envoie des
requêtes aux appareils pris en charge.
FC_EtResultToString (voir page 59)
Convertit un élément d'énumération de type
ET_Result en une valeur de chaîne.
EIO0000002430 06/2017
Description
Présentation des structures dans l'interface propre au module
Structure
Utilisation
ST_RequestInformation (voir page 44)
Contient une structure i_stRequest pour l'entrée
utilisateur et une structure q_stResponse pour les
données de sortie.
ST_Request (voir page 45)
Contient les informations de l'utilisateur, permettant
d'envoyer une requête à un agent.
ST_Response (voir page 46)
Contient les informations de l'utilisateur reçues d'un
agent lors d'une requête.
Présentation des énumérations
Énumération
Utilisation
ET_SnmpTag (voir page 32)
Décrit les types possibles des valeurs qu'il est
possible d'envoyer avec une requête SET.
ET_Result (voir page 33)
Contient les valeurs possibles qui donnent les
résultats des opérations exécutées par le bloc
fonction.
ET_SnmpRequest (voir page 40)
Vous permet de définir les types des requêtes (PDU,
Protocol Data Unit) exécutables par le bloc fonction
FB_SNMPManager via i_etRequest.
ET_SnmpProtocolVersion (voir page 41)
Permet de définir le type de version du protocole, que
le bloc fonction FB_SNMPManager peut exécuter via
i_etVersion.
EIO0000002430 06/2017
23
Description
24
EIO0000002430 06/2017
SoMachine
Utilisation de SnmpManager pour gérer les appareils/clients dans un réseau
EIO0000002430 06/2017
Chapitre 3
Utilisation de SnmpManager pour gérer les appareils/clients dans un réseau
Utilisation de SnmpManager pour gérer les appareils/clients
dans un réseau
Principe
Configuration système requise
Agent SNMP en cours d'exécution sur un appareil/client prenant en charge la version v1 ou v2c
du protocole
Informations requises



Structure de la MIB avec son OID (Object IDentifier).
Port et adresse IP de l'appareil/du client sur lequel l'agent SNMP s'exécute.
Noms de communauté différents configurés dans l'agent SNMP pour la lecture et l'écriture.
Définition d'une nouvelle valeur dans un OID (exemple)
Déclaration :
PROGRAM SetRequest
VAR
sNewSysName
fbSnmpManager
stRequestInfo
etRequest
etProtocolVersion
xError
xDone
xBusy
xActive
xReady
etResult
sResultMsg
:
:
:
:
:
:
:
:
:
:
STRING[60];
SE_SNMP.FB_SnmpManager;
SE_SNMP.ST_RequestInformation;
SE_SNMP.ET_SnmpRequest;
SE_SNMP.ET_SnmpProtocolVersion;
BOOL;
BOOL;
BOOL;
BOOL;
BOOL;
: SE_SNMP.ET_Result;
: STRING(255);
END_VAR
EIO0000002430 06/2017
25
Utilisation de SnmpManager pour gérer les appareils/clients dans un réseau
Mise en œuvre :
sNewSysName := 'SchneiderSystem';
stRequestInfo.i_stRequest.pbyValueBuffer := ADR(sNewSysName);
stRequestInfo.i_stRequest.dwNumBytesValue := 60;
stRequestInfo.i_stRequest.sAgentIp := '10.128.154.41';
stRequestInfo.i_stRequest.sOid := '1.3.6.1.2.1.1.5.0';
//SysName
stRequestInfo.i_stRequest.uiAgentSnmpPort := 161;
stRequestInfo.i_stRequest.etValueType := SE_SNMP.ET_SnmpTag.OctetString
;
etRequest := SE_SNMP.ET_SnmpRequest.SetRequest;
etProtocolVersion := SE_SNMP.ET_SnmpProtocolVersion.Version2c
fbSnmpManager( i_xEnable := TRUE,
i_xExecute := TRUE,
i_etRequest := etRequest,
i_etVersion := etProtocolVersion
iq_stRequestInfo := stRequestInfo,
q_xActive => xActive,
q_xReady => xReady,
q_xBusy => xBusy,
q_xDone => xDone,
q_xError => xError,
q_etResult => etResult,
q_sResultMsg => sResultMsg
)
26
EIO0000002430 06/2017
Utilisation de SnmpManager pour gérer les appareils/clients dans un réseau
Désignation des paramètres utilisés :
Etape
Action
1
Dans stRequestInfo.i_stRequest (voir page 56), définissez l'adresse IP (sAgentIp
(voir page 45)) de votre appareil sur lequel l'agent SNMP s'exécute, par exemple,
10.128.154.47.
2
Dans stRequestInfo.i_stRequest, définissez le port (uiAgentSnmpPort
(voir page 45)) de l'agent SNMP. Le port standard de SNMP et le port par défaut de la
bibliothèque sont 161.
3
Dans stRequestInfo.i_stRequest, définissez l'OID (sOid (voir page 45)) de la valeur à
modifier, par exemple, 1.3.6.1.2.1.1.5.0 (SysName).
4
Dans stRequestInfo.i_stRequest, définissez le pointeur (pbyValueBuffer
(voir page 45)) de la valeur à définir dans l'OID (en cas de GetRequest, définissez le pointeur
du tampon stockant la valeur reçue).
5
Dans stRequestInfo.i_stRequest, définissez le type de valeur (etValueType
(voir page 45)), par exemple, OctetString (en cas de GetRequest, ce paramètre n'est pas
utilisé).
6
Dans stRequestInfo.i_stRequest, définissez la taille de votre valeur
(dwNumBytesValue (voir page 45)), par exemple, 60 (en cas de GetRequest, réglez la taille
de votre tampon de valeurs).
NOTE : Dans le cas des chaînes, ajoutez un octet supplémentaire pour le caractère de fin de
la chaîne.
7
Dans le ET_SnmpProtocolVersion (voir page 41), configurez le type de la version du
protocole SNMP. La version par défaut de la bibliothèque est Version2c.
8
Dans ET_SnmpRequest (voir page 40), définissez le type de requête, par exemple,
SetRequest.
9
Appelez le bloc fonction FB_SnmpManager (voir page 55) avec les
réglages/paramètres/variables ci-dessus.
EIO0000002430 06/2017
27
Utilisation de SnmpManager pour gérer les appareils/clients dans un réseau
28
EIO0000002430 06/2017
SoMachine
Énumérations et Structures
EIO0000002430 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
31
5
Structures
43
EIO0000002430 06/2017
29
Énumérations et Structures
30
EIO0000002430 06/2017
SoMachine
Énumérations
EIO0000002430 06/2017
Chapitre 4
Énumérations
Énumérations
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
ET_SnmpTag
32
ET_Result
33
ET_SnmpRequest
40
ET_SnmpProtocolVersion
41
EIO0000002430 06/2017
31
Énumérations
ET_SnmpTag
Présentation
Type :
Énumération
Disponible à partir de la version :
V1.0.0.0
Description
L'énumération ET_SnmpTag décrit les types possibles des valeurs qu'il est possible d'envoyer
avec une requête SET.
NOTE : Le type de valeur Counter64 n'est pas pris en charge dans SNMPv1.
Le type de tampon suggéré (voir le tableau ci-après) indique le type de variable qui doit être
référencé par le pointeur iq_stRequestInfo.i_stRequest.pbyValueBuffer.
 Pour une requête SET, ces types de variable sont obligatoires.
 Pour les types de valeur reçus par une requête GET, le type de tampon suggéré renvoie au type
de valeur utilisé par le bloc fonction pour représenter les données reçues.
Éléments de l'énumération
Nom
Type de
données
Valeur
Description
Integer
BYTE
2
Valeur de type entier signé (32 bits).
Type de tampon suggéré : DINT
OctetString
BYTE
4
Valeur de type chaîne avec des caractères de 8 bits.
Type de tampon suggéré : STRING
ObjectID
BYTE
6
Valeur de type ObjectID.
Type de tampon suggéré : STRING (suite de chiffres séparés par des points)
IpAddress
BYTE
64
Valeur de type OctetString(4).
Type de tampon suggéré : STRING[15]
Counter32
BYTE
65
Valeur de type entier non signé (32 bits).
Type de tampon suggéré : UDINT
Gauge32
BYTE
66
Valeur de type entier non signé (32 bits).
Type de tampon suggéré : UDINT
TimeTicks
BYTE
67
Valeur de type entier non signé (32 bits).
Type de tampon suggéré : UDINT
Counter64
BYTE
70
Valeur de type entier non signé (64 bits).
Type de tampon suggéré : ULINT. Non pris en charge dans SNMPv1.
Utilisé par

32
FB_SnmpManager
EIO0000002430 06/2017
É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 le résultat et les codes
d'erreur étendus des opérations exécutées par le bloc fonction.
En cas d'erreurs détectées reçues dans le télégramme de réponse renvoyé par l'agent, les sorties
iq_stRequestInfo.q_stResponse.sOID et
iq_stRequestInfo.q_stResponse.sAgentIp sont toujours définies avec les données de la
requête à l'origine de l'erreur.
Éléments de l'énumération
Nom
Type de Valeur
données
Description
Si le bloc fonction q_xError est FALSE, les messages d'état suivants s'affichent :
Ok
UDINT
0
L'opération a abouti et le bloc fonction est inactif.
NotReady
UDINT
2
L'opération demandée ne peut pas être exécutée
dans l'état actuel.
Disabled
UDINT
3
Le bloc fonction est désactivé.
Sending
UDINT
4
Le bloc fonction envoie un télégramme de requête
ainsi que les informations spécifiées avec l'entrée
iq_stRequestInfo.i_stRequest.
Listening
UDINT
5
Le bloc fonction attend une réponse de l'agent.
Evaluating
UDINT
6
Le bloc fonction traite le télégramme reçu.
Si le paramètre q_xError du bloc fonction est TRUE, les messages d'état suivants s'affichent :
UnknownState
UDINT
1
L'opération n'a pas abouti en raison d'une erreur
indéterminée.
GplMaxUserDataTooBig
UDINT
15
GPL.Gc_dwMaxSizeUserData est hors limites.
Vérifiez les réglages de la liste des paramètres
globaux (voir page 51).
GplMaxUserDataTooSmall
UDINT
16
GPL.Gc_dwMaxSizeUserData est hors limites.
Vérifiez les réglages de la liste des paramètres
globaux (voir page 51).
EIO0000002430 06/2017
33
Énumérations
Nom
Type de Valeur
données
Description
GplMaxOidTooBig
UDINT
17
GPL.Gc_dwMaxSizeOid est hors limites.
Vérifiez les réglages de la liste des paramètres
globaux (voir page 51).
GplMaxOidTooSmall
UDINT
18
GPL.Gc_dwMaxSizeOid est hors limites.
Vérifiez les réglages de la liste des paramètres
globaux (voir page 51).
GplTimeoutZero
UDINT
19
GPL.Gc_udiTimeout est hors limites.
Vérifiez les réglages de la liste des paramètres
globaux (voir page 51).
InputMissingOid
UDINT
20
L'entrée obligatoire
iq_stRequestInfo.i_stRequest.sOid n'est
pas valide.
Vérifiez que l'entrée est affectée.
InputInvalidBufferSize
UDINT
21
Le tampon doit avoir une taille supérieure à zéro. La
taille du tampon est fournie par la valeur
iq_stRequestInfo.i_stRequest.dwNumByt
esValue.
InputInvalidRequest
UDINT
22
Seules les tâches
ET_SnmpRequest.GetRequest et
ET_SnmpRequest.SetRequestsont prises en
charge.
InputInvalidOid
UDINT
23
L'OID doit être fourni en tant que STRING
contenant une suite de chiffres séparés par des
points. Le premier chiffre ne peut être que 0, 1 ou 2.
InputInvalidIp
UDINT
24
L'adresse IP est incorrecte. Vérifiez que
l'adresse IP est fournie en tant que chaîne STRING
contenant une suite de 4 nombres séparés par des
points. Les nombres doivent être compris entre 0
et 255.
InputInvalidPointer
UDINT
25
Le tampon référencé par le pointeur
iq_stRequestInfo.i_stRequest.pbyValue
Buffer est non valide. Vérifiez l'adresse du
pointeur référençant le tampon, sa taille et son
accès en écriture.
InputSize32BitValue
UDINT
26
Le type de données référencé par
iq_stRequestInfo.i_stRequest.etValueT
ype autorise les valeurs d'une taille maximale de
4 octets.
InputSize64BitValue
UDINT
27
Le type de données référencé par
iq_stRequestInfo.i_stRequest.etValueT
ype autorise les valeurs d'une taille maximale de
8 octets.
34
EIO0000002430 06/2017
Énumérations
Nom
Type de Valeur
données
Description
InputInvalidValueIp
UDINT
28
Le type de données référencé par
iq_stRequestInfo.i_stRequest.etValueT
ype requiert un format spécifique : une chaîne
STRING contenant quatre nombres séparés par
des points. Les nombres doivent être compris
entre 0 et 255.
InputInvalidValueOid
UDINT
29
Le type de données référencé par
iq_stRequestInfo.i_stRequest.etValueT
ype requiert un format spécifique : une chaîne
STRING contenant quatre nombres séparés par
des points. Le premier chiffre ne peut être que 0, 1
ou 2.
InputInvalidValueVersion
UDINT
30
Le type de données d'entrée i_etVersion du bloc
fonction autorise les valeurs Version1 ou
Version2c.
UdpIssue
UDINT
40
Problème TCP générique. Consultez le document
Guide de la bibliothèque TcpUdpCommunication
(voir SoMachine, TcpUdpCommunication, Guide
de la bibliothèque).
UdpNotSupported
UDINT
41
Ce contrôleur ne prend pas en charge l'opération
UDP demandée.
UdpSocketMngListTooSmall
UDINT
42
Impossible d'ouvrir le socket UDP car la liste de
gestion des sockets internes est saturée. La valeur
de GPL.Gc_uiSocketManagementListSize
doit être augmentée dans la bibliothèque TcpUdp.
UdpNumBytesSendOutOfRange
UDINT
43
Le nombre d'octets à envoyer dépasse la plage
valide. Contactez votre service d'assistance
Schneider Electric local.
UdpInvalidBufferAddress
UDINT
44
L'adresse du tampon du télégramme est non valide.
Contactez votre service d'assistance Schneider
Electric local.
UdpInvalidIp
UDINT
45
L'adresse IP indiquée est non valide. Vérifiez
l'entrée iq_stRequestInfo.i_stRequest.
sAgentIp indiquée.
UdpReceiveBufferSizeOutOfRange
UDINT
46
La taille du tampon de réception dépasse la plage
valide. Contactez votre service d'assistance
Schneider Electric local.
UdpNotReady
UDINT
47
Impossible d'exécuter la requête UDP pour
l'instant.
EIO0000002430 06/2017
35
Énumérations
Nom
Type de Valeur
données
Description
UdpTimeout
UDINT
48
Aucune réponse reçue de la part de l'agent dans le
temps imparti, avec le nombre de tentatives
indiquées. Essayez d'augmenter
GPL.Gc_udiTimeout et/ou
GPL.Gc_uiMaxNumberRetries.
ValidateRequestIdNoMatch
UDINT
60
L'ID de requête reçu dans la réponse de l'agent ne
correspond pas à l'ID de requête envoyé à l'agent.
Consultez le paramètre
iq_stRequestInfo.q_stResponse pour
connaître l'agent (adresse IP) et l'OID à l'origine du
message.
ValidateOidNoMatch
UDINT
61
L'OID renvoyé par l'agent ne correspond pas à
l'OID demandé. Consultez le paramètre
iq_stRequestInfo.q_stResponse pour
connaître l'agent (adresse IP) et l'OID à l'origine du
message.
ValidateBufferTooSmall
UDINT
62
Le tampon fourni dans
iq_stRequestInfo.i_stRequest.pbyValue
Buffer est insuffisant pour la valeur reçue de
l'agent. Consultez le paramètre
iq_stRequestInfo.q_stResponse pour
connaître l'agent (adresse IP) et l'OID à l'origine de
ce message, ainsi que le nombre d'octets reçus
pour la valeur.
NOTE : si la valeur reçue est de type ObjectId,
la valeur décodée est généralement deux fois
supérieure au nombre d'octets reçus. Planifiez la
taille du tampon en conséquence.
ValidateVersionNotSupported
UDINT
63
Version du protocole non concordante entre la
requête et la réponse.
ValidateNoValue
UDINT
69
Le télégramme reçu de l'agent ne contenait aucune
valeur et aucun message d'erreur. Consultez le
paramètre iq_stRequestInfo.q_stResponse
pour connaître l'agent (adresse IP) et l'OID à
l'origine du message.
SnmpResponseGenErr
UDINT
70
Message d'erreur générique reçu de l'agent SNMP.
Tout autre problème que ceux indiqués dans cette
liste. Consultez le paramètre
iq_stRequestInfo.q_stResponse pour
connaître l'agent (adresse IP) et l'OID à l'origine du
message.
36
EIO0000002430 06/2017
Énumérations
Nom
Type de Valeur
données
Description
SnmpResponseTooBig
UDINT
71
Réponse de l'agent à une requête GET ou SET. Le
message de la réponse est trop volumineux pour
que l'agent puisse l'envoyer. Consultez le
paramètre iq_stRequestInfo.q_stResponse
pour connaître l'agent (adresse IP) et l'OID à
l'origine du message.
SnmpResponseSetNoAccess
UDINT
72
Réponse de l'agent à une requête SET. Accès
refusé à l'OID demandé. Vérifiez le nom de la
communauté dans
iq_stRequestInfo.i_stRequest.sCommuni
tyName. Consultez le paramètre
iq_stRequestInfo.q_stResponse pour
connaître l'agent (adresse IP) et l'OID à l'origine du
message.
SnmpResponseSetWrongType
UDINT
73
Réponse de l'agent à une requête SET. Le type de
valeur indiqué ne correspond pas au type de valeur
spécifié par l'OID. Consultez le paramètre
iq_stRequestInfo.q_stResponse pour
connaître l'agent (adresse IP) et l'OID à l'origine du
message.
SnmpResponseSetWrongLength
UDINT
74
Réponse de l'agent à une requête SET : la longueur
de la valeur est incohérente avec la longueur
définie de l'OID. Vérifiez la longueur de l'OID. Si le
message d'erreur persiste, contactez votre support
Schneider Electric. Consultez le paramètre
iq_stRequestInfo.q_stResponse pour
connaître l'agent (adresse IP) et l'OID à l'origine du
message.
SnmpResponseSetWrongEncoding
UDINT
75
Réponse de l'agent à une requête SET. Encodage
incorrect utilisé pour la valeur. Contactez votre
service d'assistance Schneider Electric local.
Consultez le paramètre
iq_stRequestInfo.q_stResponse pour
connaître l'agent (adresse IP) et l'OID à l'origine du
message.
SnmpResponseSetWrongValue
UDINT
76
Réponse de l'agent à une requête SET. La valeur
indiquée pour cet OID est incorrect ou n'est pas
prise en charge. Vérifiez les données d'entrée dans
iq_stRequestInfo.i_stRequest. Consultez
le paramètre
iq_stRequestInfo.q_stResponse pour
connaître l'agent (adresse IP) et l'OID à l'origine du
message.
EIO0000002430 06/2017
37
Énumérations
Nom
Type de Valeur
données
Description
SnmpResponseSetNotWritable
UDINT
77
Réponse de l'agent à une requête SET. La valeur
indiquée pour cet OID est incorrect ou n'est pas
prise en charge. Vérifiez les données d'entrée dans
iq_stRequestInfo.i_stRequest. Consultez
le paramètre
iq_stRequestInfo.q_stResponse pour
connaître l'agent (adresse IP) et l'OID à l'origine du
message.
SnmpResponseSetNoSuchName
UDINT
78
Réponse de l'agent à une requête SET. Le nom est
incohérent ou n'existe pas. Impossible de le créer
pour l'instant. Consultez le paramètre
iq_stRequestInfo.q_stResponse pour
connaître l'agent (adresse IP) et l'OID à l'origine du
message.
SnmpResponseSetInconsistentValue UDINT
79
Réponse de l'agent à une requête SET. Impossible
de définir la valeur, ou ressource indisponible pour
définir cette valeur pour l'instant. Consultez le
paramètre iq_stRequestInfo.q_stResponse
pour connaître l'agent (adresse IP) et l'OID à
l'origine du message.
SnmpResponseSetNoCreation
UDINT
80
Réponse de l'agent à une requête SET. La valeur
n'existe pas et ne peut pas être créée. Consultez le
paramètre iq_stRequestInfo.q_stResponse
pour connaître l'agent (adresse IP) et l'OID à
l'origine du message.
SnmpResponseGetNoSuchObject
UDINT
81
Réponse de l'agent à une requête GET. Le préfixe
d'OID ne correspond pas à un préfixe d'OID de
variables accessibles. Vérifiez l'OID dans
iq_stRequestInfo.i_stRequest.sOid.
Consultez le paramètre
iq_stRequestInfo.q_stResponse pour
connaître l'agent (adresse IP) et l'OID à l'origine du
message.
SnmpResponseGetNoSuchInstance
UDINT
82
Réponse de l'agent à une requête GET. Aucune
correspondance exacte pour l'OID trouvé. Vérifiez
l'OID dans
iq_stRequestInfo.i_stRequest.sOid.
Consultez le paramètre
iq_stRequestInfo.q_stResponse pour
connaître l'agent (adresse IP) et l'OID à l'origine du
message.
38
EIO0000002430 06/2017
Énumérations
Nom
Type de Valeur
données
Description
SnmpResponseEndofMibView
UDINT
83
Réponse de l'agent à une requête GET. Aucune
autre variable dans l'ordre lexicographique.
Consultez le paramètre
iq_stRequestInfo.q_stResponse pour
connaître l'agent (adresse IP) et l'OID à l'origine du
message.
SnmpResponseV1WrongErrorState
UDINT
84
Le protocole version 1 ne peut pas gérer la valeur
renvoyée de ErrorState.
SnmpVersion1SetCounter64
UDINT
88
Le type Counter64 n'est pas disponible pour
SNMPv1.
ValueNotSupported
UDINT
90
La réponse de l'agent contient une valeur
indéterminée. Seuls les types de valeur fournis par
ET_SnmpTag (voir page 32) sont pris en charge.
Consultez le paramètre
iq_stRequestInfo.q_stResponse pour
connaître l'agent (adresse IP) et l'OID à l'origine du
message.
UnknownResult
UDINT
99
Retour de FC_EtResultToString en cas de
valeur indéterminée de EtResult.
En cas de timeouts récurrents ou d'autres problèmes de communication :
 Vérifiez les connexions physiques du contrôleur, de l'agent SNMP, etc.
 Vérifiez la configuration de la connexion du contrôleur et de l'agent SNMP.
 Vérifiez l'itinéraire de communication entre le contrôleur et l'agent SNMP, par exemple, les
paramètres de commutateur, de routeur et de pare-feu (la communication UDP et les ports
SNMP doivent être autorisés).
 Vérifiez l'adresse IP et le port SNMP fournis dans iq_stRequestInfo.i_stRequest.
 Vérifiez le nom de communauté fourni dans iq_stRequestInfo.i_stRequest.
Utilisé par

FB_SnmpManager
EIO0000002430 06/2017
39
Énumérations
ET_SnmpRequest
Présentation
Type :
Énumération
Disponible à partir de la version :
V1.0.0.0
Description
L'énumération ET_SnmpRequest définit les types de requêtes (PDU, Protocol Data Unit)
exécutables par le bloc fonction (voir page 55) FB_SnmpManager via i_etRequest.
Éléments de l'énumération
Nom
Type de
données
Valeur
Description
NoCommand
BYTE
0
Aucun type de requête n'est défini.
Etat initial et valeur par défaut.
GetRequest
BYTE
1
Les requêtes GET demandent à un agent la valeur
référencée par l'OID.
SetRequest
BYTE
4
Les requêtes SET définissent une valeur référencée par
l'OID sur un agent.
Utilisé par

40
FB_SnmpManager
EIO0000002430 06/2017
Énumérations
ET_SnmpProtocolVersion
Présentation
Type :
Énumération
Disponible à partir de la version :
V1.0.0.0
Description
L'énumération ET_SnmpProtocolVersion définit les versions du protocole SNMP prises en
charge dans cette bibliothèque (versions qu'un agent SNMP peut gérer). Le bloc fonction
(voir page 55) FB_SnmpManager peut exécuter l'énumération via l'entrée i_etVersion.
Éléments de l'énumération
Nom
Type de
données
Valeur
Description
Version1
BYTE
0
Type de protocole SNMP
SNMPv1 utilisé pour la communication entre le
gestionnaire SNMP et l'agent SNMP
Version2c
BYTE
1
Type de protocole SNMP
SNMPv2c utilisé pour la communication avec le
gestionnaire SNMP et l'agent
EIO0000002430 06/2017
41
Énumérations
42
EIO0000002430 06/2017
SoMachine
Structures
EIO0000002430 06/2017
Chapitre 5
Structures
Structures
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
ST_RequestInformation
44
ST_Request
45
ST_Response
46
EIO0000002430 06/2017
43
Structures
ST_RequestInformation
Présentation
Type :
Structure
Disponible à partir de la version :
V1.0.0.0
Hérite de :
–
Description
La structure ST_RequestInformation contient deux structures : une pour les données d'entrée
nécessaires à l'envoi d'une requête, et une pour les données de sortie permettant d'afficher la
réponse à l'utilisateur.
Éléments de la structure
Nom
Type de données
Description
i_stRequest
ST_Request (voir page 45)
Structure contenant les données d'entrée utilisateur
requises
q_stResponse
ST_Response (voir page 46) Structure contenant la réponse à la requête de
l'utilisateur
Utilisé par

44
FB_SnmpManager
EIO0000002430 06/2017
Structures
ST_Request
Présentation
Type :
Structure
Disponible à partir de la version :
V1.0.0.0
Hérite de :
–
Description
La structure ST_Request contient les informations de l'utilisateur, permettant d'envoyer une
requête SNMP à un agent.
Éléments de la structure
Nom
Type de données
Description
sOid
STRING[GPL.Gc_dwMaxSi
zeOid]
OID demandé
Format : suite de nombres séparés par des points, par
exemple, 1.3.6.1.2.1.1.5.0.
sAgentIp
STRING[15]
Adresse IP de l'agent SNMP
pbyValueBuffer
POINTER TO BYTE
Pointeur désignant le premier octet du tampon.
Pour les requêtes SET, il s'agit du tampon contenant les
données d'utilisateur à définir sur l'agent.
Pour les requêtes GET, il s'agit du tampon dans lequel le bloc
fonction stocke la réponse de l'agent.
dwNumBytesValue
DWORD
Taille du tampon ou valeur dans le tampon
Le tampon est référencé par le pointeur pbyValueBuffer.
Pour les requêtes GET, ceci définit la taille du tampon qui
stocke les valeurs reçues.
Pour les requêtes SET, ceci définit la taille de la valeur dans
le tampon à envoyer.
NOTE : Dans le cas des chaînes, ajoutez un octet
supplémentaire pour le caractère de fin de la chaîne.
etValueType
ET_SnmpTag (voir page 32)
Type de la valeur à définir par les requêtes SET (non utilisée
pour les requêtes GET).
uiAgentSnmpPort
UINT
Port SNMP de l'agent
Valeur par défaut : 161
sCommunityName
STRING[255]
Nom de communauté de la requête
Valeurs par défaut :
 Requête SET : privée
 Requête GET : publique
EIO0000002430 06/2017
45
Structures
Utilisé par

FB_SnmpManager
ST_Response
Présentation
Type :
Structure
Disponible à partir de la version :
V1.0.0.0
Hérite de :
–
Description
La structure ST_Response fournit des informations provenant d'un agent SNMP lors d'une
requête.
Éléments de la structure
Nom
Type de données
Description
sOid
STRING[GPL.Gc_dwMaxSizeOid]
OID auquel l'agent a répondu.
Ces informations supplémentaires vous
permettent de faire le lien entre votre requête et
la réponse.
sAgentIp
STRING[15]
Adresse IP de l'agent qui envoie la réponse.
Ces informations supplémentaires vous
permettent de faire le lien entre votre requête et
la réponse.
pbyValueBuffer
POINTER TO BYTE
Pointeur du tampon contenant la valeur
référencée par l'OID reçu lors d'une requête GET
(tampon fourni par
iq_stRequestInfo.i_stRequest.pbyValu
eBuffer). En cas de requête SET, aucune
donnée n'est écrite dans le tampon.
dwNumBytesValue
DWORD
Taille de la valeur référencée par l'OID
défini/obtenu par la requête.
etProtocolVersion
ET_SnmpProtocolVersion
Version du protocole SNMP envoyée par l'agent.
Utilisé par

46
FB_SnmpManager
EIO0000002430 06/2017
SoMachine
Variables globales
EIO0000002430 06/2017
Partie III
Variables globales
Variables globales
Contenu de cette partie
Cette partie contient les chapitres suivants :
Chapitre
Titre du chapitre
Page
6
Liste des constantes globales
49
7
Liste des paramètres globaux
51
EIO0000002430 06/2017
47
Variables globales
48
EIO0000002430 06/2017
SoMachine
Liste des constantes globales
EIO0000002430 06/2017
Chapitre 6
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
SnmpManager.
Constantes globales
Variable
Type de données
Valeur
Description
Gc_dwMaxLimitUserData
DWORD
1 500
Taille maximale de la combinaison de
l'OID et de la valeur en octets, dans le
télégramme SNMP. Cette valeur
limite le paramètre
Gc_MaxSizeUserData.
Gc_uiDefaultPortSnmp
UINT
161
Numéro du port de l'agent qui
envoie/reçoit les requêtes SNMP.
La valeur par défaut est le port
standard 161.
Gc_sLibraryVersion
STRING[80]
Vx.x.x.01
Version de bibliothèque
1
Cette valeur varie selon la version de la bibliothèque.
EIO0000002430 06/2017
49
Liste des constantes globales
50
EIO0000002430 06/2017
SoMachine
Liste des paramètres globaux
EIO0000002430 06/2017
Chapitre 7
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 SnmpManager. Vous pouvez les
modifier en fonction de votre projet dans le Gestionnaire de bibliothèques.
Paramètres globaux
Variable
Type de
données
Valeur plage
Description
Gc_udiTimeout
UDINT
>0
Délai maximum à attendre pour
une réponse de l'agent (en
millisecondes).
Valeur par défaut : 10000
Gc_uiMaxNumberRetries
UINT
0 à 65355
Nombre maximum de tentatives
pour envoyer une requête après un
timeout.
Valeur par défaut : 2
Gc_dwMaxSizeOid
DWORD
1à
GPL.Gc_dwMaxSizeUserData
Taille maximum de STRING
iq_stRequestInfo.i_stRequ
est.sOid.
Valeur par défaut : 255
Gc_dwMaxSizeUserData
DWORD
1à
GCL.GC_MaxLimitUserData.
Taille maximale de la combinaison
de l'OID et de la valeur en octets,
dans le télégramme SNMP. Cette
valeur est limitée par
Gc_dwMaxLimitUserData.
Valeur par défaut : 1500
EIO0000002430 06/2017
51
Liste des paramètres globaux
52
EIO0000002430 06/2017
SoMachine
Unités d'organisation de programme (POU)
EIO0000002430 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
8
Blocs fonction
55
9
Fonctions
59
EIO0000002430 06/2017
53
Unités d'organisation de programme (POU)
54
EIO0000002430 06/2017
SoMachine
Blocs fonction
EIO0000002430 06/2017
Chapitre 8
Blocs fonction
Blocs fonction
FB_SnmpManager
Présentation
Type :
Bloc fonction
Disponible à partir de la version :
V1.0.0.0
Tâche
Le bloc fonction FB_SnmpManager permet d'envoyer des requêtes SNMP aux appareils pris en
charge sur les réseaux IP (Internet Protocol).
Description fonctionnelle
Le bloc fonction FB_SnmpManager est l'interface utilisateur des communications SNMP.
Seule une requête à un agent peut être prise en charge à la fois.
EIO0000002430 06/2017
55
Blocs fonction
Le bloc fonction doit être activé et prêt à traiter une requête. Au début de l'exécution d'une requête,
les entrées i_etRequest et iq_stRequestInfo doivent être définies. Les informations des
entrées servent à créer un télégramme SNMP contenant la requête et à l'envoyer à l'agent via
UDP. Le bloc fonction attend une réponse de l'agent, la traite et présente les informations reçues
à iq_stRequestInfo.stResponse. Tant que le bloc fonction exécute une requête, la sortie
q_xBusy est TRUE et q_etResult indique l'état de l'opération. La sortie q_xDone signale une
exécution complète et q_xError indique si le bloc fonction détecte une erreur pendant l'exécution
avec q_etResult et q_sResultMsg présentant d'autres informations sur la nature ou la cause
de l'erreur détectée. Si une erreur est détectée, le bloc fonction doit être réinitialisé en le
désactivant et en le réactivant.
Interface
Entrée
Type de données
i_xEnable
BOOL
Activation et initialisation du bloc fonction.
i_xExecute
BOOL
La commande spécifiée avec l'entrée
i_etRequest est exécutée sur le front montant
de cette entrée.
i_etRequest
ET_SnmpRequest
Requête SNMP exécutée si l'entrée
i_xExecute est TRUE. Vérifiez que
iq_stRequestInfo est disponible avant
l'exécution de la requête SNMP.
i_etVersion
ET_SnmpProtocolVersion
Spécifie la version du protocole pour la
communication avec l'agent. La valeur par
défaut est
ET_SnmpProtocolVersion.Version2c.
Entrée/sortie
Type de données
Description
iq_stRequestInfo
ST_RequestInformation
Permet de transmettre la structure contenant les
informations permettant d'envoyer une requête
à un agent et la structure pour présenter la
réponse reçue de l'agent.
(voir page 44)
56
Description
EIO0000002430 06/2017
Blocs fonction
Sortie
Type de données
Description
q_xActive
BOOL
Si le bloc fonction est actif, cette sortie est
TRUE.
q_xReady
BOOL
Si l'initialisation aboutit, cette 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 l'entrée
i_etRequest.
q_xDone
BOOL
Si cette sortie est TRUE, le bloc fonction a
exécuté complètement la commande spécifiée
dans l'entrée i_etRequest. Des données
supplémentaires sont fournies dans
iq_stRequestInfo.q_stResponse.
q_xError
BOOL
Si cette sortie est TRUE, une erreur a été
détectée. Pour plus d'informations, reportezvous à 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.
EIO0000002430 06/2017
57
Blocs fonction
58
EIO0000002430 06/2017
SoMachine
Fonctions
EIO0000002430 06/2017
Chapitre 9
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 chaîne de caractères contenant des
informations de diagnostic et d'état.
Description fonctionnelle
En utilisant la fonction FC_EtResultToString, vous pouvez convertir un élément d'énumération
de type ET_Result en une valeur de chaîne.
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)
Le ET_Result converti en valeur de chaîne.
EIO0000002430 06/2017
59
Fonctions
60
EIO0000002430 06/2017
SoMachine
EIO0000002430 06/2017
Annexes
EIO0000002430 06/2017
61
62
EIO0000002430 06/2017
SoMachine
Représentation des fonctions et blocs fonction
EIO0000002430 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
64
Utilisation d'une fonction ou d'un bloc fonction en langage IL
65
Utilisation d'une fonction ou d'un bloc fonction en langage ST
69
EIO0000002430 06/2017
63
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 :
64
EIO0000002430 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 un POU en langage IL (Instruction List, ou liste d'instructions).
NOTE : La procédure de création d'un POU n'est pas détaillée ici. Pour plus d'informations,
reportez-vous à la section Ajout et appel de POU (voir SoMachine, Guide de programmation).
2
Créez les variables nécessaires à la fonction.
3
Si la fonction possède une ou plusieurs entrées, chargez la première entrée en utilisant
l'instruction LD.
4
Insérez une nouvelle ligne en dessous et :
 saisissez le nom de la fonction dans la colonne de l'opérateur (champ de gauche), ou
 utilisez l'Aide à la saisie pour choisir la fonction (sélectionnez Insérer l'appel de module dans le
menu contextuel).
5
Si la fonction a plusieurs entrées et que l'Aide à la saisie est utilisée, le nombre requis de lignes est
automatiquement créé avec ??? dans les champs situés à droite. Remplacez les ??? par la valeur
ou la variable appropriée en fonction de l'ordre des entrées.
6
Insérez une nouvelle ligne pour stocker le résultat de la fonction dans la variable appropriée :
saisissez l'instruction ST dans la colonne de l'opérateur (champ de gauche) et un nom de variable
dans le champ situé à droite.
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
EIO0000002430 06/2017
65
Représentation des fonctions et blocs fonction
Fonction
Représentation graphique
avec paramètres d'entrée :
SetRTCDrift
En langage IL, le nom de la fonction est utilisé directement dans la colonne de l'opérateur :
Fonction
Représentation dans l'éditeur IL de POU de SoMachine
Exemple IL d'une
fonction sans paramètre
d'entrée :
IsFirstMastCycle
66
EIO0000002430 06/2017
Représentation des fonctions et blocs fonction
Fonction
Représentation dans l'éditeur IL de POU de SoMachine
Exemple IL d'une
fonction avec des
paramètres d'entrée :
SetRTCDrift
Utilisation d'un bloc fonction en langage IL
La procédure suivante explique comment insérer un bloc fonction en langage IL :
Etape Action
1
Ouvrez ou créez un POU en langage IL (Instruction List, ou liste d'instructions).
NOTE : La procédure de création d'un POU n'est pas détaillée ici. Pour plus d'informations, reportezvous à la section Ajout et appel de POU (voir SoMachine, Guide de programmation).
2
Créez les variables nécessaires au bloc fonction (y compris le nom de l'instance).
3
L'appel de blocs fonction nécessite l'utilisation d'une instruction CAL :
 Utilisez l'Aide à la saisie pour sélectionner le bloc fonction (cliquez avec le bouton droit et
sélectionnez Insérer l'appel de module dans le menu contextuel).
 L'instruction CAL et les E/S nécessaires sont automatiquement créées.
Chaque paramètre (E/S) est une instruction :
 Les valeurs des entrées sont définies à l'aide de « := ».
 Les valeurs des sorties sont définies à l'aide de « => ».
4
Dans le champ CAL de droite, remplacez les ??? par le nom de l'instance.
5
Remplacez les autres ??? par une variable ou une valeur immédiate appropriée.
EIO0000002430 06/2017
67
Représentation des fonctions et blocs fonction
Pour illustrer la procédure, utilisons le bloc fonction TON représenté graphiquement ci-après :
Bloc fonction
Représentation graphique
TON
En langage IL, le nom du bloc fonction est utilisé directement dans la colonne de l'opérateur :
Bloc fonction
Représentation dans l'éditeur IL de POU de SoMachine
TON
68
EIO0000002430 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 de SoMachine
SetRTCDrift
PROGRAM MyProgram_ST
VAR myDrift: SINT(-29..29) := 5;
myDay: DAY_OF_WEEK := SUNDAY;
myHour: HOUR := 12;
myMinute: MINUTE;
myRTCAdjust: RTCDRIFT_ERROR;
END_VAR
myRTCAdjust:= SetRTCDrift(myDrift, myDay, myHour, myMinute);
EIO0000002430 06/2017
69
Représentation des fonctions et blocs fonction
Utilisation d'un bloc fonction en langage ST
La procédure suivante explique comment insérer un bloc fonction en langage ST :
Etape Action
1
Ouvrez ou créez un POU en langage IL (Instruction List, ou liste d'instructions).
NOTE : La procédure de création d'un POU n'est pas détaillée ici. Pour plus
d'informations sur l'ajout, la déclaration et l'appel de POU, reportez-vous à la
documentation (voir SoMachine, Guide de programmation) associée.
2
Créez les variables d'entrée, les variables de sortie et l'instance requises pour le bloc
fonction :
 Les variables d'entrée sont les paramètres d'entrée requis par le bloc fonction.
 Les variables de sortie reçoivent la valeur renvoyée par le bloc fonction.
3
Utilisez la syntaxe générale dans l'éditeur ST de POU pour la représentation en
langage ST d'un bloc fonction. La syntaxe générale est la suivante :
BlocFonction_NomInstance(Entrée1:=VarEntrée1,
Entrée2:=VarEntrée2,… Sortie1=>VarSortie1,
Sortie2=>VarSortie2,…);
Pour illustrer la procédure, utilisons le bloc fonction TON représenté graphiquement ci-après :
Bloc fonction
Représentation graphique
TON
70
EIO0000002430 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 de SoMachine
TON
EIO0000002430 06/2017
71
Représentation des fonctions et blocs fonction
72
EIO0000002430 06/2017
SoMachine
Glossaire
EIO0000002430 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
EIO0000002430 06/2017
73
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
IP
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.
Acronyme de Internet Protocol, protocole Internet. Le protocole IP fait partie de la famille de
protocoles TCP/IP, qui assure le suivi des adresses Internet des équipements, achemine les
messages sortants et reconnaît les messages entrants.
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).
M
MIB
74
Acronyme de Management Information Base, base d'informations de gestion. Base de données
orientée objets contrôlée par un système de gestion de réseaux tel que SNMP. SNMP surveille
des équipements qui sont définis par leurs MIBs. Schneider Electric a obtenu une base MIB privée,
appelée groupeschneider (3833).
EIO0000002430 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
SNMP
ST
Acronyme de simple network management protocol, protocole de gestion de réseau simple.
Protocole qui peut contrôler un réseau à distance en interrogeant les équipements pour obtenir
leur état et en affichant les informations liées à la transmission de données. Il peut aussi être utilisé
pour gérer des logiciels et des bases de données à distance, et il permet d'effectuer des tâches de
gestion actives, comme la modification et l'application d'une nouvelle configuration.
Acronyme de structured text, texte structuré. Langage composé d'instructions complexes et
d'instructions imbriquées (boucles d'itération, exécutions conditionnelles, fonctions). Le langage
ST est conforme à la norme IEC 61131-3.
U
UDP
Acronyme de User Datagram Protocol, protocole de datagramme utilisateur. Protocole de mode
sans fil (défini par la norme IETF RFC 768) dans lequel les messages sont livrés dans un
datagramme vers un ordinateur cible sur un réseau IP. Le protocole UDP est généralement fourni
en même temps que le protocole Internet. Les messages UDP/IP n'attendent pas de réponse et,
de ce fait, ils sont particulièrement adaptés aux applications dans lesquelles aucune
retransmission des paquets envoyés n'est nécessaire (comme dans la vidéo en continu ou les
réseaux exigeant des performances en temps réel).
EIO0000002430 06/2017
75
Glossaire
V
variable
Unité de mémoire qui est adressée et modifiée par un programme.
76
EIO0000002430 06/2017
SoMachine
Index
EIO0000002430 06/2017
Index
B
bibliothèques
SnmpManager, 19
EIO0000002430 06/2017
E
ET_Result, 33
Disabled, 33
Evaluating, 33
GplMaxOidTooBig, 34
GplMaxOidTooSmall, 34
GplMaxUserDataTooBig, 33
GplMaxUserDataTooSmall, 33
GplTimeoutZero, 34
InputInvalidBufferSize, 34
InputInvalidIp, 34
InputInvalidOid, 34
InputInvalidPointer, 34
InputInvalidRequest, 34
InputInvalidValueIp, 35
InputInvalidValueOid, 35
InputInvalidVersion, 35
InputMissingOid, 34
InputSize32BitValue, 34
InputSize64BitValue, 34
Listening, 33
NotReady, 33
Ok, 33
Sending, 33
SnmpResponseEndofMibView, 39
SnmpResponseGenErr, 36
SnmpResponseGetNoSuchInstance, 38
SnmpResponseGetNoSuchObject, 38
SnmpResponseSetInconsistentValue, 38
SnmpResponseSetNoAccess, 37
SnmpResponseSetNoCreation, 38
SnmpResponseSetNoSuchName, 38
SnmpResponseSetNotWritable, 38
SnmpResponseSetWrongEncoding, 37
SnmpResponseSetWrongLength, 37
SnmpResponseSetWrongType, 37
SnmpResponseSetWrongValue, 37
SnmpResponseTooBig, 37
SnmpResponseV1WrongErrorState, 39
SnmpVersion1SetCounter64, 39
UdpInvalidBufferAddress, 35
77
Index
UdpInvalidIp, 35
UdpIssue, 35
UdpNotReady, 35
UdpNotSupported, 35
UdpNumBytesSendOutOfRange, 35
UdpReceiveBufferSizeOutOfRange, 35
UdpSocketMngListTooSmall, 35
UdpTimeout, 36
UnknownResult, 39
UnknownState, 33
ValidateBufferTooSmall, 36
ValidateNoValue, 36
ValidateOidNoMatch, 36
ValidateRequestIdNoMatch, 36
ValidateVersionNotSupported, 36
ValueNotSupported, 39
ET_SnmpRequest, 40
GetRequest, 40
NoCommand, 40
SetRequest, 40
ET_SnmpTag, 32
Counter32, 32
Counter64, 32
Gauge32, 32
Integer, 32
IpAddress, 32
ObjectID, 32
OctetString, 32
TimeTicks, 32
G
GCL (liste des constantes globales)
SnmpManager, 49
GPL (liste des paramètres globaux)
SnmpManager, 51
L
limites du transfert SNMP, 21
Q
qualification du personnel, 14
S
SnmpManager, 19
GCL (liste des constantes globales), 49
GPL (liste des paramètres globaux), 51
ST_Request, 45
ST_RequestInformation, 44
ST_Response, 46
F
FB_SnmpManager, 55
FC_EtResultToString, 59
fonctions
différences entre une fonction et un bloc
fonction, 64
utilisation d'une fonction ou d'un bloc
fonction en langage IL, 65
utilisation d'une fonction ou d'un bloc
fonction en langage ST, 69
78
EIO0000002430 06/2017

Manuels associés