1121
This commit is contained in:
@ -10,9 +10,10 @@ import random
|
||||
import threading
|
||||
from datetime import datetime
|
||||
from core.system import SystemState
|
||||
from config.ini_manager import ini_manager
|
||||
|
||||
class SimpleOPCUAServer:
|
||||
def __init__(self, state, endpoint="opc.tcp://0.0.0.0:4840/zjsh_feed/server/", name="Feed_Server"):
|
||||
def __init__(self, state, endpoint=ini_manager.opcua_endpoint, name="Feed_Server"):
|
||||
"""
|
||||
初始化OPC UA服务器
|
||||
|
||||
@ -54,8 +55,8 @@ class SimpleOPCUAServer:
|
||||
self.lower_weight = self.lower.add_variable(self.namespace, "lower_weight", 0.0)
|
||||
|
||||
# 设置变量为可写
|
||||
self.upper_weight.set_writable()
|
||||
self.lower_weight.set_writable()
|
||||
# self.upper_weight.set_writable()
|
||||
# self.lower_weight.set_writable()
|
||||
|
||||
def setup_state_listeners(self):
|
||||
"""设置状态监听器 - 事件驱动更新"""
|
||||
@ -83,9 +84,7 @@ class SimpleOPCUAServer:
|
||||
try:
|
||||
self.server.start()
|
||||
self.running = True
|
||||
print(f"OPC UA服务器启动成功!")
|
||||
print(f"服务器端点: opc.tcp://0.0.0.0:4840/freeopcua/server/")
|
||||
print(f"命名空间: {self.namespace}")
|
||||
|
||||
# 初始化当前值
|
||||
if self.state:
|
||||
@ -109,8 +108,6 @@ class SimpleOPCUAServer:
|
||||
def stop(self):
|
||||
"""停止服务器"""
|
||||
self.running = False
|
||||
if hasattr(self, 'simulation_thread'):
|
||||
self.simulation_thread.join(timeout=2)
|
||||
self.server.stop()
|
||||
print("OPC UA服务器已停止")
|
||||
|
||||
@ -121,21 +118,6 @@ class SimpleOPCUAServer:
|
||||
except:
|
||||
pass
|
||||
|
||||
def simulate_data(self):
|
||||
"""模拟数据更新"""
|
||||
while self.running:
|
||||
try:
|
||||
# 更新变量值
|
||||
self.upper_weight.set_value(self.state.upper_weight)
|
||||
self.lower_weight.set_value(self.state.lower_weight)
|
||||
|
||||
# 模拟延迟
|
||||
time.sleep(1)
|
||||
|
||||
except Exception as e:
|
||||
print(f"数据更新错误: {e}")
|
||||
continue
|
||||
|
||||
|
||||
def main():
|
||||
"""主函数"""
|
||||
|
||||
Reference in New Issue
Block a user