npm 包 nodes7 使用教程

阅读时长 5 分钟读完

在前端开发中,有时候需要通过 JavaScript 与 S7-300、S7-400 等西门子的实时控制设备进行通信。这时候,就需要使用到 nodes7 这个 npm 包。

nodes7 提供了一组 Node.js 模块,可用于与西门子 S7 PLC 通信。此包提供了对 PROFINET IO(PN / IE)和 PROFIBUS DP 协议的支持。

本文主要介绍 nodes7 的基本使用方法,并带有示例代码,以便读者能够深入理解其工作原理。

安装 nodes7

我们首先需要安装 nodes7 包。可以通过以下命令在 Node.js 项目中安装这个包:

有了这个包,我们就可以开始我们的 S7 PLC 通信之旅了。

创建连接

首先,我们需要创建与 S7 PLC 的连接。首先要创建一个 S7Connection 对象,并传递一个 config 对象作为参数。此 config 对象中包含西门子 PLC 的地址和端口号。

在这个示例中,我们将连接到 IP 地址为 192.168.0.1,端口为 102 的 S7 PLC。创建连接的方法如下:

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

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

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

请注意,你需要将 rackslot 更改为你连接的 S7 PLC 的真实值。

连接到 S7 PLC

一旦创建了连接对象,我们就可以开始连接到 S7 PLC。为此,请使用 connect 方法。

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

如果连接成功,则可以开始发送和接收数据。

读取数据

读取数据是 S7 PLC 通信中的一项重要任务。为此,nodes7 提供了 readItemsreadDBreadMultiVars 方法。这里我们仅介绍 readDB 方法。

readDB 方法用于从 S7 数据库中读取数据。以读取 DB 1 中的一组数据为例。

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

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

先指定要读取数据的数据库编号(这里是 1),然后指定起始位置(也就是偏移量),最后指定要读取的变量长度。

如果读取成功,res 将包含读取的数据。

写入数据

要将数据写入 S7 PLC,可以使用 writeItemswriteDBwriteMultiVars 方法。以下是写入 DB 1 中的数据的示例。

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

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

需要指定要写入的数据所在的数据库(这里是 1),以及起始位置和数据本身。如果数据写入成功,将会收到一个成功的回调。

断开连接

最后,我们需要使用 disconnect 方法断开与 S7 PLC 的连接。

结论

本文介绍了如何在 Node.js 中使用 nodes7 进行 S7 PLC 通信。通过上述示例代码,读者可以深入了解其工作原理,并且可以在实践中使用这个 npm 包。

注意,在实际使用中,需要根据真实的需求添加适当的错误处理和日志记录等。在此基础上,我们可以拓展出更多的功能。

更详细的信息和 API 文档,请参阅 nodes7 的 GitHub 页面。

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

纠错
反馈