Bläddra i källkod

取值方式修改

q 1 år sedan
förälder
incheckning
8b59e01cc3
1 ändrade filer med 11 tillägg och 11 borttagningar
  1. 11 11
      jjq_support_1.py

+ 11 - 11
jjq_support_1.py

@@ -2,19 +2,17 @@
 import redis
 import asyncio
 import tracemalloc
-import aioredis
 
 from asyncua import Client
 from datetime import datetime
 
-opc_server_url = "opc.tcp://192.168.10.133:49320"  # OPC UA服务器的URL
+opc_server_url = "opc.tcp://10.71.208.71:8098/TM.LongWallMind.OPCUAServer4.x"  # OPC UA服务器的URL
 redis_ip = '127.0.0.1'
 tracemalloc.start()
 
-point_arr = [f"OPC.电液控.支架集.{num:03d}.立柱压力.柱压力" for num in range(1, 138)]
+point_arr = [f"OPC.电液控.支架集.{num:03d}.立柱压力.柱压力" for num in range(1, 138)]
 
 
-# 连接opcua
 async def connect_and_read_opcua_data():
     ns = 2
     result_arr = {}
@@ -22,13 +20,15 @@ async def connect_and_read_opcua_data():
         async with Client(url=opc_server_url, timeout=1) as client:
             await client.connect()
 
-            node = await client.nodes.root.get_children()  # 获取所有子节点
-            data_arr = [node.display_name.Text for node in node]
+            # node = await client.nodes.root.get_children()  # 获取所有子节点
+            # data_arr = [node.display_name.Text for node in node]
 
-            for data in data_arr:
-                node = f"ns={ns};s={data}"
-                tag = client.get_node(node)
+            for i in range(len(point_arr)):
+                data = point_arr[i]
+                node = f"ns=2;s={data}"
+                tag = await client.get_node(node)
                 value = await tag.read_value()
+                result_arr[data] = value
 
                 # 异步存储到 Redis 中,需要使用异步的 Redis 客户端库
                 # aioredis 或者其他异步库
@@ -40,8 +40,8 @@ async def connect_and_read_opcua_data():
                 # arr_key = node.split("=")
                 # result_arr[arr_key[2]] = value
 
-                result_arr[data] = value
-
+                # result_arr[data] = value
+            # return node
             return result_arr
     except TimeoutError:
         msg = "连接超时,请检查网络、服务器状态和连接参数。"