O Docker encapsula a imagem do cliente OPCUA de python

Certifique-se de que a máquina virtual está conectada à rede externa, abra o HyperTerminal e baixe a imagem continuumio / anaconda3

docker pull continuumio/anaconda3

Crie uma pasta vazia, crie dois arquivos Dockerfile e main.py nesta pasta
Insira a descrição da imagem aqui

Edite o conteúdo do Dockerfile da seguinte maneira:

FROM continuumio/anaconda3:latest
ADD main.py /

RUN pip install paho-mqtt
RUN pip install freeopcua
RUN pip install opcua-client

CMD ["python","-u","./main.py"]

Edite o conteúdo de main.py da seguinte forma:

from opcua import Client
from opcua import ua
import time
class SubHandler(object):
    def data_change(self, handle, node, val, attr):
        print("Python: New data change event", handle, node, val, attr)
client = Client("opc.tcp://192.168.224.157:4840/")
client.connect()
objects = client.get_objects_node()
root = client.get_root_node()
#myvar = root.get_child(["0:Objects","2:DeviceSet","3:test","3:DataBlocksGlobal","3:db1","3:tags","3:0"])
myvar = client.get_node("ns=2;i=14")
#myvar = client.get_node("ns=5;s=MotionDeviceSystem.ProcessData.System.$CONST_VEL")
#myvar = client.get_node('ns=5;s=MotionDeviceSystem.Controllers.Controller_1.ParameterSet.CurrentProjectDescription')
#myvar = client.get_node('ns=3;s="clocl0.5hz"."tags"[0]')
#var = client.get_node('ns=3;s="Tag_1"')
handler = SubHandler()
sub = client.create_subscription(500, handler)
sub.subscribe_data_change(myvar)
time.sleep(100000)
client.disconnect()

Em relação à configuração do servidor OPC UA e ao IP e porta preenchidos pelo cliente, modifique o endereço do Nó de acordo com a situação atual. Não use 127.0.0.1 como endereço IP para conexão ao servidor OPC UA.
Neste diretório de pasta, compile uma nova imagem de imagem chamada edgebox com a versão 0.1. Observe que o ponto no final da instrução não deve ser perdido, isso significa que o arquivo de configuração do dock Dockerfile
docker build -t edgebox: 0.1 é encontrado no diretório atual .
Aguarde até que a compilação seja concluída, use a instrução para visualizar as imagens recém-geradas do
docker para
executar o opc ua client, anonimamente a partir do opc ua server Assine uma variável
docker run -it edgebox: 0.1
Consulte as instruções comuns
Ver todos os contêineres criados
docker container ls -a
Ver todos os processos do
docker container docker ps
Excluir imagem imagem
docker rmi Nome ou ID da imagem
excluir todos os contêineres docker
sudo docker rm $ (sudo docker ps -a -q)
excluir contêiner
docker docker contêiner rm nome ou ID do contêiner

Acho que você gosta

Origin blog.csdn.net/weloveut/article/details/108200912
Recomendado
Clasificación