问题标签 [opc-ua]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
6290 浏览

web-services - OPC UA 和 REST Web 服务之间的区别

我想问一下,OPC UA 和 REST Web-Service 有什么区别。

0 投票
2 回答
2388 浏览

java - Eclipse Milo 中的身份验证客户端-服务器

在 Eclipse Milo 中,客户端是否可以使用以下身份验证参数连接到服务器:“证书 + 私钥”?还有参数“安全策略”和“消息安全模式”?

(如在UAExpert客户端:http ://documentation.unified-automation.com/uaexpert/1.4.0/html/connect.html )

如果是,那么如何?


我有我的处置:

  • 一个“.perm”文件格式的私钥;
  • 一份“.der”文件格式的证书;
  • 一个“.der”文件格式的服务器CA;
  • 以及4096位“.der”文件格式的服务器CA;
0 投票
1 回答
2036 浏览

c# - 如何更新 OPC UA 服务器中的节点

我有一个新问题:如何更新 OPC UA 服务器中的节点 - C#?

我在 EmptyNodeManager.cs 的 CreateAddressSpace 中创建了节点。一切正常,但是当真实节点上的值发生变化时,客户端不会观察到变化。

下面是代码:

0 投票
1 回答
1300 浏览

opc - 在 OPC UA ANSI C 堆栈中将节点添加到服务器的地址空间

我对 OPC UA ANSI C 堆栈有一个问题,这是一个非常简单的主题项目:只需将一个节点添加到服务器的地址空间,以便客户端可以读取它。

我知道有开源的 ANSI C 堆栈(open62541),但我需要使用官方的。

我在堆栈中找到了这两个对象:结构OpcUa_AddNodesItem(stackcore/opcua_types.h)和函数OpcUa_ServerApi_AddNodes(proxystub/serverstub/opcua_serverapi.c)。

我认为这个结构必须插入到函数内部,但是我在设置这两个对象的参数时遇到了一些问题。

在里面ansicservermain.c,我如何填充这两个对象以动态添加一个节点(例如,一个整数变量)?

0 投票
1 回答
2034 浏览

opc - OPC UA - 客户端 - Milo - 最佳实践 - 订阅数据更改

我使用 Milo 项目启动了一个 OPC UA 项目,以创建一个 OPC UA 客户端。我对 OPC UA 还是很陌生。现在,我一直在寻找在一个特定节点的数据更改后从多个节点读取值的最佳实践。

信息模型如下所示: RfidSensorType

在我的服务器上,我将拥有这个 RfidSensorType 的几个对象。客户端在 CurrentAtTag 节点上创建订阅以侦听数据更改。

我的问题:当 CurrentAtTag 的值发生更改时,将在我的客户端中调用一个回调函数,其中包含 UaMonitoredItem 和 CurrentAtTag 的 DataValue。在我的应用程序中,我还需要处理(同时)Station、IOLPort 和 CurrentValue 的值,这些值也在那个时候发生了变化。如何从 CurrentAtTag 的回调中访问这些值?

我唯一的解决方案是:在该回调中使用同步读取请求->这是一种合法的方法吗?

我的研究: 1)TriggeringService 我已经看到存在一个TriggerigService,它监控项目只会在一个特定节点更改它的值时发送报告。问题:这将调用几个回调,而只调用一个..我需要同时所有信息来进一步处理它们..

2) 事件监控 在事件监控中,可以选择“事件字段”,每个事件通知都会返回。我不确定是否可以选择 CurrentAtTag、Station、IOLPort 和 CurrentValue...

0 投票
1 回答
865 浏览

node.js - 如何使用 node-opcua 订阅优先级?

node-opcua 中的客户端订阅有一个名为priority. 它是一个数值字段。我无法理解订阅是否Priotity=1会获得更高Priority=10或更低的优先级。

源代码中的默认优先级是1. 那么它是最低的,还是最高的?哪一个会获得偏好,1 或 10 或 100?

0 投票
2 回答
3741 浏览

node.js - 如何使用 node-opcua 从 OPC DA Server 读取数据?

的存储库页面node-opcua说它支持DataAccess. 但我找不到任何连接到 OPC DA 服务器并读取数据的示例。

到目前为止,我已经尝试了server_with_da_variables示例。我已经能够使用sample_client读取它的数据。

方法和连接 OPC UA Server 的方法一样吗?我们是使用端点 URL 并创建会话并使用 NodeId 读取,还是过程不同?

0 投票
1 回答
1017 浏览

opc - OPC UA 客户端 - 标记组不为空时显示为空

我正在编写一个 UA 客户端 DLL 以允许查询和读取 OPC 标签。我以前写过 DA 版本,但现在是时候与时俱进,不要管 DCOM 地狱了。

一切顺利,但我注意到我无法浏览到某些我知道有效且在 OPC 项目中的标签。我对这些标签之一的容器节点的浏览器搜索报告它不包含节点并引发异常,但它包含的组和标签可以由 DA 进程浏览。即使是 OPC 基金会提供的 Sample UA Client 应用程序,也没有列出这些标签。例如见下图:

有问题的标签组是“TKPlant.CL535E.Global.iaHomg_Press”。

在 Kepware 中,组有以下 6 个标签:

Kepware 屏幕截图

在 OPC 快速客户端中,标签的状态和值是....(一切正常)

OPC 快速客户端

但在 UA Client Sample App 中,浏览显示如下:

UA 示例客户端

您可以看到该组中不存在任何节点。节点属性是:

在此处输入图像描述

将此与类似的组进行比较:

在此处输入图像描述

该组的属性:

组属性

我看不出任何差异,但似乎 UA 示例客户端的结果与我的浏览功能相同 - 在组中看不到任何标签。

我认为 UA 客户端认为这本身就是一个标签,而不是一个组。但这个项目实际上是在现场并且正在工作。奇怪的是,在查看 Quick Client 屏幕截图时,该组本身出现并被赋予了一个值????-

标签组有一个值

我知道这可能是一个很长的镜头,但有没有人知道为什么这个组 - 确实有标签 - 在使用 UA 访问时显示为空?

谢谢

史蒂夫

0 投票
1 回答
1078 浏览

opc-ua - UA OPC 服务器数据类型

对于我的一生,我无法找到我认为是一个简单问题的答案 - 如何找到 OPC 节点的数据类型。

我正在编写一个 UA OPC 库,其中涉及创建订阅和监视/更新此订阅中的标签。

写入标签的请求来自外部应用程序,由订阅和标签 ID 以及对象值​​组成。问题是这个对象总是一个字符串(不要问),需要将其转换为标签的适当数据类型。所以,我需要找出与标签关联的数据类型。目前,写入失败并出现类型不匹配异常。

这是我的更新代码:

我已经搜索了很长时间以找出如何确定节点的数据类型,但没有成功。那么,对于 MonitoredItem,如何找到数据类型以便我可以将字符串转换为兼容类型?

谢谢

史蒂夫

0 投票
3 回答
3742 浏览

opc - OPC UA 如何从服务器读取数据类型

我似乎无法弄清楚这一点:

在写入标签之前,我需要知道它期望的数据类型(mywrite 函数接收的值始终是字符串)。

我意识到您必须从服务器读取数据类型,这是我的代码,但我不知道如何使用返回的信息:

我该怎么做val才能确定数据类型是什么?

我使用Val.Valueor Val.WrappedValueor Val.WrappedValue.Value(无论有什么区别?)

我用来测试的标签已经返回 Val = "i=6".....

这是指什么?

什么数据类型是“6”和

如何将 val 转换为我可以使用的东西。

任何帮助将不胜感激。

谢谢