
在 AWTK 串口屏中,內置了 MODBUS Client 的模型,支持用 MODBUS 協議從遠程設備獲取數據。不用編寫一行代碼即可實現對遠程設備數據的顯示和修改。
從模板創建項目,將 hmi/template_app 拷貝 hmi/modbus_client_input_registers 即可。
第一個項目最好不要放到其它目錄,因為放到其它目錄需要修改配置文件中的路徑,等熟悉之后再考慮放到其它目錄。路徑中也不要中文和空格,避免不必要的麻煩。

綁定屬性 | 綁定規則 | 說明 |
v-data:value | {url} | url 表示遠程設備的 URL |
綁定屬性 | 綁定規則 | 說明 |
v-data:value | {connected???‘connected’?:?‘no?connection’} | connected?表示當前是否連接 |
綁定屬性 | 綁定規則 | 說明 |
v-data:value | {濕度} | 濕度?在配置文件中定義,參考后面的配置 |
綁定屬性 | 綁定規則 | 說明 |
v-data:value | {溫度} | 溫度?在配置文件中定義,參考后面的配置 |
綁定屬性 | 綁定規則 | 說明 |
v-model | modbus_client(name=modbus_demo) | 配置文件名對應于 modbus_demo.json |
modbus_client 是內置的模型,name 是配置文件的名稱,不需要加后綴。
配置文件路徑 design/default/data/modbus_demo.json
{?"url":"tcp://localhost:502",?"channels" : [? ?{? ? ?"update_interval" : 3000,? ? ?"name" : "read_input_registers",? ? ?"access_type" : 4,? ? ?"read" : {? ? ? ?"offset" : 0,? ? ? ?"length" : 4? ? ?}? ?}?],?"variables": {? ?"溫度": "read_input_registers.word[0]",? ?"濕度": "read_input_registers.word[1]"?}}
??url:?遠程設備的?URL
??update_interval:?更新間隔,單位毫秒
??channels:?通道列表
? ? ? ??name:?通道名稱
? ? ????access_type:?訪問類型
? ? ? ??read:?讀取配置
? ? ? ? ? ? ??offset:?偏移
? ? ? ? ? ? ??length:?長度
??variables:?變量列表
? ? ????溫度:?映射到?modbus?通道的?word[0]
? ? ????濕度:?映射到?modbus?通道的?word[1]

點擊?Update?按鈕,可以手工刷新數據
使用TCP協議時,如果使用modbus slave工具配套測試,需要將unit id設置為255。
??推薦產品
??技術交流群
更多往期文章,請點擊“?閱讀原文?”。






