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