modbus-serial A pure JavaScript implemetation of MODBUS-RTU (Serial and TCP) for NodeJS
var serverTCP = new ModbusRTU.ServerTCP(vector, { host: “0.0.0.0”, port: 8502, debug: true, unitID: 1 }); serverTCP.on(“socketError”, function(err) { console.error(err); }); 不是太明白你的问题描述。。。
1 和modbus client连接时。如果网络中断,不能再次连接。重启client。才可以连接。如何解决。 2 和modbus client连接时。如果网络中断,偶尔会出现 events.js:182 throw er; // Unhandled ‘error’ event ^ Error: read ECONNRESET at _errnoException (util.js:1022:11) at TCP.onread (net.js:610:25) 3 modbus server工作模式 ,在交换机组成局域网,应该不需要默认网关。但是它需要。如果没有路由器,客户端连接不上
感兴趣留下联系方式.共同探讨,有酬谢
断网后出现错误
就用插件上server标准样例,运行时,断网后出现错误
用127.0.0.1不会出现问题 用局域网IP地址就会出现问题
@wuyuliyu 这个就是很明显了你的client都和server断开连接了,
参看模块代码
modbus._server = net.createServer();
modbus._server.listen(options.port || MODBUS_PORT, options.host || HOST);
modbus._server.on(“connection”, function(sock) {
modbusSerialDebug({
action: “connected”,
address: sock.address(),
remoteAddress: sock.remoteAddress,
remotePort: sock.remotePort
});
sock.on("data", function(data) {
modbusSerialDebug({ action: "socket data", data: data });
...
}
你现在断开了没数据报这个错也是正常吧
一个server和多个client连接。一个client中断连接很正常。server还要和其他client工作连接。我注释 // responseBuffer: responseBuffer.toString(“hex”)。可以了
modbus server工作模式 ,在交换机组成局域网,应该不需要默认网关。但是它需要。如果没有路由器,客户端连接不上,这个问题有点费解
modbus server和client断网后能自动重连吗
@wuyuliyu 看模块代码我暂时没有发现有这个功能这个应该是client端的检测到断线后发起重连操作吧建议参考这部分 https://gxnotes.com/article/122783.html
是client端的检测到断线后可以发起重连操作,但server没响应,估计和**(modbus server工作模式 ,在交换机组成局域网,应该不需要默认网关。但是它需要。如果没有路由器,客户端连接不上。)**相关
@wuyuliyu 大哥你问题回复最少@一下啊,我对计算机网络这一块目前还在学习中。。。所以可能帮不到你了
你问题回复最少@一下啊,啥意思?想不想练练手。给你个小项目,有酬金vue+mongdb+node+modbus.server @jxycbjhc
adsadsd
你的联系方式?,我把代码发给你,@jxycbjhc
@wuyuliyu [email protected] 不保证能搞定的。。。
代码发来