Package Exports
- node-modbus
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (node-modbus) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
node-modbus
NODE-MODBUS is a simple Modbus TCP/Serial Client/Server API.
Install
Run the following command in the root directory of your Node-RED install
npm install node-modbusRun the following command for global install
npm install -g node-modbusTesting
The test files are implemented using mocha and sinon.
Simply use npm-update.sh in the source code project.
To run the tests type from the projects root folder mocha test/*.
Please feel free to fork and add your own tests.
Examples
Server TCP
let node_modbus = require('node-modbus')
let server = node_modbus.server.tcp.complete({ port : 502, responseDelay: 200 })Client TCP
const node_modbus = require('node-modbus')
const client = node_modbus.client.tcp.complete({
'host': 'modbus.server.local', /* IP or name of server host */
'port': 502, /* well known Modbus port */
'unitId': 1,
'timeout': 2000, /* 2 sec */
'autoReconnect': true, /* reconnect on connection is lost */
'reconnectTimeout': 15000, /* wait 15 sec if auto reconnect fails to often */
'logLabel' : 'ModbusClientTCP', /* label to identify in log files */
'logLevel': 'debug', /* for less log use: info, warn or error */
'logEnabled': true
})
const time_interval = 1000
client.connect()
client.on('connect', function () {
setInterval( function () {
client.readCoils(0, 13).then((response) => console.log(response.payload))
}, time_interval) /* reading coils every second */
})Server Serial
TBD
Client Serial
const node_modbus = require('node-modbus')
const client = modbus.client.serial.complete({
'portName': '/dev/ttyS0', /* COM1 */
'baudRate': '9600', /* */
'dataBits': '8', /* 5, 6, 7 */
'stopBits': '1', /* 1.5, 2 */
'parity': 'none', /* even, odd, mark, space */
'connectionType': 'RTU', /* RTU or ASCII */
'connectionDelay': 250, /* 250 msec - sometimes you need more on windows */
'timeout': 2000, /* 2 sec */
'autoReconnect': true, /* reconnect on connection is lost */
'reconnectTimeout': 15000, /* wait 15 sec if auto reconnect fails to often */
'logLabel' : 'ModbusClientTCP', /* label to identify in log files */
'logLevel': 'debug', /* for less log use: info, warn or error */
'logEnabled': true
})
/* here we need none connect call */
const time_interval = 1000
client.on('connect', function () {
setInterval( function () {
client.readCoils(0, 13).then((response) => console.log(response.payload))
}, time_interval) /* reading coils every second */
})License
Based on jsmodbus
