日本欧美一区-日本欧美一区二区三区片-日本强好片久久久久久AAA-日本-区一区二区三区A片-日本人伦一区二区三区-日本人妻A片成人免费看

電子開發網

電子開發網電子設計 | 電子開發網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
  • 上一篇文章:
  • 下一篇文章: 沒有了
  • 相關文章列表
    西門子SMART PLC的Modbus RTU通信功能,主從站通訊MBUS_CTRL和MB
    西門子S7-200SMART PLC Modbus讀取D800通用測力儀的數據梯形圖實
    帶你聊透Modbus通信協議
    工業智能網關 采集 協議轉換 控制
    解讀Modbus和tcp的區別和聯系_Modbus RTU和TCP/IP區別
    兩臺plc的主從站通訊_西門子200SMART Modbus RTU通訊實例
    西門子S7-200SMART PLC的MODBUS TCP通信 STEP 7-MicroWIN SMART
    【組態王】組態王通過串口與MODBUS RTU設備通訊  COM口設置
    西門子200smartPLC 通過Modbus讀取絕對值編碼器的數據
    西門子plc 和modbusRTU對應關系_西門子S7-200和S7-200SMART的mod
    Modbus RTU通信教程 STEP 7-MicroWIN SMART軟件 從站的配置及編程
    西門子PLCS7-200/S7-200SMART Modbus地址問題應用解析
    西門子S7-200SMART PLC使用modbus 讀取儀表數據
    西門子S7-200SMART兩臺PLC之間主從站,MODBUS主從站通信步驟設置
    西門子plc s7-200smart modbus-tcp通信實例編程詳細指導,STEP7軟
    Modbus功能碼04實例_20種PLC元件編號和Modbus編號地址對應表
    弱電工程RS485總線_RS485布線安裝注意事項_RS485常見的故障與解決
    PLC通信入門教程:通信從來都不難,就是幾個0和1
    MODBUS RTU/TCP協議及常用功能碼詳解
    Modbus超時時間設置,通訊延遲,通訊滯后問題與程序輪詢的關系
    變頻器采用Modbus通訊延遲,有什么因素導致變頻器給定頻率后很久
    Modbus 的RTU、ASCII、TCP傻傻搞不清楚?一文全解讀
    modbus協議實例講解,功能碼和報文詳解
    Modbus測試工具與控件介紹
    西門子PLC 200smartPLC與第三方進行Modbus TCP通訊
    MODBUS--變頻器\PLC\儀表連不上怎么辦?送最簡單的軟件搞定問題
    西門子plc Smart 200主從站之間RS485通訊實例_從站主站讀寫程序
    西門子plc之間的通訊_兩臺西門子S7-200 SMART PLC如何通過Modbus
    西門子S7-200 Smart plc的Modbus RTU庫通訊輪詢實例
    學習s7-200之間的Modbus通訊_兩個PLC互相通信,主站從站通訊
    請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
    1分 2分 3分 4分 5分

    還可以輸入 200 個字
    [ 查看全部 ] 網友評論
    推薦文章
    最新推薦
    關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
    返回頂部
    刷新頁面
    下到頁底
    晶體管查詢