1 MES系统运行报警及处理平台背景及目标
MES以面向数据的模型为核心系统,连接实时数据库和关系数据库,对生产过程进行过程监视、控制和诊断、环境监测、单元整合、模拟和优化,并进行物料平衡、生产计划、调度、排产、离线在线模拟与优化等操作管理等优点,迎合了石化企业的发展需求,在石化行业中得到广泛应用。中石油也于2004年在大连石化进行了MES试点,随后在各下属20多家企业分别开展了MES推广项目。MES系统在各公司生产中运用后,对装置的实时监控更加全面,可以及时准确反映生产实际,已经成为了各级生产管理人员不可或缺的助手。
吉林石化公司于2007年被列入中油MES第2期推广项目,经过1期、2期、3期历时3年多的项目实施,目前该系统已经在13个分厂顺利上线,并正式投入运行。作为MES系统维护人员责任重大,如何第一时间发现问题、解决问题摆在了面前,通过这几年的系统实施与维护所积累的经验而产生了《MES系统运行报警及处理平台》,该系统可以自动对MES系统运行中比较容易出现的故障进行监视,并且可以对一些故障进行自动处理,如果不能自动处理的故障以短信形式通知维护人员手动处理;形成日报、月报等日志形式便于相关人员统计与分析MES运行状况。该系统大大提高了MES系统运行的稳定性,对日后MES系统优化和扩容提供参考依据,让MES系统更好的服务于生产。
2 MES系统运行报警及处理平台解决方案
2.1 MES系统常见故障分析
MES系统架构如图1所示,日常系统运行中图中红色字标注的服务器上运行的服务及本身,会因未原冈经常出现服务中断或服务器宕机情况,如果这些事故发现与处理不及时,会造成数据收集的中断,大大降低了MES系统的可用性。大部分地区MES维护都是被动地发现系统故障,一方面由工厂人员打电话反应,另一方面是由维护人员定时对MES系统进行手动巡检,发现和处理问题都不够及时,尤其是节假日更难对系统运行状况进行监视。
图1 故障分析
2.2 MES系统运行报警及处理平台架构
系统采用3层架构,前台通过Ⅲ浏览器访问,中间层采用C#.net2005技术开发,存储层采用Oracle数据库存储。系统架构如图2所示,整个维护平台由定时运行接口去启动检查操作,各检查模块发现故障后启动自动处理,并将处理结果(可能失败或不能自动处理)以短信的方式通知给维护人员,并将该事故记录到系统中。维护人员可通过维护日志记录查看和记录事故处理情况,并通过系统对指定时间段内发生的事故进行统计。
2.3 各功能模块简述
(1)定时运行模块
系统需求:需要提供能定时循环运行指定端口的接口;
技术实现:利用后台进程,调用System.Threading包下的类库实现指定调用指定名称接口的功能,每个接口是否运行和运行频率可通过前台配置修改;
(2)维护日志管理模块
系统需求:需要在系统中记录运行结果;
技术实现:将运行结果保存到数据库中,不同服务运行类型用字段区分;
图2 MES系统运行报警及处理平台架构图
(3)短信报警模块
系统需求:需要将指定信息以短信方式通知给指定维护人员;
技术实现:调用短信发送硬件设备的即时发送接口发送短信信息;
(4)未授权账号登陆情况告警
系统需求:当前系统允许任何拥有中油邮箱的用户登陆系统,即使该用户在系统中未授权也能浏览部分信息;
应对措施:为了及时发现用户需要登录系统的需求,同时加强系统安全性,每日将使用未授权用户登录的用户帐号记录到系统中,由维护人员确认是应在系统中授权的用户还是非法攻击的用户;
技术实现:利用后台进程,每日凌晨使用sql语句查询Sql Server数据库中人员信息表(SecurityVcrson),如果发现FirstName和LastName2个字段同名的记录就是未授权帐户,维护人员通过系统查询到这些用户后,联系相关工厂人员确认未授权用户身份,根据情况选择删除非法攻击用户或在MES系统中配置未授权帐户的信息和权限;
措施效果:将未授权用户的发现时间缩短至24小时以内;
(5)操作监控计算偏差进程报警和恢复
系统漏洞:计算偏差服务不稳定,有时会因未知原因运行失败,影响计算结果;
应对措施:定时检查该服务运行状况,如果发现运行失败立即通知维护人员重启服务:
技术实现:操作监控计算偏差进程的运行结果会在Oracle库中保存,通过查询这个运行结果可以知道上1次计算偏差的结果是否正常。如果运行不正常,运行记录表(Ip_Msg Log)中同一个Trans_Id_No下没有Typ字段为1的记录或者Typ为1的记录结果不是Variance Monitoring done,如果发现了这样的记录通知管理员进程异常。
措施效果:将OM计算偏差服务运行失败的损失降低到60分钟以内;
(6)交接班日志处理
系统满洞:交接班日志有时会在服务器后台锁死生成的日志文件,造成前台无法编辑日志,影响系统数据正常录入。
应对措施:及时发现服务器上锁死的日志文件,通过关闭该文件的方式将其解锁;
技术实现:在服务器上运行服务进程,调用Win32API类库,引用kernel32.dll提供的控制句柄方法。第1次通过手动的方式让程序记录下要关闭文件的窗体旬柄和关闭按钮在该窗体的相对位置,然后对系统每次弹出的窗体进行判断,如果是该窗体句柄自动计算关闭按钮的位置,点击该关闭按钮来关闭窗体;
措施效果:避免日志文件锁死情况的出现;
(7)RDI检查
系统漏洞:如果某个RDI端口数据采集的任何一个环节发生如服务运行失效或网络中断的情况,该RDI数据的采集就会失败,导致这部分数据的丢失;
应对措施:及时发现RDI端口采集失败的事故,通知维护人员。检查数据传输环节上出现的问题,人工处理该事故;
技术实现:对每个RDI选取5~10个能够正常采数数据的采样点,每隔5分钟扫描1次采样点的采数情况,如果所有采样点采数的可信度都不是100,则判定该RDI的运行异常,将事故通知维护人员;
措施效果:将RDI数据采集中断事故发现时间缩短到10分钟(由定时程序的配置时间决定)以内;
(8)PHD主服务监控
系统漏洞:PHD服务有时会因未知原因运行不正常,导致所有的系统基础数据无法正常采集。
应对措施:如果所有KDI端口采数都异常判定PHD主服务运行异常,重新启动PHD主服务;如果在60分钟以内能够重启PHD主服务由于RDI端口数据采集采用了断点续传功能不会丢失任何数据;
技术实现:通过对单个RDI端口检查的调用获知所有RDI采数都异常的情况,判定PHD主服务异常。调用System.Collections.Generic包下的Process类的方法调用PHDMAN环境,在该环境下自动运行PI-ID主服务停止和启动命令,重启PHD主服务;
措施效果:将PHD主服务运行异常的损失缩短到30分钟以内,达到了RDI端口数据采集断点续传功能支持的60分钟范围要求;
(9)服务器检查
系统漏洞:MES系统数据采集服务器分布在各分厂,由于生产环境的变化情况较为复杂,偶尔会出现人为或非人为的网口所动、网线异常等网络传输失败的情况,服务器的运行情况检查也不方便。
应对措施:在服务器上运行后台程序,将服务器运行情况定时自动检查情况写入到数据库中,一旦发生异常及时通知给维护人员;
技术实现:调用Win32API类库,通过System.Envi-ronment类获知CPU个数,通过System.Diagnostics.Per-formaaceCounter()接口获知CPU占用率,通过System.ManagementClass类获知物理内存占用情况等运行情况,通过System.Management.WqlObjcetQuery0接口获知硬盘分区使用情况,通过System.Net.Networklnformation包下的类获知与其他服务器网络通信情况;
措施效果:自动监控所有服务器运行情况,将硬件异常情况发现的时间缩短至5分钟以内;
(10)监控后台服务运行情况
系统需求:需要加强对指定服务器上指定服务的运行情况的监控,如果发现服务停掉或通过其他方法获知服务运行不正常(即虽然处于运行状态,但实际上已经不工作)可设置为自动重启;
应对措施:使用后台程序定时巡检指定服务,配置自动重启脚本以便按指定顺序重启服务;
技术实现:通过调用System.Management包下的类控制指定服务器上指定服务名的服务,按管理员的配置设置重启顺序;
措施效果:将因服务异常发生的事故损失时间降低到10-20分钟以内;
(11)Oracle服务器巡检
系统需求:需要监控指定名称的Oracle数据库运行状态和Sessions使用数量;
应对措施: 定时调用sql获取Oracle数据库Sessions数量(225),如果取不到则数据库运行不正常,如果Sessions数量接近最大Sessions值,通知管理员该情况;
技术实现:调用System.Data.OracleClient包下的类实现对数据库的sql查询;
措施效果:及时掌握Oracle库使用情况;
(12)Sql Server服务器
系统漏洞:Sql Server服务器有时会因未知原因死机;
应对措施: 定时调用sql获取Sql Server数据库链接,如果能获取链接说明服务器运行正常,否则通知维护人员及时处理事故;
技术实现:调用System.Data.SqlClient包下的类实现对数据库的sql查询;
措施效果:及时掌握Sql Server服务器死机情况。
3 结语
建立MES系统运行报警及处理系统平台,完成了对MES系统运行中比较容易出现的故障进行监视,对一些故障进行自动处理,如果不能自动处理的故障以短信形式通知维护人员手动处理:形成日报、月报等日志形式,汇总各类系统故障,便于相关人员统计与分析H喽运行状况。
该系统的部分功能已在吉林石化公司中应用,实际效果非常明显,MES系统运行的稳定性得到了显著的提高。以前都是被动的发现系统故障,一方面由工厂人员打电话反应,另一方面是由维护人员定时对MES系统进行手动巡检,发现和处理问题都不够及时,尤其是节假日更难对系统运行状况进行监视。现在大大缩短了处理IdES系统常见故障的时间,由原来处理故障时间为2h~3个工作日缩短为几秒钟~2h,同时也大大减轻了维护人员的压力。形成的故障日志便于相关人员统计与分析MES系统的运行状况,也为我们日后对MES系统进行优化与扩容提供了最有利的参考依据。其余部分功能由于许多客观原因有待于进一步完善,争取早日应用到实际当中。
总之,MES系统运行报警及处理平台在保证MES系统正常运行中起到了决定性的作用。也希望该系统能够在其他地区公司得到推广及应用,让我们的系统发挥更大的作用。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:制造执行系统MES运行报警及处理平台建设