MODBUS是工業(yè)協(xié)議中比較歡迎的一種,它簡單、通用性強并且使用方便,MODBUS的另一個優(yōu)點是它可以通過任何傳輸媒介進行通訊,其中包括雙絞線、無線通訊、光導(dǎo)纖維、以太網(wǎng)、電話調(diào)制調(diào)解器、移動電話以及微波等。它已經(jīng)成為通用的工業(yè)標(biāo)準(zhǔn),通過它不同廠商生產(chǎn)的控制設(shè)備可以連成工業(yè)網(wǎng)絡(luò),進行集中監(jiān)控。此協(xié)議定義了一個控制器能認(rèn)識使用的消息結(jié)構(gòu),支持傳統(tǒng)的Rs-232、Rs-485和以太網(wǎng)設(shè)備。PLC、DCS、智能儀表都在使用MODBUS協(xié)議作為他們之間的通訊標(biāo)準(zhǔn)。迪文作為以提供客戶高品質(zhì)人機交互產(chǎn)品和相關(guān)系統(tǒng)集成服務(wù)為主的高新技術(shù)企業(yè),其產(chǎn)品中也有相關(guān)的MODBUS配置操作,以下分別對MINI_DGUS、DGUS、DGUSII產(chǎn)品的MODBUS接口配置進行說明。
(1)用戶接口指令集為 Modbus RTU 主機模式和Modbus RTU從機模式,同時支持 DGUS 指令集(同時支持串口圖片、字庫下載)。通過 22.BIN 字庫文件的 0x600~0x7FF 位置(1KB 空間大小,定義如下)。 注:通過UltraEdit打開22號文件,DGUS變量地址與UltraEdit上的地址存在2倍的關(guān)系,例如:DGUS 變量地址是:0X7F8,對應(yīng)到UltraEdit軟件上的地址是:0X7F8*2=0XFF0。
| | | | | | | | | | | | | | 第1條 MODBUS 指令(16 字節(jié)) | | | | 第2條 MODBUS 指令(16 字節(jié)) |
| | | | | | | 第63條 MODBUS 指令(16 字節(jié)) |
|
|
|
|
|
表1
| | | | | | | | | | | | | | 讀寫數(shù)據(jù)長度,0x00 表示本條指令無效,最多一次性讀取120個字節(jié) | | | 本條指令處理定時時間,4 位整數(shù),單位為 ms,最大 9999ms | | | 應(yīng)答 CRC 校驗錯誤,0xFF 應(yīng)答 CRC 校驗正確。 | | | modbus 讀寫指令的發(fā)送方式,0x00:**** 所有頁面下均執(zhí)行指令; 0x01:Page_ID 僅在指定的頁面下執(zhí)行指令; 0x02:VP 僅在 VP 指向的變量緩沖區(qū)低字節(jié)內(nèi)容為 0x5A 才執(zhí)行指令; | | | 根據(jù)第8字節(jié)的填寫01或者是02,添加頁碼或者DGUS變量地址 | | | DGUS 屏變量存儲區(qū)的起始地址。如果地址高字節(jié)為 0xFF,表示讀取的數(shù)據(jù)將寫入 DGUS 曲線緩沖區(qū),此時低字節(jié)地址表示為曲線數(shù)據(jù)格式 | | | 本條指令讀寫的數(shù)據(jù)在modbus 設(shè)備上的數(shù)據(jù)起始地址。 | | | |
表2
圖1 表3 - 基于Modbus主機接口的DGUS軟件應(yīng)用說明
升級程序名稱:DGUS_V71_MODBUS.BIN,對應(yīng)的DGUS版本是V71,支持K600+或DGUS內(nèi)核,用戶接口指令集為MODBUS RTU主機模式,串口不再支持標(biāo)準(zhǔn)的DGUS指令集(包括DWIN OS、串口仿真、串口圖片、字庫下載)。DWIN OS中,以下指令不再支持:
| | | 到COMO_Rx_FIFO讀取MODBUS數(shù)據(jù)幀 | | | | | | | | | | | | | | 到COMO_Rx_FIFO讀取DL/T645數(shù)據(jù)幀 |
表4 通過22.bin字庫文件的20KW-28KW(16KB空間大小,文件字節(jié)地址0x0A000--0x0DFFF)來定義Modbus運行參數(shù),DGUS上電會自動把這8KW配置文件解碼加載到變量緩沖區(qū)的最后8KW。 | | | | | | | | | | | 0X5A:保存DGUS變量緩沖區(qū)的MODBUS配置文件到22字庫 | | | | 0X5A:從22字庫加載MODBUS配置文件到DGUS變量緩沖區(qū) | | | | 3.1格式定點小數(shù)(115200bps=0X480) 單位為kbps,最大999.9kbps | | | | 0X00=8N1(無校驗) ,0X01=8E1(偶校驗EVEN),0X02=801(奇校驗ODD),0X03=8N2(無校驗,2個停止位) | | | | | | | | 0X5A表示從22字庫相應(yīng)位置讀數(shù)據(jù)到DGUS指定變量空間 | | | | PS:PE PS、PE是DGUS變量空間開始、結(jié)束地址高字節(jié),低字節(jié)固定為0 | | | | | | | | | | | | | | | 第1023條 MODBUS 指令(16 字節(jié)) | |
|
|
|
|
表5
圖2 | | | | | | | | | | | | | | 讀寫數(shù)據(jù)長度,0x00 表示本條指令無效,最多一次性讀取120個字節(jié) | | | 本條指令處理定時時間,4 位整數(shù),單位為 ms,最大 9999ms定時時間是從機響應(yīng)的最長時間 | | | | | | modbus 讀寫指令的發(fā)送方式,0x00:**** 所有頁面下均執(zhí)行指令; 0x01:Page_ID 僅在指定的頁面下執(zhí)行指令; 0x02:VP 僅在 VP 指向的變量緩沖區(qū)低字節(jié)內(nèi)容為 0x5A 才執(zhí)行指令; | | | 根據(jù)第8字節(jié)的填寫01或者是02,添加頁碼或者DGUS變量地址 | | | DGUS 屏變量存儲區(qū)的起始地址。如果地址高字節(jié)為 0xFF,表示讀取的數(shù)據(jù)將寫入 DGUS 曲線緩沖區(qū),此時低字節(jié)地址表示為曲線數(shù)據(jù)格式 | | | 本條指令讀寫的數(shù)據(jù)在modbus 設(shè)備上的數(shù)據(jù)起始地址。 | | | 總線通信狀態(tài)反饋,寫指令始終為0X00,讀指令返回0X00(失敗)/0XFF(成功) | | | |
表6 注:MODBUS的位(線圈)變量是按照LSB定義的,而DGUS是按照MSB定義 - 基于Modbus從機接口的DGUS軟件應(yīng)用說明
升級程序名稱DGUS_V71_MODBUS_SLAVE.BIN,對應(yīng)的DGUS版本是V71,支持K600+或DGUS內(nèi)核,用戶接口指令集為MODBUS RTU從機模式,串口不再支持標(biāo)準(zhǔn)的DGUS指令集(包括DWIN OS串口仿真、串口圖片、字庫下載)。CONFIG.TXT配置文件的R3寄存器設(shè)置MODBUS從機地址,RA寄存器設(shè)置MODBUS串口格式,0X00=8N1(無校驗) 0X01=8E1(偶校驗,EVEN),0X02=801(奇校驗,ODD),0X03=8N2(無校驗,2個停止位)。串口波特率設(shè)置R1、R5、R9,當(dāng)R1的值在00-10時,R5和R9無效,可以選擇17檔固定波特率之一,如下表7(波特率單位為Kbps)。 表7
表8 當(dāng)R1取值為11時,此時波特率由R5和R9決定,并由下式計算,R5:R9=6250000/波特率,R5:R9表示一個雙字節(jié)參數(shù),R5為高字節(jié),R9為低字節(jié),比如設(shè)定10000bps,R5:R9=6250000/10000=625=0X0271,R5為02,R9為71。 主要是T5UID1、T5UID2、T5UID3 平臺的MODBUS配置。MODUS主從機寫在了DWIN OS程序里面了,串口為UART4,使用T5_MODBUS OS程序,OS內(nèi)核程序升級到V21或以上版本。 用戶可通過 22.BIN 字庫文件 0x1C000~0x1FFFF 的 16KB 空間大小來定義 Modbus 運數(shù);也可通過 T5 OS 直接訪問 0xE000~0xFFFF 的 8KW 變量空間來定義 Modbus 參數(shù)。 | | | | | | | | | | | 0X0000表示ModbusMaster,其它值表示ModbusSlave | | | | 單位是Kbps,1位定點小數(shù),例如:115200=0X480 | | | | 0X00=8N1(無校驗) ,0X01=8E1(偶校驗EVEN),0X02=801(奇校驗ODD),0X03=8N2(無校驗,2個停止位) | | | | 從機下設(shè)備地址,默認(rèn)為0X005A | | | | | | | | | | | | | | | | | | | | |
|
| 第1023條 MODBUS 指令(16 字節(jié)) | |
表9
| | | | | | | | | | | | | | 讀寫數(shù)據(jù)長度,0x00 表示本條指令無效,最多一次性讀取90字節(jié) | | | 本條指令處理定時時間,4 位整數(shù),單位為 ms,最大 9999ms等待時間是從機響應(yīng)的最長時間 | | | | | | modbus 讀寫指令的發(fā)送方式,0x00:**** 所有頁面下均執(zhí)行指令; 0x01:Page_ID 僅在指定的頁面下執(zhí)行指令; 0x02:VP 僅在 VP 指向的變量緩沖區(qū)低字節(jié)內(nèi)容為 0x5A 才執(zhí)行指令,執(zhí)行完后自動清零VP指向的內(nèi)容 | | | 根據(jù)第8字節(jié)的填寫01或者是02,添加頁碼或者DGUS變量地址 | | | DGUS 屏變量存儲區(qū)的起始地址(0X0000-0XDFFF)。 | | | 本條指令讀寫的數(shù)據(jù)在modbus 設(shè)備上的數(shù)據(jù)起始地址。 | | | 總線通信狀態(tài)反饋,0X0000=失敗,0X00FF=成功,OS讀取后需要清零 |
表10
圖3 在22號文件中配置成從機格式,設(shè)備默認(rèn)地址是0X5A,若設(shè)定值為0,則自動恢復(fù)默認(rèn)ID。22號配置如下圖4。注:主機可讀寫數(shù)據(jù)變量范圍為 0x0000-0xDFFF,若超出此范圍,程序會將功能碼最高位置 1 并返回給主機,表明通信錯誤;主機可讀寫數(shù)據(jù)長度上限為 90 個字,超出范圍則通信失敗;各個平臺的CFG文件,必須設(shè)置為上電加載22文件。
圖4
完整的Word格式文檔51黑下載地址:
|