新聞中心
PRESS CENTERModbus 從機節(jié)點支持Modbus RTU/Modbus TCP 協(xié)議。用于將網(wǎng)關采集到的其它數(shù)據(jù)轉(zhuǎn)換為符合Modbus協(xié)議的數(shù)據(jù),以供外部的Modbus主站進行讀寫操作。
msg.payload
#如果數(shù)據(jù)類型是對象,則會將對象中的鍵與配置的鍵名進行匹配,并將相應的值寫入對應的寄存器中。如果數(shù)據(jù)類型為buffer,則將其作為 Modbus 指令進行處理。
msg.payload
#第一個口輸出Modbus響應報文
#第二個口以key-value對象的形式輸出點位值。輸出方式分兩種:1.輸出變化點位 2.輸出全部點位
名稱
工作區(qū)內(nèi)節(jié)點的命名,方便維護及記憶。
屬性
a地址碼
Modbus協(xié)議站號。(10進制地址,范圍1-255)
b協(xié)議
Modbus RTU / Modbus TCP。
c線圈
線圈寄存器數(shù)量。(范圍1-5000)
d觸點
觸點寄存器數(shù)量。(范圍1-5000)
e保持寄存器
保持寄存器數(shù)量。(范圍1-5000)
f輸入寄存器
輸入寄存器數(shù)量。(范圍1-5000)
點位表
a數(shù)據(jù)名稱
數(shù)據(jù)名稱作為每個數(shù)據(jù)點的唯一鍵(key),請確保其不重復。
寫入時輸入格式【msg.payload.A = 5000】,表示當表中有名稱為A的點位時,將值5000寫入對應的寄存器。
b寄存器類型
定義當前數(shù)據(jù)點屬于哪種類型的寄存器。
c偏置
數(shù)據(jù)點的Modbus寄存器地址(填寫10進制地址)。
偏置實際上是指Modbus寄存器地址,此處叫做偏執(zhí)是為了統(tǒng)一表達。
呈現(xiàn)方式:Modbus寄存器地址一般以兩種形式呈現(xiàn):
十六進制地址:例如0X0000、0X0001
十進制地址:例如40001、40002
填寫方式:
十六進制地址:將十六進制地址轉(zhuǎn)換為十進制地址后加1。例如:十六進制的 0x0000 偏置填寫 1;十六進制的0x0001偏執(zhí)填寫2
十進制地址:去掉十進制地址的首位后,直接填寫偏置。例如:十進制的 40001偏置填寫 1;十進制的40002偏執(zhí)填寫2
d數(shù)據(jù)類型
定義數(shù)據(jù)的具體類型,線圈和觸點默認為布爾類型,不可修改。
Bool:二進制位解析。
UInt16:占用1個寄存器,2個字節(jié),表示非負整數(shù),數(shù)據(jù)范圍 0 ~ 65535。
Int16:占用1個寄存器,2個字節(jié),表示整數(shù),數(shù)據(jù)范圍 -32768 ~ 32767。
UInt32:占2個寄存器,4個字節(jié),表示非負整數(shù),數(shù)據(jù)范圍 0 ~ 4294967295。
Int32:占2個寄存器,4個字節(jié),表示整數(shù),數(shù)據(jù)范圍 -2147483648 ~ 2147483647。
Float32:占2個寄存器,4個字節(jié),表示浮點數(shù)。
全部輸出: 修改寄存器的值時,將以鍵值對的形式輸出表中配置的所有數(shù)據(jù)點。
變化輸出: 修改寄存器的值時,將以鍵值對的形式輸出表中配置的數(shù)據(jù)點中值發(fā)生變化的數(shù)據(jù)。
視頻:見文末
本示例使用Modbus Poll軟件模擬Modbus主機來采集網(wǎng)關的Modbus從機映射的寄存器數(shù)據(jù)
源碼/原文:https://iotrouter.yuque.com/zn3vdn/eg8000/rwsclqi3iw4cgoxt