<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

ZLG致遠電子 ? 2024-04-29 08:25 ? 次閱讀

在 AWTK 串口屏中,內置 MODBUS 客戶端通道模型,不用編寫代碼即可實現在 ListView 中顯示遠程設備上的數組數據。

1. 功能

不用編寫代碼,實現對遠程設備上數組數據的顯示。

2. 創建項目

從模板創建項目,將 hmi/template_app 拷貝 hmi/modbus_client_channel_input_registers 即可。

第一個項目最好不要放到其它目錄,因為放到其它目錄需要修改配置文件中的路徑,等熟悉之后再考慮放到其它目錄。路徑中也不要中文和空格,避免不必要的麻煩。


3. 制作界面

用 AWStudio 打開上面 modbus_client_channel_input_registers 目錄下的 project.json 文件。里面有一個空的窗口,做出類似下面的界面。f10087fe-05be-11ef-9118-92fbcf53809c.png

4. 添加綁定規則

第一次用到列表視圖,有幾點需要特別說明一下:列表視圖中的滾動視圖需要指定v-for-items屬性。

屬性

說明

v-for-items

true

它保證其下的列表項,會根據數據自動生成|

4.1 幾個特殊的變量

  • index 特指序數。
  • item 特指當前的數據。比如在這里‘item.level’表示告警級別,‘item.time’表示時間,‘item.device’表示設備,‘item.message’表示告警信息。
  • selected_index 表示當前選中的序數(可在列表視圖之外綁定)。
  • items 表示當前列表視圖中的數據個數(可在列表視圖之外綁定)。

4.2序數

綁定屬性

綁定規則

說明

v-data:value

{index}

index 特指序數。

4.3告警級別前面提到告警級別是正數,可以通過 item.level 來獲取它。它的意義對應為:調試(0);信息(1);警告(2);錯誤(3),我們需要用 one_of 函數將它轉換為對應的字符串。

綁定屬性

綁定規則

說明

v-data:value

{one_of(‘調試;信息;警告;錯誤’, item.level)}

這里的 one_of 的功能是從指定的字符串數組中取出對應的子串。

4.4時間時間是整數(秒數),可以通過 item.time 來獲取。

綁定屬性

綁定規則

說明

v-data:value

{date_time_format(item.time, 'Y-M-D hs')}

需要用 date_time_format 將 epoch 時間轉換成人類可讀的時間。

4.5告警信息告警信息是一個字符串,可以通過 item.message 來獲取。

綁定屬性

綁定規則

說明

v-data:value

{item.message}

4.6URL

綁定屬性

綁定規則

說明

v-data:value

{url}

url 表示遠程設備的 URL

4.7連接狀態

綁定屬性

綁定規則

說明

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 是配置文件的名稱,不需要加后綴。


5. 配置文件

配置文件路徑 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 } } ]}

在上面的配置中,定義了通道 read_input_registers,長度為 3200個 registers,共 6400字節。

配置文件路徑 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 字節,字符串。


6. 描述需要持久化的數據

7. 編譯運行

運行 bin 目錄下的 demo 程序:

f108197e-05be-11ef-9118-92fbcf53809c.gif

點擊Update按鈕,可以手工刷新數據

8. 注意

  • 本項目并沒有編寫界面相關的代碼,AWStudio 在 src/pages 目錄下生成了一些代碼框架,這些代碼并沒有用到,可以刪除也可以不用管它,但是不能加入編譯。
  • 完整示例請參考:demo_modbus_client_channel_input_registers。

使用 TCP 協議時,如果使用 modbus slave 工具配套測試,需要將 unit id 設置為 255。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 開源
    +關注

    關注

    3

    文章

    3026

    瀏覽量

    41776
  • 串口屏
    +關注

    關注

    8

    文章

    484

    瀏覽量

    36680
  • awtk
    +關注

    關注

    0

    文章

    29

    瀏覽量

    179
收藏 人收藏

    評論

    相關推薦

    串口MODBUS教程6-數據記錄控件的使用教程.pdf

    串口MODBUS教程6-數據記錄控件的使用教程1、本文主要講述數據記錄控件在MODBUS 協議
    發表于 08-06 17:53

    AWTK的寓意

    一、介紹AWTK全稱Toolkit AnyWhere,是ZLG開發開源GUI引擎,旨在為嵌入式系統、WEB、各種小程序、手機和PC打造的通用GUI引擎,為用戶提供一個功能強大、高效可靠、簡單易用
    發表于 08-20 08:12

    AWTK 開源智能串口屏方案

    AWTK開源智能串口屏方案發布,旨在解決傳統串口屏諸多痛點,為用戶提供更開放、更易用、更強大的開源串口
    的頭像 發表于 12-02 08:24 ?542次閱讀
    <b class='flag-5'>AWTK</b> <b class='flag-5'>開源</b>智能<b class='flag-5'>串口</b>屏方案

    ?【AWTK開源智能串口屏方案】方案介紹和工作原理

    本篇文章介紹一下AWTK開源智能串口屏方案的基本原理和實際使用效果,包括主要特點、應用場景、工作原理以及簡單的Demo演示。引言:AWTK-HMI是基于
    的頭像 發表于 12-21 08:24 ?473次閱讀
    ?【<b class='flag-5'>AWTK</b><b class='flag-5'>開源</b>智能<b class='flag-5'>串口</b>屏方案】方案介紹和工作原理

    AWTK 串口開發(3) - 告警信息

    告警信息是一個常用的功能。在AWTK開源串口屏中,內置告警信息模型,只需設計用戶界面即可實現告警信息的顯示和管理。1.功能告警信息是一個常用的功能,MCU在設備異常時,會發送告警信息到串口
    的頭像 發表于 12-23 08:24 ?213次閱讀
    <b class='flag-5'>AWTK</b> <b class='flag-5'>串口</b>屏<b class='flag-5'>開發</b>(3) - 告警信息

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

    數據采用是一個常用的功能。在AWTK開源串口屏中,內置數據采樣模型,只需設計用戶界面即可實現采樣數據
    的頭像 發表于 12-30 08:24 ?196次閱讀
    <b class='flag-5'>AWTK</b> <b class='flag-5'>串口</b>屏<b class='flag-5'>開發</b>(4) - <b class='flag-5'>數據</b>采集

    AWTK 串口開發(5) - MCU端 SDK 用法

    AWTK開源智能串口屏,不但開放了串口屏端全部源碼,還提供了MCU端SDK,大大加快MCU軟件的開發。本介紹一下MCU端SDK在不同平臺上的
    的頭像 發表于 01-06 08:24 ?197次閱讀
    <b class='flag-5'>AWTK</b> <b class='flag-5'>串口</b>屏<b class='flag-5'>開發</b>(5) - MCU端 SDK 用法

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

    定時器是個常用的功能,AWTK串口屏提供了豐富的定時器函數,用于定時器的啟動、停止、暫停、恢復、修改和重置等功能,本文以計時器的例子來介紹定時器的基本用法。定時器也是一個常用的功能,在AWTK
    的頭像 發表于 01-13 08:24 ?219次閱讀
    <b class='flag-5'>AWTK</b> <b class='flag-5'>開源</b><b class='flag-5'>串口</b>屏<b class='flag-5'>開發</b>(6) - 定時器的用法

    AWTK開源智能串口屏方案】HMI端程序移植編譯及運行

    本篇文章介紹一下AWTK開源智能串口屏方案的串口屏端(即HMI端)的編譯運行步驟,并介紹如何將HMI端移植到Linux或STM32平臺或RTOS平臺,以及如何配置資源文件。引言:
    的頭像 發表于 01-18 08:24 ?394次閱讀
    【<b class='flag-5'>AWTK</b><b class='flag-5'>開源</b>智能<b class='flag-5'>串口</b>屏方案】HMI端程序移植編譯及運行

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

    AWTK串口屏中,內置用戶管理和權限控制的模型,無需編碼即可實現登錄、登出、修改密碼、權限控制、創建用戶、刪除用戶等功能,本文介紹一下用戶管理和權限控制的基本用法。用戶管理和權限控制是一個常用
    的頭像 發表于 02-19 12:10 ?253次閱讀
    <b class='flag-5'>AWTK</b> <b class='flag-5'>開源</b><b class='flag-5'>串口</b>屏<b class='flag-5'>開發</b>(9) - 用戶和權限管理

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

    本篇文章將介紹AWTK-HMI中的MCU端開發方法,包括MCUSDK常用API的說明、使用流程及如何編譯到Linux和STM32平臺。引言:AWTK-HMI是基于AWTK
    的頭像 發表于 02-19 12:11 ?536次閱讀
    【<b class='flag-5'>AWTK</b><b class='flag-5'>開源</b>智能<b class='flag-5'>串口</b>屏方案】MCU SDK使用與編譯運行

    AWTK開源智能串口屏方案】設計UI界面并上傳到串口

    本篇文章將介紹如何使用AWStudio設計串口屏端的UI界面和添加綁定規則,以及怎么將資源文件上傳到串口屏端。引言:AWTK-HMI是基于AWTK
    的頭像 發表于 02-22 08:24 ?264次閱讀
    【<b class='flag-5'>AWTK</b><b class='flag-5'>開源</b>智能<b class='flag-5'>串口</b>屏方案】設計UI界面并上傳到<b class='flag-5'>串口</b>屏

    AWTK 開源串口開發(12) - 記事本應用

    。在傳統的的串口屏中,開發一個記事本應用,即使可能,也是非常麻煩的事情。在AWTK串口屏中,內置文件模型和文件選擇對話框,實現一個簡單的記事本,不需要編寫代碼,設計好界
    的頭像 發表于 03-09 08:23 ?152次閱讀
    <b class='flag-5'>AWTK</b> <b class='flag-5'>開源</b><b class='flag-5'>串口</b>屏<b class='flag-5'>開發</b>(12) - 記事本應用

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

    AWTK串口屏內置MODBUSClient模型,支持用MODBUS協議從遠程設備獲取數據。不用編寫代碼即可實現對遠程設備數據的顯示和修改。在
    的頭像 發表于 03-30 08:23 ?174次閱讀
    <b class='flag-5'>AWTK</b> <b class='flag-5'>開源</b><b class='flag-5'>串口</b>屏<b class='flag-5'>開發</b>(15) - <b class='flag-5'>通過</b> <b class='flag-5'>MODBUS</b> <b class='flag-5'>訪問</b>遠程<b class='flag-5'>數據</b>

    AWTK 開源串口開發(16) - 提供 MODBUS 服務

    AWTK串口屏內置MODBUS從站模型,不用編寫一行代碼即可讓串口屏提供MODBUS服務,讓遠程設備通過
    的頭像 發表于 04-13 08:24 ?145次閱讀
    <b class='flag-5'>AWTK</b> <b class='flag-5'>開源</b><b class='flag-5'>串口</b>屏<b class='flag-5'>開發</b>(16) - 提供 <b class='flag-5'>MODBUS</b> 服務
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>