0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

迪文串口屏ModBus開發(fā)流程

億佰特物聯(lián)網(wǎng)應(yīng)用專家 ? 2024-07-19 08:21 ? 次閱讀

這里接前一章節(jié),繼續(xù)迪文屏的開發(fā),前章主要講解基礎(chǔ)開發(fā)流程,此章節(jié)開始講解迪文ModBus協(xié)議棧的使用方法。

前文指路:迪文串口屏基礎(chǔ)GUI開發(fā)流程

協(xié)議棧獲取,首先在迪文官方論壇上獲取ModBus協(xié)議棧的OS程序,官方提供了眾多不同的例程,是通過組合不同的串口及波特率等組合方式配合協(xié)議棧完成的,此處選擇的是基于UART5-485/115200波特率的示例程序。

d5233d70-4564-11ef-817b-92fbcf53809c.png

將其下載下來后,解壓目錄包含如下文件:

d57e4af8-4564-11ef-817b-92fbcf53809c.png

文件作用解析如下:

d58504ce-4564-11ef-817b-92fbcf53809c.png

我們需要用到的僅有兩個(gè)bin文件,將DWINOS-xx.bin和22_xx.bin放入SD卡中的DWIN_SET目錄下,屏幕斷電,插入SD卡后再上電,即可看到屏幕開始更新SD卡中的內(nèi)容。

22文件內(nèi)有兩條默認(rèn)的指令用于測試,使用能夠查看BIN文件的工具,官方有推薦其他工具,各位也可以選擇自己熟悉的工具,只要能夠編輯bin文件即可。這里筆者選擇已經(jīng)安裝好的J-Flash軟件打開,將22_Master_Poll.bin 拖入J-Flash軟件,在頂部將其定位到0X1C000位置處可以看到如下數(shù)據(jù):

d595d376-4564-11ef-817b-92fbcf53809c.png

剛開始可能看不懂代表的具體意思,迪文論壇上有人自制了22文件的圖形化編輯工具,有需要.net環(huán)境版本的,也有不需要環(huán)境直接運(yùn)行的,區(qū)別就是用.net環(huán)境的會(huì)比不需要環(huán)境的壓縮包更小,為了省掉不必要的麻煩,在這里選了不依賴.net環(huán)境的下載,下載后內(nèi)容如下:

d59e8ca0-4564-11ef-817b-92fbcf53809c.png

雙擊DwinModBus.exe即可正常打開,打開后選擇從22文件導(dǎo)入數(shù)據(jù)即可看到每條指令分別代表什么意思。

d5a90784-4564-11ef-817b-92fbcf53809c.png

這里按屏幕提示正常按需求添加ModBus指令即可,但需要注意的是,部分功能碼對GUI界面的變量地址做出了要求,例如使用05碼控制單個(gè)線圈,官方在手冊中對位定義做出了要求,變量地址必須在0X0110到0X011F之間,每個(gè)變量分為16bit,最多256個(gè)bit位。對其他的部分功能碼也有相關(guān)的限制,需要查手冊或論壇以及詢問技術(shù)支持。

d5c470dc-4564-11ef-817b-92fbcf53809c.png

按要求,需要讀取ModBus從機(jī)數(shù)據(jù)并將其顯示到頁面上,假設(shè)從機(jī)ModBus地址為1,數(shù)據(jù)位于輸入寄存器2000號(hào)地址,浮點(diǎn)型,兩個(gè)寄存器數(shù)據(jù)表示一個(gè)浮點(diǎn)數(shù),將其讀取出來后顯示到GUI的1000變量地址上,則在圖形化22配置工具上應(yīng)輸入如下指令:

d5d1695e-4564-11ef-817b-92fbcf53809c.png

啟用標(biāo)記:在命令的開頭必須是0X5A代表本條ModBus指令被啟用,其余數(shù)據(jù)代表不起用

從機(jī)ID:從機(jī)ModBus地址

命令:ModBus功能碼

本條指令長度:要從目標(biāo)寄存器開始讀取多少個(gè)寄存器數(shù)量

接收超時(shí)時(shí)間:主機(jī)發(fā)出消息后等待從機(jī)的響應(yīng)時(shí)間,從解釋來看,是16進(jìn)制,單位是ms

執(zhí)行方式:可以選擇附加條件的執(zhí)行,具體可以查看軟件上的注釋,這里選擇00即是無條件執(zhí)行

附加限制:指的是在開啟附加條件時(shí)根據(jù)此條件進(jìn)行發(fā)送

DGUS變量地址:指的是GUI上用戶設(shè)置的用于顯示數(shù)據(jù)的變量地址,也就是前文中設(shè)置的數(shù)據(jù)顯示地址

寄存器地址:讀取從機(jī)的起始寄存器地址

當(dāng)配置完成后,點(diǎn)擊生成ModBus指令按鈕即可導(dǎo)出設(shè)置的ModBus命令集,但注意,這個(gè)軟件有bug,生成的指令對齊格式不對,無法直接使用,可以看到在默認(rèn)的22文件中,兩條指令之間即5A開頭之間是相差了16個(gè)字節(jié)的,但使用這個(gè)軟件進(jìn)行多指令生成時(shí)可以看到是不一致的。

d5dde7ec-4564-11ef-817b-92fbcf53809c.png

咨詢了官方,圖形配置工具已經(jīng)在制作了,預(yù)計(jì)還要一段時(shí)間,建議各位使用這個(gè)工具時(shí)還是用來熟悉指令格式,自己手動(dòng)修改bin文件。雖然軟件生成有問題,但加載是正常的,可以用來驗(yàn)證手改bin的效果是否達(dá)到。

指令添加完成后,使用串口工具進(jìn)行下載,即可在串口5上使用485轉(zhuǎn)換器接收到主機(jī)發(fā)出的ModBus指令。

d5e73d2e-4564-11ef-817b-92fbcf53809c.png

此時(shí)使用< ModBus Slave>模擬從機(jī)設(shè)備,建立如下寄存器:

d5f37904-4564-11ef-817b-92fbcf53809c.png

點(diǎn)擊上方的connect選擇好對應(yīng)的串口參數(shù),即可查看到主機(jī)與模擬器的交互過程。

d5faa7f6-4564-11ef-817b-92fbcf53809c.png

此時(shí),屏幕上的指定變量應(yīng)當(dāng)會(huì)顯示模擬器中的數(shù)據(jù)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • MODBUS
    +關(guān)注

    關(guān)注

    28

    文章

    1757

    瀏覽量

    76760
  • 串口屏
    +關(guān)注

    關(guān)注

    8

    文章

    524

    瀏覽量

    37252
  • 迪文屏
    +關(guān)注

    關(guān)注

    3

    文章

    75

    瀏覽量

    5353
收藏 人收藏

    評論

    相關(guān)推薦

    跪求STM32和串口通信

    各位高手,跪求STM32和串口通信,并且
    發(fā)表于 09-25 09:24

    DWIN串口的使用經(jīng)驗(yàn)

    串口,性價(jià)比高,質(zhì)量穩(wěn)定可靠,的種類多,消費(fèi)類,工業(yè)類,醫(yī)療、軍工、特殊行業(yè)等苛刻應(yīng)用類,各個(gè)尺寸均有設(shè)計(jì)。所以基本能用得上,我分
    發(fā)表于 07-02 07:03

    DWIN串口的使用經(jīng)驗(yàn)

    串口,性價(jià)比高,質(zhì)量穩(wěn)定可靠,的種類多,消費(fèi)類,工業(yè)類,醫(yī)療、軍工、特殊行業(yè)等苛刻應(yīng)用類,各個(gè)尺寸均有設(shè)計(jì)。所以基本能用得上,我分
    發(fā)表于 07-02 07:08

    DWIN串口有哪些功能呢

    DWIN串口有哪些功能呢?怎樣去使用DWIN串口
    發(fā)表于 09-28 08:58

    COF結(jié)構(gòu)智能試用體驗(yàn)】和esp32的圖書檢索及錄入系統(tǒng)

    esp32傳來的事件信息。 三、開發(fā)圖書檢索 圖書錄入 四、遇到的問題串口的數(shù)據(jù)傳輸,
    發(fā)表于 04-06 19:03

    COF結(jié)構(gòu)智能試用體驗(yàn)】基本開發(fā)流程

    可以通過SD卡的方式更新到,也可以通過串口下載的方式下載到
    發(fā)表于 04-08 14:23

    COF結(jié)構(gòu)智能試用體驗(yàn)】優(yōu)缺點(diǎn)分析和適用場景

    有基本的了解,比如每個(gè)文件名是什么含義。我認(rèn)為文官方后續(xù)可以改進(jìn)這一點(diǎn)用戶體驗(yàn),可以通過DGUS tool開發(fā)出界面相關(guān)文件,將這
    發(fā)表于 04-10 00:21

    開發(fā)便捷的工業(yè)串口

    硬件設(shè)計(jì) 二次開發(fā)過程中,工業(yè)串口對用戶系統(tǒng)硬件 要求非常簡單: 1.給
    發(fā)表于 12-02 14:36 ?419次下載
    <b class='flag-5'>開發(fā)</b>便捷的<b class='flag-5'>迪</b><b class='flag-5'>文</b>工業(yè)<b class='flag-5'>串口</b><b class='flag-5'>屏</b>

    工業(yè)串口用戶軟件開發(fā)指南

    工業(yè)串口用戶軟件開發(fā)指南.
    發(fā)表于 04-25 15:05 ?120次下載
    <b class='flag-5'>迪</b><b class='flag-5'>文</b>工業(yè)<b class='flag-5'>串口</b><b class='flag-5'>屏</b>用戶軟件<b class='flag-5'>開發(fā)</b>指南

    32單片機(jī)與通信的開發(fā)學(xué)習(xí)

    本章主要說一下,一個(gè)初學(xué)者學(xué)習(xí)的經(jīng)歷。適用于略懂、接觸過modbus的人。有一說一,這個(gè)
    發(fā)表于 11-13 16:06 ?34次下載
    32單片機(jī)與<b class='flag-5'>迪</b><b class='flag-5'>文</b><b class='flag-5'>屏</b>通信的<b class='flag-5'>開發(fā)</b>學(xué)習(xí)

    單片機(jī)控制串口

    的),并生成各類文件(字庫、變量文件、圖片等)通過內(nèi)存卡下載到串口。 然后通過串口發(fā)送命令(80 81 82 )可以控制變量數(shù)值進(jìn)而控
    發(fā)表于 11-13 17:51 ?41次下載
    單片機(jī)控制<b class='flag-5'>迪</b><b class='flag-5'>文</b><b class='flag-5'>串口</b><b class='flag-5'>屏</b>

    COF開發(fā)手冊

    文科技的COF開發(fā)流程進(jìn)行了整理,便于協(xié)助用戶快速開發(fā)
    發(fā)表于 06-08 14:44 ?0次下載

    串口與STM32通訊資料分享

    串口與STM32通訊資料分享
    發(fā)表于 08-28 10:14 ?84次下載

    串口基礎(chǔ)GUI開發(fā)流程

    和UART4是RS232接口的,UART2也作為系統(tǒng)默認(rèn)的調(diào)試串口,UART5是RS485接口的,但UART4和UART5都需要對系統(tǒng)的OS核做修改才能使用。的資料較為
    的頭像 發(fā)表于 07-05 08:21 ?582次閱讀
    <b class='flag-5'>迪</b><b class='flag-5'>文</b><b class='flag-5'>串口</b><b class='flag-5'>屏</b>基礎(chǔ)GUI<b class='flag-5'>開發(fā)</b><b class='flag-5'>流程</b>

    串口如何與電腦連接

    串口是一種廣泛應(yīng)用于工業(yè)自動(dòng)化領(lǐng)域的顯示設(shè)備,它可以通過串口與電腦進(jìn)行通信,實(shí)現(xiàn)數(shù)據(jù)的傳輸和控制。 一、
    的頭像 發(fā)表于 08-01 15:10 ?777次閱讀