npm 包 node-opcua-data-access
是一个用于实现 OPC UA 数据访问协议的 Node.js 库。本文将为您详细介绍该库的使用方法,并通过示例代码帮助您快速上手。
什么是 OPC UA 数据访问协议
OPC UA (Open Platform Communications Unified Architecture) 是一个面向工厂自动化和智能制造应用的通讯协议。OPC UA 数据访问协议则是其核心协议之一,它定义了如何获取和设置远程设备的数据。通过 OPC UA 数据访问协议,用户可以在不同平台、不同厂商的设备及软件系统之间进行数据交换和共享。
安装和使用 node-opcua-data-access
要使用 node-opcua-data-access
,您需要在 Node.js 环境中安装该库。您可以使用 npm 命令来进行安装:
npm i node-opcua-data-access
安装完成后,您可以在项目中引入该库:
const opcua = require('node-opcua-data-access');
连接 OPC UA 服务器
在使用 node-opcua-data-access
访问 OPC UA 数据之前,您需要先连接到 OPC UA 服务器。下面是一个简单的示例代码,用于演示如何连接到 OPC UA 服务器:
-- -------------------- ---- ------- ----- ------ - --- -------------------- ------ -- -- - --- - ----- ------------------------------------------- ---------------------- -- --- -- --------- -- ---------- ----- -------------------- - -------- - ------------------- -- ------- -- --- -- -------- --- - -----
在上面的代码中,我们使用 await client.connect()
方法连接到了本地的 opc.tcp://localhost:4840
服务器。如果连接成功,我们将打印“Connected to OPC UA server”信息,然后使用 await client.disconnect()
方法来关闭连接。如果连接失败,我们将打印“Failed to connect to OPC UA server”信息,并输出错误信息。
读取 OPC UA 数据
连接到服务器后,我们就可以使用 client.read(nodesToRead, maxAge, callback)
方法来读取 OPC UA 数据。
比如,我们可以读取 OPC UA 服务器上 ns=1;s=Temperature
地址的温度数据:
-- -------------------- ---- ------- ----- ------ - --- -------------------- ------ -- -- - --- - ----- ------------------------------------------- ----- ----------- - -- ------- --------------------- ------------ ------------------------ --- ------------------------ -- ----- ----- -- - -- ----- - ------------------- -- ---- --- -- ------- ----- - ---- - ----- ----- - -------------------- ------------------------ ----- --- ----------- - -- ---------- -------------------- --- - -------- - ------------------- -- ------- -- --- -- -------- --- - -----
在上面的代码中,我们首先定义了 nodesToRead
数组,其中包含要读取的节点 ID 和属性 ID。在这个例子中,我们只有一个节点,即 ns=1;s=Temperature
地址的节点,我们要读取其 Value
属性。
然后我们使用 client.read()
方法来读取这个节点的值。在回调函数中,我们将检查是否发生错误,如果有,则输出错误信息;否则我们将读取到的值打印出来,并使用 client.disconnect()
方法关闭连接。
写入 OPC UA 数据
使用 node-opcua-data-access
,我们也可以向 OPC UA 服务器写入数据。下面是一个示例代码,演示如何将温度值写入到 ns=1;s=Temperature
地址:
-- -------------------- ---- ------- ----- ------ - --- -------------------- ------ -- -- - --- - ----- ------------------------------------------- ----- ------ - --------------------- ----- ----------- - - ------- ------- ------------ ------------------------- ------ - ------ - --------- ---------------------- ------ ---- - - -- --------------------------- ----- ----- -- - -- ----- - ------------------- -- ----- --- -- ------- ----- - ---- - ------------------------ ----- -- ------- -- ------- - -- ---------- -------------------- --- - -------- - ------------------- -- ------- -- --- -- -------- --- - -----
在上面的代码中,我们真正执行写入操作的代码是 client.write([nodeToWrite], callback)
。nodeToWrite
对象定义了要写入的节点 ID 和属性 ID,以及要写入的值。
在回调函数中,我们将检查是否发生错误,如果有,则输出错误信息;否则我们将输出写入成功的信息,并使用 client.disconnect()
方法关闭连接。
总结
本文介绍了如何使用 npm 包 node-opcua-data-access
实现 OPC UA 数据访问协议。通过连接 OPC UA 服务器、读取和写入数据的示例代码,您应该能够快速上手该库,并用于您自己的项目中。
希望本文能够对您理解 OPC UA 数据访问协议和使用 node-opcua-data-access
产生帮助。如果您有任何疑问或建议,欢迎在评论区留言。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65137