from opcua import ua, Server
import time
# Создаём сервер
server = Server()
server.set_endpoint("opc.tcp://0.0.0.0:4840")
server.set_server_name("My Test OPC UA Server")
# Регистрируем своё пространство имён (опционально)
uri = "http://my.opcua.server"
idx = server.register_namespace(uri)
# Получаем корневую папку Objects
objects = server.get_objects_node()
# Добавляем свой объект и переменную
myobj = objects.add_object(idx, "MyObject")
myvar = myobj.add_variable(idx, "MyVariable", 3.1415)
myvar.set_writable(True) # разрешаем запись из клиента
# Запускаем сервер
server.start()
print("Сервер запущен на opc.tcp://localhost:4840")
print("Переменная: Objects -> MyObject -> MyVariable = 3.1415")
print("Нажмите Ctrl+C для остановки...")
try:
while True:
time.sleep(1) # держим сервер активным
except KeyboardInterrupt:
server.stop()
print("Сервер остановлен")