<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開發網

      電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
      搜索: 您現在的位置: 電子開發網 >> 電子開發 >> PLC基礎入門教程 >> 正文

      Modbus功能碼一覽,功能碼列表

      作者:佚名    文章來源:本站原創    點擊數:    更新時間:2023/9/15

      Modbus功能碼一覽
      Modbus網絡是一個工業通信系統,由帶智能終端的可編程序控制器和計算機通過公用線路或局部專用線路連接而成。其系統結構既包括硬件、亦包括軟件。它可應用于各種數據采集和過程監控。下表1是ModBus的功能碼定義。
       
      表1 ModBus功能碼列表
      ModBus功能碼 

        Modbus網絡只是一個主機,所有通信都由他發出。網絡可支持247個之多的遠程從屬控制器,但實際所支持的從機數要由所用通信設備決定。采用這個系 統,各PC可以和中心主機交換信息而不影響各PC執行本身的控制任務。表2是ModBus各功能碼對應的數據類型。

      表2 ModBus功能碼與數據類型對應表
      ModBus功能碼與數據類型對應表 

      (1)ModBus的傳輸方式
       在ModBus系統中有2種傳輸模式可選擇。這2種傳輸模式與從機PC通信的能力是同等的。選擇時應視所用ModBus主機而定, 每個ModBus系統只能使用一種模式,不允許2種模式混用。一種模式是ASCII(美國信息交換碼),另一種模式是RTU(遠程終端設備)這兩種模式的 定義見表3
       
      表3 ASCII和RTU傳輸模式的特性
      ASCII和RTU傳輸模式的特性 

        ASCII可打印字符便于故障檢測,而且對于用高級語言(如Fortan)編程的主計算機及主PC很適宜。RTU則適用于機器語言編程的計算機和PC主機。
            用RTU模式傳輸的數據是8位二進制字符。如欲轉換為ASCII模式,則每個RTU字符首先應分為高位和低位兩部分,這兩部分各含4位,然后轉換成十六進 制等量值。用以構成報文的ASCII字符都是十六進制字符。ASCII模式使用的字符雖是RTU模式的兩倍,但ASCII數據的譯瑪和處理更為容易一些, 此外,用RTU模式時報文字符必須以連續數據流的形式傳送,用ASCII模式,字符之間可產生長達1s的間隔,以適應速度較快的機器。表4給出了以RTU 方式讀取整數據的例子
      以RTU方式讀取整數據的例子
      以RTU方式讀取整數據的例子 

      (2)Modbus的數據校驗方式
      CRC-16(循環冗余錯誤校驗)
            CRC-16錯誤校驗程序如下:報文(此處只涉及數據位,不指起始位、停止位和任選的奇偶校驗位)被看作是一個連續的二進制,其最高有效位(MSB)首選 發送。報文先與X↑16相乘(左移16位),然后看X↑16+X↑15+X↑2+1除,X↑16+X↑15+X↑2+1可以表示為二進制數 11000000000000101。整數商位忽略不記,16位余數加入該報文(MSB先發送),成為2個CRC校驗字節。余數中的1全部初始化,以免所 有的零成為一條報文被接收。經上述處理而含有CRC字節的報文,若無錯誤,到接收設備后再被同一多項式(X↑16+X↑15+X↑2+1)除,會得到一個 零余數(接收設備核驗這個CRC字節,并將其與被傳送的CRC比較)。全部運算以2為模(無進位)。
            習慣于成串發送數據的設備會首選送出字符的最右位(LSB-最低有效位)。而在生成CRC情況下,發送首位應是被除數的最高有效位MSB。由于在運算中不 用進位,為便于操作起見,計算CRC時設MSB在最右位。生成多項式的位序也必須反過來,以保持一致。多項式的MSB略去不記,因其只對商有影響而不影響 余數。
      生成CRC-16校驗字節的步驟如下:
      ①裝如一個16位寄存器,所有數位均為1。
      ②該16位寄存器的高位字節與開始8位字節進行“異或”運算。運算結果放入這個16位寄存器。
      ③把這個16寄存器向右移一位。
      ④若向右(標記位)移出的數位是1,則生成多項式1010000000000001和這個寄存器進行“異或”運算;若向右移出的數位是0,則返回③。
      ⑤重復③和④,直至移出8位。
      ⑥另外8位與該十六位寄存器進行“異或”運算。
      ⑦重復③~⑥,直至該報文所有字節均與16位寄存器進行“異或”運算,并移位8次。
      ⑧這個16位寄存器的內容即2字節CRC錯誤校驗,被加到報文的最高有效位。
            另外,在某些非ModBus通信協議中也經常使用CRC16作為校驗手段,而且產生了一些CRC16的變種,他們是使用CRC16多項式X↑16+ X↑15+X↑2+1,單首次裝入的16位寄存器為0000;使用CRC16的反序X↑16+X↑14+X↑1+1,首次裝入寄存器值為0000或 FFFFH。
      LRC(縱向冗余錯誤校驗)
            LRC錯誤校驗用于ASCII模式。這個錯誤校驗是一個8位二進制數,可作為2個ASCII十六進制字節傳送。把十六進制字符轉換成二進制,加上無循環進 位的二進制字符和二進制補碼結果生成LRC錯誤校驗(參見圖)。這個LRC在接收設備進行核驗,并與被傳送的LRC進行比較,冒號(:)、回車符號 (CR)、換行字符(LF)和置入的其他任何非ASCII十六進制字符在運算時忽略不計。
      表5 LRC生成范例--讀取02號從機的前8個線圈
      LRC生成范例--讀取02號從機的前8個線圈 

      Tags:功能碼,modbus  
      責任編輯:admin
      請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
      1分 2分 3分 4分 5分

      還可以輸入 200 個字
      [ 查看全部 ] 網友評論
      推薦文章
      最新推薦
      關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 成人综合在线视频| 中文网丁香综合网| 国产成人久久综合热| 亚洲国产一成久久精品国产成人综合 | 91综合久久婷婷久久| 亚洲综合欧美色五月俺也去 | 婷婷综合激情五月中文字幕| 国产91久久综合| 一本色道久久88加勒比—综合| 亚洲国产欧美国产综合一区| 六月丁香婷婷综合| 99久久国产综合精品五月天| 狠狠亚洲婷婷综合色香五月排名 | 亚洲婷婷天堂在线综合| 国产精品综合久成人| 亚洲狠狠成人综合网| 亚洲综合无码一区二区| 久久婷婷色综合一区二区| 伊人yinren6综合网色狠狠| 综合在线视频精品专区| 一本久到久久亚洲综合| 色欲久久久久久综合网精品| 亚洲国产综合精品中文第一| 亚洲AV综合色区无码另类小说| 久久久综合香蕉尹人综合网| 亚洲狠狠爱综合影院婷婷 | 亚洲七久久之综合七久久| 久久综合狠狠综合久久| 亚洲国产成人久久综合一| 久久久久一级精品亚洲国产成人综合AV区 | 久久久综合亚洲色一区二区三区 | 色狠狠色狠狠综合一区| 国产亚洲综合色就色| 综合国产精品第一页| 国产综合亚洲专区在线| 亚洲精品综合久久| 婷婷色香五月综合激激情| 色综合久久精品中文字幕首页| 伊人色综合久久天天五月婷| 色悠久久久久久久综合网| 狠狠色噜噜狠狠狠狠色综合久AV|