AWTK 串口屏內置 MODBUS 從站模型,不用編寫一行代碼即可讓串口屏提供 MODBUS 服務,讓遠程設備通過 MODBUS 協議訪問串口屏上的數據。
1. 功能
讓串口屏提供 Modbus 服務:
- 界面可以修改 input_register 中的數據,Modbus 客戶端可以讀取 input_register 的數據。
- 界面可以顯示 registers 中的數據,Modbus 客戶端可以修改 registers 的數據。
2. 創建項目
從模板創建項目,將 hmi/template_app 拷貝 hmi/modbus_server_registers 即可。
第一個項目最好不要放到其它目錄,因為放到其它目錄需要修改配置文件中的路徑,等熟悉之后再考慮放到其它目錄。路徑中也不要中文和空格,避免不必要的麻煩。
3. 制作界面
用 AWStudio 打開上面 modbus_server_registers 目錄下的 project.json 文件。里面有一個空的窗口,做出類似下面的界面。
4. 添加綁定規則
4.1 URL
綁定屬性 | 綁定規則 | 說明 |
v-data:value | {url} | url 表示遠程設備的 URL |
4.2 unitid
綁定屬性 | 綁定規則 | 說明 |
v-data:value | {unit_id} | 設備ID |
4.3 當前濕度
綁定屬性 | 綁定規則 | 說明 |
v-data:value | {當前濕度} | 當前濕度在配置文件中定義,參考后面的配置 |
4.4當前溫度
綁定屬性 | 綁定規則 | 說明 |
v-data:value | {當前溫度} | 當前溫度在配置文件中定義,參考后面的配置 |
4.5預設濕度
綁定屬性 | 綁定規則 | 說明 |
v-data:value | {預設濕度} | 預設濕度在配置文件中定義,參考后面的配置 |
4.6預設溫度
綁定屬性 | 綁定規則 | 說明 |
v-data:value | {預設溫度} | 預設溫度在配置文件中定義,參考后面的配置 |
4.7 窗口模型
指定窗口的模型為:
綁定屬性 | 綁定規則 | 說明 |
v-model | modbus_server | 配置文件名為 modbus.json |
5. 配置文件
配置文件路徑 design/default/data/modbus.json
{ "url": "tcp://localhost:502", "channels": [ { "name": "bits", "writable": true, "start": 0, "length": 100 }, { "name": "input_bits", "start": 0, "length": 200 }, { "name": "registers", "writable": true, "start": 0, "length": 300 }, { "name": "input_registers", "start": 0, "length": 400 } ], "variables": { "當前溫度": "input_registers.word[0]", "當前濕度": "input_registers.word[1]", "預設溫度": "registers.word[0]", "預設濕度": "registers.word[1]" }}
6. 描述需要持久化的數據
無
7. 編譯運行
運行 bin 目錄下的 demo 程序:
8. 注意
- 本項目并沒有編寫界面相關的代碼,AWStudio 在 src/pages 目錄下生成了一些代碼框架,這些代碼并沒有用到,可以刪除也可以不用管它,但是不能加入編譯。
-
MODBUS
+關注
關注
28文章
1857瀏覽量
77758 -
串口屏
+關注
關注
8文章
562瀏覽量
37751 -
awtk
+關注
關注
0文章
47瀏覽量
285
發布評論請先 登錄
相關推薦
AWTK 串口屏開發(3) - 告警信息

AWTK 串口屏開發(4) - 數據采集

AWTK 開源串口屏開發(6) - 定時器的用法

AWTK 開源串口屏開發(9) - 用戶和權限管理

【AWTK開源智能串口屏方案】MCU SDK使用與編譯運行

AWTK 開源串口屏開發(11) - 天氣預報

AWTK 開源串口屏開發(15) - 通過 MODBUS 訪問遠程數據

AWTK 開源串口屏開發(17) - 通過 MODBUS 訪問數組數據

評論