el plc maestro que uso es "Panasonic FP7", y tengo su software oficial "FPWIN GR7" para que pueda usar la PC para ver el flujo de datos, pero el software lago de la función, así que quiero crear uno usando nodeJS, ahí está mi código:
dirección del plc maestro: 192.168.50.30
puerto: 502
PC: 192.168.50.138
const Modbus = require('jsmodbus') const net = require('net') const socket = new net.Socket() const netServer = new net.Server() const server = new Modbus.server.TCP(netServer) const options = { 'host' : "192.168.50.30", 'port' : "502" } const client = new Modbus.client.TCP(socket) var myData; socket.on("connect",function(){ function getData(){ client.readHoldingRegisters(0,1) .then((resp)=>{ console.log(resp.response) socket.end() }).catch((err)=>{ console.log(err) }) socket.end() } setInterval(getData,500) }) socket.on("error",console.error) socket.connect(options)
el código de error que no pude descifrar:
UserRequestError { err: 'Offline', message: 'no connection to modbus server', response: undefined }
Después de ver el consejo "from56", voy a Panasonic a descargar toda la documentación de PLC en busca de la configuración de TCP/IP, y me doy cuenta de que mi configuración de DHCP era incorrecta después de arreglarla, y luego agrego una nueva "configuración de información de conexión de usuario13" -> tipo abierto - > conexión al servidor.