diff --git a/img.png b/img.png new file mode 100644 index 0000000..b8c39d3 Binary files /dev/null and b/img.png differ diff --git a/img_1.png b/img_1.png new file mode 100644 index 0000000..123ae3d Binary files /dev/null and b/img_1.png differ diff --git a/opcua_client.py b/opcua_client.py index 9def91c..16e2e99 100644 --- a/opcua_client.py +++ b/opcua_client.py @@ -12,9 +12,7 @@ from datetime import datetime # ----------- # 参数配置 # ----------- -OPC_SERVER_URL = "opc.tcp://localhost:4840/zjsh_feed/server/" -UPPER_WEIGHT_NODE_ID = "ns=2;s=upper_weight" -LOWER_WEIGHT_NODE_ID = "ns=2;s=lower_weight" +OPC_SERVER_URL = "opc.tcp://localhost:4841/zjsh_feed/server/" RECONNECT_INTERVAL = 2000 # 重连间隔(毫秒) DATA_READ_INTERVAL = 2000 # 数据读取间隔(毫秒,与服务端更新频率一致) @@ -98,8 +96,11 @@ class OpcuaClient(QObject): print(f"OPC UA 连接成功:{self.opc_server_url}") # 2. 获取重量节点对象(仅连接成功时获取一次) - self.upper_weight_node = self.opc_client.get_node(UPPER_WEIGHT_NODE_ID) - self.lower_weight_node = self.opc_client.get_node(LOWER_WEIGHT_NODE_ID) + objects = self.opc_client.get_objects_node() # 根节点 + self.upper_weight_node = objects.get_child(["2:upper", "2:upper_weight"]) + + objects = self.opc_client.get_objects_node() # 根节点 + self.lower_weight_node = objects.get_child(["2:lower", "2:lower_weight"]) # 3. 验证节点是否有效 self._verify_nodes() diff --git a/readme.md b/readme.md index dc69840..d0470f3 100644 --- a/readme.md +++ b/readme.md @@ -1,6 +1,8 @@ # 功能 使用opc_tcp通讯,读取服务端的上料斗和下料斗重量的数值,并且显示在界面上。当服务端断开,状态图标会切换,重量值清零,会一直重连服务端。 -当服务端那边连接不上重量那边的客户端,上料斗或下料斗的值会变为"error",我这边客户端接收到"error"值时,会状态图标会切换,重量值清零,直到接收到正常值 +当服务端那边连接不上重量那边的客户端,上料斗或下料斗的值会变为"error",我这边客户端接收到"error"值时,状态图标会切换,重量值清零,直到接收到正常值 + # 使用教程 使用前需要修改的参数,opcua_client.py文件中,需要修改的地方有: -![img.png](参数修改.png) \ No newline at end of file +![img.png](img.png) +![img_1.png](img_1.png) \ No newline at end of file