opc,protocol,industrialautomation,network,system,siemens,opc ua,opcua,telemetry,energy,autem,marc akoto

UaExpert - serveur PLCSIM | Communiquer en OPC UA | Autem

OPC UA - Découverte du protocole OPC UA à travers une simulation reliant un serveur OPC, PLCSIM et un client OPC, UA expert.

UAEXPERT - Serveur PLCSIM

Salut à toi et bienvenue dans ce nouvel article.

Alors on va parler du fameux protocole OPC UA. Tout le monde en parle, mais tu te demandes peut-être concrètement comment cela marche.

Alors, je te propose un exemple pratique avec une petite simulation, on va manipuler des données OPC pour mieux comprendre de quoi il s’agit. La simulation consiste à relier un serveur OPC, dans notre cas PLCSIM à un client OPC et dans ce cas-là c’est UA expert.

Alors là par exemple, tu vois que si côté serveur, je modifie la valeur de mon entier à 30, côté client, on retrouve la même valeur.

opc,protocol,industrialautomation,network,system,siemens,opc ua,opcua,telemetry,energy,autem,marc akoto
opc,protocol,industrialautomation,network,system,siemens,opc ua,opcua,telemetry,energy,autem,marc akoto
opc,protocol,industrialautomation,network,system,siemens,opc ua,opcua,telemetry,energy,autem,marc akoto

Et si côté client, je modifie la valeur de mon booléen à False, on retrouve l’impact ici côté serveur.

opc,protocol,industrialautomation,network,system,siemens,opc ua,opcua,telemetry,energy,autem,marc akoto
opc,protocol,industrialautomation,network,system,siemens,opc ua,opcua,telemetry,energy,autem,marc akoto
opc,protocol,industrialautomation,network,system,siemens,opc ua,opcua,telemetry,energy,autem,marc akoto

On a bien les données qui s’échangent entre les deux. Maintenant ce qui t’intéresse peut-être c’est de savoir comment on configure ce genre de communication.

Configuration niveau serveur

Alors on regardons ensemble déjà côté serveur la première chose qu’il faut faire pour pouvoir configurer ton serveur OPC UA. Dans notre cas c’est un automate qui est simulé avec PLCSIM. La première chose qu’il faut faire, c’est venir ici sur ton logiciel de configuration dans la rubrique opc-ua et vérifier un certain nombre de paramètres.

opc,protocol,industrialautomation,network,system,siemens,opc ua,opcua,telemetry,energy,autem,marc akoto

Déjà, il faut activer le serveur OPC UA.

opc,protocol,industrialautomation,network,system,siemens,opc ua,opcua,telemetry,energy,autem,marc akoto

Ensuite, on va vérifier le numéro du port: en général pour opc-ua, c'est souvent un port standard: le 4840.

opc,protocol,industrialautomation,network,system,siemens,opc ua,opcua,telemetry,energy,autem,marc akoto

Après on a des security policy à configurer.

opc,protocol,industrialautomation,network,system,siemens,opc ua,opcua,telemetry,energy,autem,marc akoto

Là il s’agit de voir si tu veux crypter ou pas ton échange OPC UA. Et enfin si tu souhaites mettre un mot de passe au niveau de l’activation. On gère cela ici dans les utilisateurs.

opc,protocol,industrialautomation,network,system,siemens,opc ua,opcua,telemetry,energy,autem,marc akoto

Première étape au niveau de ton automate : configurer le serveur OPC UA.

Ensuite, tu viens créer ici une table de données avec les mots que tu souhaites échanger, puis tu vas déclarer ces données-là dans une interface serveur en venant ici déclarer les mots qui seront visibles au niveau de l’échange, de la communication avec le serveur OPC UA.

opc,protocol,industrialautomation,network,system,siemens,opc ua,opcua,telemetry,energy,autem,marc akoto
opc,protocol,industrialautomation,network,system,siemens,opc ua,opcua,telemetry,energy,autem,marc akoto

Ce n’est rien de plus que capter tes éléments de ta base de données et puis les déclarer à l’interface serveur. Une fois que c’est fait, c’est tout pour la partie serveur.

Configuration niveau client

Ensuite côté client, on vient ici rajouter un serveur OPC UA.

opc,protocol,industrialautomation,network,system,siemens,opc ua,opcua,telemetry,energy,autem,marc akoto

On va déclarer (je l’avais déjà fait mais ici si tu double clic, tu vas déclarer ici une adresse IP et un port pour ton serveur OPC).

opc,protocol,industrialautomation,network,system,siemens,opc ua,opcua,telemetry,energy,autem,marc akoto
opc,protocol,industrialautomation,network,system,siemens,opc ua,opcua,telemetry,energy,autem,marc akoto

Dans notre cas l’adresse IP de notre automate, c’était celle-là. Ensuite on vient marquer un ‘:’ pour déclarer le port : 4840 comme on a vu tout à l’heure.

opc,protocol,industrialautomation,network,system,siemens,opc ua,opcua,telemetry,energy,autem,marc akoto

Et quand tu cliques sur ok, tu retrouves ici ton serveur qui apparaît dans la liste.

opc,protocol,industrialautomation,network,system,siemens,opc ua,opcua,telemetry,energy,autem,marc akoto

Il reconnaît là que c’est un simulateur SIMATIC S7-1500.

opc,protocol,industrialautomation,network,system,siemens,opc ua,opcua,telemetry,energy,autem,marc akoto

Je clique sur ok. Je vais ici connecter le lien avec mon serveur. Du coup, niveau client, on devrait retrouver là dans les blocs de données ce qu’on avait déclaré à l’interface serveur.

opc,protocol,industrialautomation,network,system,siemens,opc ua,opcua,telemetry,energy,autem,marc akoto
opc,protocol,industrialautomation,network,system,siemens,opc ua,opcua,telemetry,energy,autem,marc akoto

Mon mot et mon booléen apparaissent ici, et correspond bien à ce qu’on avait configuré tout à l’heure dans notre serveur OPC UA.

opc,protocol,industrialautomation,network,system,siemens,opc ua,opcua,telemetry,energy,autem,marc akoto

Encore une fois si tu modifies les variables ici, elles sont modifiées en temps réel dans les deux sens: on est vraiment en communication bidirectionnelle client-serveur OPC UA.

opc,protocol,industrialautomation,network,system,siemens,opc ua,opcua,telemetry,energy,autem,marc akoto
opc,protocol,industrialautomation,network,system,siemens,opc ua,opcua,telemetry,energy,autem,marc akoto

J’espère que grâce à ce tuto, tu pourras maintenant manipuler des données en OPCUA et mieux comprendre comment ce protocole fonctionne.

Si tu souhaites recevoir le fichier de la simulation qu’on vient de faire, signale-le dans les commentaires, je t’enverrai le programme pour que tu puisses reproduire cette simulation chez toi.

Et on se dit à très vite dans un prochain article.

A bientôt.

Marc Akoto – Intégrateur SCADA