import asyncio
from opcua import ua, Server
async def main():
server = Server()
await server.init()
server.set_endpoint("opc.tcp://0.0.0.0:4840/freeopcua/server/")
server.set_server_name("Простой OPC UA Сервер")
# Добавление переменной
objects = server.get_objects_node()
myobj = await objects.add_object(ua.NodeId(1000, 1), "MyObject")
myvar = await myobj.add_variable(ua.NodeId(1001, 1), "MyVariable", 0.0)
await myvar.set_writable(True)
async with server:
print("Сервер запущен на opc.tcp://localhost:4840")
try:
while True:
# Симуляция изменения значения
current_value = await myvar.get_value()
await myvar.set_value(current_value + 0.1)
await asyncio.sleep(1)
finally:
await server.stop()
if __name__ == "__main__":
asyncio.run(main())