欧美午夜欧美,台湾成人av,久久av一区,最近看过的日韩成人

電子開發(fā)網

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

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

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

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

  Modbus網絡只是一個主機,所有通信都由他發(fā)出。網絡可支持247個之多的遠程從屬控制器,但實際所支持的從機數要由所用通信設備決定。采用這個系 統,各PC可以和中心主機交換信息而不影響各PC執(zhí)行本身的控制任務。表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模式時報文字符必須以連續(xù)數據流的形式傳送,用ASCII模式,字符之間可產生長達1s的間隔,以適應速度較快的機器。表4給出了以RTU 方式讀取整數據的例子
以RTU方式讀取整數據的例子
以RTU方式讀取整數據的例子 

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

Tags:功能碼,modbus  
責任編輯:admin
相關文章列表
S7-200和組態(tài)王的連接,cpu226 PLC 與組態(tài)王如何連接
基于S7-200SMART實現Modbus TCP通信_200smart modbus tcp
三菱plc FX3U與三菱E800變頻器專用指令通信應用,IVDR指令和 IVCK
三菱PLC的modbus-rtu通訊實例_三菱小型PLC FX3U系列Modbus 通訊教
西門子200SMART與眾辰變頻器的MODBUS通信實例40001和十六進制的轉
西門子S7-200 smart通過modbus rtu 協議采集K37A數據項目案例
昆侖通態(tài)MCGS觸摸屏和西門子V20變頻器之間的MODBUS通訊
Modbus通信協議介紹以及Modbus Poll、Slave軟件使用介紹_modbus 
【工具教程】Modbus Slave使用教程
干貨 | Modscan32  Modsim32 Modbus協議調試分享_modbus調試
Modscan32軟件的使用 Modsim32
西門子plc控制英威騰變頻器實例,西門子200SMART的MODBUS通訊!
施耐德PM500電量表通過MODBUS協議與組態(tài)王通訊
組態(tài)軟件的無線485通訊實例,組態(tài)王modbus通訊實例
組態(tài)王和三菱plc 基于數傳電臺的組態(tài)王控制實現遠程采集控制器PL
KingView組態(tài)王與信捷PLC通訊解決方案 MODBUS通訊設置
KingView組態(tài)王通過modbus與第三方設備通訊,如何實現字節(jié)或字的
組態(tài)王modbus通信用法教程modbus-rtu、modbus-tcp莫迪康通信配置
KingView組態(tài)王如何獲取modbus TCP數據?_組態(tài)王數據轉發(fā)modbust
組態(tài)王連接ModbusTCP設備,利用Modbus Slave模擬從站設備
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
推薦文章
最新推薦
關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
主站蜘蛛池模板: 黑龙江省| 雷州市| 安平县| 峡江县| 曲阳县| 南溪县| 广饶县| 宝丰县| 左权县| 灵丘县| 鸡东县| 武乡县| 武宣县| 永吉县| 灌云县| 资源县| 共和县| 东山县| 通渭县| 晋宁县| 兰考县| 白银市| 孝感市| 龙州县| 凤台县| 醴陵市| 呼图壁县| 锦州市| 丹东市| 永寿县| 咸阳市| 青海省| 宁津县| 图木舒克市| 夏邑县| 柳河县| 缙云县| 垦利县| 张家港市| 和平区| 宜兰市|