UNPKG

jsmodbus

Version:

Implementation for the Serial/TCP Modbus protocol.

71 lines (53 loc) 1.43 kB
'use strict' const modbus = require('../..') const client = modbus.client.tcp.complete({ 'host': process.argv[2], 'port': process.argv[3], 'autoReconnect': false, 'logEnabled': true }).connect() let successCount = 0 let errorCount = 0 let reconnectCount = 0 let closedOnPurpose = false let firstTime = true const start = function () { console.log('Starting request...') client.readHoldingRegisters(process.argv[4], process.argv[5]).then(function (resp) { successCount += 1 console.log('Success', successCount, 'Errors', errorCount, 'Reconnect', reconnectCount) console.log('Request finished successfull.') setTimeout(function () { start() }, 2000) }, function (err) { console.error(err) errorCount += 1 console.log('Success', successCount, 'Errors', errorCount, 'Reconnect', reconnectCount) console.log('Request finished UNsuccessfull.') }) } client.on('connect', function () { console.log('client connected.') if (firstTime) { firstTime = false } else { reconnectCount += 1 } start() }) const shutdown = function () { closedOnPurpose = true client.close() } process.on('SIGTERM', shutdown) process.on('SIGINT', shutdown) client.on('close', function () { console.log('Client closed, stopping interval.') if (!closedOnPurpose) { client.reconnect() } }) client.on('error', function (err) { console.log('Client Error', err) })