问题标签 [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 投票
1 回答
734 浏览

java - OPC UA Java - 如何从订阅 publishResponse 中获取 MonitoredItemID

我目前正在使用 OPC UA Foundation Java Stack,没有任何额外的 SDK。

我设法实现了具有多个受监视项目的订阅,并且我通过发布响应正确地获得了更改通知。

问题是当我在一个订阅中有多个项目时,我无法确定哪个受监控项目负责数据更改响应。MonitoredItemNotification 似乎没有方法?!那么如何获得 itemId、displayname、nodeId 或任何东西来识别响应中的项目?

这是我得到的响应(每个项目看起来几乎相同):

0 投票
1 回答
1372 浏览

opc-ua - Opc Ua 客户端文档

不确定这是否是问这个问题的正确地方,我想不出任何其他 StackExchange 网站来问它。

是否有来自 OPC 基金会的 .net Opc.Ua.Client 和 Opc.Ua.Core 库的任何可用文档?

不得不猜测属性/函数的作用真的很烦人。

0 投票
1 回答
1197 浏览

raspberry-pi - How to connect two Raspberry Pi with OPC UA?

I have two Raspberry Pi and i want to connect these two via OPC UA making one of them as Server and other as Client. Do you have any Idea or clues or you knows any Websites which helps me to understand the basic ? Or simply how can i connect Raspberry Pi with PLC machine ? any small idea can be helpful. Thanks in Advance !

0 投票
1 回答
1654 浏览

c# - OPC UA 安全连接 C#

我正在尝试使用 OPCUA 客户端和 Beckhoff 服务器建立安全连接。我收到错误控制证书不受信任。关于如何从这里开始的任何建议?

错误:

0 投票
1 回答
1726 浏览

java - 在客户端的 Eclipse Milo 中如何处理断开/重新连接?

我正在使用 Eclipse Milo 编写一个 OPC UA 客户端,并偶然发现了以下问题:客户端如何处理连接丢失。

对于监视值,我使用带有 SubscriptionManager 的订阅来执行此操作:

现在,当我重新启动我的 OPC UA 服务器(它也是使用 Eclipse Milo 实现的)时,我确实看到客户端重新连接,但订阅不再获得任何更新。在日志中,我得到以下输出:

因此,OpcUaSubscriptionManager 似乎意识到了这种情况,但没有尝试重新注册这些项目。是不是要手动完成?

0 投票
1 回答
268 浏览

java - 如何测试 Milo 客户端与服务器的连接是否实际使用加密?

作为客户端使用时Eclipse Milo,我想在建立连接后测试连接是否实际使用加密。

这样做的最佳方法是什么?

0 投票
1 回答
1119 浏览

java - 将布尔值写入 OPC UA 服务器 - “不同类型”错误

将简单地演示一下。我只是执行以下行:

这将从服务器读取值并直接将其写回 - 无效。然而,这适用于“双重”和“字符串”,但是当使用包含 BOOLEAN 的节点(UaExpert 说它是一个布尔值)执行此操作时,我收到以下错误/异常:

com.prosysopc.ua.StatusException: Bad_TypeMismatch (0x80740000) “为属性提供的值与属性值的类型不同。” StatusCode=Bad_TypeMismatch (0x80740000) “为属性提供的值与属性值的类型不同。”


这个怎么可能?Java API 中是否存在错误?还是服务器设置问题?

非常感谢提前!

0 投票
0 回答
577 浏览

xamarin.android - 适用于 Xamarin 的 OPC UA .Net 客户端堆栈

查看以下可在 Xamarin 中使用的开源 CLient SDK。UA.Net图书馆

问题是不确定如何构建它。有任何想法吗?我也打不开。

那么是否有任何 SDK 可用于作为 OPC UA 客户端的 Xamarin.Android 项目?

0 投票
1 回答
738 浏览

c# - 如何读取订阅需求的值?

我正在使用 OPC-UA .Net 堆栈学习 OPC-UA。订阅和发送数据的示例是在服务器端以 1 秒的刷新周期显式创建的——即每秒更新变量的值,其余的(通知客户端)由 OPC-UA 堆栈处理。由于循环是手工制作的,这意味着即使根本没有订阅它也可以工作。

好的。但是我想稍微反转一下——不要给变量设置静态值,不要依赖这个手动刷新周期,而是每当变量即将被读取(订阅需求)时,动态计算值并返回它给客户。

OnReadValue在变量上添加了处理程序,当客户端订阅该值时,它被触发,该值被计算并返回。几乎正是我所希望的 - 问题是它只完成一次

我猜由于客户端每隔一段时间请求更新,因此在服务器上会有一些循环以这样的时间间隔进行。如何告诉服务器再次读取变量(以触发处理程序)?

0 投票
1 回答
158 浏览

c# - 重新连接 WPF 和 OP UA 后重新发送监控项值

我正在使用这个用于 WPF 的 ua-client 编写控制软件/HMI,并将 Kepwere 作为 OPC Server。

今天我正在做一些连接测试,断开我的PLC的以太网电缆并更改软件中的一些监控项值。显然这个改变不会因为连接状态而生效,但是,重新连接后为什么不用我之前设置的值刷新PLC标签呢?

或者这是预期的行为,我需要制作一些内部存储变量来复制它?

Kepserver 有一个 System.NoError 标记,指示 PLC 上是否存在错误,因此我知道 PLC 何时离线。但是我正在尝试在重新连接时离线时重新发送最新的更改。

我覆盖了 SetProperty 方法:

然后用这个监听服务器状态改变事件:

在 System_NoError 的每次更改中,我都会:

我做了一些初始化并将其保留在 m_eventsPending 列表中,并在连接完成(打开)时开始发送,但 PLC 端没有发生任何事情。有什么问题?

PS:根据我的代码(按钮、滑块等),与软件的任何其他交互都会在 PLC 上进行正确的更改

最好的问候何塞·特鲁约尔