npm 包 node-opcua-client-dynamic-extension-object 使用教程

AI 编程助手,豆包旗下的编程助手,提供智能补全、智能预测、智能问答等能力,节省开发时间,释放脑海中的创造力,支持 VSCode,点击体验 AI

Node-opcua 是一个基于 Node.js 的 OPC UA(开放式平台通信架构)库,可以用来构建 OPC UA 服务器和客户端。npm 包 node-opcua-client-dynamic-extension-object 扩展了 Node-opcua 客户端,使其支持动态扩展对象。本文将介绍如何使用这个库,并提供相关示例代码。

安装 node-opcua-client-dynamic-extension-object

首先需要将 node-opcua 和 node-opcua-client-dynamic-extension-object 安装到本地项目中:

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

加载和使用库

加载库和创建 OPC UA 客户端的方式和 Node-opcua 客户端相同:

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

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

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

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

然后加载扩展对象:

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

现在 client 对象既支持 Node-opcua 客户端的所有功能,也能够使用扩展对象。

创建和添加扩展对象

扩展对象允许客户端动态创建和添加新的对象类型。要创建并添加一个新类型的扩展对象,需要先定义该对象的结构。

例如,要创建一个名为 myNewObjectType 的对象类型,可以将它定义为一个 JSON 对象:

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

这个对象具有两个字段:一个字符串字段和一个整数字段。

然后可以调用 client.addExtensionObject 方法将新类型的对象添加到客户端:

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

现在客户端可以使用 myNewObjectType 创建新的对象,如下所示:

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

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

读取扩展对象

要读取扩展对象的属性,需要使用 OPC UA 的读取服务。Node-opcua 客户端提供了 read 方法,可以用于读取属性。

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

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

这将输出包含读取到的属性值的 DataValue 对象。

示例代码

完整的示例代码如下:

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

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

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

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

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

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

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

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

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

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

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

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

-------

可以在 GitHub 上的 node-opcua-client-dynamic-extension-object-demo 仓库中找到这个示例代码的完整版。

结论

本文介绍了如何使用 npm 包 node-opcua-client-dynamic-extension-object 扩展 Node-opcua 客户端,使其支持动态扩展对象。我们学习了如何定义和添加新类型的对象,以及如何读取扩展对象的属性。延伸阅读,你可以在 Node-opcua 官方文档中深入了解 OPC UA 和 Node-opcua 的其他方面。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/5eedbe9eb5cbfe1ea0611b8e


猜你喜欢

  • npm 包 node-opcua-schemas 使用教程

    本文介绍如何使用 npm 包 node-opcua-schemas,该包主要用于定义 OPC UA 协议的数据结构,包含大量定义文件。本文将详细介绍如何安装和使用该包,并提供示例代码供读者参考。

    4 年前
  • npm 包 @xml-conformance-suite/js 使用教程

    前言 在进行前端开发中,经常使用 XML 作为数据交换格式,但是在 XML 的格式验证方面,JavaScript 缺乏相应的支持,因此使用 @xml-conformance-suite/js 可以解决...

    4 年前
  • npm 包 @xml-conformance-suite/mocha 使用教程

    在前端的开发过程中,测试是一个至关重要的环节。一个优秀的测试套件可以确保代码的质量,减少因错误代码而导致的不必要的 bug,提高代码的健壮性和可维护性。而 @xml-conformance-suite...

    4 年前
  • npm 包 @xml-conformance-suite/test-data 使用教程

    @xml-conformance-suite/test-data 是一个用于 XML 标准测试的 npm 包。它包含了大量的 XML 测试用例数据, 用于测试 XML 解析器的正确性和符合性,是一个非...

    4 年前
  • npm 包 eslint-config-lddubeau-ts 使用教程

    在前端开发中,我们常常需要使用静态代码检查工具来确保代码的质量和风格一致性。ESLint 是一个流行的静态代码检查工具,它能够帮助我们在编写 JavaScript 和 TypeScript 代码时发现...

    4 年前
  • npm 包 clify 使用教程

    在前端开发的过程中,经常需要处理命令行交互和参数解析的工作。npm 包 clify 为我们提供了轻量级、易用性强且功能丰富的命令行工具库,可以方便地管理程序入口和参数。

    4 年前
  • npm 包 simple-dist-tag 使用教程

    什么是 simple-dist-tag simple-dist-tag 是一个 npm 包管理器工具,它可以用来添加和管理 npm 包的不同版本。使用 simple-dist-tag 可以为每个包设置...

    4 年前
  • npm 包 @types/cli-spinner 使用教程

    在前端开发中,使用命令行界面进行开发工作是一种非常常见的方式。而你可能会注意到,很多时候命令行工具在进行一些耗时操作时并没有提供任何反馈,导致我们不知道它实际上正在执行什么操作。

    4 年前
  • npm包gridstack使用教程

    gridstack是一款用于创建可拖拽、可缩放和可操作的网格的javascript库。它可以轻松地在网页上实现类似桌面应用程序中的布局。本文将详细介绍如何使用npm包gridstack来实现这一功能。

    4 年前
  • npm 包 gulp-manifest3 使用教程

    前言 作为前端工程师,我们在开发项目中经常需要对静态资源进行版本管理,以便于在项目迭代时能够更好地管理更新版本。而 gulp-manifest3 这个 npm 包就是可以帮助我们自动生成一个文件清单,...

    4 年前
  • npm 包 ibm-watson 使用教程

    在人工智能领域,自然语言处理(NLP)一直是很受关注的一个领域。IBM Watson 是 IBM 公司自然语言处理技术的一个产品,提供了很多有用的功能,如语音识别、文本翻译、语言理解等。

    4 年前
  • npm 包 @types/isstream 使用教程

    前言 在前端开发中,我们常常需要使用一些流(stream)相关的功能。而在 TypeScript 中,使用这些流相关的 API 时,往往需要导入类型声明文件才能获得更好的 TypeScript 类型支...

    4 年前
  • npm 包 @voxpelli/semver-set 使用教程

    简介 @voxpelli/semver-set 是一个用于在 Node.js 中轻松操作语义化版本号的工具,可以让你更容易地匹配所需版本、比较版本、计算版本差异等。

    4 年前
  • npm 包 installed-check-core 使用教程

    在前端开发过程中,我们经常需要引用各种第三方库来帮助我们实现某些功能。但是,如果我们不小心将库引用错误,那么我们的程序将无法正常运行。为了避免这种情况的发生,我们可以使用 installed-chec...

    4 年前
  • npm 包 emoji-replace 使用教程

    前言 在 Web 前端开发中,有时候需要对一些字符串进行处理,比如对一条微博或者评论中的表情符号进行替换。如果我们手动去找这些表情符号并进行替换,将会非常费时费力。

    4 年前
  • npm 包 @types/favicons 使用教程

    如果你曾经有过给网站添加图标的经历,应该对 favicons 不会陌生。favicons 包含了网站在浏览器标签页及书签中的图标,也可以在手机主屏幕上快速启动网站时使用。

    4 年前
  • npm 包 boi-aux-rule-eslint 使用教程

    本文主要介绍 npm 包 boi-aux-rule-eslint 的使用教程。在前端开发中,我们经常使用 ESLint 工具来帮助我们规范代码质量。然而,为了更好的使用 ESLint 工具,我们也需要...

    4 年前
  • npm包 boi-aux-rule-htmlhint 使用教程

    前言 在现代Web应用中,HTML语言是不可缺少的一部分。为了保证Web应用的稳定性和性能,我们需要一些工具来辅助我们进行HTML代码的检查和规范性的维护。其中,boi-aux-rule-htmlhi...

    4 年前
  • npm 包 html-webpack-plugin-htmlhint 使用教程

    简介 html-webpack-plugin-htmlhint 是一个可以在 webpack 构建过程中对 HTML 文件进行语法检查的 npm 包。它基于 htmlhint 进行检查并能够向 web...

    4 年前
  • npm 包 gumga-controller-ng 使用教程

    什么是 gumga-controller-ng? gumga-controller-ng 是一个由 Gumga Technologies 公司推出的前端 npm 包,其主要功能是用来处理 Angula...

    4 年前

相关推荐

    暂无文章