馬松波
(平頂山中選自控系統有限公司,河南 平頂山 467000)
近年來,許多選煤廠為了提高安全生產水平,都在重要的生產廠區安裝監控系統,實現了對現場的實時錄像,并能夠進行網絡傳輸和遠程監視,從而可以及時發現并處理現場異常工作狀況,盡早消除隱患。但在實際使用過程中,這種視頻監控只能簡單地進行遠程錄像,且需要有專職人員值守,監視生產現場的狀況,根據監控對現場狀況進行人為判定。這種長時間監視工作很容易使工作人員忽視現場工況,從而容易導致事故的發生。由于現場設備、攝像機較多,給人工監視造成了更大的困難,因此,設計一種能夠自動判別工作現場狀況的智能監控系統是非常必要的。本文以某煤礦選煤廠為實際應用背景,對選煤廠現有的視頻監控系統進行改造,設計了一套選煤廠智能視頻監控系統。該系統通過引入機器視覺智能技術,可自主對人員進入不安全區域等事故進行報警,停止區域內設備運行,保證人員安全,并將視頻畫面切換至大屏幕,從而實現智能監控的目的[1-3]。
該系統部署框圖如圖1所示,主要由視頻服務器、視頻矩陣、攝像頭、大屏顯示器、PLC控制器等組成。各設備的主要功能如下:

圖1 系統部署框圖
(1)視頻服務器是智能視頻監控程序運行的載體,其性能決定了智能視頻應用程序處理數據的快慢。服務器中的智能視頻監控程序實時監聽視頻矩陣,并通過視頻矩陣獲取攝像機的分析結果,對分析結果進行評估,從而形成決策,并將其傳送給PLC控制器,由PLC控制器執行。
(2)視頻矩陣是將視頻圖像從任意一個輸入通道切換到任意一個輸出通道顯示。一般來講,一個M×N矩陣表示可以同時支持M路圖像輸入和N路圖像輸出,即任意一個輸入和輸出。在該系統中,視頻矩陣主要功能:獲取攝像機的分析結果,并將結果傳送給服務器;切換報警畫面。
(3)攝像頭的主要功能是對指定區間進行實時監控,實時對圖像內容進行分析,并將結果傳送給視頻矩陣。
(4)大屏顯示器的主要功能是顯示報警畫面。
(5)PLC控制器的主要功能是執行智能視頻監控程序傳送的決策。
該系統主要實現攝像機的智能分析與PLC控制器的聯動功能。通過攝像機對選煤廠大型設備進行布防,當設備處于運行狀態時,攝像機捕捉到有人或物跨入危險區域時,攝像機將分析結果傳送給視頻矩陣,視頻矩陣將結果傳送給智能視頻監控系統,智能視頻監控程序對傳送過來的結果進行評估,形成決策,并將該決策通過KEPServer傳送給PLC控制器,由PLC控制器執行該決策,同時智能視頻監控攝像機監控程序控制視頻矩陣將該畫面切到大屏顯示器上。
該方案中,使用的攝像機為海康攝像機,PLC控制器程序使用的是羅克韋爾自動化有限公司的logix5000[4]開發平臺。該智能視頻監控程序是在.net框架下,使用C#語言進行開發的,開發工具使用Visual Studio。在開發中,采用海康的SDK開發包及OPC的動態鏈接庫。
軟件架構如圖2所示。整套系統分為兩部分:智能視頻監控程序與PLC控制程序。智能視頻監控程序底層為SDK開發包、OPC動態鏈接庫;中間層為行為智能識別模塊、視頻上墻模塊、OPC通信模塊,智能識別模塊、視頻上墻模塊是基于海康SDK開發包開發的,OPC通信模塊是基于OPC動態鏈接庫開發的;上層為人機交互層,用來展示視頻分析結果及視頻畫面。PLC控制程序由PLC變量及程序組成,智能視頻監控程序通過改變PLC變量來控制設備。智能視頻監控程序與PLC控制程序之間通過KEPServer進行通信。KEPServer是一個OPC服務程序,內含多種通信協議,可實現OPC到PLC控制程序的通信。

圖2 軟件架構示意
2.2.1 行為識別模塊設計
行為智能識別模塊的主要功能是獲取視頻監控中的行為特征,對這些行為特征進行評估,形成決策,并將決策通過OPC通信模塊發送到PLC控制器。在這個過程需要創建一個回調函數[5],即通過函數指針調用的函數。需要把函數的指針(地址)作為參數傳遞給調用者,而這個指針所指向的函數,即為回調函數。回調函數不是由調用者直接調用,而是在特定的事件或條件發生時,由另外的一方調用,用于對該事件或條件進行響應。在該系統中,只有在行為識別模塊識別到特定的人員行為時(例如越界行為)才會調用回掉函數。
在行為智能識別模塊設計中,訪問視頻矩陣、安全邊界設置、監聽視頻矩陣、獲取圖像分析結果并觸發回調等功能都封裝在海康SDK二次開發包中,只需要在程序中調用即可。而回調函數則需要自己設計編寫。回調函數包含視頻分析結果評估功能、形成決策以及將決策傳送給PLC控制器等功能。當有人跨過安全邊界時,視頻矩陣會收到攝像機發出的越界入侵的報警信號,觸發回調函數,回調函數會獲取產生報警的攝像機信息,進而獲取該攝像機監視的設備信息,然后對設備對人身的危害性進行一個評估。如果危險性較小,則在人機交互界面彈出越界入侵畫面,由集控操作人員確定是否對該設備停機;如果危險性較大,則通過PLC控制器直接關停該設備,從而保護人身安全。
獲取行為分析流程如圖3。NET_DVR_SetDVRMessageCallBack_V30為回調函數的入口,將回調函數的地址作為參數傳入該函數中,當攝像機啟動行為分析,并捕捉到已定義的行為時,會通過NET_DVR_SetDVRMessageCallBack_V30調用回調函數,執行回調函數中定義的對策。
因為海康SDK開發包由非托管代碼生成,要使用上述海康SDK中的函數,需要在程序中對這些函數進行聲明[6]。聲明格式如下:

圖3 獲取行為分析結果及執行對策流程示意
[DllImport(“HCNetSDK.dll”)]
public static extern bool NET_DVR_SetDVRMessageCallBack_V30(MSG Call Backf Message Call Back,Int Ptrp User);
通過這個過程,實現了在人員跨入危險區域時,產生越界入侵信號,對越界入侵的危險性進行評估,并生成決策。
2.2.2 監控畫面上墻
在選煤廠中,攝像頭的數量遠遠大于集控室中電視屏的數量,因此,不是所有的攝像頭傳來的圖像都能顯示在電視屏上。當攝像頭分析出現人員的不安全行為時,為了使集控操作員更清楚了解現場情況,將人員不安全行為的畫面投放到大屏顯示器上,可更好地幫助監控人員進行決策。該功能也是在回調函數中實現的,通過程序控制視頻矩陣,將越界入侵畫面投放到大屏上。監控畫面上墻流程如圖4所示,其中,NET_DVR_RemoteControl函數用來實現將越界入侵畫圖投放到大屏上。

圖4 監控畫面上墻流程示意
2.2.3 視頻分析與PLC通信
OPC全稱是Object Linking and Embedding(OLE) for Process Control,它的出現為基于Windows的應用程序和現場過程控制應用建立了橋梁。OPC標準以微軟公司的OLE技術為基礎,通過提供一套標準的OLE/COM接口實現,從而使得支持OPC協議的設備之間可以進行數據交換。通過OPC技術,應用程序可與OPC服務器軟件之間進行通信[7]。
KEPServer是一款OPC服務器軟件,實現了OPC標準接口,應用程序可以通過KEPServer和PLC控制設備進行通訊,從而實現應用程序與控制設備間的通信[8]。
(1)通過配置KEPServer,實現KEPServer到PLC控制器之間的通信。主要的配置項如下:① 選擇通信協議;② 設置要進行通信的PLC控制器IP地址;③ 建立KEPServer變量與PLC地址的映射關系。
(2)開發OPC通信模塊,實現與KEPServer的通信。過程如下:① 聲明對象;② 創建OPC Server的連接;③ 創建OPC組對象并初始化設置;④ 獲取組的OPCItems對象,為讀取數據做準備;⑤ OPCItem的操作;⑥ 退出程序的資源釋放。
OPC通信模塊工作流程如圖5所示。
在開發OPC通信模塊時,使用了OPC動態鏈接庫OPCDAAuto.dll[9],該動態鏈接庫是基于委托代碼生成,只需要將其添加到項目引用中,而不需要單獨進行聲明。
2.2.4 視頻智能分析與PLC控制器聯動
在PLC控制程序[10]中,用到“常開點”、“常閉點”、“線圈”等功能塊。“常開點”含義為初始狀態為“開路”,“常閉點”初始狀態為“閉路”,當一條線上的點的狀態都為閉合時,“線圈”則控制接觸器吸合,從而啟動設備。圖5中,“單起”、“正轉運行信號”是“常開點”,“入侵報警”是“常閉點”,“起車”是“線圈”。PLC控制程序控制設備起車過程如圖6所示。

圖5 OPC通信模塊示意

圖6 PLC控制程序示意
當按下起車按鈕時,“單起”由初始狀態的“開路”變為“閉路”,線1上點的狀態都為閉合,“起車”控制接觸器吸合,設備啟車。啟車后設備產生一個運行信號,“正轉運行信號”由初始狀態的“開路”變為“閉路”。松開起車按鈕,“單起”由“閉路”變為“開路”,但這時的“正轉運行信號”為“閉路”,“入侵報警”未接到報警,所以“入侵報警”仍然維持初始狀態“閉路”,因此線2上點的狀態都為閉合,“起車”仍然控制接觸器吸合,設備處在運行狀態。當PLC控制程序收到入侵報警后,“入侵報警”由初始狀態“閉路”變為“開路”,此時線1和線2的點都處在非全部閉合,“起車”使接觸器斷開,設備停車,“正轉運行信號”恢復初始狀態“開路”,從而實現“視頻智能入侵分析”與“設備停車”聯動。當入侵報警解除后,需重新按下“起車”按鈕,設備才能啟動。該程序編譯好后,需要寫入PLC控制器中。
該系統在某煤礦選煤廠進行了試運行,當工人從生產設備安全邊界跨過去時,攝像機會對人員的行為進行分析,當結果為越界入侵危險區域時,程序會向PLC控制器發送設備停機信號,并在人機交互界面右上角顯示出越界入侵的報警信息,并將越界入侵的視頻畫面顯示到大屏上。在試運行中,人一旦跨過安全邊界,設備即停止運行。智能視頻監控系統彌補了傳統視頻監控只監視不控制的缺點,而且相比操作人員通過視頻畫面分析員工的不安全行為,智能視頻在分析員工不安全行為的準確率方面更高、用時更短。在試運行時,為了安全,設置的安全邊界線距離膠帶較遠,在實際應用中,安全邊界應根據實際情況設置,距離設備較遠時,會造成過多的誤報警。

圖7 應用效果示意
隨著視頻分析技術的飛速發展,選煤廠利用攝像機自動圖形分析功能,結合OPC通信技術,實現了監控系統智能判斷與控制系統聯動的功能。監控系統的智能判斷準確率較高,且監控系統智能判斷與控制系統聯動將會大大提高選煤廠的生產安全性。