请用过node-modbus-serial插件。其中server工作模式,留下联系方式,请教断网问题。有酬谢
发布于 2 个月前 作者 wuyuliyu 1192 次浏览 来自 问答

modbus-serial A pure JavaScript implemetation of MODBUS-RTU (Serial and TCP) for NodeJS

19 回复

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

你的联系方式?,我把代码发给你,@jxycbjhc

回到顶部