[![NPM version](https://badge.fury.io/js/node-modbus.png)](http://badge.fury.io/js/node-modbus)
[![Build Status](https://travis-ci.org/biancode/node-modbus.svg?branch=master)](https://travis-ci.org/biancode/node-modbus)
[![NPM download](https://img.shields.io/npm/dm/node-modbus.svg)](http://www.npm-stats.com/~packages/node-modbus)
node-modbus
===========
## Is not maintained anymore. This package was a mix of all existing Node.js Modbus packages sometime before.
Now we have a great state of very good Modbus packages like:
* [modbus-serial][4] (works for TCP and Serial)
* [jsmodbus][3] (root of this package).
## Feel free to contact me to get this package on NPM to provide your package under the name node-modbus!
*just supported until Node 8 LTS*
# Install
Run the following command in the root directory of your Node-RED install
npm install node-modbus
Run the following command for global install
npm install -g node-modbus
Testing
-------
The test files are implemented using [mocha](https://github.com/visionmedia/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
```js
let node_modbus = require('node-modbus')
let server = node_modbus.server.tcp.complete({ port : 502, responseDelay: 200 })
```
### Client TCP
```js
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
```js
const node_modbus = require('node-modbus')
const client = node_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' : 'ModbusClientSerial', /* 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
[MIT](LICENSE)
Based on [jsmodbus][1]
[1]:https://github.com/Cloud-Automation/node-modbus
[2]:https://github.com/visionmedia/mocha
[3]:https://www.npmjs.com/package/jsmodbus
[4]:https://www.npmjs.com/package/modbus-serial
没有合适的资源?快使用搜索试试~ 我知道了~
前端开源库-node-modbus
共72个文件
js:50个
png:5个
md:3个
需积分: 50 4 下载量 137 浏览量
2019-08-30
03:30:46
上传
评论 1
收藏 196KB ZIP 举报
温馨提示
前端开源库-node-modbus节点Modbus,串行/TCP Modbus协议的实现总和。
资源详情
资源评论
资源推荐
收起资源包目录
前端开源库-node-modbus.zip (72个子文件)
node-modbus-master
.gitignore 139B
nodemodbus.conf.js 3KB
README.md 3KB
npm-update.sh 47B
CHANGELOG.md 3KB
.gitlab-ci.yml 780B
test
modbus-server-core.test.js 14KB
heap-test-coils.js 529B
modbus-client-inspector.js 202B
modbus-tcp.test.js 3KB
modbus-client-core.test.js 13KB
modbus-server-whitelist.test.js 2KB
npm-upgrade.sh 128B
.vimrc 445B
examples
tcp
Reconnect.js 1KB
WriteMultipleCoils.js 539B
ReadDiscreteInput.js 505B
WriteSingleRegister.js 545B
ReadHoldingRegister.js 536B
ReadHoldingRegisterWithUnitId.js 541B
ReadCoils.js 535B
SimpleServer.js 1KB
WriteSingleCoil.js 566B
ReadInputRegister.js 541B
AutoReconnect.js 1KB
serial
WriteMultipleCoils.js 378B
ListSerialInterfaces.js 218B
ReadDiscreteInput.js 389B
WriteSingleRegister.js 391B
ReadHoldingRegister.js 454B
ReadCoils.js 442B
WriteSingleCoil.js 388B
ReadInputRegister.js 389B
LICENSE 1KB
.eslintrc 58B
.jshintrc 338B
package.json 2KB
CONTRIBUTING.md 2KB
.jshintignore 15B
src
modbus-tcp-client.js 5KB
icons
modbus-icon.png 24KB
modbus-tcp-server-client.js 2KB
modbus-tcp-server.js 4KB
modbus-client-core.js 5KB
modbus-serial-client.js 7KB
handler
server
WriteMultipleCoils.js 2KB
ReadDiscreteInputs.js 2KB
ReadHoldingRegisters.js 2KB
WriteSingleRegister.js 2KB
WriteMultipleRegisters.js 2KB
ReadInputRegisters.js 1KB
ReadCoils.js 2KB
WriteSingleCoil.js 2KB
client
WriteMultipleCoils.js 2KB
ReadDiscreteInputs.js 2KB
ReadHoldingRegisters.js 2KB
WriteSingleRegister.js 2KB
WriteMultipleRegisters.js 2KB
ReadInputRegisters.js 2KB
ReadCoils.js 2KB
WriteSingleCoil.js 2KB
modbus.js 1KB
modbus-server-core.js 2KB
images
modbus-icon128.png 21KB
modbus-icon230.png 24KB
modbus-icon32.png 3KB
modbus-icon64.png 8KB
.eslintignore 59B
.npmignore 107B
.travis.yml 248B
gulpfile.js 3KB
package-lock.json 324KB
共 72 条
- 1
weixin_38744207
- 粉丝: 343
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0