張愛絨,謝斌紅,張英俊
(1.太原理工大學期刊中心,太原030024;2.太原科技大學計算機學院,太原030024)
隨著煤礦監(jiān)控系統(tǒng)從單一監(jiān)控功能向性能可靠、功能強大的網(wǎng)絡化、標準化、智能化的發(fā)展,要求各井下分站必須能相互配合,協(xié)同工作,同時也要求各分站與井上監(jiān)控中心交互數(shù)據(jù),以保證連續(xù)生產(chǎn),實現(xiàn)全局的監(jiān)控和優(yōu)化。而目前,由于不同的監(jiān)控系統(tǒng)相互獨立,兼容性差,且網(wǎng)絡化的監(jiān)控系統(tǒng)采用了不同的通信技術和信息交換標準,難以做到信息共享和統(tǒng)一管理,容易形成“信息孤島”[1]。此外,現(xiàn)用井下分站大多采用不同的開發(fā)平臺、由不同的廠家開發(fā),彼此之間形成了由不同通信協(xié)議和通信接口組成的異構系統(tǒng)。針對上述問題,在對傳統(tǒng)方法分析研究的基礎上,提出了基于Modbus協(xié)議的煤礦安全監(jiān)控系統(tǒng)數(shù)據(jù)集成方案,井下分站采用Modbus標準通用協(xié)議實現(xiàn)數(shù)據(jù)實時通信,將異構設備接口通信歸一化,有效實現(xiàn)分站間相互操作和數(shù)據(jù)共享,解決了傳統(tǒng)方法在分站和協(xié)議較多時既繁瑣又效率低下的問題。
Modbus協(xié)議是1978年由Modicon公司制定的應用于電子控制器上的一種應用層報文傳輸協(xié)議,與底層的物理接口及電氣規(guī)范無關,支持傳統(tǒng)的RS-232/422/485設備和以太網(wǎng)設備等。從功能上看,可被認為是一種現(xiàn)場總線,不同廠家生產(chǎn)的控制器設備通過Modbus接口可以相互連成工業(yè)網(wǎng)絡,進行整個系統(tǒng)的集中監(jiān)控。通過此協(xié)議,控制器相互之間、控制器經(jīng)由網(wǎng)絡和其他設備之間可以進行通信,它的開放性使其逐步成為一種自動控制的通信協(xié)議標準[2]。
Modbus協(xié)議定義了一個控制器能識別和使用的報文結構,而不管它們通過何種網(wǎng)絡類型進行通信。該協(xié)議描述了控制器如何請求訪問其它設備,如何響應來自其它設備的請求,以及錯誤怎樣被檢測及報告的過程[3]。此外,Modbus協(xié)議采用Master-Slave技術,是一種應答方式的通信協(xié)議,將通信參與者規(guī)定為“主站(MASTER)”和“從站”(SLAVE),數(shù)據(jù)通信時,主站發(fā)出數(shù)據(jù)請求消息,從站接收到正確消息后就可以發(fā)送數(shù)據(jù)到主站以響應請求;主站亦可直接發(fā)消息修改從站的數(shù)據(jù),實現(xiàn)雙向讀寫。每個從站都有相應的地址編號,數(shù)量最多可達274個。它通過多達24種的總線命令實現(xiàn)主站和從站之間的信息交換,具有簡單、高效、可靠和容易實現(xiàn)等優(yōu)點。因為協(xié)議良好的適用性,已經(jīng)得到了眾多大公司的支持,都把它作為一種標準的通信接口提供給用戶,并且作為與主系統(tǒng)通信的主要途徑[4]。
系統(tǒng)的數(shù)據(jù)采集軟件主要由下位機驅(qū)動模塊、分站配置管理模塊以及數(shù)據(jù)采集模塊三部分組成,上位機與井下分站之間通過Modbus協(xié)議進行通信,其架構如圖1所示。其中,下位機驅(qū)動模塊的實現(xiàn)基于Modbus協(xié)議的開源NModbus庫,在此基礎上進行封裝和擴展,作為數(shù)據(jù)采集軟件的“基礎設施”,并以接口的方式為其它模塊提供服務;在下位機配置管理模塊中,針對目前監(jiān)控系統(tǒng)中的下位機存在配置不靈活、擴充性較差和不能很好適應系統(tǒng)環(huán)境和用戶需求變化等問題,利用XML文檔規(guī)范統(tǒng)一、互操作性強且與平臺無關等特點,把相關參數(shù)以XML文件進行描述,其中Slave.xml文件中保存了下位機的連接方式、速率、校驗方式、IP地址等信息;Register.xml文件中保存了各類傳感器的類型、閉鎖輸出通道、信號類型、量程、告警值、閉鎖值等參數(shù),并設計專用的輔助類(Helper)對下位機及其各種參數(shù)進行配置管理,使得系統(tǒng)具有較好的適應性、靈活性和可配置性;數(shù)據(jù)采集模塊以下位機驅(qū)動模塊為基礎,并與下位機配置管理模塊相互協(xié)作,通過Modbus協(xié)議與下位機通信,實現(xiàn)井下各種傳感器參數(shù)的實時采集,并對采集到數(shù)據(jù)進行相應處理和持久化。三個模塊都以動態(tài)連接庫(DLL)的形式發(fā)布,以此可節(jié)省系統(tǒng)資源,也有利于軟件部署和安裝。
圖1 數(shù)據(jù)采集軟件總體架構
井下分站電路結構如圖2所示,主要包括數(shù)據(jù)處理、通訊、模擬量采集、開關量輸入采集、開關量輸出采集、人機接口等六大電路模塊。在外部電器信號和處理器之間采用光電隔離的保護措施,確保了外部干擾不會影響CPU的正常數(shù)據(jù)流程,所有接口設計采用三級或以上的電磁兼容標準,大大提高了電路系統(tǒng)的抗干擾能力,確保分站能在復雜電磁環(huán)境下穩(wěn)定運行。以下分模塊闡述各部分電路系統(tǒng)設計:
1)分站選用ST公司的STR710FZ2T6微處理器作為核心數(shù)據(jù)處理單元,該處理器采用了ARM 7TDMI內(nèi)核結構,并在內(nèi)部集成了64KRAM、512KFlash、定時器及常見的通訊總線和多達64個GPIO口等。其豐富的片上外圍簡化了系統(tǒng)電路設計,使得分站電路結構更加簡潔穩(wěn)固。
2)系統(tǒng)在邏輯層面實現(xiàn)了 Modbus協(xié)議的ASCII、RTU和TCP等 3種傳輸模式,并提供了RS485、100BaseTX和 100BaseFX等多種通訊接口。其中RS485選用Maxim公司的MAX3485電平轉化芯片并與CPU之間采用高速光電隔離;以太網(wǎng)PH Y層采用DM9161;MAC層采用DM 9000連接于CPU的EMI總線接口上。PHY層和MAC層之間采用MII總線連接。
3)模擬量輸入信號為(200~1 000 Hz)方波,經(jīng)光電隔離后連接于CPU的外部中斷引腳上,由FirmWare實現(xiàn)頻率的采集。
4)開關量輸入和輸出采用光電隔離的方案連接于CPU的GPIO引腳,由FirmWare來實現(xiàn)輸入輸出控制邏輯。
5)電路系統(tǒng)采用按鍵作為信息輸入接口,采集用戶的輸入,并通過一塊12864點陣的單色LED屏把系統(tǒng)的設置信息和采集數(shù)據(jù)等顯示給用戶,這部分電路直接連接于CPU的GPIO口上,由 Firm-ware來實現(xiàn)按鍵的采集和數(shù)據(jù)的展示。
系統(tǒng)采用模塊化設計,既提高了電路系統(tǒng)的可靠性和可維護性,也給日后系統(tǒng)電路的功能擴展和故障檢修提供了方便。
圖2 井下分站硬件電路結構圖
根據(jù)分層模式的軟件體系結構和業(yè)務功能,數(shù)據(jù)采集模塊采用三層架構,包括表示層、業(yè)務層、數(shù)據(jù)訪問層,其架構如圖3所示。其中,表示層通過GUI技術提供用戶與系統(tǒng)的交互接口;業(yè)務邏輯層主要通過數(shù)據(jù)采集類中提供的方法完成了包括正常數(shù)據(jù)、告警數(shù)據(jù)、歷史數(shù)據(jù)、閉鎖四類數(shù)據(jù)的采集;數(shù)據(jù)訪問層把業(yè)務邏輯層采集的數(shù)據(jù)保存到后臺數(shù)據(jù)庫,并提供了相關數(shù)據(jù)的查詢、瀏覽等操作。三層架構降低了層與層之間的依賴關系,能夠保持各層邏輯上相對獨立性,從而使整個系統(tǒng)的邏輯結構更為清晰,提高系統(tǒng)和軟件的可維護性和可擴展性。
圖3 數(shù)據(jù)采集模塊架構
數(shù)據(jù)采集程序的流程如圖4所示,首先,從下位機配置文件Slave.xml中讀取所有下位機的連接信息,存放到SlaveList數(shù)組中;然后采用輪詢方法遍歷每一臺下位機,根據(jù)當前下位機的編號從Regis-ter.xml中獲取與該下位機連接的各傳感器參數(shù),并存放到PointList數(shù)組中;若當前待采集的下位機連接正常,則分別采集對應傳感器的正常數(shù)據(jù)、告警數(shù)據(jù)、閉鎖數(shù)據(jù)和歷史數(shù)據(jù)。同時,對采集過程中關鍵信息在日志文件中進行記錄。
圖4 數(shù)據(jù)采集程序流程圖
針對目前煤礦安全監(jiān)控系統(tǒng)中井下分站具有開發(fā)平臺異構、通信協(xié)議多樣性,以及存在著配置不靈活、擴充性較差和不能很好適應系統(tǒng)環(huán)境和用戶需求變化等問題,通過對Modbus協(xié)議特點和通信過程的分析,本文提出并實現(xiàn)了基于Modbus協(xié)議的煤礦安全監(jiān)控系統(tǒng)數(shù)據(jù)集成方案,設計了井下分站,編制了數(shù)采程序,研發(fā)的系統(tǒng)在某大型企業(yè)的應用達到了預期效果,但還是滿足不了用戶數(shù)據(jù)集成和共享快速發(fā)展的需求。通過統(tǒng)一接口,實現(xiàn)從工廠底層的設備信息到高層的企業(yè)決策信息都能有效集成的OPCUA產(chǎn)品的研發(fā)將是下一步研究工作的重點。
[1] 司馬莉萍,賀貴明,陳明榜.基于Modbus/TCP協(xié)議的工業(yè)控制通信[J].計算機應用,2005,25(12):29-31.
[2] 王念春.基于Modbus協(xié)議的PC與下位機PLC間的通信程序[J].自動化儀表,2001,22(8):44-46.
[3] 劉沛津,谷立臣.基于Modbus/TCP的火電廠實時數(shù)據(jù)集成及網(wǎng)絡通信控制器研制[J].電力自動化設備,2009,29(8):129.
[4] 盧文俊,冷杉,楊建軍.基于Modbus協(xié)議的控制器遠程監(jiān)控系統(tǒng)[J].電力自動化設備,2003,23(6):56-57.