1.0.1 • Published 4 years ago

node-modbustcp v1.0.1

Weekly downloads
4
License
ISC
Repository
-
Last release
4 years ago

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 查看效果

例子

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()