DGUS屏的modbus主機內核配置與調試160425_第1頁
DGUS屏的modbus主機內核配置與調試160425_第2頁
DGUS屏的modbus主機內核配置與調試160425_第3頁
DGUS屏的modbus主機內核配置與調試160425_第4頁
DGUS屏的modbus主機內核配置與調試160425_第5頁
已閱讀5頁,還剩1頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 Dgus屏的modbus配置與調試 1:dgus屏modbus現只支持HEX的RTU主機格式, 暫時不支持ascii格式的通信模式, 暫時不支持從機格式的通信模式 2: modbus內核升級。SD卡升級如下(串口升級請參考串口升級文檔)。 modbus內核為“DGUS_V71_MODBUS”,把內核文件裝入sd卡上的DWIN_SET 文件夾中(可以隨工程文件考入,也單獨拷入即可),插到屏的sd卡接口。 3: modbus協議的配置方式有3種, 1)由屏上頁面配置。一般測試可以用這個方法,請參考modbus7寸8寸歷程。 >如上圖的第二條指令03指令:是將設備5的356(0x0164)地

2、址的2個字的數讀到屏上變量地址0001的顯示,發送模式是0,所有頁面均可執行,(如果要改成01模式,后面發送標志改成10,那么此指令會在10頁面下才會執行)上圖配置后屏主動會外發:05 03 01 64 00 02 85 AC 可以用串口測試回應:05 03 04 000A 000B DE36歷程的屏上面地址0x0001和0x0002設會顯示數據1.0和1.1顯示小數,(因為設置了一位定點小數)>如上圖的第二條指令16(0x10)指令:是將屏上面變量地址4098(0x1002),的數寫進0設備地址2,發送模式是2,也就是當4111(0x100F)這個設置的 按鍵返回地址鍵值0x005A按

3、下之后,才進行發送,發送一次后地址0x100F鍵值底層自動清零。以上兩條可以用于測試通訊或簡單的功能直接界面配置替換。 2)由22.bin文件配置。這個方法是90%的用戶用的方法,22文件要單獨拿出來寫,不然點擊生成配置文件,22文件會被軟件本身未有初始值設置的控件的地方而清空。 Modbus協議在屏的內存地址0x5000(word)開始定義,UltraEdit-32打開是由字節編輯,那么0x5000折算到22.bin的字節地址為:0x5000X2=0xA000 . 用UltraEdit-32 打開22.bin(見圖1) 圖1: 0xa000=5A 表示啟用modbus。 0xa001=A5

4、表示啟用modbus。 0xa002=5A 表示保存配置文件。 0xa003=00 填入 5A 表示從22.bin把配置文件讀入緩沖區 (22.bin配置時不用填,默認 00 即可)。 0xa004=00 與0xa005設定通信波特率,0060=9600 0480=115200 0xa005=60 0xa006=00 00H=8N1 01H=8E1 02H=8O1 03H=8N2 0xa007=00 默認 00 即可 0xa00a=00 默認 00 即可 共16字節。 modbus協議指令 第一條modbus協議指令從0xa010開始。 0xa010 =5A 寫入5A表示C,其他無效。 0xa

5、011 =01 從機ID號。 0xa012 =03 modbus讀取從機參數指令03。 0xa013 =22 讀取從機參數的字節數,字數=0x11 0xa014 =00 與0xa015構成通信超時時間(0064=100ms) 0xa015 =64 0xa016 =00 0xa017 =01 0001表示只在0xa018 0xa019表示的頁面下執行modbus 0xa018 =00 0xa019 =0A 000A表示本條只在10號頁面下執行,其他頁時停止執行。(如果0xa0160xa019均寫0x0000, 0x0000 那么此條指令會在所有頁面下均可執行;如果0xa0160xa019均寫的0

6、x0002 ,0x100F 那么此條指令會在在當地址0x100F寫入0x005A后執行本條指令。實質的應用是做一個:鍵值0x0005A、地址0x100F的“按鍵返回”控件,當這個按鍵按下之后執行一次本條指令) 0xa01a =20 0xa01b =00 (是讀或寫數據的DGUS屏上面的存放地址2000) 0xa01c =10 0xa01d =00 0xa01c 0xa01d 從機數據地址1000。 0xa01e =00 讀或寫是否成功標志位,指令發送時是00,發送完成后等數據返回 時等于FF ,表示從機成功返回 ,等于00,返回錯誤或超時。 0xa01f = 00 保留默認 00 第二條mod

7、bus協議指令從0xa010開始。 0xa020 0xa02F 第三。 依此類推。 3)由os程序代碼配置。其實就是上電寫入變量地址,比第二種方法進步的地方是不需要單獨拿出22文件來寫。注:由于升級了modbus內核,DGUS的0x5A 0xA5的協議屏不再支持,DGUS_5.04上位機軟件串口下載無效,所以這種寫法適用于5寸屏以上能用ED2的下載器用戶,方便直接通過插上SD卡槽的串口下載os。下文的os寫法可以直接復制到os編譯軟件進行查看。 ; DWIN OS IJNE R255,0,4 ;比較R255里面不是0后往下跳轉4行 CALL MODBUS啟用配置 CALL 第一條03指令 CA

8、LL 第一條06指令 LDBRR255,1,1 ;上電運行一次即可,0x5000以后地址不再訪問 END;=MODBUS啟用配置: LDWR R0,0X5000 ;注:所有的變量地址都要經過R0和R1,在進行處理。 LDWR R10,0X5AA5 ;5000 其他的指令參考os指導說明文檔。 LDWR R12,0X5A00 ;5001 ;LDWR R14,0X0480 ;5002 9600=0060 115200= 0480 LDWR R14,0X0060 ;5002 9600=0060 115200= 0480 LDBR R16,0X00,10 ;5003 8N1 MOVXR R10,0,8

9、 RET ;= ;CMD 03 第一條03指令: LDWR R0,0X5008 LDBR R10,0X5A,1 ; LDBR R11,0X01,1 ;ID LDBR R12,0X03,1 ;CMD LDBR R13,46,1 ;LEN *2 ;2 LDWR R14,0X0190 ;TIM 400MS LDWR R16,0X0001 ;MARK LDWR R18,7 ;MARK LDWR R20,0X0001 ;DGUS ADDRE LDWR R22,0X0001 ;ID_ADDRE LDWR R24,0X0000 MOVXR R10,0,8 ;READ_X1-X7 RET ;CMD 06第一條

10、06指令: LDWR R0,0X5058 LDBR R10,0X5A,1 ; LDBR R11,0X01,1 ;ID LDBR R12,0X06,1 ; CMD LDBR R13,2,1 ;LEN *2 ;2 LDWR R14,0X0190 ;TIM 400MS LDWR R16,0X0002 ;MARK LDWR R18,0X0060 ;MARK LDWR R20,0X000D ;DGUS ADDRE LDWR R22,0X000D ;ID_ADDRE LDWR R24,0XFF00 MOVXR R10,0,8 ;READ_X1-X7 RET4:調試問題及解決方法 1) Modbus只是定義

11、了一種通信數據格式,與硬件的通信接口沒有任何關系, 通信口無論是RS232,485,還TTL電平連接都能運行modbus。 2) 配置好Modbus 協議后,下載到屏里,接上sscom32調試助手, 選擇好波特率,若是配置了在任何頁面都讀取的指令,則屏會發送數據到 sscom32調試助手上。 3) 配置好后,若沒有發送數據,則先檢查配置文件有無錯誤, 波特率是否正確,22.bin文件是否被重新編譯(用配置軟件編譯后, 22.bin文件會被改寫清零。) 4) 用RS-232 TO 485 轉接頭調試時,轉接頭A+ 接屏A+. B- 接屏的B-。 或485+ 接屏A+. ,485- 接屏B-.。

12、轉接頭的GND 最好接到屏的 GND,有的轉接頭(無源)不好 GND不連接時有FFFFFFFFFF往串口發送。 1、 MODBUS本條指令處理定時時間怎樣理解?答:主機的讀指令間隔是最大間隔,如果從機立即應答,那么應答后就會立馬執行下一條指令。寫指令的間隔就是真實的間隔,不論從機是否應答,間隔始終為設定的,從上往下依次執行。讀指令如果想讓其以某一個時間頻率讀最簡單的辦法:可以在01模式指定頁面運行指令,讀指令穿插一條虛擬的寫指令,這樣交替達到即使立即響應也能延時的目的。2、 MODBUS讀寫指令發送方式02模式如何運用?答:實際就是利用按鍵返回按下發送一次,比如按鍵返回配置地址0x1000,鍵

13、值0x005A,當這個按鍵按下的時候,配置指向的modbus屏上面的地址指令會下發一次,底層自動清零鍵值,不會重復發。一般對于寫指令,數據變量錄入參數之后,如果不額外配置一個按鍵返回用02模式發送,那么可以用os判斷數據錄入變化了就自動下發,不變化就不發,這里寫os一般是用的寫02模式下的時候也是會底層會自動清零鍵值。3、 MODBUS和os配合問題?答:os可以將運行周期調成是120ms或者80ms運行一次,這樣變量刷新的處理速度會加快,但是屏上面變量的處理能力會下降,os的周期和MODBUS配置的指令是分開的,modbus多條指令從第一條到最后一條然后再從第一條重新開始,這個進行的時間是要看用戶的實際需要,所以在某種程度上需要合理配合。盡量利用用01模式,尤其是寫指令,可以在指定的頁

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論