- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我是 opcua 的新手,我一直在尝试通过以下方式进行通信:
服务器导入xml --> 客户端读取一个值(使用get_node) --> 根据该值,客户端向服务器发送请求 --> 服务器响应请求 --> 客户端接收响应。
我已经完成了该部分,直到客户端读取该值。我现在正在尝试向服务器发送请求。但我不明白我该使用哪种方法?
我看过源代码,可以看到send_request()方法。但我不知道如何发送请求。
另外,一旦我发送请求,服务器将如何响应它?请指导我完成此操作或给我举一个例子。
我的客户端和服务器看起来像这样:
服务器.py
from opcua import Server
from opcua.ua.uatypes import NodeId, NumericNodeId
from opcua import ua
server = Server()
server.import_xml("Opc.Ua.Di.NodeSet2.xml");
server.import_xml("final.xml");
server.set_endpoint("opc.tcp://localhost:4840/MyServer");
server.set_server_name("MyServer");
MyServerNameSpace = server.get_namespace_index("urn:freeopcua:python:server");
server.start();
客户端.py
from opcua import Client
from opcua import ua
from opcua.ua import StringNodeId
client = Client("opc.tcp://localhost:4840");
client.connect_socket();
client.create_session();
client.activate_session(username=None, password=None, certificate=None);
objects = client.get_objects_node();
xx = client.get_node(StringNodeId("i40.io/PrmInst/Temp_1",3));
tempval = xx.get_value();
if tempval < 20 :
#here i want to write the request code
最佳答案
您能否更准确地描述请求代码。如果您正在寻找它的状态代码,那么使用
tempval = xx.get_data_value()
if tempval.Value.Value < 20:
status = tempval.StatusCode.name # eg: Good/Bad etc..
message= tempval.StatusCode.doc
尝试使用 get_data_value() ,它可以为您提供更多信息。从那里您可以提取您想要的详细信息。
关于python - 客户端服务器通信opc ua,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53938714/
我是 OPC 统一架构世界的新手,我正在从基础开始学习它。命名空间到底是什么?为什么它总是附加 NodeID? 最佳答案 OPC UA 中的命名空间就像节点 ID 的容器。OPC 基金会有索引为 0
我一直在互联网上阅读,以很好地解释 OPC-UA 中的节点。似乎有一些库可以用于它,但实际上没有一个解释节点。 OPC-UA 中节点的用途是什么? 注意:此处为 OPC 和 OPC-UA 菜鸟 最佳答
我对 OPC-UA 世界完全陌生。 我需要建立一个关于如何让我们的 ERP 与 PLC 通信的概念证明。我正在评估充当 OPC-UA 服务器的软件(它正在运行)。我发现了 Milo 并让代码在 Ecl
我是 OPC UA 世界的新手。谁能指导我如何使用 OPCFoundation/UA-.NETStandard 在 c# 中创建自定义复杂类型。在我的 CreateAddressSpace 方法中,我
我是一名 OPC-UA 新手,使用 Milo 堆栈将非 OPC-UA 系统集成到 OPC-UA 服务器。其中一部分包括将值写入 OPC-UA 服务器中的节点。我的问题之一是来自其他系统的值以 Java
我正在尝试通过使用位于 https://github.com/OPCFoundation/UA-.NET 的 Open OPC-UA.NET 实现从 SINUMERIK 840d 调用 OPC-UA
我已经减少并检查了 SamplingInterval 和 PublishingInterval..values 没有影响。你能提出任何建议吗?让我知道。 最佳答案 如前所述,SamplingInter
我正在开发一个 OPC UA 客户端应用程序,它读取存储在 OPC UA 服务器上的文件。出于测试目的,我需要一个 OPC UA 服务器模拟器,我可以在其中添加 FileType 节点并配置这些节点。
我是 OPC-UA 世界和 Eclipse Milo 的新手。我不明白这里的保安是如何运作的,讨论eclipse-milo提供的client-example 我发现连接 OPCUA 服务器时使用了一些
谁有 OPC UA 的模拟器示例,我正在使用 OPC UA 项目 https://github.com/OPCFoundation/UA-Java . 我已经尝试了此 git hub 页面上提到的所有
我正在尝试使用 unifiedautomation 的 opc ua DLL 从 Opc ua 服务器(西门子)读取日期和时间 (#DT)。但是我得到了错误的值: 西门子 S7 1500 opc ua
开源 OPC UA Milo 服务器是否支持基于事件的数据源?例如。当服务器将节点(测量点)的采样率设置为 0(零)时,服务器会生成事件源生成的所有样本吗?如果是这样,在哪里寻找示例或说明如何实现这一
我刚刚在野外看到了这个元标记,想知道它的作用以及为什么要使用它? 阅读documentation在 About.com 上,它说: "IE=edge" tells Internet Explorer
在我基于 milo 的 OPC-UA 客户端实现中,我需要大量订阅。因此我使用了以下示例: https://github.com/eclipse/milo/blob/master/milo-examp
我似乎无法弄清楚这一点: 在写入标记之前,我需要知道它期望的数据类型(mywrite 函数接收的值始终是字符串)。 我意识到您必须从服务器读取数据类型,这是我的代码,但我不知道如何使用返回的信息: v
我在处理 ANSI C 堆栈中的 OPC UA 订阅和通知时遇到问题。 OPC UA 第 4 部分,服务说: 5.13.1 Subscription model 5.13.1.1 Descriptio
我在处理 ANSI C 堆栈中的 OPC UA 订阅和通知时遇到问题。 OPC UA 第 4 部分,服务说: 5.13.1 Subscription model 5.13.1.1 Descriptio
我希望限制我的 webapp 仅在手持设备上使用,并在桌面上完全禁用。 有大量库可用于设备检测,但所有嗅探User-Agent 很容易被伪造。是否有任何库可以超越 UA 并使用其他检查来确保设备确实是
我是 opcua 的新手,我一直在尝试通过以下方式进行通信: 服务器导入xml --> 客户端读取一个值(使用get_node) --> 根据该值,客户端向服务器发送请求 --> 服务器响应请求 --
我正在构建一个 Android 应用程序来显示来自服务器的内容提要。服务器是一个移动网站(如 http://m.google.com ),它跟踪来自各种移动客户端的流量。要区分 Android 客户端
我是一名优秀的程序员,十分优秀!