Serveur OPC-UA sur PLC

Installation du serveur OPC/UA sur la PLC et utilisation de l'utilitaire UaExpert

 


Generalites

 

  • ATTENTION il faut un projet pour l'installation (voir ce document)
  • La PLC doit tourner le serveur OPC-UA pour permette la communication OPC-UA
  • Il faut installer la licence OPC-UA de Beckhoff sur la PLC
  • Ua-Expert permet le management des variables de la PLC au travers de la communication OPC-UA

 


Installation de la licence OPC-UA sur TWC3

 

Dans le project TWC3 double click sur License puis onglet Manage Licenses

Selectionner TF6100 (TC3 OPC-UA)

Dans l'onglet Order Information (Runtime) selectionner TF6100 et l'activer avec le boutton "7 days Trial License" (suivre les instructions)

 


 

Configuration Projet PLC pour OPC-UA sur TWC3

 

ATTENTION: pour qu'un projet puisse travailler avec OPC-UA il faut activer les target Files:

<Mon_Project> -> PLC -> <mon_project>

Onglet Setting, target Files: selectionner TMC File et TPY File

 


 

Installation du server OPC-UA sur PLC

 

C'est un produit Beckhoff

https://beckhoff.com/ -> Download -> Software -> TwinCAT3 -> TFxxxx -> TF6xxx (Connectivity) -> product: TF6100 | TC3 OPC UA (version 3.3.12)

et dans notre distribution InstallEuler:

/gls/InstallEuler/Beckhoff/TF6100-OPC-UA.exe

Copie depuis une machine distante (PC Windows, Machine Virtuelle) sur la PLC:

Se connecter sur la PLC avec connexion bureau a distance (remote desktop Connection). ATTENTION: au prealable sur la PLC il faut autoriser les connexions remote dans:

Control-Panel -> System -> Remote Settings -> Allows remote connection

La connection se fait sous le compte "Administrator", mot de passe "1"

Sur le PC, lancer le bureau a distance et faire un copy paste d'un bureau a l'autre

Sur la PLC double click sur TF6100-OPC-UA.exe

Effectuer la demande decrite lors de l'installation, c'est a dire configurer le firewall pour autoriser le port TCP 4840:

Control-panel -> Windows Firewall -> Advanced settings

puis: Inbound Rules -> Add New Rule -> port -> TCP, local port:4840 -> "Allow the connection" -> Apply rule to Domain, Private, Public -> Name:

Choisir un nom pour respecter l'ordre dans la liste: UaGateway OPC-UA TCP port 4840

 


 

 

Utilisation de UaExpert depuis une machine distante

 

Download: https://www.unified-automation.com/downloads/opc-ua-clients/file/download/details/uaexpert-v140.html

On prends la version Windows - 32 Bit (Zip, 17.15MB)

Installation standard (unzip et cliquer sur l'installer)

Il faut remplir un formulaire de licence (Universite de Genève/Observatoire/Versoix/Geneve/CH)

 


 

Connexion par UaExpert

 

Click sur la signe "+" bleu (add Server)

-> Choisir un nom de configuration (nom de projet)

-> Endpoint Filter: type opc.tcp

-> dans l'onglet Discovery sous: Custom Discovery, faire le double click to Add Server et donner le IP:port de la PLC, exemple: opc.tcp://10.10.133.64:4840 et dans l'onglet Advanced remettre le meme Endpoint URL, c'eat a dire et meem exemple: opc.tcp://10.10.133.64:4840

Une fois finalise, on select le server que l'on souhaite acceder (notre projet) et on s'y connecte (icône prise electrique).

La premiere fois on installe une licence propre a Unified Automation UaExpert.

Malgré le message de warning (pour, on clique sur Trust Server Certificate, Continue)

 


 

Test de connexion sur serveur OPC-UA de la PLC

 

Sur la PLC Windows -> All Programs -> BeckHOFF -> TF6100 OPC UA -> TF6100 Configurator

Permet de tester la connexion. menu Server -> Open Online panel

Puis: Get Endpoints -> Connect

Le panneau indique la validite de la license

 


 

Verification de la licence pour UaExpert

 

Sur la PLC, mini-icone UA -> Administrate UaGateway pour les infos



 

Acces aux variables d'un programme PLC

 

Chaque variables accessible par OPC-UA doivent avoir les pragmas suivants juste avant leur definition (exemple pour la variable i_counter:

	{attribute 'OPC.UA.DA' := '1'}
	{attribute 'OPC.UA.DA.Access' := '1'} // 1 == ReadOnly
	i_counter: INT ;

Attention le compilateur ne voit pas les erreurs de pragma!!!

 

 



 

Utilisation de UaExpert

 

Une fois connecté(icône prise électrique) on sélectionne PLC1 -> MAIN et on descend dans l'arborescence.

Exemple: pour lancer le homing:

on descend dans fb_MAIN_Dome -> st_SMList -> fb_SM_Homming

là on voit les variable de control/status

En cliquant sur b_requested on voit sa valeur dans le panneau attribute -> Value -> Value

il suffit de tirer b_requested dans le panneau central (Data Access View) pour permettre de le modifier.

Comme c'est un boulean on clique dans la colonne Value et un checkBox apparait et permet de modifier la valeur. On la valide en cliquant ailleurs dans le panneau.

Le homing démarre et s'arrête lors de la detection du top zero. Le checkBox disparaît et false apparait.