徐州偉思通訊協議_第1頁
徐州偉思通訊協議_第2頁
徐州偉思通訊協議_第3頁
徐州偉思通訊協議_第4頁
徐州偉思通訊協議_第5頁
已閱讀5頁,還剩5頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、WEISER偉思設備自報式通信協議MOD_WSZB1、前言該MOD_WSZB協議適用于允許傳感器自報的通信網絡結構中,例如GPRS、Zigbee等,并能夠接受主站的招測和其它指令。該協議除了自報功能外符合Modbus RTU協議規范,也與江蘇省水資源管理信息系統(2010年)的Modbus RTU協議的具體規定相容。同時兼容偉思MOD_WS1協議。2、通信接口本協議不規定物理層,只需實現串行異步通信。通信網絡由主站和子站(或稱從設備)組成,傳感器作為子站。3、通信速率(bps):9600,4800,2400,1200,600,3004、字節數據格式1個起始位, 8個數據位,1個停止位,無校驗位

2、。5、數據幀格式(報文格式)數據幀格式如下表:地址碼功能代碼數據信息碼CRC-16 校驗碼1個BYTE1個BYTEN個BYTE2個BYTE在數據幀中,除CRC 碼中的數據發送、接收時低字節在前外,數據區中的多字節寄存器數據都是每兩個字節高位字節在前。5.1 地址碼地址碼是數據幀的第一字節(8 位二進制碼),從0 到255。這個字節表明由用戶指定地址的從機將接收由主機發送來的信息。每個從機都必須有唯一的地址碼,并且只有符合地址碼的從機才能發回響應。當從機回送信息時,響應中的地址碼表明該信息來自于何處。5.2 功能碼主機發送的功能碼告訴從機執行什么任務。下表列出本協議應實現的功能碼。功能碼意義行為

3、03/04讀數據寄存器獲得一個或多個寄存器的當前二進制值(03/04 共用一個物理塊)。16(10H)寫預置寄存器設定二進制值到相關的寄存器中。擴展功能碼自報數據,修改地址和通信速率等詳見7.3。5.3 數據碼數據碼包含了終端執行特定功能所需要的數據或者終端響應查詢時采集到的數據。這些數據的內容可能是數值、參考地址或者設定值。例如:功能碼告訴終端讀取一個寄存器,數據域則需要指明從哪個寄存器開始及讀取多少個數據,而從機數據碼回送內容則包括了數據長度和相應的數據。5.4 CRC-16 校驗碼(冗余循環碼)CRC-16 校驗碼包含2 個字節,即16 位二進制。CRC 碼由發送設備計算,放置于發送信息

4、的尾部。接收信息的設備再重新計算接收到信息的CRC 碼,比較計算得到的CRC碼是否與接收到的相符,如果兩者不相符,則表明出錯。計算CRC 碼的步驟為:1)預置16 位寄存器為十六進制FFFF(即全為1)。稱此寄存器為CRC 寄存器;2)把數據幀中第一個8 位數據與16 位CRC寄存器的低位相異或,把結果放于CRC寄存器;3)把寄存器的內容右移一位(朝低位),用0 填補最高位,檢查最低位;4)如果最低位為0:重復第3 步(再次移位); 如果最低位為1:CRC 寄存器與多項式A001H(1010 0000 0000 0001)進行異或;5)重復步驟3 和4,直到右移8 次,這樣整個8 位數據全部進

5、行了處理;6)重復步驟2 到步驟5,進行下一個8 位數據的處理,直到所有字節處理結束;7)最后得到的CRC 寄存器即為CRC 碼。8)將CRC結果放入信息幀時,低位字節在前,高位字節在后。5.5 數據幀之間的間隔在RTU 模式下,每一個數據幀之間的間隔至少是3.5 個字符位。一個完整的數據幀必須要連續的傳送,當一幀消息中兩字節間的間距大于1.5 字符位時,此數據幀錯誤,被接受方放棄。6、水位傳感器寄存器地址信息表地址名稱字節地址說明0傳感器值(只讀)0,12字節,二進制。1保留2從設備地址31字節,二進制,12502數據倍率(只讀)4,5可用于表示整型數相對于實際物理量的倍率。3保留6,74保

6、留8,95水位值(只讀)10,112字節,二進制。6隔時自報狀態值12,132字節,二進制。7水位變化自報狀態值14,152字節,二進制。8其它值(保留)16,172字節,二進制。9保留18,1910保留20通信速率代碼21單字節,16進制偉思設備傳感器值與水位值是相同的,即與MOD_WS1協議兼容,故主站方可任選兩者之一。7、通信報文實例7.1 讀數據(功能碼:03/04)這個功能可使用戶獲得從設備采集、記錄的數據,以及系統參數。主機一次請求采集的數據個數無限制,但不能超出定義的地址范圍。主機發送命令:設備地址碼 功能代碼03 起始寄存器地址高8 位 低8位 讀取的寄存器數高8 位 低8 位

7、 CRC 校驗的低8 位 CRC 校驗的高8 位例:1103006B0003CRC 低CRC 高意義如下:1)設備地址碼:在一個485 總線上可以掛接多個從設備,此處的設備地址表示想和哪一個從設備通訊。2)功能代碼:讀數據的功能代碼固定為03/04。3)起始寄存器地址高8 位、低8 位:表示想讀取的數據的起始寄存器地址(起始地址為0)。比如,例子中的起始地址為107。4)寄存器數高8 位、低8 位:表示從起始地址開始讀多少個數據。例子中為3個數據。注意,在返回的信息中一個寄存器數據需要返回兩個字節。5)CRC 校驗:需要注意,CRC 校驗在命令中的高低字節的順序和其他的相反。從設備響應:設備地

8、址碼 功能代碼03 返回的字節個數數據1數據2.數據nCRC 校驗的低8 位 CRC 校驗的高8 位例:110306022B00000064CRC 低CRC 高意義如下:1)設備地址碼和功能代碼和上面的相同。2)返回的字節個數:表示數據的字節個數,也就是數據1,2.n 中的n 的值。例子中返回了3 個寄存器的數據,因為一個寄存器數據需要2 個字節,所以共6個字節。3)數據1.n:其中數據1數據2分別是第1 個寄存器數據的高8 位和低8 位,數據3數據4是第2 個寄存器數據的高8 位和低8 位,以此類推。例子中返回的值分別是555,0,100。7.1.1 讀水位值傳感器數據,從機地址為01。主叫

9、段名例子(Hex)地址01功能碼 03起始地址000500寄存器數0001CRC校驗94 84 (CRC低位字節)0B 0A (CRC高位字節)表1:主叫表1規定水位值的起始地址為0005,方括號中為偉思傳感器值的起始地址0000。在偉思設備中,傳感器值與水位值等是相同的,即與偉思MOD_WS1通信協議兼容,故主站方可任選兩者之一。寄存器數表示從起始地址開始讀多少個數據,這里為1。注意,在返回的信息中一個寄存器數據需要返回兩個字節。方括號中的CRC值是與上面的對應的。用戶在為主機編程時,除了地址和相應的CRC校驗碼之外,其它字節的字符均采用上面的內容不變。另外功能碼04與03完全相同。應答段名

10、例子(Hex)地址01功能碼 03數據字節數02數據(二進制高位字節)XX數據(二進制低位字節)XXCRC校驗 -(CRC低位字節)-(CRC高位字節)表2:應答這里的數據(水位值)為二進制數,單位為傳感器的分辨率。7.1.2 讀自報狀態主叫段名例子(Hex)地址01功能碼 03起始地址0006寄存器數0002CRC校驗24 (CRC低位字節)0A (CRC高位字節)表3:讀自報狀態主叫自報式水位傳感器的自報狀態是指:隔時自報狀態和水位變化自報狀態。隔時狀態寄存器的起始地址是0006H。此例要讀的寄存器數是2。應答段名例子(Hex)地址01功能碼 03數據字節數04隔時自報狀態XX(二進制高位

11、字節)隔時自報狀態XX(二進制低位字節)水位變化自報狀態XX(二進制高位字節)水位變化自報狀態XX(二進制低位字節)CRC校驗-(CRC低位字節)-(CRC高位字節)表4:讀自報狀態應答隔時自報狀態寄存器值表示自報時間間隔,單位為分鐘。二進制,數值范圍為0000HFFFFH。其中0000H表示不執行隔時自報功能。水位變化自報狀態寄存器值表示水位(增加或減少)的變化量達到該值時自報水位值,單位為傳感器分辨率。二進制,數值范圍為0000HFFFFH。其中0000H表示不執行水位變化自報功能。7.2 預置數據(功能碼:16(10H)這個功能可使用戶改變多個寄存器的內容。主機一次請求改變寄存器內容的個

12、數不能超出定義的地址范圍。主機發送命令:設備地址碼 功能代碼16 起始寄存器地址高8 位 低8位 預置的寄存器數高8 位 低8 位 字節長度 數據1數據2.數據n CRC 校驗的低8 位 CRC 校驗的高8 位例:0C1000030001020050CRC 低CRC 高意義如下:1)功能代碼:預置數據的功能代碼固定為16(10H)。2)起始寄存器地址高8 位、低8 位:表示想預置數據的起始寄存器地址。3)寄存器數高8 位、低8 位:表示從起始地址開始預置多少個數據。例子中為1 個數據。4)字節長度:表示數據的字節個數,也就是數據1,2.n 中的n 的值。從設備響應:設備地址碼 功能代碼16 起

13、始寄存器地址高8 位 低8 位預置的寄存器數高8 位 低8 位 CRC 校驗的低8 位 CRC 校驗的高8 位例:0C1000030001CRC 低CRC 高響應數據幀表明數據已寫入。7.2.1 預置隔時自報時間間隔主叫段名例子(Hex)地址01功能碼 10起始地址0006寄存器數0001字節長度02自報時間間隔00(二進制高位字節)05(二進制低位字節)CRC校驗66 (CRC低位字節)35 (CRC高位字節)表5:預置隔時自報時間間隔主叫隔時自報狀態寄存器的起始地址是0006H。自報時間間隔,單位為分鐘。二進制,數值范圍為0000HFFFFH。其中0000H表示不執行隔時自報功能。應答段名

14、例子(Hex)地址01功能碼 10起始地址0006寄存器數0001CRC校驗E1 (CRC低位字節)C8 (CRC高位字節)表6:預置隔時自報時間間隔應答響應數據幀表明數據已寫入。傳感器從寫入自報時間間隔開始,立即執行新的時間間隔。注意此刻不自報。7.2.2 預置自報水位變化量主叫段名例子(Hex)地址01功能碼 10起始地址0007寄存器數0001字節長度02自報水位變化量00(二進制高位字節)03(二進制低位字節)CRC校驗E7 (CRC低位字節)E6 (CRC高位字節)表7:預置自報水位變化量主叫自報水位變化量寄存器的起始地址是0007H。自報水位變化量表示水位(增加或減少)的變化量達到

15、該值時自報水位值,單位為傳感器分辨率。二進制,數值范圍為0000HFFFFH。其中0000H表示不執行水位變化自報功能。應答段名例子(Hex)地址01功能碼 10起始地址0007寄存器數0001CRC校驗B0 (CRC低位字節)08 (CRC高位字節)表8:預置自報水位變化量應答響應數據幀表明數據已寫入。傳感器從寫入自報水位變化量開始,以此刻水位值為起點立即按新的自報水位變化量執行。注意此刻不自報。自報后的水位值又作為新起點。7.3 擴展功能碼該通信協議設定的擴展功能碼用于自報、查詢和修改地址。7.3.1 自報數據(功能碼171(ABH)傳感器自報數據包括水位值、隔時自報狀態值和水位變化自報狀

16、態值。報文如下:段名例子(Hex)地址01功能碼 AB數據字節數08水位值XX(二進制高位字節)水位值XX(二進制低位字節)隔時自報狀態XX(二進制高位字節)隔時自報狀態XX(二進制低位字節)水位變化自報狀態XX(二進制高位字節)水位變化自報狀態XX(二進制低位字節)其它值(保留)XX其它值(保留)XXCRC校驗 -(CRC低位字節)-(CRC高位字節)表9:自報數據數據字節數固定為8。無主站應答。7.3.2 查詢從屬設備地址(功能碼160(A0H)主叫與應答幀格式如表10和表11例子所示。格式中地址段字符為FF(Hex)。注意使用此功能時,只能連接一個從屬設備。主叫段名例子(Hex)地址FF

17、功能碼A0CRC-表10:主叫查詢地址應答段名例子(Hex)地址FF功能碼A0地址02CRC-表11:應答地址7.3.3 修改從屬設備地址(功能碼161(A1H)主叫與應答幀格式如表12和表13例子所示。使用此功能時,應注意避免同一總線上的設備地址重復。為避免這一情況發生,建議只連接一個從屬設備。主叫段名例子(Hex)地址(原地址)17功能碼A1新地址28CRC-表12 主叫修改地址應答段名例子(Hex)地址(新地址)28功能碼A1CRC-表13:應答修改地址7.3.4 修改從屬設備通信速率(功能碼172(ACH)主叫(應答相同)段名例子(Hex)地址17功能碼AC通信速率代碼12CRC-表24 修改通信速率與應答使用功能碼172(ACH)。用16進制代碼代表通信速率如下:代碼(Hex)通信速率(bps)96H9600(出廠默認)48H480024H240012H120006H60003H300說明:修改通

溫馨提示

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

評論

0/150

提交評論