曹靜 王衛(wèi)陣 邢海燕 黃金暉
摘要:在石化行業(yè)中,廣泛采用了自動化的生產裝置和設備,并通過自動化技術實現了對生產裝置及設備運行狀態(tài)的實時監(jiān)控。由自動化設備采集到的實時數據是大量的,其中通常含有一些“噪音”數據,從而在一定程度上影響了對設備運行狀態(tài)的判斷,并進一步影響了設備維護管理及使用效率。作者通過對實時數據的深入分析,重新定義了設備運行狀態(tài)的判別指標,利用PHD數據庫及其接口進行了二次開發(fā),提高了對裝置及設備實時監(jiān)測的準確性和可靠性。
關鍵詞:設備狀態(tài);實時數據;采集;監(jiān)測
1引言
隨著MES系統(tǒng)(Manufacturing Execution System,生產運行系統(tǒng))在石化行業(yè)應用的成熟,其在生產過程中發(fā)揮的管理作用日益顯現。為確保企業(yè)主要生產設備以最佳狀態(tài)、長時期地實現安全可靠運行,可以通過運用關鍵設備狀態(tài)監(jiān)測技術,對企業(yè)重要機泵設備實施運行狀態(tài)監(jiān)測,實時了解掌握機泵運行狀態(tài),以提升企業(yè)設備管理水平。
關鍵設備狀態(tài)監(jiān)測系統(tǒng)是利用DCS系統(tǒng)(Distributed Control System,離散控制系統(tǒng))中現有的對重要機泵的狀態(tài)進行自動監(jiān)測、判斷和存儲的數據信息,通過企業(yè)MES系統(tǒng)中PHD(Process History Database)實時數據庫采集到的DCS系統(tǒng)的實時數據,實現報表生成及網頁瀏覽功能。該系統(tǒng)的主要目的是充分利用現有數據,通過信息技術手段進行加工和處理,使設備管理人員一方面可以實時、準確地掌握設備運行狀態(tài),同時又可以掌握各機泵的運行時間及停機次數,保障生產的安全、可靠和穩(wěn)定運行。
2系統(tǒng)設計與實現
利用實時數據對主要設備的運行狀態(tài)實施監(jiān)測,需要從實時位號的選取、實時數據的采集、邏輯判斷、服務器自動執(zhí)行、網頁展示、計算統(tǒng)計及后臺數據庫等幾個方面考慮。
2.1 PHD實時數據庫訪問方法
在Honeywell的PHD實時數據庫中提供了可供應用程序調用的動態(tài)鏈接庫Phdapinet.dll,該動態(tài)鏈接庫包含了Uniformance.PHD基類[1],利用該基類下的子類可以實現對PHD的訪問、實時數據的讀寫以及PHD服務器狀態(tài)參數信息與RDI(Real-time Data Interface,實時數據庫接口)信息的查詢,并能實現實時數據點的新建、歷史數據的修改和刪除等操作,還可以實現與DCS的通信。調用該動態(tài)鏈接庫訪問PHD時需要注意以下幾點:
(1)訪問PHD的可選參數有:ServerVersion (PHD版本)、HostName(PHD服務器IP地址)、UserName (PHD服務器用戶名)、Password (PHD服務器密碼)、WindowsUsername (PHD服務器登錄用戶名)、WindowsPassword (PHD服務器登錄密碼)、Port(服務器端口)。
(2)如果應用程序與PHD服務器同處于本地網絡段,那么訪問PHD時只需要提供ServerVersion、HostName、UserName、Password以及Port五個參數,本地網絡訪問PHD服務器的端口號默認為3100。
(3)如果應用程序與PHD服務器處于不同的網絡段,那么訪問PHD時除了需要提供ServerVersion、HostName、UserName、Password以及Port這五參數以外還必須提供WindowsUsername和WindowsPassword,遠程訪問PHD服務器的端口號默認為3150。
利用PHD實時數據庫實現主要設備運行狀態(tài)監(jiān)測時,將主要設備運行狀態(tài)相關的各項控制點通過實時數據位號對應,沒有位號的,采用替代位號與設備對應;根據業(yè)務人員提供的設備位號,對應到MES系統(tǒng)的實時數據的位號,將用于判斷設備停機還是啟用的邏輯關系等數據進行收集、存儲并加工成新的信息資源,在Web上展示以供設備管理人員進行統(tǒng)計分析。PHD實時數據庫的數據來自各生產裝置的DCS系統(tǒng)的實時信息,以網頁形式展現各個裝置的關鍵設備運行狀況,例如機泵的當前運行狀態(tài)、停機次數、停機時間等,幫助設備管理人員實時掌握第一手現場信息,指導生產。
2.2系統(tǒng)實現方法
主要設備運行狀態(tài)監(jiān)測系統(tǒng)采用兩種方式來實現對設備運行狀態(tài)信息的監(jiān)測,一種方式是定制WINDOWS服務,這種方式是將實時數據從PHD服務中提取出來,通過位號的配置信息實現位號值的判斷,得出當前狀態(tài)是停用還是啟動狀態(tài);另一種方式是定制Web頁面,數據結果通過Web頁方式展示。
(1)定制WINDOWS服務,開發(fā)設備運行狀態(tài)服務程序,定時從后臺數據庫讀取設備信息,提取PHD服務器實時采集值,根據配置信息,獲取計算邏輯,判斷出當前設備是運行/停用狀態(tài),與數據庫表對照,看設備狀態(tài)是否相同,如果狀態(tài)不同則更新記錄信息,并做出相應處理;如果狀態(tài)相同,則保持原狀態(tài)不變。
(2)定制Web頁面瀏覽,軟件架構采用B/S模式,利用成熟的Web瀏覽器技術在Web頁面上給出用戶查詢界面,為管理員用戶提供數據維護、用戶權限及位號配置等功能。
2.3身份認證
系統(tǒng)要求用戶使用統(tǒng)一的PTR域進行單一認證。用戶在登錄信息系統(tǒng)運行監(jiān)測平臺時,用戶權限配置所用的用戶名統(tǒng)一使用公司郵箱,可以避免用戶在多個系統(tǒng)之間切換時產生用戶名和密碼混淆的問題,與企業(yè)信息門戶、MES系統(tǒng)等公司推廣使用的信息化建設系統(tǒng)保持一致。
3關鍵技術與實現
3.1設備運行狀態(tài)判別
企業(yè)的設備監(jiān)測數據很多,表1中僅列出有代表性的位號。
通過表1中的數據可以看出:
(1)在監(jiān)測主要設備的運行情況時,一部分設備有監(jiān)測位號(如表中的2、3、4、5、8、9),對于有監(jiān)測位號的設備,又可分為采集值設備與采集開關量設備這兩種。對于采集值設備,根據設備的采集值與該設備位號所對應的設備啟用和停用的臨界值進行比較來判斷此設備的啟用或停用狀態(tài);對于開關量設備,將采集到的值與配置信息中的狀態(tài)值進行對比,即可判斷出設備的啟用或停用狀態(tài)。
(2)位號屬性一般可分為正邏輯位號和負邏輯位號,如正常運行狀態(tài)值為ON、OPEN、1、2,故障停機狀態(tài)值為OFF、0的位號,屬于正邏輯位號(如表中2、4、5、8、9);如正常運行狀態(tài)值為0,故障停機狀態(tài)值為1的位號,則屬于負邏輯位號(如表中3)。
(3)還有一部分設備沒有監(jiān)測位號,需要通過替代位號來監(jiān)測機泵的狀態(tài),這些位號大部分是采集值位號(如表中1、6、7)。判斷方法是:當屬于正邏輯位號值時(如表中1、7),當采集值大于等于啟動設置值時,則判斷此設備是啟用狀態(tài),相反,當采集值小于停用狀態(tài)設置值時,則判斷此設備為停用狀態(tài);當屬于負邏輯位號值時(如表中6),當采集值小于等于啟動設備值時,則判斷此設備是啟用狀態(tài),相反,當采集值大于停用狀態(tài)設置值時,則判斷此設備為停用狀態(tài)。
3.2采集數據處理
主要設備運行狀態(tài)監(jiān)測的位號大多數是開關邏輯變量(即0,1值)。實時數據庫中的數據是由各裝置點的BUFFER機上的實時數據同步而來的,如果BUFFER機發(fā)生異常,那么BUFFER機上的實時數據就不能有效地同步到實時數據庫中;同時,如果實時數據庫發(fā)生異常,則數據庫中會產生一個默認值(這個默認值可能并不是實際值,只有待數據同步后,才能變換成實際值)。這期間的位號采集值會發(fā)生波動,而這個波動是無效的,不能進行統(tǒng)計,需要把這部分的數據剔除掉。因此,在系統(tǒng)設計時,需要將這部分數據進行處理。具體處理方法如下。
首先設置一個表,表里面存放一個閾值,這個閾值設定了系統(tǒng)采集的次數,系統(tǒng)會按照這個閾值所設定的次數來提取實時數據(每隔三分鐘自動采集一次),將這些數據信息放到緩存表中(緩存表的表結構與記錄表信息的表結構一致)。
記錄表中記錄了每個位號的當前運行狀態(tài)、狀態(tài)變更的次數以及狀態(tài)標志等信息。
根據系統(tǒng)每三分鐘一次采集的數據,將每次采集的數據情況往緩存表中寫入設備狀態(tài)值信息(運行或停機)。當系統(tǒng)取到閾值設定的次數時,對緩存表中的數據進行統(tǒng)計與分析,并得出設備的當前狀態(tài)是運行或停機的結論,即如果這幾次取得的數據都顯示停機狀態(tài),則需要在記錄表中將狀態(tài)信息由運行狀態(tài)變更為停機狀態(tài),并在設備記錄表中記錄設備停機時間;如果這幾次寫入緩存表的數據為運行狀態(tài),則不改變記錄表中的設備狀態(tài)信息;當運行和停機這兩種狀態(tài)都有時,則判斷哪種狀態(tài)出現的次數多,以出現次數多的狀態(tài)作為設備的當前狀態(tài)。當記錄表中的前次狀態(tài)值與本次的狀態(tài)值不同時,更新當前記錄表的標志信息。記錄表的設備狀態(tài)信息完成更新后,清除緩存表中所記錄的停機或運行狀態(tài)波動信息。每重新更新一次記錄表的狀態(tài)標志,即完成了一次數據處理。
3.3機泵停用情況判別及次數統(tǒng)計方法
按照用戶的要求,機泵從運行狀態(tài)轉變成停用狀態(tài),算一次停機,而機泵如果一直處于停機狀態(tài),則不能算一次停機,同時機泵如果從停用狀態(tài)變成運行狀態(tài)時,也不能算一次停機。因此,只有當機泵在統(tǒng)計時間范圍內,由運行狀態(tài)轉變成停用狀態(tài)時,才計算出有效次數。在主要設備運行狀態(tài)監(jiān)測平臺中,機泵停機次數的統(tǒng)計分三種情況:即在主界面上顯示的當月停機次數和全年停機次數統(tǒng)計,以及在歷史停機查詢中的累計停機次數的統(tǒng)計。
在了解用戶需求的前提下,數據庫表結構的設計方案對數據的統(tǒng)計也起到了十分關鍵的作用。系統(tǒng)在記錄表中記錄了每個設備的每次狀態(tài)變更的時間點、當前狀態(tài)等信息,這樣當月停機次數的統(tǒng)計、全年停機次數的統(tǒng)計以及累計停機次數的統(tǒng)計很容易實現。
系統(tǒng)在最初運行時,統(tǒng)計結果總是與現場的實際情況不甚相符,這可能與數據采集過程的諸多環(huán)節(jié)出現異常而導致數據準確性下降有關。當開發(fā)人員在系統(tǒng)中設計并實現數據處理后,數據統(tǒng)計的準確率得到大大的提高。
4應用效果
利用實采數據實現對設備運行狀態(tài)的監(jiān)測,與其他一些實時數據庫的應用開發(fā)有所不同,無論是實時數據采集技術還是設計方案都做了很大的改進,主要體現在:
(1)數采連接機制不同。一般的實時數據采集是借助于Oracle數據庫技術及PHD實時數據庫接口所提供的函數包來實現實時數據的提取,而本監(jiān)測系統(tǒng)則是通過PHD提供的PHDAPINET動態(tài)鏈接庫訪問實現實時數據采集,后者通過直接訪問PHD實時數據庫,減少了Oracle數據庫服務器、Applications應用服務器等訪問環(huán)節(jié),同時動態(tài)鏈接庫中對采集數據失敗所給出的判斷更加完善,返回信息更直接、迅速,采數效率高。
(2)采數頻率實現方法不同。一般的數據采集頻率借助Oracle數據庫的定時任務作業(yè)調度【2】方法實現,而本監(jiān)測系統(tǒng)采用了制作WINDOWS服務的方法實現,將采集實時數據部分專門做成WINDOWS服務,時鐘自動包含其中,安裝在服務器上,這樣做無論是程序的安全性、環(huán)境依賴性還是運行效率都做了改進。
通過采用動態(tài)鏈接庫方式與WINDOWS服務技術實現實時數據采集和設備狀態(tài)監(jiān)測,可以使系統(tǒng)維護工作量大大減少。同時,這些技術在后續(xù)的其他實時數據庫類的應用開發(fā)中得到持續(xù)應用,減少了開發(fā)成本,提高了研發(fā)效率。
參考文獻
[1]黃永松等.基于HoneyWell PHD的應用開發(fā)技術研究.軟件.2011年32卷第4期.
[2]路川等.oracle 10g寶典.北京.電子工業(yè)出版社.2006.