#python #opc-ua #wincc
#python #opc-ua #wincc
Вопрос:
Вот код для настройки OPC UA-сервера:
import sys
from opcua import ua, Server
server = Server()
server.set_endpoint("opc.tcp://127.0.0.1:4808/")
server.set_server_name("ServerOPC")
uri = "http://server"
idx = server.register_namespace(uri)
objects = server.get_objects_node()
Object_1 =objects.add_object(idx,'MyFirstObject')
Object_2 =objects.add_object(idx,'MySecondObject')
Object_3 =objects.add_object(idx,'MyThirdObject')
Discret_1 = Object_1.add_variable(idx,'Discret_1',[0,0,0,0,0,0,0,0],varianttype=ua.VariantType.Int16)
Discret_2 = Object_2.add_variable(idx,'Discret_2',[0,0,0,0,0,0,0,0],varianttype=ua.VariantType.Int16)
Analog_3 = Object_3.add_variable(idx,'Analog_3',[10,20,30,40,50],varianttype=ua.VariantType.Int16)
Discret_1.set_writable()
Discret_2.set_writable()
Analog_3.set_writable()
server.allow_remote_admin(allow=True)
server.start()
Я могу успешно читать и записывать переменные с помощью UaExpert. Но у меня произошел сбой с SCADA-клиентом (WinCC). У меня установлено соединение, и я могу просматривать узлы (переменные). Типы совместимы. Но когда я запускаю режим выполнения, мой сервер выдает следующую ошибку.
У кого-нибудь есть идея, как решить эту проблему? Заранее спасибо!
Ответ №1:
Наконец, я узнал, что проблема была не в SCADA-клиенте или сервере, а в виртуальной машине. Я не знаю, что именно это было, но на другой виртуальной машине все идет хорошо.