问题标签 [node-opcua]

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 回答
247 浏览

javascript - OPC-UA从客户端启动后如何动态添加新变量

我有一个 OPC-UA 服务器启动并运行一些预配置的标签,现在我想在我的某些标签更改时从我的 NodeJS OPC-UA 客户端添加一个新变量。例如

do something在我试过的部分上面:

但是由于nodeId不存在所以它会抛出它不存在的错误。我找到了一个从服务器端添加变量的片段示例,但是是否可以从客户端执行它,因为我们想根据我从客户端监控的其他变量添加一些变量。

0 投票
0 回答
57 浏览

node.js - IIOT OPCUA 警报和事件节点-红色

我正在研究 OPC DA 和 AE。为此,我使用 Node-red 中的 IIOT OPCUA 节点。使用 Node-red 中的 IIOT OPCUA 节点,我能够连接和访问数据,但访问警报和事件却没有得到做什么。我已经使用 OPC 专家工具测试了我的 OPCAE 服务器,它工作正常,但我想使用 Node-red 执行警报和事件。请帮我解决这个问题。谢谢你。

0 投票
1 回答
28 浏览

node.js - OPC-UA 服务器能否覆盖连接客户端的超时和其他参数?

我基于 Node-OPCUA 和 node.js 创建了一个 OPC-UA 服务器,几个客户端在连接时参数错误或为空。这会导致客户端出现故障。

服务器是否可以覆盖或更正客户端配置参数,以便即使客户端定义错误也能正常工作?

我对覆盖会话和连接超时特别感兴趣。

客户端可能会中断断开连接,因此服务器不会关闭该连接。我如何摆脱那些僵尸连接?会话通常由于超时而关闭,但不是连接。

0 投票
0 回答
48 浏览

node.js - node-opcua OPCUAClient.connect 错误:无效位置

使用端点 (opc.tcp://{serverIP:port}/OPCUASserver) 连接到 OPCUA 服务器时,我收到一个我不知道如何解释的错误。

我创建一个 OPCUAClient 使用:

let client = OPCUAClient.create(clientOptions);

然后调用connect

这是打印到控制台的日志消息:

我不确定这个错误是什么意思。
谢谢!

0 投票
1 回答
24 浏览

node.js - Node-opcua 互操作性问题。怎么解决?

我遇到了 node-opcua 库的问题。我们使用该库来设置在 Kepware Server (v6) 上匿名连接的客户端。

应用程序在各种服务器上的调试和生产中运行良好,但似乎无法在我们尝试安装它的特定服务器上创建会话。

让我认为这是一个互操作性问题的原因是,当我们第一次在服务器上安装应用程序时,它使另一个应用程序(Cimplicity)导致 Kepware 服务器崩溃。

该应用程序是使用 node-opcua 最新的电子应用程序。“有问题的服务器”是带有 Microsoft Server 2019 的 VM。

这是我的 opcua 服务代码

似乎问题出在会话创建级别。这是来自工作服务器的日志摘录:

一个来自有问题的服务器

有没有人知道如何解决这类问题?

提前致谢!

0 投票
0 回答
27 浏览

javascript - 订阅一个项目并阅读多个其他项目

我尝试使用“node-opcua”-npm 包(NodeJs)创建一个 opc-ua-client 来执行以下操作:我不想订阅一个项目,每次这个值改变时我想做一个简单的阅读大约 200 个其他变量以将其保存在文件或数据库中。

背景是我的 Subscription-Item 是一个计数器,当有新数据集可用时计数 + 1。然后我不想保存其他几个传感器值来做一些分析。

最好的方法是什么?我真的不会自己运行它。

请支持

0 投票
1 回答
10 浏览

node.js - 如何将字符串数组写入 OPCUA 服务器?

这就是我目前尝试将字符串数组写入 opcua 服务器上的 opcua 变量的方式(附图 2 给出了属性)。下面的方法接受一个字符串 [] 并尝试将此字符串写入变量。我可以使用类似的方法轻松读取变量。

当我尝试写入服务器上的变量时,我得到类型不匹配。该数组的类型为 string[]。我尝试了各种建议,但我没有找到将数组写入服务器上的数组的明确示例?这甚至可能吗?

这张图片显示了我得到的错误,这是一个类型不匹配

这是我要写入的变量的服务器属性

0 投票
0 回答
11 浏览

node-opcua - 在 node-opcua 服务器中导入 nodeset 打开文件 ascii 编码

我通过使用 nodeset.xml 文件来创建 node-opcua 地址空间。我用要加载的文件名填充 server_options.nodeset_filename 数组。
这工作正常。
现在我想从配套规范中加载节点集“Opc.Ua.Ijt.Tightening.NodeSet2.xml”以进行收紧(https://github.com/OPCFoundation/UA-Nodeset/blob/v1.04/IJT/Tightening/ Opc.Ua.Ijt.Tightening.NodeSet2.xml)并认识到如果连接到服务器并使用 opcua 客户端读取,则某些描述会被删除。
例如,UAVariable NodeId="ns=1;i=6094" 包含字段“错误”,描述为“0 – OK ...”。
'0 - OK' 中的 '-' 是节点集 xml 中的 utf-8 编码字符。
经过一番调查,我fs.readFile(xmlFile, "ascii", (err, xmlData: string)发现 export function readNodeSet2XmlFilehttps://github.com/node-opcua/node-opcua/blob/master/packages/node-opcua-address-space/source_nodejs/generate_address_space.ts#:~:text=fs.readFile(xmlFile%2C%20 %22ascii%22%2C%20(err%2C%20xmlData%3A%20string)

OPC UA 规范告诉“所有字符串值都被编码为 UTF-8 字符序列”。

问题:

  • node-opcua 真的读取 nodeset xml 'ascii' 编码还是我的错误解释?
  • 有没有办法在读取节点集时强制 node-opcua 使用“utf-8”编码?