
從模板創建項目,將 hmi/template_app 拷貝 hmi/modbus_client_channel_input_registers 即可。
第一個項目最好不要放到其它目錄,因為放到其它目錄需要修改配置文件中的路徑,等熟悉之后再考慮放到其它目錄。路徑中也不要中文和空格,避免不必要的麻煩。

屬性 | 值 | 說明 |
v-for-items | true | 它保證其下的列表項,會根據數據自動生成| |
綁定屬性 | 綁定規則 | 說明 |
v-data:value | {index} | index 特指序數。 |
綁定屬性 | 綁定規則 | 說明 |
v-data:value | {one_of(‘調試;信息;警告;錯誤’, item.level)} | 這里的 one_of 的功能是從指定的字符串數組中取出對應的子串。 |
綁定屬性 | 綁定規則 | 說明 |
v-data:value | {date_time_format(item.time, 'Y-M-D h:m:s')} | 需要用 date_time_format 將 epoch 時間轉換成人類可讀的時間。 |
綁定屬性 | 綁定規則 | 說明 |
v-data:value | {item.message} |
綁定屬性 | 綁定規則 | 說明 |
v-data:value | {url} | url 表示遠程設備的 URL |
綁定屬性 | 綁定規則 | 說明 |
v-data:value | {connected ? ‘connected’ : ‘no connection’} | connected 表示當前是否連接 |
4.8?窗口模型
指定窗口的模型為:
綁定屬性 | 綁定規則 | 說明 |
v-model | modbus_client(name=modbus_demo) | 配置文件名對應于 modbus_demo.json |
modbus_client 是內置的模型,name 是配置文件的名稱,不需要加后綴。
4.9?視圖模型
為了使用 channel 的模型,還需要在窗口的下一級控件指定 modbus_client_channel 模型。
綁定屬性 | 綁定規則 | 說明 |
v-model | modbus_client_channel(name=modbus_demo_input_register) | 配置文件名對應于 modbus_demo_input_register.json |
modbus_client_channel 是內置的模型,name 是配置文件的名稱,不需要加后綴。
配置文件路徑 design/default/data/modbus_demo.json
{?"url":"tcp://localhost:502",?"channels" : [? ?{? ? ?"update_interval" : 5000,? ? ?"name" : "read_input_registers",? ? ?"access_type" : 4,? ? ?"read" : {? ? ? ?"offset" : 0,? ? ? ?"length" : 3200? ? ?}? ?}?]}
配置文件路徑 design/default/data/modbus_demo_input_register.json
{?"channel":"read_input_registers",?"items": 100,?"variables": {? ?"level": "byte[0].uint32",? ?"time": "byte[4].uint32",? ?"message": "byte[8].str[56]"?}}
在上面的配置中,將通道 read_input_registers 中的數據,分成 100?等份,也就是看作 100?元素的數組,每個元素 64 字節。這 64 字節的數據為三個成員:
level: 4 字節,無符號整數;
time: 4 字節,無符號整數;
message: 56 字節,字符串。

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






