node.js - Node Modbus Stack ECONNREFUSED -
i in need of modbus module use in node , found light-weight solution works perfectly. modbus-stack node tootallnate. (https://github.com/tootallnate/node-modbus-stack)
i implemented , seems work. using browser make call node server using wireshark see modbus packet go node server (modbus master) device (modbus slave) see modbus packet go device node server.
but server never able return data browser. turns out node server listening , prepared handle 'response' event getting 'error' event. when handled 'error' event saw following (stringified):
{"code":"econnrefused","errno":"econnrefused","syscall":"connect"}
node code:
var http = require("http"); var querystring = require("querystring"); var url = require("url"); var fs = require("fs"); var rir = require("modbus-stack").function_codes.read_holding_registers; http.createserver(onrequest).listen(8080); function onrequest(request, response) { var query = url.parse(request.url).query; var path = url.parse(request.url).pathname; var wants; if(path == '/mbust'){ mbreturn(function(data){ response.writehead(200,{"content-type":"text"}); response.end(data); }); } else{ wants = 'unknown request'+" "+path+" "+query; response.end(wants); } } function mbreturn(pasd){ var client = require("client").createclient(502,'192.168.1.199'); var req = client.request(rir,2000,1); req.on('response',function(registers){ pasd(registers); client.end(); }); req.on('error',function(e){ pasd(json.stringify(e)); client.end(); }); }
and that's stuck. ideas/tips on how debug help. kind of unfamiliar territory me help.
tia!
niko
update: called e.stack see lineage of error calls , got:
error: connect econnrefused @ errnoexception (net.js:776:11) @ object.afterconnect [as oncomplete] (net.js:767:19)
turns out needed make sure there no other devices trying modbus device's master; modbus slave can have 1 master.
also had move create client code out of function called whenever http call made server node create 1 client modbus slave , rely on following modbus transactions.
Comments
Post a Comment