node-modbustcp
v1.0.1
Published
A ModbusTcp driver based on modbus-serial
Downloads
4
Maintainers
Readme
node-modbus
介绍
基于 modbus-serial 包开发的一款方便易用的 modbustcp 驱动,更适合自动化工程师的使用习惯。
安装教程
- 下载项目 https://gitee.com/eagleye/modbus.git
- cd modbus
- npm install(国内可以用cnpm install)
使用说明
- npm install -g typescript (如果没有TypeScript环境则需要安装)
- cd 到项目并使用 npm run build 进行编译
- test_tool 文件夹中有测试工具 modscan 与 modsim(需要自己模拟一些数据)
- 执行 npm run test 查看效果
例子
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()