卡瓦格博MODBUS通訊協(xié)議_第1頁
卡瓦格博MODBUS通訊協(xié)議_第2頁
卡瓦格博MODBUS通訊協(xié)議_第3頁
卡瓦格博MODBUS通訊協(xié)議_第4頁
卡瓦格博MODBUS通訊協(xié)議_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、目錄1. 協(xié)議簡介 .22. 接口方式 .24. 功能碼描述 .5 4.1. ModBus 功能碼 .5 4.2. 元件的尋址方式描述 .64.3. 錯誤代碼描述 .85.12. PLC 做主站的注意事項 .19 1. 協(xié)議簡介Modbus 協(xié)議是應(yīng)用于 PLC 上的一種通用語言。通過此協(xié)議, PLC 相互之間、 PLC 經(jīng)由網(wǎng) 絡(luò)和其它設(shè)備之間可以通信。它已經(jīng)成為一通用工業(yè)標準。本規(guī)范主要描述了 modbus 協(xié)議 在 KAWAKP控制器中的實現(xiàn)。通訊采用應(yīng)答方式,由主機發(fā)起請求,從機執(zhí)行請求并且應(yīng)答。 KAWAKP 控制器作為從機通過地址設(shè)置加以區(qū)分,卡瓦格博系列控制器組網(wǎng)時,最多允許 3

2、0 個從站,并且從機可設(shè)置地址范圍為 131。 KAWAKP 控制器作為主站與其他設(shè)備(做從站 組網(wǎng),沒有地址范圍限制,但也最多允許 30 個從站。 KAWAKP 控制器支持廣播方式,廣播地 址為 00。2. 接口方式RS485 或 RS232 接口:異步,半雙工。默認數(shù)據(jù)格式: 8位數(shù)據(jù)位、偶校驗、一位停止位, 19200 bps,RTU??稍O(shè)置為 38, 400 波特率、 19, 200 bps、 9, 600 bps、 4, 800 bps、 2, 400 bps、 1, 200 bps;最高可設(shè)置 波特率為 38, 400bps 。數(shù)據(jù)域:支持 2×252個字節(jié)(ASII 模

3、式 、 252字節(jié)(RTU 模式3. 協(xié)議格式3.1. RTU模式 消息發(fā)送至少要以 3.5個字符時間的停頓間隔開始。在最后一個傳輸字符之后,一個至 少 3.5個字符時間的停頓標定了消息的結(jié)束。一個新的消息可在此停頓后開始。整個消息幀必須作為一連續(xù)的流轉(zhuǎn)輸。如果在幀完成之前兩個字符間有超過 1.5個字符 時間的停頓時間,認為幀錯誤,停止接收,清緩沖,直到通信主循環(huán)中,清錯誤標志(與 PLC 寄存器無關(guān) ,重新啟動接收。也就是要保證兩個幀間的間隔至少大于 3.5個字符的時間, 3.5個字符的時間與具體的 通信波特率有關(guān),計算方法如下:假如通信波特率為 19200,那么 1.5 個字符間隔 = 1

4、/19200 *11*1.5*1000=0.86ms,3.5 個字符間隔 = 1/19200 *11*3.5*1000=2ms。下面是請求幀為讀取 1號機的 002參數(shù)的數(shù)據(jù)幀: 下面是為 1號機的響應(yīng)幀: 隔最長不能超過 1秒,否則接收的設(shè)備將認為傳輸錯誤。在 ASCII 方式下,數(shù)據(jù)字節(jié)全部以 ASCII 碼方式發(fā)送,先發(fā)送高 4位位元組,然后發(fā)送低 4位位元組。例如:01,會傳輸 30, 31兩個 ASCII 字符。此時數(shù)據(jù)采用 LRC 校驗,校驗涵蓋從從機地址到數(shù)據(jù)的信息部分。校 驗和等于所有參與校驗數(shù)據(jù)的字符和 (舍棄進位位 的補碼 +1。ASCII 方式 Modbus 數(shù)據(jù)幀舉例如

5、下 :寫入 4000(0xFA0到從機 1的內(nèi)部寄存器 002如下表:LRC 校驗 =(01+06+00+02+0x0F+0xA0的補碼 =0x48 地址域消息幀的地址域包含兩個字符(ASCII 或 8Bit (RTU 。主設(shè)備通過將要聯(lián)絡(luò)的從設(shè)備 的地址放入消息中的地址域來選通從設(shè)備。當從設(shè)備發(fā)送回應(yīng)消息時,它把自己的地址放入 回應(yīng)的地址域中,以便主設(shè)備知道是哪一個設(shè)備作出回應(yīng)。地址 0是用作廣播地址,以使所 有的從設(shè)備都能認識。3.3. 字符的連續(xù)傳輸當消息在標準的 Modbus 系列網(wǎng)絡(luò)傳輸時,每個字符或字節(jié)以如下方式發(fā)送(從左到右 :最低有效位 . 最高有效位ASCII 傳輸模式:采用

6、 10位傳輸,一定是 7位的數(shù)據(jù)位,位序如下 .有奇偶校驗 只能 1個停止位 無奇偶校驗 必須是 2個停止位 圖 4. 位順序(RTU 傳輸模式,采用 11位傳輸,一定是 8位數(shù)據(jù)位,位的序列是:有奇偶校驗 3.4. 幀類型MODBUS 的幀結(jié)構(gòu)分為三種,請求幀、應(yīng)答幀、錯誤幀三種。主站的詢問可能有以下幾種情況:(1 從站收到了無通訊錯誤的請求,并進行正常處理,從站返回應(yīng)答(正常幀(2 從站收到的請求,但有通訊錯誤,則不進行返回,主站認為超時(3 從站收到了無通訊錯誤的請求,但不能處理這一通訊請求。則返回錯誤幀 功能碼域復制請求幀的功能碼 4. 功能碼描述 4.1. ModBus功能碼 我們支

7、持的功能碼如下: 4.2. 元件的尋址方式描述以上的地址是面向用戶地址,例如觸摸屏,輸入邏輯地址 1,對地址 0尋址 (發(fā)送按照協(xié)議地址 0發(fā)送 ;但是當用戶使用 KAWAKP 控制器作主站,需要自己 組織發(fā)送的數(shù)據(jù)報文,那么用戶需要輸入實際的協(xié)議地址,例如用戶需要讀取 Y0, Y0 的協(xié)議地址是 0,用戶需要組的幀 01 01 00 00 00 01,第一個 01是地 址(可設(shè)的 ,第二個 01功能碼,接下來的 00 00表示起始地址(Y0的地址 , 00 01是讀取的個數(shù) 1個。(1 讀寫元件功能碼和與內(nèi)存映射: 注:0 表示線圈, 1 表示離散量輸入, 4 表示寄存器, xxxx 表示范

8、圍 1-9999,每一種類型有 獨立的邏輯地址范圍就是 1-9999(協(xié)議地址是從 0 開始的 , 0、 1、 4 并不具備物理上的 意義,不參加實際的尋址。用戶不應(yīng)該使用 05、 15 功能碼對 X 元件寫入,如果用戶執(zhí)行 了這樣的操作,即使范圍和數(shù)據(jù)都是允許的,系統(tǒng)也不會執(zhí)行任何操作。(2 PLC 元件與 Modbus 傳輸中的協(xié)議地址的對應(yīng)關(guān)系:(3 PLC 位元件與 Modbus 傳輸中的協(xié)議地址的對應(yīng)關(guān)系,第一段兼容艾默生 EC10: 注:協(xié)議地址與 Modicon 的數(shù)據(jù)的邏輯地址有對應(yīng)關(guān)系,協(xié)議地址是從 0 開始, Modicon 的數(shù)據(jù)的邏輯地址是從 1 開始的,也就是說協(xié)議地

9、址 +1=Modicon 的數(shù)據(jù)的邏輯地址,例: M0 協(xié)議地址是 2000,它對應(yīng)的 Modicon 的數(shù)據(jù)的邏輯地址是 0:2001,在實際對 M0 的讀 寫是通過協(xié)議地址完成,例如對 M2000 元件的讀取幀(主站發(fā)出 :01 01 07 D0 00 01 FD 4701 代表站號;01 代表功能碼;07 D0 代表起始地址, 07D0 的十進制為 2000;00 01 代表讀取的元件個數(shù);FD 47 是 CRC 校驗碼;特別注意:對 SD 、 SM 的寫入是要看 SD 、 SM 的讀寫屬性(參看編譯規(guī)約 ,如果該特殊 元件不是可寫入的,從站對該報文不作處理,但會返回正確的應(yīng)答。4.3.

10、 錯誤代碼描述 5. 數(shù)據(jù)和控制碼的具體描述5.1. 讀取線圈狀態(tài) (0x01 Read Coil Status讀取從站的位元件的狀態(tài),不支持廣播。最多支持 2000 個位元件。參考軟元件的地址劃分,每次讀取的元件類型為 1 類,例如不能在一幀中將 X 和 Y 元件 (兩種類型一起讀回來;讀取該類軟元件的地址和數(shù)據(jù)范圍不能超過協(xié)議中規(guī)定的范圍, 例如:Y 元件的協(xié)議地址范圍 00000255( Y0Y377 ,如果讀取的起始地址是 1,讀 取的元件個數(shù)是 256,則會返回地址錯誤(異常碼 02 ,因為從 1 起始的 Y 元件只有 255 個; 讀取的起始地址是 0,讀取的元件個數(shù)是 257,則

11、會返回數(shù)據(jù)錯誤(異常碼 03 ,因為讀取元件的個數(shù)超過了 256,實際只定義了 256 個 Y 元件;讀取的起始地址為 0,讀取元件的 個數(shù)是 256 則會返回 256 個元件的狀態(tài);而在讀取 M 元件時, M 元件的協(xié)議地址范圍是 20003999(M0M1999 ,如果讀取的起始地址是 2000,那么讀取的元件個數(shù)是 2000 個就會返回 2000 個 M 元件的狀態(tài)。也就是必須保證讀取的元件是實際定義的(在范圍內(nèi) 。(1 請求幀 (2 響應(yīng)幀如果讀取的地址不是 8 的倍數(shù),剩下的位由 0 填充(由高位開始填充 。 5.2. 讀取離散量輸入狀態(tài) (0x02 Read Input Statu

12、s讀取從站的位元件的狀態(tài),不支持廣播。最多支持 256 個位元件(目前的型號只定義 256 個 X 元件 。(2 請求幀 (2響應(yīng)幀如果讀取的地址不是 8 的倍數(shù),剩下的位由 0 填充(由高位開始填充 。 5.3. 讀取寄存器(0x03 Read Holding Registers讀取寄存器是讀取從站的數(shù)據(jù)(字寄存器值, (最多可以有 125個數(shù)據(jù)寄存器 。不支 持廣播。(1 請求幀 (2 響應(yīng)幀 5.4. 強置(寫單線圈(0x05 Force Single Coil強置(寫單線圈是向從站寫入位元件值,與編程協(xié)議的強制不同。允許廣播 (broadcast ,即寫入所有從站的相同元件。最多支持

13、1 個位元件。請求幀 注:寫入元件的值為 0xFF00(O(2響應(yīng)幀響應(yīng)幀是請求幀的重復。N,1 或者 0x0000(OFF,0 5.5. 預(yù)置(寫單寄存器(0x06 Preset Single Register強置(寫單寄存器是向從站寫入字元件值,與編程協(xié)議的強制不同。允許廣播 (broadcast ,即寫入所有從站的相同元件。最多支持 1 個字元件。請求幀 (2響應(yīng)幀響應(yīng)幀是請求幀的重復。 5.6. 回送診斷校驗回送診斷校驗,可以得到診斷寄存器并得到通訊錯誤信息。 (1 請求幀 (2 響應(yīng)幀將請求幀原樣返回 當收到該幀時,可以將 PLC 帶出只聽模式。 (支持廣播幀(1 請求幀當數(shù)據(jù)域正常

14、為 0x00 00 或者 0xff 00。 (2響應(yīng)幀 從站進入 LISTEN ONLY 模式,命令都不執(zhí)行,也不作回應(yīng),從站只認重新啟動通信選 項命令,并且當收到該命令后,從站進入在線模式。 (支持廣播幀(1 請求幀 (2 響應(yīng)幀 無返回(1 請求幀 (2 響應(yīng)幀 記錄從上一次啟動、清除計數(shù)器或加電之后,從站在到的所有主站發(fā)出的報文總數(shù),不 包括 CRC 錯誤的報文。(1 請求幀 (2 響應(yīng)幀 記錄從上一次啟動、清除計數(shù)器或加電之后,從站在到的 CRC 錯誤的數(shù)量。(1 請求幀 (2 響應(yīng)幀 記錄從上一次啟動、清除計數(shù)器或加電之后,從站檢測到的異常差錯數(shù)量,也包括廣播 報文中的檢測到的差錯。

15、(1 請求幀 (2 響應(yīng)幀 記錄從上一次啟動、清除計數(shù)器或加電之后,從站收到的對從站尋址的報文數(shù)目。 (1 請求幀(2 響應(yīng)幀 記錄從上一次啟動、清除計數(shù)器或加電之后,從站沒有返回的報文數(shù)量。(1 請求幀(2 響應(yīng)幀 記錄從上一次啟動、清除計數(shù)器或加電之后,由于收到的字符超限導致無法尋址的的報 文數(shù)量。(1 請求幀 (2 響應(yīng)幀 5.7. 強置(寫多線圈 (0x0F Hex Force Multiple Coils最多能寫 1968 個(0x07b0 , 根據(jù)元件的定義范圍有變化。支持廣播。(1 請求幀 (2 響應(yīng)幀5.8. 預(yù)置(寫多寄存器 (10 Hex Preset Multiple R

16、egisters最多寫 120 個寄存器(0x78支持廣播。(1 請求幀 (2 響應(yīng)幀 5.9. 故障響應(yīng)幀(0x80+功能碼響應(yīng)幀: 功能碼是截獲搜請求幀的功能碼+0x80指令的錯誤代碼: 5.10. MODBUS通信控制舉例Modbus 從站不主動發(fā)送任何報文,只有接收到對本地的信息后才根據(jù)具體情況看是否 響應(yīng)主站的報文。從站僅支持 Modbus 功能碼 01, 02, 03, 05, 06, 08, 15, 16,其余的 均以不合法的功能碼響應(yīng)(除廣播幀 。C 元件的當前計數(shù)值為字元件或雙字元件, C200-C255 為雙字元件,對 C200-C255 的 讀寫也是通過讀寫寄存器的功能碼

17、(03、 16來完成,每兩個寄存器的地址對應(yīng)一個 C 雙 字元件,讀寫時只能成對的讀取寄存器。例如讀取 C200-C202 三個 C 雙字元件 RTU 幀: 01 03 25 E4 00 06 8E F325 E4 為起始地址 970000 06 表示讀取 6 個元件8E F3 為校驗碼返回的數(shù)據(jù)中 9700 9791 兩個地址表示 C200 的內(nèi)容, 9700 為高 16bit , 9701 為低 16bit 。 在讀取雙字元件時如果讀取的開始地址不是偶數(shù),會返回錯誤代碼非法地址,如果讀取 的個數(shù)不是偶數(shù),會返回錯誤代碼非法的數(shù)據(jù)。例如:主站發(fā)送:01 03 25 E5 00 04 5E F

18、2主站發(fā)送讀取開始地址是 25 E5(十進制 9701的四個字元件,從站響應(yīng):01 83 02 C0 F1 從站應(yīng)答:非法的數(shù)據(jù)地址從站發(fā)送:01 03 25 E4 00 05 CE F2 主站讀取開始地址是 25E4 的 5 個字元件從站應(yīng)答:01 83 0301 31 從站返回非法的數(shù)據(jù)PLC 元件的存儲方式,一個 LONG INT 類型,可能存在兩個 D 元件內(nèi),例如:D3, D4 存一個 LONG INT 型的數(shù), EMERSON PLC 認為 D3 存儲的是高 16 位, D4 存儲的是 低16 位,當主站通過 MODBUS 讀取 LONG INT 數(shù)據(jù)時,讀回數(shù)據(jù)后也應(yīng)該按照 EM

19、ERSONPLC 對 LONG INT 的存儲原則重組 32 位的數(shù)據(jù)。FLOAT 的存儲原則等同于 LONG INT 的存儲原則。除了 08 功能碼,其他支持的功能碼都是對元件讀寫的,原則上講最多允許一幀讀 2000 個位元件,寫 1968 個位元件,讀取 125 個字元件,寫 120 個字元件。但由于實際的 協(xié)議地址對不同的元件是分開的,不連續(xù)(例如 Y377 的協(xié)議地址是 255, X0 的協(xié)議地址 是 1200 ,因此在對元件的讀寫操作時,一次讀取的元件只能是一種類型的元件,而讀取元件的最多數(shù) 目也與實際定義的元件個數(shù)有關(guān)系,例如讀取 Y 元件, Y0-Y377,協(xié)議地址范圍 0-25

20、5,對 應(yīng)的 Modicon 的數(shù)據(jù)的邏輯地址是 1-256,在讀取 Y 元件時最多允許讀取 256 個元件,舉 例如下:注:從站的地址都是 01,后兩個字節(jié)都是 CRC 校驗碼,第二字節(jié)是功能碼 。(1 主站發(fā)送:01 01 00 00 01 00 3D 9A01 地址,功能碼 01, 00 00 起始地址, 01 00 讀取元件個數(shù) 3D 9A 校驗從站應(yīng)答:會 返回正確的應(yīng)答(2 主站發(fā)送:01 01 00 00 01 01 FC 5A主站讀取 01 01 個元件也就是 257 個,超出了定義的 Y 元件的范圍從站應(yīng)答:01 81 03 00 51從站應(yīng)答是非法的數(shù)據(jù)值,原因是 257&

21、gt;256, 256 是最大允許的 Y 元件數(shù)(3 主站發(fā)送:01 01 00 64 00 A0 7D AD主站讀取起始地址 00 64(十進制 100 ,元件個數(shù) 00 A0(十進制 160從站應(yīng)答: 01 81 02 C1 91從站應(yīng)答非法數(shù)據(jù)地址,從 100 開始的 Y 元件只有 156 個讀 160 個非法。(4 主站發(fā)送:01 01 01 2C 00 0A 7C 38 主站讀取 01 2C(十進制 300的 10 個位 元件從站應(yīng)答:01 81 02 C1 91從站應(yīng)答非法數(shù)據(jù)地址,由于協(xié)議地址 300 沒有位元件的定義。(5 主站發(fā)送:01 04 00 02 00 0A D1 CD主站發(fā)送功能碼 04 的幀從站應(yīng)答:01 84 01 82 C0 從站應(yīng)答非法的功能碼(6 主站發(fā)送:01 02 00 00 00 0A F8 0

溫馨提示

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

評論

0/150

提交評論