通訊編程001——Nodejs快速開(kāi)發(fā)Modbus TCP Master

本文介紹如何利用ModbusJs庫(kù)快速開(kāi)發(fā)Modbus TCP Master。相關(guān)源碼請(qǐng)登錄網(wǎng)信數(shù)智 (wangxinzhihui.com)下載。
??? ModbusJs是一個(gè)基于Nodejs的Modbus TCP的開(kāi)發(fā)庫(kù),目前支持的功能函數(shù)有:
readCoils
readDiscreteInputs
readHoldingRegisters
readInputRegisters
writeSingleCoil
writeSingleRegister
writeMultipleCoils
writeMultipleCoilsSameValue
writeMultipleRegisters
writeMultipleRegistersSameValue
1)安裝modbusjs
2)引入ModbusJS
3)創(chuàng)建Modbus TCP客戶端
4)創(chuàng)建相關(guān)事件處理
?
5)讀操作
a)? 讀多個(gè)線圈:function readCoils(address, length[,options])
如:讀取地址0開(kāi)始10個(gè)線圈值。
b)? 讀多個(gè)離散輸入:function readDiscreteInputs(address, length[,options])
如:讀取地址1開(kāi)始8個(gè)離散輸入值。
c)? 讀多個(gè)保持寄存器:function readHoldingRegisters(address, length[,options])
如:讀取保持寄存器地址10開(kāi)始20個(gè)寄存器。
d)? 讀多個(gè)輸入寄存器:function readInputgRegisters(address, length[,options])
如:讀取輸入寄存器地址5開(kāi)始10個(gè)寄存器。
?
6)寫(xiě)操作
a)? 寫(xiě)單個(gè)線圈值:function writeSingleCoil(address, value[,options])
如:寫(xiě)地址6的線圈值為0。
b)? 寫(xiě)單個(gè)保持寄存器:function writeSingleRegister (address, value[,options])
如:寫(xiě)地址10的保持寄存器值為1234。
c)? 寫(xiě)多個(gè)線圈不同值:function writeMultipleCoils (address, value[,options])
如:往地址6開(kāi)始的線圈依次寫(xiě)入true, false, false, true, 0, 0, 1。
d)? 寫(xiě)多個(gè)線圈相同值:function writeMultipleCoilsSameValue(address, length, value[,options])
如:往地址為1開(kāi)始20個(gè)線圈寫(xiě)入值1。
e)? 寫(xiě)多個(gè)保持寄存器不同值:function writeMultipleRegisters (address, value[,options])
如:往地址6開(kāi)始的保持寄存器依次寫(xiě)入1,2,3,4,5,6,7,8。??????????
f)? 寫(xiě)多個(gè)保持寄存器相同值:function writeMultipleRegistersSameValue (address, length, value[,options])
如:往地址為1開(kāi)始20個(gè)保持寄存器寫(xiě)入值345。
?
7)示例:
??? 更多通訊資源請(qǐng)登錄網(wǎng)信數(shù)智 (wangxinzhihui.com)。