npm 包 node-opcua-client-proxy 使用教程

阅读时长 6 分钟读完

在现代的工业控制系统中,Open Platform Communications Unified Architecture (OPC UA) 协议被广泛应用。OPC UA 是一种基于 XML 的协议,它的目标是在使用不同厂商的设备、不同操作系统和语言的设备之间提供统一的通信规范。node-opcua-client-proxy 是一个能够通过 Node.js 运行 OPC UA 客户端的代理应用。在本文中,我们将会学习如何在前端应用中使用 npm 包 node-opcua-client-proxy。

安装 node-opcua-client-proxy

首先,在终端中运行以下命令来安装 node-opcua-client-proxy:

创建 OPC UA 客户端

接下来,我们需要创建一个 OPC UA 客户端以便能够连接到 OPC UA 服务器。在使用 node-opcua-client-proxy 之前,我们需要先创建 OPC UA 客户端:

-- -------------------- ---- -------
----- ----- - ----------------------
----- ------ - --- --------------------
----- ----------- - ---------------------------

----- -------- --------- -
   ----- ----------------------------
   --------------------------
-

------------------- -- ------------------- -- ------

在以上代码中,我们首先导入 node-opcua 库并使用 OPCUAClient() 构造函数创建了一个 OPC UA 客户端。然后,我们指定 OPC UA 服务器的地址作为 endpointUrl 变量。最后,在 connect() 函数中,我们使用 connect() 方法连接到 OPC UA 服务器。如果连接成功,控制台将输出 "Connected!"。

运行 node-opcua-client-proxy

在创建 OPC UA 客户端之后,我们可以通过以下代码来启动 node-opcua-client-proxy:

-- -------------------- ---- -------
----- - ----- - - -------------------------
----- ------- - ------------- ----------------------------------------------- ----- --------------

------------------------- ---- -- ------------------------------------ ------- -----------
------------------------- ---- -- -------------------------------------- ------- -----------

------------------ ------ ------- -- -
  ------------------------------------ ------- ------ ---- ---- ------- --- ------ ------------
---

在以上代码中,我们导入了 spawn 方法并使用 program 对象来运行 command line 的 node 命令。使用 -e 选项指定连接的 OPC UA 服务器地址。最后,我们监听控制台输出日志并在 node-opcua-client-proxy 退出后立即执行一些可选操作。

导出数据

一旦 node-opcua-client-proxy 运行,我们可以轻松地在前端中使用 OPC UA 协议导出数据。以下是一个简单的示例:

-- -------------------- ---- -------
-- ------ --- -- ------ --- -------
------ - ----------- - ---- -------------

-- ------ --- -- ------
----- ------ - --- --------------

-- --- -- ------ -------- ---
----- ----------- - ----------------------------

------ -------- ------ -
  ----- ----------------------------

  -- ------ --- ------ --- ---------- --- ---- ----
  ----- -------------------- - ----- ---------------------------
  ----------------------- -- ----------------------

  -- ------ -------
  ----- ------- - ----- -----------------------

  -- ------- ---- --------- - --- --- -------- ------ -----
  ----- -- - ----------------------------------------
  ----- ------ - -- - ---------
  ----- ----- - ----- -------------- ------ ---

  ------------------- ------ -----------------------

  -- ----- ------- --- --------- ----------
  ----- ----------------
  ----- --------------------

-------------- -- --------------------

在以上代码中,我们首先导入了 node-opcua 库并使用 OPCUAClient() 构造函数创建了一个 OPC UA 客户端。然后,我们指定 OPC UA 服务器的地址作为 endpointUrl 变量。

main() 函数中,我们连接到 OPC UA 服务器并使用 client.getNamespaceArray() 方法浏览了 OPC UA 服务器上的命名空间。在工作中,我们可以直接将 n1 替换为需要的命名空间,并将变量 nodeId 设置为需要读取状态值的节点 id。最后,我们使用 OPC UA 协议读取并输出了设备的状态值。

在读取后,我们需要关闭 OPC UA 会话并断开客户端与 OPC UA 服务器的连接。最后输出的日志即为我们想要获取的设备的状态值。

结论

node-opcua-client-proxy 是一个重要的 npm 包,它使我们可以轻松地在 Node.js 应用程序中使用 OPC UA 协议。在本文中,我们通过示例代码学习了如何创建 OPC UA 客户端并使用 node-opcua-client-proxy 代理。同时,我们还学习了如何导出 OPC UA 服务器上的数据。这些知识对于工业控制系统等实时应用程序非常重要。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65166

纠错
反馈