基于PLC的Modbus通信協(xié)議的實現(xiàn)
隨著3C 技術(shù)迅速發(fā)展, 網(wǎng)絡(luò)集成信息自動化正迅速應(yīng)用到現(xiàn)場設(shè)備、控制中, 現(xiàn)場總線控制系統(tǒng)正逐步取代傳統(tǒng)的集散控制系統(tǒng), 其中Modbus 現(xiàn)場總線協(xié)議在基于PLC 的控制系統(tǒng)中得到了越來越廣泛的應(yīng)用. 在本系統(tǒng)中, 以PLC 為主機、溫度采集模塊為從機, 完成對生產(chǎn)過程的自動控制、工業(yè)流程及工藝參數(shù)的顯示、修改, 根據(jù)PLC 的無協(xié)議通信功能, 用Modbus 現(xiàn)場總線協(xié)議實現(xiàn)主機與從機的通訊。
本文引用地址:http://m.butianyuan.cn/article/155657.htm本文基于某監(jiān)控系統(tǒng)的設(shè)計, 實現(xiàn)了三菱FX2N 系列PLC 在無協(xié)議通信方式下與DS18b20型數(shù)字溫度傳感器的采集模塊以Mo dbus 協(xié)議通信, 在電爐熔化工作過程中, 對電爐、電容、冷卻水等100 多點的溫度實現(xiàn)巡檢。
1 系統(tǒng)硬件組成
溫度監(jiān)控部分系統(tǒng)的硬件由DS18b20 型數(shù)字溫度傳感器、采集模塊、FX2N 系列PLC、FX2N-485-BD、HITECH 觸摸屏組成, 其結(jié)構(gòu)如圖1 所示。
圖1 系統(tǒng)硬件組成
DS18b20 是世界上首個支持單線總線接口( 1w ire bus inter face) 的數(shù)字化溫度傳感器, 單總線接口便于構(gòu)建分布式的溫度測控網(wǎng)絡(luò), 數(shù)字化的輸出提高了信號傳輸?shù)目煽啃? 而且使外圍電路大為簡化。 DS18b20 具有很高的適應(yīng)性和性價比, 其測溫范圍為- 55~ 125 ℃ , 測溫精度為±0. 5℃ , 測溫距離最大為200 m , 測溫方式使用3 線制, 本系統(tǒng)使用的傳感器排序方式為指定排序。
DS18b20 內(nèi)部主要有3 個數(shù)字部件: 1 個溫度傳感器、1 個64 位的激光刻蝕ROM、9 字節(jié)高速暫存器Scratchpad RAM 和3 字節(jié)EERAM. ROM 上64 位數(shù)據(jù)是傳感器的序列號。暫存器確保數(shù)據(jù)的完整性, 數(shù)據(jù)先被寫入暫存器, 并可以被讀回. 數(shù)據(jù)經(jīng)校驗后, 可以由拷貝暫存器命令傳輸?shù)紼ERAM, 以確保更改存儲器時數(shù)據(jù)的完整性。暫存器為9 個字節(jié), 第0 和第1 字節(jié)是溫度編碼的低字節(jié)和高字節(jié).
第2 和第3 字節(jié)是溫度編碼的低字節(jié)和高字節(jié)的拷貝, 第4 字節(jié)是配置寄存器, 其值決定溫度轉(zhuǎn)換的分辨率。
本系統(tǒng)采用的STA-D 溫度采集模塊, 是一種遠程數(shù)字化溫度采集系統(tǒng), 有10 個通道, 每個通道最多可以掛接16 個DS18b20 型數(shù)字溫度傳感器,總共可以監(jiān)控160 個點的溫度, 以RS485 方式同上位機通訊, 通信協(xié)議為標準Modbus 協(xié)議, 波特率為9 600 bps, 與上位機通信距離最大為1 200 m, 工作電源為12 ~ 24 V, 工作溫度為- 20 ~ 75 ℃。 與FX2N??485??BD 采用兩線制的485 連線方式( 圖2) ,接線要使用規(guī)范的屏蔽線。
圖2 485 連接圖
臺灣HITECH 公司觸摸屏PWS 系列是專為PLC 設(shè)計的互動式工作站, 用232 直接與PLC 連接, 可以直接讀取PLC 的數(shù)據(jù)寄存器, 具有良好的人機界面, 操作人員通過它可設(shè)置所有參數(shù), 控制系統(tǒng)自動運行。并且編程簡便, 運行穩(wěn)定, 可設(shè)置不同的管理權(quán)限, 適合于本系統(tǒng)使用。
2 Modbus 協(xié)議
標準的Modbus 口是使用RS??232C 兼容串行接口, 它定義了連接口的針腳、電纜、信號位、傳輸波特率、奇偶校驗, 控制器能直接或經(jīng)由Mo dem 組網(wǎng). 控制器通信使用主! 從技術(shù), 即僅一設(shè)備( 主設(shè)備) 能初始化傳輸( 查詢) , 其它設(shè)備( 從設(shè)備) 根據(jù)主設(shè)備查詢提供的數(shù)據(jù)作出相應(yīng)反應(yīng)。
表1 Modbus 部分功能碼定義
Modbus 通訊協(xié)議有兩種傳送方式? RT U 方式和ASCII 方式。 本系統(tǒng)使用RTU 模式, 這種方式的主要優(yōu)點是: 在同樣的波特率下, 可比ASCII 方式傳送更多的數(shù)據(jù)。
使用RTU 模式時, 消息發(fā)送至少要以3. 5 個字符時間的停頓間隔開始, 如圖3 的T1- T 2- T 3- T 4 所示。 傳輸?shù)牡谝粋€域是設(shè)備地址, 可以使用的傳輸字符是十六進制數(shù)值。 通信期間, 網(wǎng)絡(luò)設(shè)備不斷偵測網(wǎng)絡(luò)總線, 包括停頓間隔時間內(nèi), 當?shù)谝粋€域( 地址域) 接收到, 每個設(shè)備都進行解碼以判斷是否發(fā)往自己的。 在最后一個傳輸字符之后, 至少要有3. 5 個字符時間的停頓以標定消息的結(jié)束, 之后可開始新的消息傳輸。典型的消息幀如圖3 所示。 使用RT U 模式, 消息包括了一個基于CRC 方法的錯誤檢測域. CRC 域檢測了整個消息的內(nèi)容。
圖3 M odbus 消息幀結(jié)構(gòu)
CRC 域是兩個字節(jié), 包含一個16 位的二進制值。它由傳輸設(shè)備計算后加入到消息中。 接收設(shè)備重新計算收到消息的CRC, 并與接收到的CRC 域中的值比較, 如果兩值不同, 則有誤, 后面將具體講述CRC 算法的實現(xiàn)。
通信相關(guān)文章:通信原理
評論