1 MES系統(tǒng)運行報警及處理平臺背景及目標
MES以面向數據的模型為核心系統(tǒng),連接實時數據庫和關系數據庫,對生產過程進行過程監(jiān)視、控制和診斷、環(huán)境監(jiān)測、單元整合、模擬和優(yōu)化,并進行物料平衡、生產計劃、調度、排產、離線在線模擬與優(yōu)化等操作管理等優(yōu)點,迎合了石化企業(yè)的發(fā)展需求,在石化行業(yè)中得到廣泛應用。中石油也于2004年在大連石化進行了MES試點,隨后在各下屬20多家企業(yè)分別開展了MES推廣項目。MES系統(tǒng)在各公司生產中運用后,對裝置的實時監(jiān)控更加全面,可以及時準確反映生產實際,已經成為了各級生產管理人員不可或缺的助手。
吉林石化公司于2007年被列入中油MES第2期推廣項目,經過1期、2期、3期歷時3年多的項目實施,目前該系統(tǒng)已經在13個分廠順利上線,并正式投入運行。作為MES系統(tǒng)維護人員責任重大,如何第一時間發(fā)現問題、解決問題擺在了面前,通過這幾年的系統(tǒng)實施與維護所積累的經驗而產生了《MES系統(tǒng)運行報警及處理平臺》,該系統(tǒng)可以自動對MES系統(tǒng)運行中比較容易出現的故障進行監(jiān)視,并且可以對一些故障進行自動處理,如果不能自動處理的故障以短信形式通知維護人員手動處理;形成日報、月報等日志形式便于相關人員統(tǒng)計與分析MES運行狀況。該系統(tǒng)大大提高了MES系統(tǒng)運行的穩(wěn)定性,對日后MES系統(tǒng)優(yōu)化和擴容提供參考依據,讓MES系統(tǒng)更好的服務于生產。
2 MES系統(tǒng)運行報警及處理平臺解決方案
2.1 MES系統(tǒng)常見故障分析
MES系統(tǒng)架構如圖1所示,日常系統(tǒng)運行中圖中紅色字標注的服務器上運行的服務及本身,會因未原岡經常出現服務中斷或服務器宕機情況,如果這些事故發(fā)現與處理不及時,會造成數據收集的中斷,大大降低了MES系統(tǒng)的可用性。大部分地區(qū)MES維護都是被動地發(fā)現系統(tǒng)故障,一方面由工廠人員打電話反應,另一方面是由維護人員定時對MES系統(tǒng)進行手動巡檢,發(fā)現和處理問題都不夠及時,尤其是節(jié)假日更難對系統(tǒng)運行狀況進行監(jiān)視。
圖1 故障分析
2.2 MES系統(tǒng)運行報警及處理平臺架構
系統(tǒng)采用3層架構,前臺通過Ⅲ瀏覽器訪問,中間層采用C#.net2005技術開發(fā),存儲層采用Oracle數據庫存儲。系統(tǒng)架構如圖2所示,整個維護平臺由定時運行接口去啟動檢查操作,各檢查模塊發(fā)現故障后啟動自動處理,并將處理結果(可能失敗或不能自動處理)以短信的方式通知給維護人員,并將該事故記錄到系統(tǒng)中。維護人員可通過維護日志記錄查看和記錄事故處理情況,并通過系統(tǒng)對指定時間段內發(fā)生的事故進行統(tǒng)計。
2.3 各功能模塊簡述
(1)定時運行模塊
系統(tǒng)需求:需要提供能定時循環(huán)運行指定端口的接口;
技術實現:利用后臺進程,調用System.Threading包下的類庫實現指定調用指定名稱接口的功能,每個接口是否運行和運行頻率可通過前臺配置修改;
(2)維護日志管理模塊
系統(tǒng)需求:需要在系統(tǒng)中記錄運行結果;
技術實現:將運行結果保存到數據庫中,不同服務運行類型用字段區(qū)分;
圖2 MES系統(tǒng)運行報警及處理平臺架構圖
(3)短信報警模塊
系統(tǒng)需求:需要將指定信息以短信方式通知給指定維護人員;
技術實現:調用短信發(fā)送硬件設備的即時發(fā)送接口發(fā)送短信信息;
(4)未授權賬號登陸情況告警
系統(tǒng)需求:當前系統(tǒng)允許任何擁有中油郵箱的用戶登陸系統(tǒng),即使該用戶在系統(tǒng)中未授權也能瀏覽部分信息;
應對措施:為了及時發(fā)現用戶需要登錄系統(tǒng)的需求,同時加強系統(tǒng)安全性,每日將使用未授權用戶登錄的用戶帳號記錄到系統(tǒng)中,由維護人員確認是應在系統(tǒng)中授權的用戶還是非法攻擊的用戶;
技術實現:利用后臺進程,每日凌晨使用sql語句查詢Sql Server數據庫中人員信息表(SecurityVcrson),如果發(fā)現FirstName和LastName2個字段同名的記錄就是未授權帳戶,維護人員通過系統(tǒng)查詢到這些用戶后,聯(lián)系相關工廠人員確認未授權用戶身份,根據情況選擇刪除非法攻擊用戶或在MES系統(tǒng)中配置未授權帳戶的信息和權限;
措施效果:將未授權用戶的發(fā)現時間縮短至24小時以內;
(5)操作監(jiān)控計算偏差進程報警和恢復
系統(tǒng)漏洞:計算偏差服務不穩(wěn)定,有時會因未知原因運行失敗,影響計算結果;
應對措施:定時檢查該服務運行狀況,如果發(fā)現運行失敗立即通知維護人員重啟服務:
技術實現:操作監(jiān)控計算偏差進程的運行結果會在Oracle庫中保存,通過查詢這個運行結果可以知道上1次計算偏差的結果是否正常。如果運行不正常,運行記錄表(Ip_Msg Log)中同一個Trans_Id_No下沒有Typ字段為1的記錄或者Typ為1的記錄結果不是Variance Monitoring done,如果發(fā)現了這樣的記錄通知管理員進程異常。
措施效果:將OM計算偏差服務運行失敗的損失降低到60分鐘以內;
(6)交接班日志處理
系統(tǒng)滿洞:交接班日志有時會在服務器后臺鎖死生成的日志文件,造成前臺無法編輯日志,影響系統(tǒng)數據正常錄入。
應對措施:及時發(fā)現服務器上鎖死的日志文件,通過關閉該文件的方式將其解鎖;
技術實現:在服務器上運行服務進程,調用Win32API類庫,引用kernel32.dll提供的控制句柄方法。第1次通過手動的方式讓程序記錄下要關閉文件的窗體旬柄和關閉按鈕在該窗體的相對位置,然后對系統(tǒng)每次彈出的窗體進行判斷,如果是該窗體句柄自動計算關閉按鈕的位置,點擊該關閉按鈕來關閉窗體;
措施效果:避免日志文件鎖死情況的出現;
(7)RDI檢查
系統(tǒng)漏洞:如果某個RDI端口數據采集的任何一個環(huán)節(jié)發(fā)生如服務運行失效或網絡中斷的情況,該RDI數據的采集就會失敗,導致這部分數據的丟失;
應對措施:及時發(fā)現RDI端口采集失敗的事故,通知維護人員。檢查數據傳輸環(huán)節(jié)上出現的問題,人工處理該事故;
技術實現:對每個RDI選取5~10個能夠正常采數數據的采樣點,每隔5分鐘掃描1次采樣點的采數情況,如果所有采樣點采數的可信度都不是100,則判定該RDI的運行異常,將事故通知維護人員;
措施效果:將RDI數據采集中斷事故發(fā)現時間縮短到10分鐘(由定時程序的配置時間決定)以內;
(8)PHD主服務監(jiān)控
系統(tǒng)漏洞:PHD服務有時會因未知原因運行不正常,導致所有的系統(tǒng)基礎數據無法正常采集。
應對措施:如果所有KDI端口采數都異常判定PHD主服務運行異常,重新啟動PHD主服務;如果在60分鐘以內能夠重啟PHD主服務由于RDI端口數據采集采用了斷點續(xù)傳功能不會丟失任何數據;
技術實現:通過對單個RDI端口檢查的調用獲知所有RDI采數都異常的情況,判定PHD主服務異常。調用System.Collections.Generic包下的Process類的方法調用PHDMAN環(huán)境,在該環(huán)境下自動運行PI-ID主服務停止和啟動命令,重啟PHD主服務;
措施效果:將PHD主服務運行異常的損失縮短到30分鐘以內,達到了RDI端口數據采集斷點續(xù)傳功能支持的60分鐘范圍要求;
(9)服務器檢查
系統(tǒng)漏洞:MES系統(tǒng)數據采集服務器分布在各分廠,由于生產環(huán)境的變化情況較為復雜,偶爾會出現人為或非人為的網口所動、網線異常等網絡傳輸失敗的情況,服務器的運行情況檢查也不方便。
應對措施:在服務器上運行后臺程序,將服務器運行情況定時自動檢查情況寫入到數據庫中,一旦發(fā)生異常及時通知給維護人員;
技術實現:調用Win32API類庫,通過System.Envi-ronment類獲知CPU個數,通過System.Diagnostics.Per-formaaceCounter()接口獲知CPU占用率,通過System.ManagementClass類獲知物理內存占用情況等運行情況,通過System.Management.WqlObjcetQuery0接口獲知硬盤分區(qū)使用情況,通過System.Net.Networklnformation包下的類獲知與其他服務器網絡通信情況;
措施效果:自動監(jiān)控所有服務器運行情況,將硬件異常情況發(fā)現的時間縮短至5分鐘以內;
(10)監(jiān)控后臺服務運行情況
系統(tǒng)需求:需要加強對指定服務器上指定服務的運行情況的監(jiān)控,如果發(fā)現服務停掉或通過其他方法獲知服務運行不正常(即雖然處于運行狀態(tài),但實際上已經不工作)可設置為自動重啟;
應對措施:使用后臺程序定時巡檢指定服務,配置自動重啟腳本以便按指定順序重啟服務;
技術實現:通過調用System.Management包下的類控制指定服務器上指定服務名的服務,按管理員的配置設置重啟順序;
措施效果:將因服務異常發(fā)生的事故損失時間降低到10-20分鐘以內;
(11)Oracle服務器巡檢
系統(tǒng)需求:需要監(jiān)控指定名稱的Oracle數據庫運行狀態(tài)和Sessions使用數量;
應對措施: 定時調用sql獲取Oracle數據庫Sessions數量(225),如果取不到則數據庫運行不正常,如果Sessions數量接近最大Sessions值,通知管理員該情況;
技術實現:調用System.Data.OracleClient包下的類實現對數據庫的sql查詢;
措施效果:及時掌握Oracle庫使用情況;
(12)Sql Server服務器
系統(tǒng)漏洞:Sql Server服務器有時會因未知原因死機;
應對措施: 定時調用sql獲取Sql Server數據庫鏈接,如果能獲取鏈接說明服務器運行正常,否則通知維護人員及時處理事故;
技術實現:調用System.Data.SqlClient包下的類實現對數據庫的sql查詢;
措施效果:及時掌握Sql Server服務器死機情況。
3 結語
建立MES系統(tǒng)運行報警及處理系統(tǒng)平臺,完成了對MES系統(tǒng)運行中比較容易出現的故障進行監(jiān)視,對一些故障進行自動處理,如果不能自動處理的故障以短信形式通知維護人員手動處理:形成日報、月報等日志形式,匯總各類系統(tǒng)故障,便于相關人員統(tǒng)計與分析H嘍運行狀況。
該系統(tǒng)的部分功能已在吉林石化公司中應用,實際效果非常明顯,MES系統(tǒng)運行的穩(wěn)定性得到了顯著的提高。以前都是被動的發(fā)現系統(tǒng)故障,一方面由工廠人員打電話反應,另一方面是由維護人員定時對MES系統(tǒng)進行手動巡檢,發(fā)現和處理問題都不夠及時,尤其是節(jié)假日更難對系統(tǒng)運行狀況進行監(jiān)視,F在大大縮短了處理IdES系統(tǒng)常見故障的時間,由原來處理故障時間為2h~3個工作日縮短為幾秒鐘~2h,同時也大大減輕了維護人員的壓力。形成的故障日志便于相關人員統(tǒng)計與分析MES系統(tǒng)的運行狀況,也為我們日后對MES系統(tǒng)進行優(yōu)化與擴容提供了最有利的參考依據。其余部分功能由于許多客觀原因有待于進一步完善,爭取早日應用到實際當中。
總之,MES系統(tǒng)運行報警及處理平臺在保證MES系統(tǒng)正常運行中起到了決定性的作用。也希望該系統(tǒng)能夠在其他地區(qū)公司得到推廣及應用,讓我們的系統(tǒng)發(fā)揮更大的作用。
核心關注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務領域、行業(yè)應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業(yè)務領域的管理,全面涵蓋了企業(yè)關注ERP管理系統(tǒng)的核心領域,是眾多中小企業(yè)信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.ezxoed.cn/