事务存储过程在莱钢EMS中的应用

2015-05-30 04:51杨龙杜鑫陈明明王敏
科技创新与应用 2015年30期
关键词:能源管理信息化

杨龙 杜鑫 陈明明 王敏

摘 要:本文介绍了莱钢通过计算机网络构成的能源管理与远程控制系统(简称EMS系统)。主要对事务存储过程在EMS中的应用作了阐述,并用实例说明了利用存储过程简单化解决复杂事务问题,提高系统分析处理速度和安全性的技术,提高软件开发水平。

关键词:事务存储过程;能源管理;信息化

前言

根据《钢铁企业能源管理中心建设实施方案》 (工信部节[2009]365号) 、 《关于发布〈钢铁企业能源管控信息系统建设指导意见〉的通知》 (钢协[2010]128 号)文件要求,为加快推进工业化和信息化融合,加大节能技术改造力度,对能源生产、输配和消耗实施动态监控和管理,改进和优化能源平衡,实现系统性节能降耗,莱芜钢铁集团有限公司决定建设符合莱钢特色的能源管理中心。

数据作为整个系统的重要因素,在后期的能源平衡分析、报表、决策支持都起到至关重要的作用。但是如何能够保证数据的准确性、可靠性、稳定性,提高系统的响应速度,是系统实施过程中一个亟待解决的问题。

1 原有的解决办法

通常系统开发人员多是通过定时器或者线程控制去进行采集数据与分析数据,并将分析后的结果写入数据库中进行保存,一旦采集的点多,数据量大,并发性处理将会影响到系统的。一旦一些处理机制没有处理得当,会出现部分采集点的数据无法上传,造成数据准确性下降,质量不高等现象。如果关键点的数据采集不上来,可能会造成能源平衡分析的延后,甚至无法准确的提供领导决策的依据,造成严重的生产事故。

2 技术准备

现代软件的设计倡导将用户界面、业务逻辑、数据相分离的设计原则。这样便于对程序功能维护和移植。考虑到存储过程具有以下四个优点:

(1)减少网络通信量。调用一个行数不多的存储过程与直接调用SQL语句的网络通信量可能不会有很大的差别,可是如果存储过程包含上百行SQL语句,那么其性能绝对比一条一条的调用SQL语句要高得多。

(2)执行速度更快。有两个原因:首先,在存储过程创建的时候,数据库已经对其进行了一次解析和优化。其次,存储过程一旦执行,在内存中就会保留一份这个存储过程,这样下次再执行同样的存储过程时,可以从内存中直接调用。

(3)更强的适应性:由于存储过程对数据库的访问是通过存储过程来进行的,因此数据库开发人员可以在不改动存储过程接口的情况下对数据库进行任何改动,而这些改动不会对应用程序造成影响。

(4)布式工作:应用程序和数据库的编码工作可以分别独立进行,而不会相互压制。

因此决定采用存储过程的方式对采集上来的数据进行分析汇总,并将分析汇总后的数据及时写入数据库里,为后期的平衡分析、报表等提供有力的依据。

3 存储过程在EMS中的应用

了解到存储过程的优点,针对目前系统进行数据采集和处理的现状,我们将设计思路分两部分:

一部分将老的能源管理系统中采集上来的数据通过分解拆包,保存在EMS系统数据库中,主要针对现场正在生产,不宜进行更换的仪表(主要是支持RS-485通讯标准的二次仪表),为EMS系统做补充使用,同时对于一些比较重要的采集点,可能既有二次表又有PLC等采集的,我们将EMS与老能源管理系统进行比对,给能源计量包括决策者一个数据比对分析使用。

具体的处理方法是:

(1)在数据缓存服务器的数据库中创建t_gzzybdz表,存放的是需要采集的能源管理系统点的地址编号;

(2)从三台不同的服务器进行数据采集汇总保存在t_shuju表中;

(3)介质为水和气体的温度、瞬时流量、压力、差压、累计值,介质为电的正向峰平谷值、反向峰平谷值、正向有功、反向有功,正向无功,反向无功等数据通过横向、纵向的拆分事务存储过程的处理,上传至EMS数据库服务器中。便于系统进行平衡分析和报表等系统使用。

另外一部分是将kpware软件采集了部分通过PLC上传上来的数据,已经保存在EMS数据库服务器中,我们也是通过配置好的数据采集点的对照关系,将每个采集周期(通常是300ms一次)数据经过横向、纵向的组合、打包、事务存储过程的处理。

具体的处理方法是:

(1)在数据缓存服务器中设置t_cedian表,保存的是需要从EMS汇聚层采集的数据点的Tag名称;

(2)将通过Modbus 、DTU等方式采集的数据进行高位与低位的计算处理、消除部分噪声数据处理、压缩处理等三大事务存储过程处理后,汇总至数据缓存服务器的t_ybztmp表,并对该表的数据进行后期的挖掘处理,将最后的处理结果存放至数据服务器中,必要时进行同期数据比较支持热线生产、能源调配使用,为生产做决策依据。

代码如下:

select distinct gzz,ybdz ,CONVERT( varchar(19 ),@sj, 121),'1' ,dwmc, cdmc,jzmc ,CONVERT( varchar(19 ),@sj, 121),isnull (lldwsd, ''),isnull (yldwsd, ''),isnull (llbz, ''),isnull (max( case cdjz when '流量' then ItemValue end ),0) [流量] ,0,isnull(max (case cdjz when '压力' then ItemValue end),0 )[压力] ,

isnull(max (case cdjz when '温度' then ItemValue end),0 )温度,0 ,'',case rsj when 'EMS' then isnull(max (case cdjz when '累计流量高位' then ItemValue end),0 )*100+isnull(max (case cdjz when '累计流量低位' then ItemValue end),0 )else isnull(max (case cdjz when '累积流量' then ItemValue end),0 ) end [累积流量],ybdz,'',CONVERT( varchar(19 ),@sj, 121) from (select gzz,ybdz ,ItemTime, ItemState,dwmc ,cdmc, jzmc,lldwsd ,yldwsd, llbz,ItemValue ,cdjz,rsj from (select ROW_NUMBER() OVER( PARTITION BY ems.ItemName ORDER BY ems.ItemTime DESC)lev ,yb.gzz,yb.ybdz, ems.ItemTime ,ems.ItemState,yb.dwmc,

yb.cdmc ,yb.jzmc,yb .lldwsd, yb.yldwsd,yb.llbz,ems.ItemValue,cd.cdjz,rsj from NY_OPCITems_test ems, cedian cd ,yb where cd.cdmc =ems.ItemName and ems. ItemTime <= @sj and cd.lgnyw is not null and cd .lgnyw= CAST(yb .gzz as varchar(10 ))+'-'+ CAST(yb .ybdz as varchar (10)) )as tempp WHERE LEV = 1 ) as ttt group by gzz,ybdz ,ItemState, dwmc,cdmc ,jzmc, lldwsd,yldwsd ,llbz,rsj order by gzz,ttt.ybdz

经过用户使用测算,采用存储过程的方式进行数据采集能够大大减少了数据的冗余,节省了磁盘空间。同时通过使用,一分钟处理大约3800多个数据点,16秒的时间即可完成三大并发事务存储过程的处理,大大缩短了数据的处理时间,提高了系统的可用性和现场数据的一致性。

5 结束语

通过本次应用可以减少数据库开发人员的工作量,节约开发和管理的成本。通过数据库的权限和用户设定,提高数据的安全性,并且提供了高效的数据存取,稳定的事务管理,降低网络的通信量,提高了数据的质量,保证了现场数据的实时稳定性,为莱钢今后的生产提供了重要的能源数据支持。

猜你喜欢
能源管理信息化
高速公路能源管理信息化平台
月“睹”教育信息化
月“睹”教育信息化
幼儿教育信息化策略初探
“云会计”在中小企业会计信息化中的应用分析
合同能源管理会计核算优化对策
合同能源管理在TDM交换设备退网中的应用
信息化是医改的重要支撑
信息化
合同能源管理在重庆配网节能中的实践应用