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