Hello Sir,
I am trying to read multiple register in single call. For this I have done one change in modbus-rtu > master.js file.
Master.prototype.readHoldingRegisters = function(slave, start, length, dataType) {
var packet = this.createFixedPacket(slave, constants.FUNCTION_CODES.READ_HOLDING_REGISTERS, start, length);
return this.request(packet).then(function(buffer) {
if (!buffer.error) {
var buf = packetUtils.getDataBuffer(buffer);
var arr = [];
for (var i = 0; i < buf.length;) {
arr.push({ '0': buf[i], '1': buf[i + 1], '2': buf[i + 2], '3': buf[i + 3] });
i = i + 3;
i++;
}
if (_.isFunction(dataType)) {
return dataType(buf);
}
return arr;
} else {
return buffer;
}
}, function(error) {
});
};
I want to read 8 registers at a time and the register series as below
2999,3001,3003,3005,3007 and each registers data type is float.
readHoldingRegisters(1, 2999, 8, null).then(function(response) {
console.log(response)
})
I have done register values conversion using nodejs buffer. I am not using any datatype in above function for conversion.
Is any other way to do multiple read in single call?
Hello Sir,
Master.prototype.readHoldingRegisters = function(slave, start, length, dataType) {
var packet = this.createFixedPacket(slave, constants.FUNCTION_CODES.READ_HOLDING_REGISTERS, start, length);
return this.request(packet).then(function(buffer) {
};
I want to read 8 registers at a time and the register series as below
2999,3001,3003,3005,3007 and each registers data type is float.
readHoldingRegisters(1, 2999, 8, null).then(function(response) {
console.log(response)
})
I have done register values conversion using nodejs buffer. I am not using any datatype in above function for conversion.
Is any other way to do multiple read in single call?