目前,國內(nèi)煤礦監(jiān)測系統(tǒng)種類繁多,其監(jiān)測的主要目標為瓦斯、一氧化碳和溫度等。礦井頂板監(jiān)測具有測點多、跨距大等特點。因此,國內(nèi)礦井頂板監(jiān)測的設備主要為獨立的監(jiān)測儀表,費時、費力,無法完成煤礦巷道頂板的在線多點監(jiān)測。
本文針對礦井頂板監(jiān)測的不足,采用Mobus RTU協(xié)議和RS485 總線設計了頂板監(jiān)測系統(tǒng),實現(xiàn)了礦井頂板網(wǎng)絡監(jiān)測,從一定程度上提高了礦井頂板監(jiān)測的自動化水平。
Modbus網(wǎng)絡屬于一種主從網(wǎng)絡,允許一個主機和一個或多個從機通信。通信采用命令/ 應答方式。命令幀由主機發(fā)出,從機以應答幀的方式響應主機。每個從機都有一個唯一的地址,主機通過從機地址與從機進行數(shù)據(jù)通訊。 Modbus協(xié)議有兩種傳輸模式,其分別為ASCII模式和RTU模式。在ASCII模式的消息中,每8 Bit字節(jié)都作為兩個ASCII字符發(fā)送;在RTU模式的消息中,每8 Bit 字節(jié)包含兩個4 Bit 的l6 進制字符。RTU模式中,1 字節(jié)的信息作為一個8位字符被發(fā)送, 而在ASCII模式中則作為兩個ASCII字符被發(fā)送。因此,相同波特率,RTU 模式比ASCII模式可以傳送更多的數(shù)據(jù),字符的密度也更高。就本監(jiān)測系統(tǒng)而言,其監(jiān)測點多、傳輸數(shù)據(jù)量大。因此,本系統(tǒng)選用RTU模式作為系統(tǒng)數(shù)據(jù)通訊模式,消息結構如表1 所示。
開始 | 地址域 | 功能域 | 數(shù)據(jù)域 | CRC校驗 | 結束 |
T1-T2-T3-T4 | 8位 | 8位 | n個8位 | 16位 | T1-T2-T3-T4 |
對于主機,消息發(fā)送至少要以3.5個字符時間的停頓間隔開始,如表1 的T1-T2-T3-T4所示。當從機接收到第一字節(jié)接后判斷是否發(fā)往自己的。在最后一個傳輸字符之后,又一個至少3.5個字符時間的停頓標定了一幀消息結束。此時,從機對收到消息的地址、功能碼、數(shù)據(jù)段進行CRC校驗。倘若校驗結果與消息包含的CRC校驗吻合,則表示通信正常,否則返回錯誤代碼,表示幀通訊存在錯誤,通知主機重發(fā)命令幀。同時,整個報文幀必須以連續(xù)的字符流發(fā)送,幀內(nèi)2個字符之間的間隔小于1.5個字符時間 。
礦井頂板監(jiān)測系統(tǒng)由1 個主機和30個從機組成,其網(wǎng)絡結構如圖1 所示。主、從機之間的物理層為RS-485總線。主機可以對總線上的任一從機發(fā)送查詢和控制命令。主機、從機之間采用Modbus RTU通訊協(xié)議。
從機硬件框圖如圖2 所示,主要由AT89C52單片機、數(shù)據(jù)采集、LCD 顯示和通信及電源模塊等組成。頂板下沉傳感器經(jīng)A/D模塊與單片機連接,單片機將采集的數(shù)據(jù)處理后與頂板安全預警閾值比較、判斷,并依據(jù)比較的結果是否聲光報警。通訊波特率、傳輸格式以及從機ID均可通過鍵盤設置。主機硬件除了將從機數(shù)據(jù)采集模塊換成海量存儲模塊外,其它與從機結構基本相。
通訊硬件原理圖如圖3 所示。單片機TXD和RXD經(jīng)由MAX485的RO和DI與RS485 總線進行數(shù)據(jù)交換;通過P1.6 和P1.7 控制MAX485 的DE和/RE ,從而控制數(shù)據(jù)接收與發(fā)送。
主機通信程序如圖4 所示,從機通信程序如圖5 所示。主機、從機接收和發(fā)送均采用中斷方式。主機首先進行總線通信故障測試,如測試正確則根據(jù)RTU協(xié)議幀的格式給分機發(fā)送消息。當從機收到消息后,首先判斷消息中的地址是否與本機相符,如相符則繼續(xù)下面的處理,否則拋棄該消息,繼續(xù)執(zhí)行其它應用程序。從機在地址校驗正確后進行CRC 校驗,如果校驗錯則生成錯誤代碼80H 返回,并請求主機重發(fā)消息;如果校驗正確,繼續(xù)判斷消息中的功能碼是否可以被執(zhí)行,是則執(zhí)行這個功能,返回處理結果。否則返回錯誤代碼81H ,通知主機功能碼無效。
主機發(fā)送完消息后等待從機返回消息。主機收到從機返回的消息幀后,首先進行CRC校驗,如果校驗錯,則向從機發(fā)送命令請求。如果校驗正確,則對功能碼進行判斷并做相應處理。處理方式有出錯處理和正常處理。出錯處理是主機依據(jù)不同的錯誤代碼做出相應的處理;正常處理為主機對收到的數(shù)據(jù)作進一步處理。
五、在RTU協(xié)議模式下,前后幀之間停頓時間間隔必須大于等于3.5個字符時間、幀內(nèi)兩個字符之間最大時間間隔小于等于1.5個字符時間。本監(jiān)測系統(tǒng)采用AT89C52的一個定時器計算起始字符時間, 定時器設置為0.5個字符時間,同時設置2 個變量作為字符時間計數(shù)器。在定時器中斷程序中, 分別將2 個變量a 和b 不斷累加并判斷其是否達到7 和3 ,并在該定時器中斷服務程序中設定幀結束標志。如果a 大于3 或b 小于7則說明幀接收不完整,則發(fā)送錯誤代碼82H 。
在實驗室中,利用Modbus調(diào)試軟件分別對主機和分機進行了性能測試,測試波特率選取9600 。主機讀取分機(功能碼為03H )測試結果如圖6 所示。最后,本系統(tǒng)進行了實驗室和工業(yè)現(xiàn)場測試,測試結果表明系統(tǒng)各項性能指標達到了設計要求。
經(jīng)過現(xiàn)場測試表明,礦井頂板監(jiān)測系統(tǒng)采用Modbus RTU協(xié)議可靠的實現(xiàn)了監(jiān)測分機與總機之間的數(shù)據(jù)通信以及30個頂板監(jiān)測點的在線監(jiān)測,滿足了煤礦井下工作現(xiàn)場實際運行要求。由于目前國內(nèi)煤礦監(jiān)測監(jiān)控系統(tǒng)大部分采用標準的Modbus RTU協(xié)議,使得監(jiān)測分機很方便與國內(nèi)的監(jiān)測監(jiān)控系統(tǒng)聯(lián)網(wǎng),因而具有很好的使用前景。
來自:百度文庫