AWTK 串口屏內(nèi)置MODBUS Client 模型,支持用 MODBUS 協(xié)議從遠(yuǎn)程設(shè)備獲取數(shù)據(jù)。不用編寫(xiě)代碼即可實(shí)現(xiàn)對(duì)遠(yuǎn)程設(shè)備數(shù)據(jù)的顯示和修改。
在 AWTK 串口屏中,內(nèi)置了 MODBUS Client 的模型,支持用 MODBUS 協(xié)議從遠(yuǎn)程設(shè)備獲取數(shù)據(jù)。不用編寫(xiě)一行代碼即可實(shí)現(xiàn)對(duì)遠(yuǎn)程設(shè)備數(shù)據(jù)的顯示和修改。
1. 功能
不用編寫(xiě)代碼,實(shí)現(xiàn)對(duì)遠(yuǎn)程 MODBUS 設(shè)備數(shù)據(jù)的訪(fǎng)問(wèn)。
2. 創(chuàng)建項(xiàng)目
從模板創(chuàng)建項(xiàng)目,將 hmi/template_app 拷貝 hmi/modbus_client_input_registers 即可。
第一個(gè)項(xiàng)目最好不要放到其它目錄,因?yàn)榉诺狡渌夸浶枰薷呐渲梦募械穆窂?,等熟悉之后再考慮放到其它目錄。路徑中也不要中文和空格,避免不必要的麻煩。
3. 制作界面
用 AWStudio 打開(kāi)上面 modbus_client_input_registers 目錄下的 project.json 文件。里面有一個(gè)空的窗口,做出類(lèi)似下面的界面。
4. 添加綁定規(guī)則
4.1 URL
綁定屬性 | 綁定規(guī)則 | 說(shuō)明 |
v-data:value | {url} | url 表示遠(yuǎn)程設(shè)備的 URL |
4.2 連接狀態(tài)
綁定屬性 | 綁定規(guī)則 | 說(shuō)明 |
v-data:value | {connected?‘connected’:‘noconnection’} | connected表示當(dāng)前是否連接 |
4.3 濕度
綁定屬性 | 綁定規(guī)則 | 說(shuō)明 |
v-data:value | {濕度} | 濕度在配置文件中定義,參考后面的配置 |
4.4溫度
綁定屬性 | 綁定規(guī)則 | 說(shuō)明 |
v-data:value | {溫度} | 溫度在配置文件中定義,參考后面的配置 |
4.5 窗口模型
- 指定窗口的模型為
綁定屬性 | 綁定規(guī)則 | 說(shuō)明 |
v-model | modbus_client(name=modbus_demo) | 配置文件名對(duì)應(yīng)于 modbus_demo.json |
modbus_client 是內(nèi)置的模型,name 是配置文件的名稱(chēng),不需要加后綴。
5. 配置文件
配置文件路徑 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:遠(yuǎn)程設(shè)備的URL
?update_interval:更新間隔,單位毫秒
?channels:通道列表
?name:通道名稱(chēng)
?access_type:訪(fǎng)問(wèn)類(lèi)型
?read:讀取配置
?offset:偏移
?length:長(zhǎng)度
?variables:變量列表
?溫度:映射到modbus通道的word[0]
?濕度:映射到modbus通道的word[1]
6. 描述需要持久化的數(shù)據(jù)
無(wú)
7. 編譯運(yùn)行
運(yùn)行 bin 目錄下的 demo 程序:
點(diǎn)擊Update按鈕,可以手工刷新數(shù)據(jù)
8. 注意
- 本項(xiàng)目并沒(méi)有編寫(xiě)界面相關(guān)的代碼,AWStudio 在 src/pages 目錄下生成了一些代碼框架,這些代碼并沒(méi)有用到,可以刪除也可以不用管它,但是不能加入編譯。
- 完整示例請(qǐng)參考:demo_modbus_client_input_registers。
使用TCP協(xié)議時(shí),如果使用modbus slave工具配套測(cè)試,需要將unit id設(shè)置為255。
-
MODBUS
+關(guān)注
關(guān)注
28文章
1757瀏覽量
76760 -
開(kāi)源
+關(guān)注
關(guān)注
3文章
3215瀏覽量
42328 -
串口屏
+關(guān)注
關(guān)注
8文章
524瀏覽量
37254
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論