UNPKG

node-modbustcp

Version:

A ModbusTcp driver based on modbus-serial

66 lines (56 loc) 2.01 kB
# node-modbus #### 介绍 基于 modbus-serial 包开发的一款方便易用的 modbustcp 驱动,更适合自动化工程师的使用习惯。 #### 安装教程 1. 下载项目 https://gitee.com/eagleye/modbus.git 2. cd modbus 3. npm install(国内可以用cnpm install) #### 使用说明 1. npm install -g typescript (如果没有TypeScript环境则需要安装) 2. cd 到项目并使用 npm run build 进行编译 3. test_tool 文件夹中有测试工具 modscan 与 modsim(需要自己模拟一些数据) 4. 执行 npm run test 查看效果 #### 例子 ```ts import ModbusTCPClient from './modbus_tcp'; import { EnumDataType } from './enum'; import { Register } from './interface'; /** * 寄存器 */ let registerArr: Register[] = [ // { register: "000100", dataType: EnumDataType.Bit }, // { register: "400100", dataType: EnumDataType.SwappedDouble }, // { register: "400100", dataType: EnumDataType.Binary }, // { register: "400100", dataType: EnumDataType.Int }, // { register: "400100", dataType: EnumDataType.Decimal }, { register: '400100', dataType: EnumDataType.Float }, ] /** * 读取一次断开的例子 */ async function example1() { let modbusTcpClient = new ModbusTCPClient({ host: '10.211.55.15', port: 502, deviceID: 1 }) let result = await modbusTcpClient.setRegisters(registerArr).readOnce(); console.log(JSON.stringify(result.get('400100'))); } // example1() /** * 轮询的例子 */ async function example2() { let modbusTcpClient = new ModbusTCPClient({ host: '10.211.55.15', port: 502, deviceID: 1 }) let result = await modbusTcpClient.setRegisters(registerArr).polling(); console.log(result); } // example2() /** * 写数据的例子 */ async function example3() { let modbusTcpClient = new ModbusTCPClient({ host: '10.211.55.15', port: 502, deviceID: 1 }) let result = await modbusTcpClient.setRegisters(registerArr).writeData('400100', 12.54); console.log(result); } example3() ```