Я новичок в opcua и пытаюсь общаться следующим образом:
Сервер импортирует xml -> клиент читает значение (используя get_node) -> в зависимости от значения, клиент отправляет запрос на сервер -> Сервер отвечает на запрос -> Клиент получает ответ.
Я выполняю эту часть, пока клиент не прочитает значение. Я сейчас пытаюсь отправить запрос на сервер. Но я не могу понять, какой метод мне использовать?
Я видел исходный код и вижу метод send_request (). Но я не понимаю, как отправить запрос.
Также, как только я отправлю запрос, как сервер отреагирует на него? Пожалуйста, объясните мне это или приведите пример.
Мой клиент и сервер выглядят так:
server.py
from opcua import Server
from opcua.ua.uatypes import NodeId, NumericNodeId
from opcua import ua
server = Server()
server.import_xml("Opc.Ua.Di.NodeSet2.xml");
server.import_xml("final.xml");
server.set_endpoint("opc.tcp://localhost:4840/MyServer");
server.set_server_name("MyServer");
MyServerNameSpace = server.get_namespace_index("urn:freeopcua:python:server");
server.start();
client.py
from opcua import Client
from opcua import ua
from opcua.ua import StringNodeId
client = Client("opc.tcp://localhost:4840");
client.connect_socket();
client.create_session();
client.activate_session(username=None, password=None, certificate=None);
objects = client.get_objects_node();
xx = client.get_node(StringNodeId("i40.io/PrmInst/Temp_1",3));
tempval = xx.get_value();
if tempval < 20 :
#here i want to write the request code