Instal·lació de l'OPC-UA a la Raspberry Pi, fent servir Python, i control des d'Indusoft

De Wiki d'en Jordi Binefa
La revisió el 08:55, 14 juny 2018 per Jordi (discussió | contribucions) (Es crea la pàgina amb «Per a fer un servidor OPC-UA, basat en [https://www.techcoil.com/blog/how-to-setup-raspbian-stretch-lite-on-raspberry-pi-3-to-run-python-3-applications/ Python 3], a l...».)
(dif) ← Versió més antiga | Versió actual (dif) | Versió més nova → (dif)
Dreceres ràpides: navegació, cerca

Per a fer un servidor OPC-UA, basat en Python 3, a la Raspberry Pi ens caldrà instal·lar una biblioteca de dependència i el paquet opcua:

sudo aptitude install libxslt1.1
sudo pip3 install opcua


Per a instal·lar exemples de servidor OPC-UA en Python ho podeu fer així:

mkdir ~/code
cd ~/code && mkdir opc-ua && cd opc-ua && wget https://binefa.cat/IoT/RPi/opc-ua/python-opcua-master.zip && unzip -a python-opcua-master.zip

o així:

mkdir ~/code
cd ~/code
mkdir opc-ua
cd opc-ua
wget https://binefa.cat/IoT/RPi/opc-ua/python-opcua-master.zip
unzip -a python-opcua-master.zip


Navegueu fins al directori d'exemples i executeu-ho:

cd python-opcua-master/examples/
python3 server-example.py


L'inici d'execució d'aquest programa pot trigar entre tres i quatre minuts a una Raspberry Pi 3 Zero W. Estarà carregat un cop hi veiem:

Python 3.5.3 (default, Jan 19 2017, 14:11:04) 
[GCC 6.3.0 20170124] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> 

Per a canviar el valor de la variable d'exemple i per a sortir:

>>> myvar.set_value(5)
>>> myvar.set_value(3)
>>> myvar.set_value(45)
>>> myvar.set_value(4)
>>> quit()

Configurem a l'InduSoft la connexió OPC-UA amb la Raspberry Pi:

https://binefa.cat/ari2/uf4/20180522/opc-ua/opc-ua_server.png


caption

opc.tcp://172.20.19.86:4840

I hi afegim un client OPC-UA: https://binefa.cat/ari2/uf4/20180522/opc-ua/opc-ua_client.png

caption


Premeu el botó dret de la primera casella del Browse Path i escolliu la variable MyVariable. Relacioneu-la amb un nou punt (tag) anomenat nMyVariable.

Verifiqueu que quan canvia el valor de la variable a la Raspberry Pi, també canvia a l'Indusoft.