stream: blocks[i].copy is not a function
var modbus = require("modbus-stream");
module.exports = {
initModbus: function() {
modbus.tcp.server({ debug: "server" }, (connection) => {
connection.readHoldingRegisters( {address: 0, quantity: 1}, (err, info) => {
console.log("response", info.response.data);
});
}).listen(12345, () => {
modbus.tcp.connect(12345, { debug: "client" }, (err, connection) => {
connection.on("read-holding-registers", (request, reply) => {
reply(null, [234]);
});
});
});
}
}
Hi, thanks for your effort. Could not achieve just a simple thing. What can be wrong here?
Error output:
events.js:141
throw er; // Unhandled 'error' event
^
TypeError: blocks[i].copy is not a function
at Object.blocksToBuffer [as buildResponse] (/home/ubuntu/workspace/EasygenSlave/node_modules/modbus-stream/node_modules/modbus-pdu/lib/Helpers.js:111:13)
at Object.build (/home/ubuntu/workspace/EasygenSlave/node_modules/modbus-stream/node_modules/modbus-pdu/lib/Modbus.js:113:30)
at /home/ubuntu/workspace/EasygenSlave/node_modules/modbus-stream/lib/transport/transport.js:165:75
at Stream.<anonymous> (/home/ubuntu/workspace/EasygenSlave/modbus-tcp-server.js:12:13)
at emitTwo (events.js:87:13)
at Stream.emit (events.js:172:7)
at Transport.<anonymous> (/home/ubuntu/workspace/EasygenSlave/node_modules/modbus-stream/lib/stream.js:44:10)
at emitThree (events.js:97:13)
at Transport.emit (events.js:175:7)
at handle (/home/ubuntu/workspace/EasygenSlave/node_modules/modbus-stream/lib/transport/transport.js:156:16)
Can you give me guidance when you are available? Cheers.
About this issue
- Original URL
- State: closed
- Created 7 years ago
- Comments: 17 (10 by maintainers)
With this module you can create any role and make requests from either role (slave or master)