• 正文
  • 推薦器件
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

技術(shù)分享 | AWTK 開源串口屏開發(fā)(16) - 提供 MODBUS 服務(wù)

2024/04/12
1680
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

AWTK 串口屏內(nèi)置 MODBUS 從站模型,不用編寫一行代碼即可讓串口屏提供 MODBUS 服務(wù),讓遠(yuǎn)程設(shè)備通過 MODBUS 協(xié)議訪問串口屏上的數(shù)據(jù)。

1. 功能

讓串口屏提供 Modbus 服務(wù):

    界面可以修改 input_register 中的數(shù)據(jù),Modbus 客戶端可以讀取 input_register 的數(shù)據(jù)。界面可以顯示 registers 中的數(shù)據(jù),Modbus 客戶端可以修改 registers 的數(shù)據(jù)。

2. 創(chuàng)建項(xiàng)目

從模板創(chuàng)建項(xiàng)目,將 hmi/template_app 拷貝 hmi/modbus_server_registers 即可。

第一個項(xiàng)目最好不要放到其它目錄,因?yàn)榉诺狡渌夸浶枰薷呐渲梦募械穆窂?,等熟悉之后再考慮放到其它目錄。路徑中也不要中文和空格,避免不必要的麻煩。

3. 制作界面

用 AWStudio 打開上面 modbus_server_registers 目錄下的 project.json 文件。里面有一個空的窗口,做出類似下面的界面。

4. 添加綁定規(guī)則

4.1 URL

綁定屬性 綁定規(guī)則 說明
v-data:value {url} url 表示遠(yuǎn)程設(shè)備的 URL

4.2 unit?id

綁定屬性 綁定規(guī)則 說明
v-data:value {unit_id} 設(shè)備?ID

4.3 當(dāng)前濕度

綁定屬性 綁定規(guī)則 說明
v-data:value {當(dāng)前濕度} 當(dāng)前濕度?在配置文件中定義,參考后面的配置

4.4?當(dāng)前溫度

綁定屬性 綁定規(guī)則 說明
v-data:value {當(dāng)前溫度} 當(dāng)前溫度?在配置文件中定義,參考后面的配置

4.5?預(yù)設(shè)濕度

綁定屬性 綁定規(guī)則 說明
v-data:value {預(yù)設(shè)濕度} 預(yù)設(shè)濕度?在配置文件中定義,參考后面的配置

4.6?預(yù)設(shè)溫度

綁定屬性 綁定規(guī)則 說明
v-data:value {預(yù)設(shè)溫度} 預(yù)設(shè)溫度?在配置文件中定義,參考后面的配置

4.7 窗口模型

指定窗口的模型為:

綁定屬性 綁定規(guī)則 說明
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": { ? ?"當(dāng)前溫度": "input_registers.word[0]", ? ?"當(dāng)前濕度": "input_registers.word[1]", ? ?"預(yù)設(shè)溫度": "registers.word[0]", ? ?"預(yù)設(shè)濕度": "registers.word[1]" ?}}

配置文件格式請參考:

https://gitee.com/zlgopen/awtk-hmi/blob/master/docs/modbus_server_model.md

6. 描述需要持久化的數(shù)據(jù)

7. 編譯運(yùn)行

運(yùn)行 bin 目錄下的 demo 程序:

8. 注意

    • 本項(xiàng)目并沒有編寫界面相關(guān)的代碼,AWStudio 在 src/pages 目錄下生成了一些代碼框架,這些代碼并沒有用到,可以刪除也可以不用管它,但是不能加入編譯。

完整示例請參考:https://gitee.com/zlgopen/awtk-hmi/tree/master/hmi/demo_modbus_server_registers

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險等級 參考價格 更多信息
TJA1051T/3,118 1 NXP Semiconductors TJA1051 - High-speed CAN transceiver SOIC 8-Pin

ECAD模型

下載ECAD模型
$1.45 查看
AD73311ARSZ-REEL 1 Rochester Electronics LLC SPECIALTY TELECOM CIRCUIT, PDSO20, SSOP-20
$9.29 查看
KSZ8081RNBIA-TR 1 Microchip Technology Inc DATACOM, ETHERNET TRANSCEIVER, QCC32

ECAD模型

下載ECAD模型
$1.55 查看
致遠(yuǎn)電子

致遠(yuǎn)電子

廣州致遠(yuǎn)電子股份有限公司成立于2001年,注冊資金5000萬元,國家級高新技術(shù)認(rèn)證企業(yè),廣州市高端工控測量儀器工程技術(shù)研究開發(fā)中心,Intel ECA全球合作伙伴和微軟嵌入式系統(tǒng)金牌合作伙伴。

廣州致遠(yuǎn)電子股份有限公司成立于2001年,注冊資金5000萬元,國家級高新技術(shù)認(rèn)證企業(yè),廣州市高端工控測量儀器工程技術(shù)研究開發(fā)中心,Intel ECA全球合作伙伴和微軟嵌入式系統(tǒng)金牌合作伙伴。收起

查看更多

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計(jì)資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄