github.com/jingruilea/kubeedge@v1.2.0-beta.0.0.20200410162146-4bb8902b3879/mappers/modbus_mapper/sample/sample_server.js (about) 1 // create an empty modbus client 2 const ModbusRTU = require("modbus-serial"); 3 var holdingValue = 5 4 var coilValue = false 5 var vector = { 6 getHoldingRegister: function() { 7 return holdingValue; 8 }, 9 getCoil: function() { 10 return coilValue; 11 }, 12 setRegister: function(addr, value, unitID) { 13 // Asynchronous handling supported also here 14 console.log("set register", addr, value, unitID); 15 holdingValue = value; 16 return; 17 }, 18 setCoil: function(addr, value, unitID) { 19 // Asynchronous handling supported also here 20 console.log("set coil", addr, value, unitID); 21 coilValue = Boolean(value); 22 return; 23 }, 24 }; 25 26 // set the server to answer for modbus requests 27 console.log("ModbusTCP listening on modbus://127.0.0.1:5028"); 28 var serverTCP = new ModbusRTU.ServerTCP(vector, { host: "0.0.0.0", port: 5028, debug: true, unitID: 1 }); 29 30 serverTCP.on("socketError", function(err){ 31 // Handle socket error if needed, can be ignored 32 console.error(err); 33 });