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