關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 現場總線的開關量I/O模塊的設計:MODBUS 現場總線技術

        現場總線的開關量I/O模塊的設計:MODBUS 現場總線技術

        作者: 時間:2013-05-27 來源:網絡 收藏

        2.4 應用層協議

        2.4.1 功能碼

        功能碼是MODBUS請求/應答PDU(Protocol Description Unit)的元素。PDU中用一個字節編碼MODBUS功能碼域,有效的碼字范圍是十進制1~255,其中128~255為異常相應保留。MODBUS定義了三類功能碼:

        (1)公共功能碼:由Modbus.org確認的,被確切定義并保證唯一的功能碼。此類功能碼在MBIETFRFC中歸檔,可進行一致性測試。

        (2)用戶定義的功能碼:十進制區間65~72和100~110為用戶可自定義的功能碼。在此區間內,用戶無需Modbus組織的任何批準就可以選擇和實現一個功能碼,但不能保證被選功能碼的使用是唯一的。用戶可啟動RFC將改變引入公共分類中,并且指配一個新的功能碼。

        (3 )保留功能碼:某些公司在傳統產品上使用的功能碼,不作為公共使用。已定義的Modbus公共功能碼按其功能可分為數據訪問類和異常響應及診斷類兩部分。數據訪問類功能碼實現對輸入離散量、線圈的位訪問,對寄存器、FIFO隊列的16位訪問以及對文件記錄的讀寫。診斷類功能碼提供了讀異常狀態、設備標識等功能。表2.5給出了Modbus公共功能碼的定義。

        2.4.2 MODBUS異常響應

        當客戶機設備向服務器設備發送請求時,主站的詢問可能導致下列四種事件:

        (1)服務器設備接收到無通信錯誤的請求,并且可以正常地處理詢問,那么服務器設備將返回一個正常的響應。

        (2)由于通訊錯誤,服務器沒有接收到請求,那么不能返回響應。客戶機程序將視之為超時。

        (3)服務器接收到請求,但是檢測到一個通信錯誤(奇偶檢驗、LRC、CRC等),那么不能返回響應。客戶機程序將視之為超時。

        (4)服務器接收到無通信錯誤的請求,但不能處理這個請求(例如,請求讀一個不存在的寄存器),服務器將返回一個異常響應,通知客戶機錯誤的實際情況。

        異常響應報文時通過功能碼域和數據域區別于正常響應。對于功能碼域,正常響應的服務器復制原始請求的功能碼,即所有功能碼的MSB都為0;異常響應的服務器設置功能碼的MSB為1,即使得異常響應中的功能碼值比正常響應中的功能碼值高80H.對于數據域,正常響應的服務器將返回請求中要求的信息;異常響應的服務器返回異常碼。客戶機通過響應報文中功能碼的MSB識別異常響應,并能夠檢測數據域中的異常碼。表2 .6給出了Modbus異常碼及其含義。

        Modbus異常碼及其含義

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 舒兰市| 南部县| 博爱县| 东明县| 庆安县| 吴堡县| 衡南县| 棋牌| 加查县| 丹东市| 通山县| 图木舒克市| 县级市| 卓资县| 满洲里市| 龙岩市| 穆棱市| 阳泉市| 原平市| 陵水| 通渭县| 都江堰市| 双江| 玛曲县| 台前县| 龙口市| 泾源县| 南宁市| 望奎县| 石渠县| 石狮市| 彝良县| 商水县| 定兴县| 京山县| 平塘县| 图木舒克市| 灵山县| 梓潼县| 陕西省| 静乐县|