VersaLink RMY85000 是一款基于 Modbus 协议的自动化设备。@agilatech/versalink-rmy85000-device 是一款 npm 包,可用于在前端应用程序中使用 RMY85000 设备。本文介绍如何使用 @agilatech/versalink-rmy85000-device npm 包,包括 npm 安装、库的导入、初始化、数据的读取和写入等方面。
npm 安装
在终端中输入以下命令以安装 @agilatech/versalink-rmy85000-device:
npm install @agilatech/versalink-rmy85000-device
库的导入
在前端应用程序中导入 @agilatech/versalink-rmy85000-device 库:
import RMY85000 from '@agilatech/versalink-rmy85000-device';
初始化
在实例化 RMY85000 类前,需要指定设备的 IP 地址和端口。例如,设备的 IP 地址为 192.168.1.100
,端口号为 502
:
const rmy85000 = new RMY85000('192.168.1.100', 502);
数据的读取和写入
readHoldingRegisters() 方法用于读取设备的保持寄存器,writeRegister() 方法用于写入设备的单个寄存器。
读取设备的保持寄存器
以下示例演示如何读取设备的保持寄存器:
const dataView = await rmy85000.readHoldingRegisters(0, 10); const value1 = dataView.getInt32(0); const value2 = dataView.getFloat32(4); const value3 = dataView.getUint16(8);
dataView 对象是一个 DataView 类型的对象,可以用来读取寄存器值。以上代码中,读取了三个不同类型的数据,分别为 32 位有符号整数,32 位 IEEE754 浮点数和 16 位无符号整数。
写入设备的单个寄存器
以下示例演示如何写入一个 16 位整数到设备的某个地址中:
await rmy85000.writeRegister(10, 100);
示例代码
最后,以下是一个完整的示例代码,演示如何使用 @agilatech/versalink-rmy85000-device npm 包:
-- -------------------- ---- ------- ------ -------- ---- --------------------------------------- ----- --------- - ---------------- ----- ---- - ---- ----- ------------------------ - ----- -- -- - ----- -------- - --- ------------------- ------ ----- -------- - ----- -------------------------------- ---- ----- ------ - --------------------- ----- ------ - ----------------------- ----- ------ - ---------------------- ---------------------- -------- ---------------------- -------- ---------------------- -------- ----- -------------------------- ----- -- ---------------------------
此示例中,首先实例化 RMY85000 类,然后读取保持寄存器的值并输出。最后,向设备的某个地址中写入一个 16 位整数。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/90323