1. 应用背景
根据企业信息化建设的一般性的总体设想,生产信息化的核心目标是建立面向生产执行过程的信息化系统,为了实现企业生产指挥中心根据生产过程的实时信息快速生成管理决策,通过对厂级过程数据的集成,使生产过程信息资源能够连续、自动地与企业管理系统共享,从而不断地提高生产流程的OEE(Overall Equipment Effectiveness 全面设备效率)和关键绩效指标KPI(Key Performance Indicator)。生产管理决策的数据不仅仅来源于单一生产装置,而是来自于整条生产线的、全企业级的甚至是跨地域、跨时区的协作制造平台。
由于生产装置和生产线控制系统规模大小不一(单一控制系统从几十个I/O到几千个I/O)、控制网络结构复杂、与管理网络的接口各有不同(软件的接口和硬件的接口)。使得利用传统的关系型数据库全面地、实时地集成厂级生产过程数据非常困难。
iHistorian实时历史数据库平台利用标准的软、硬件接口技术,快速、高效地从生产线控制系统中直接取得第一手现场实时数据,并且利用先进的实时数据库技术完成海量数据的高效压缩和安全存储,为建立其他实时生产管理系统(如生产成本动态跟踪系统、生产实时调度系统、设备故障诊断、经济运行、产能优化、质量管理、生产过程可视化等)提供各种在线(如产量、温度、流量)或离线(配方、质量分析、实验数据)的过程数据。从而为消除信息孤岛、实现资源共享以及MES分布式的应用建立基础数据库平台。
2. 应用架构
2.1 基于iHistorian的生产信息化应用平台
如图1所示,利用iHistorian构建MES的系统应用架构分为数据采集部分、数据存储部分、数据管理部分和数据应用部分,具体如下:
构建车间的控制室或者生产装置的局域网,并可以介入到企业的骨干网
构建基础生产过程或者控制系统数据的采集接口(PC-BASED接口站、HMI、SCADA软件、OPC接口)
iHistorian实时历史数据库服务器以及归档文件
针对iHistorian的远端维护:Web-Based或者Windows-Based远程管理和维护
生产应用:如生产过程可视化应用,统计计量应用,批次管理应用,Web发布应用等与企业管理系统的接口,如面向SAP的ODA、格式文件、面向关系型数据库访问的OLE DB等等
3. iHistorian体系结构
3.1 存储的数据对象
普通的关系型数据库的设计和应用主要是面对离散的,非连续的,不带有时间标识的数据对象,并通过二维表的方式来表现和建立数据之间的关系,例如订单信息、人事信息、销售数据。
作为实时历史数据库主要的存储对象生产过程数据,它有以下主要特点:
连续性、带时标,例如现场的温度、压力等模拟量
基于时间的连续的事件记录,例如阀门开关、电机起停等开关量
离线手工数据,例如批次信息,条码、试验报告
这种复杂特性的存储对象的决定了iHistorian具有与关系型数据完全不同的体系结构。iHistorian具备良好接口,直接采集自于各个不同的控制系统的生产过程数据。
3.2 数据库的存储结构
如果利用关系型数据采集过程数据,首先要预设大量的表,可能包括:数据点的定义表、访问权限级别分类表、访问者权限分配表、原始数据记录表、更新数据表、数据类型定义表、系统消息表等等,如图2显示了一个利用MS SQL数据库的系统设计。
其系统结构复杂,而且对开发和集成人员而言要编写大量的脚本存储进程做大量的开发工作,由于来自现场的数据都是实时刷新的,海量的,所以这种复杂的体系结构必然导致在数据存储和回取使用的效率较低,从而影响整个厂级信息化应用的效率。
iHistorian采用了分布式的数据采集结构和二级压缩的存储结构(如图3):
在前端控制系统的上位机安装采集器Collector,该采集可以实时捕捉当地SCADA、HMI节点、OPC服务器或者手工录入的实时数据,在压缩之后发送送给iHistorian服务器。这种采集器可以分布安装在不同控系统的接口站上。
这种采集架构的好处就在于前端分布很多采集器时,不会因为iHistorian服务器的无法响应或者网络链路中断而导致数据丢失。采集器可以自动将过程数据缓存在本地缓冲区内,当iHistorian服务器响应采集器请求或者物理链路恢复后,采集的数据可以自动恢复到iHistorian中。这个特性充分保障的数据的完整性。
由于来自于不同的控制系统的过程数据之间可能有时间上的相关性,所以iHistorian可以对来自不同采集器的数据进行自动的时钟补偿,以保障数据分析的有效性。
iHistorian提供采集死区压缩和归档存储压缩两种手段压缩记录过程数据。
采集死区压缩是指在接口站端,采集器将所采集的的过程数据根据预定义的死区过滤后发送给iHistorian,如果该死区定义为0,则表示如果该标签的当前值与前一个值不同,则把当前值发送给iHistorian,如果完全一致的化,该值被过滤掉。
归档存储压缩采用基于变化率的矢量压缩,原理如图4:
iHistorian判断来自于采集器的数据如果数据点C落在A和B点的直线上或者在斜率的变化的死区范围内,则B点数据不被记录到数据文件,在采集到E点数据时,直线DE的斜率相对于CD斜率的变化已经超过了死区的限制,所以D点数据被记录到数据文件。同理G点数据被记录到数据文件。在图4中B、C、E、F、H、I点的数据都被压缩处理而没有记录,但是通过插值的算法可以回取到这部分数据。
在归档存储压缩中,斜率的变化率是可以由用户针对不同的I/O点的具体情况单独定义的。如果定义为0%,意味着过程数据一旦脱离原有斜率就将被记录,此时数据的存储是无损的。
通过以上的压缩方式,可以极大地提高经济存储的性能,经过测试,每秒纪录500个浮点数, iHistorian和关系型数据库存储空间比较如下(存储空间和数据变化率不同而有所不同):
可以记录一笔线性的过程数据,而不论纪录多长时间。
3.3 系统性能
3.3.1 数据的采集
iHistorian可以以20000次/秒处理数据读写事件、数据记录毫秒级的时间分辨率、采集器可以提供100ms的数据采集速度、单台服务器10万个标签点记录能力、数据计算采集器提供直接针对过程数据的计算引擎和脚本开发工具,可以直接将计算结果存储到iHistorian。
3.3.2 系统管理和维护
iHistorian提供存瘦客户端的系统维护能力,即通过IE浏览器,在远端就可以完成对iHistorian的全功能免编程维护,包括系统状态跟踪、标签点的增删、压缩比修改、用户权限管理、采集器的起停、归档文件的备份等。例外iHistorian提供的电子签名的功能可以提供更为强大的安全管理的能力,甚至可以指定不同用户针对不同的的标签点的操作能力,并将这些操作过程也记录到历史数据库中,用于操作跟踪,由于该功能符合并通过21CFR Part11的认证,所以可以直接用于医药行业。
3.3.3 数据应用
iHistorian提供多种数据接口,通过OLE DB、可以使用标准的SQL语句查询iHistorian中的历史数据、系统消息、标签点等,如下语句:
Select Timestamp, Value
From ihRawData where Tagname = Temp1 ;
And Timestamp >Today ;
And IntervalMilliseconds = 1Hour ;
And CalculationMode = Average ;
该语句实现了针对当天Temp1每间隔1个小时的平均值,返回结果如下:
如果利用MS SQL记录历史数据,要完成诸如基于时间的平均值、插值等查询一定要编写大量的复杂的代码和存储过程,针对原始数据建立索引和排序也有很大性能上的牺牲,而且回取效率很低。
另外还iHistorian提供EXCEL Addin报表工具、iClient客户端、infoAgent智能化数值分析工具、API SDK 接口工具,这些接口的效率极高,例如在iClient的同一个趋势图中同时查询10笔一年前的两个月周期的历史趋势,刷新可以在3秒以内完成。
4. 总结
综上,基于iHistorian的解决方案(如图5)同时解决了生产过程数据的实时采集、经济存储、安全应用等几个方面的问题,所以完全可以作为生产信息化建设基础数据库平台来应用,从而:
·实现生产指挥中心对各生产工艺环节的生产和设备的过程可视化监视;
·实现现场生产数据的实时/历史趋势记录,并对生产数据及设备状态进行自动统计、分析、处理,通过对生产过程数据的智能化分析报表和报告应用,为高层管理人员生产经营决策提供及时可靠支持;
·实现生产现场和各子系统模块之间进行数据交换,把全公司的信息上下左右贯通起来、建立生产管理和生产控制承上启下的通路,实现厂级信息的集成和共享;
·隔离企业管理系统和底层控制系统,确保控制系统的稳定运行,不影响现场的生产。
利用实时历史数据库,可以保护企业在IT或者ERP上的投资,使企业的管理系统运行在实时生产过程数据的基础上,从而提高产品质量、缩短制造周期、提高全面装备效率、提高人工效率、提高企业信息化建设的满意度。