问题标签 [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 回答
915 浏览

opc-ua - milo 中的 requestedPublishingInterval 是什么意思?

在我基于 milo 的 OPC-UA 客户端实现中,我需要大量订阅。因此,我使用了以下示例:

https://github.com/eclipse/milo/blob/master/milo-examples/client-examples/src/main/java/org/eclipse/milo/examples/client/SubscriptionExample.java

但是 1000.0 的 requestedPublishingInterval 是什么
UaSubscription subscription = client.getSubscriptionManager().createSubscription(1000.0).get();
意思?

此外,参数_samplingInterval在哪里MonitoringParameters代表?

谢谢!

0 投票
1 回答
2264 浏览

c# - OPC UA .NET 客户端 - 使用浏览路径获取 OPCUA 节点 ID

我正在使用OPC Foundation 的 .NET Standard 堆栈,需要使用其浏览路径获取节点 ID。使用我一直在使用的 Python FreeOPCUA 实现,很容易做到这一点:

obj = root.get_child(["0:Objects", "2:MyObject"])

我只是在寻找类似的东西,但到目前为止还没有找到一组有用的文档。我可以使用示例应用程序之一中的代码浏览整个根节点。我想避免这种开销,因为我知道我要查找的节点的确切位置并且只需要它的 ID。

0 投票
1 回答
403 浏览

opc-ua - 如何在 milo OPCUA 中创建用于过滤的 ExtensionObject?

我正在尝试为订阅定义过滤器,但我不知道如何创建ExtensionObject所需的过滤器。它要么是我想念ByteString的,要么是XmlElement我想念的,但我不知道如何或从哪里得到任何一个。如果我使用ByteStringthat is null,它将无法连接到服务器。

我要为“???”插入什么?在我的代码中?

谢谢!

0 投票
1 回答
1043 浏览

java - opc UA服务器重新启动时未创建eclipse milo会话

我在我们的应用程序中使用 eclipse milo java OPCUA 客户端 SDK 来实现 OPC。我能够创建会话、订阅和监控。它工作正常,但是当 opc 服务器重新启动并且我尝试删除以前的会话并创建一个具有相同参数的新会话时,我得到以下异常:

UaException: status=Bad_Timeout, message=timed out waiting for acknowledge

引发错误的行是:

EndpointDescription[] 端点 = UaTcpStackClient.getEndpoints(endpointurl).get();

在服务器端,我收到错误:

OPCUAServerEndPoint#_on_client_connection 已达到最大连接数 - 连接被拒绝

但是,当我尝试使用相同的参数再次创建会话时,它确实被创建了

0 投票
3 回答
3025 浏览

plc - 如何从 OPC UA 开始——从 PLC 设备采样和收集数据?

我希望设计用于从 PLC 设备收集/处理样本的解决方案,并使用设备的一些控制标签。请提出方法。对不起,很长的问题。在了解了更小更合理的主题/问题后,我会将其拆分为更多问题。

该公司的解决方案几乎是从零开始构建的。有一些 PLC 设备,还有一个 KEPServerEx(没有IoT 网关)。PLC 设备已通过第三方专有软件使用。但未来没有“更大的框架”。从这个角度来看,我可以介绍一个现代设计,但预算有限。

从我目前所了解的情况来看,KEPServerEx 似乎是访问 PLC 设备的一个不错的选择,但我没有实际使用它的经验。在我看来,OPC UA 应该是旧 OPC (DA) 的选择。我也知道使用 PLC 的梯形图方式。

根据我对 KEPServerEx 的“物联网网关”(不会使用)的了解,KepServer 可以在 PLC 标签级别设置采样频率。并且传输数据的频率也可以由物联网网关设置。然后物联网网关使用内部(内存)缓冲区来存储采样值,并且可以读取元组(tagID、值、质量、时间戳)并将其传递给第三方。

我不清楚的是,如何在没有物联网网关的情况下做到这一点。我认为它必须是一个基本操作。(tagID、值、质量、时间戳)是否适用于通过任何 OPC 服务器与 PLC 一起工作?还是只对 KEPServerEx 通用,还是物联网网关(可选)插件专用?

我了解到 OPC 基金会最近在 OPC UA 中添加了 Publih/Subscribe 机制。它是否还需要更新版本的 KEPServerEx?或者它可以与任何早期的 OPC 服务器一起使用吗?

我在编程和数据库方面经验丰富。我在工业传感器、执行器等方面也有一些技术背景……但是,我从未在工业领域从事过数字自动化方面的工作。

感谢,并有一个愉快的一天。

0 投票
1 回答
452 浏览

opc - OPC UA 唯一节点 ID

我有一个关于 OPC 基金会统一架构的问题。对于 ObjectType NodeClass、Object NodeClass、VariableType NodeClass、Variable NodeClass 和 DataType NodeClass,它们每个至少有 1 个属性。每个属性都由一个变量节点表示。

假设我从它的 NodeClass 实例化一个变量节点,然后是它的 NodeVersion 属性,该属性由变量节点表示并通过 HasProperty 引用与变量节点相关。NodeVersion 属性的节点 ID 在服务器上下文中是唯一的还是数字标识符是 3068 的常量值(取自https://opcfoundation.org/UA/schemas/1.02/NodeIds.csv)?

0 投票
1 回答
4353 浏览

opc-ua - Eclipse Milo,OPC-UA:从哪里开始?

我对 OPC-UA 世界完全陌生。

我需要建立一个关于如何让我们的 ERP 与 PLC 通信的概念证明。我正在评估充当 OPC-UA 服务器的软件(它正在工作)。我找到了有关 Milo 的信息,并让代码在 Eclipse 中工作。查看示例,我得到了一个连接到 OPC-UA 服务器的玩具程序,并且正在做……一些事情。

基本的管道工作,但我不知道从哪里开始 OPC-UA 和 Milo。我一直无法找到介绍性材料来帮助我理解这一切。

是否有关于 OPC-UA 架构以及 Milo 如何实现它的文档?有没有比看例子来弄清楚事情应该如何做更好的方法呢?

0 投票
2 回答
113 浏览

testing - opc 测试设备、软件或硬件

我正在开发一种通过 OPC UA 进行通信的传感器。我正在使用一个开源库来实现 OPC 接口。现在我想针对过程控制系统使用的“真实世界”设备进行测试。

我已经将我的传感器实现为 OPC 服务器并对其进行测试,我还使用上述库编写了一个客户端。我还下载了一个用作 opc 客户端的智能手机应用程序。到目前为止,我的传感器适用于这些客户。

但是,我想针对工业中使用的廉价产品进行测试。我还可以看到自己想要构建几个简单的测试盒并创建自己的小型网络。

如果有可购买的产品,我也会感兴趣。

0 投票
1 回答
1085 浏览

client-server - OPC-UA 服务器重启和订阅

一般来说,会发生什么情况:如果客户端在 OPC-UA 节点上进行了订阅,并且该节点运行了一段时间。OPC-UA 服务器以标准行为向客户端发布数据。然后,OPC-UA服务器因任何原因重启,OPC-UA是否存储其订阅者并在启动后恢复连接并继续发布数据?或者客户端是否需要感知服务器宕机并因此重新创建订阅?如果是这种情况,是否应该通常使用轮询来实现更大的稳定性?

0 投票
1 回答
486 浏览

opc-ua - OPC UA TranslateBrowsePathsToNodeIds() 服务

我知道 TranslateBrowsePathsToNodeIds() 服务可用于针对类型定义进行编程,并通过扩展检索节点的组件/属性的 NodeId。

我有两个问题。

1)RelativePath 结构的最后一个元素是否需要有效的targetName,即不能为null?

2)当路径可以成功解析到两个不同的分支时,是否有任何规定的行为,即程序可以在中间路径选择不同的节点并且仍然成功地遵循下一个路径序列?

谢谢