技术频道

IndustrialSQL Server系统在电厂SIS系统中的应用

近几年来,为了适应中国经济的快速发展,电力行业进一步提高了全厂综合自动化水平,注重信息化的建设,特别是各地的火电厂纷纷提出适合自己工厂的厂级监控信息系统(也就是现在所说的SIS系统)以提高生产效率,实现电厂管理信息系统与各种分散控制系统之间的数据交换。厂级实时监控信息系统以分散控制系统为基础,以经济运行和提高发电企业整体效益为目的,采用先进、适用、有效的专业计算方法,实现整个电厂范围内信息共享,厂级生产过程的实时信息监控和调度,同时又提高了机组运行的可靠性。它为电厂管理层的决策提供真实、可靠的实时运行数据,为市场运作下的企业提供科学、准确的经济性指标。但是SIS系统的开发往往不仅需要有一定的计算机知识,还需要了解自动化常识以及对电厂实时生产过程管理有比较深刻的理解。如果单纯依靠软件开发人员开发,则很难完成如此艰巨而又责任重大的任务,即使完成了也已经耗费了大量的人力和时间。

  目前电厂SIS系统主要实现的功能有:

  1.监视、指导机组的运行

  2.降低发电企业的火电煤耗

  3.主机和主要辅机故障诊断

  4.科学分配机组负荷

  5.降低成本、提高效益

  6.管控一体化

  针对目前各个电厂生产管理的目标以及火电厂运行期间的各个特点,我们推出了一系列的解决方案,其主要核心是实时数据库。虽然目前市面上有很多关系数据库,但是均不能满足电厂的需求,我们需要建立一个实时/历史数据库并具有如下特点:

  ●为生产和管理获取所有的相关信息,可以生成过去和现在的所有操作情况画面,以足够的信息供用户以不同的视角在统一的数据仓库访问相同的信息,获得不同的应用。目前电厂需要查看的数据大于有两三万点。

  ●在线存储多年的工艺数据,即以用户或应用的要求,包括毫秒级的数据存储历史数据,以利于工艺和设备的运行状况分析。电厂需要分析的数据跨度大概需要两年或更多。

  ●以数据的原型存贮,即数据的采集与存贮保持原有的采样间隔和采样精度而不必考虑将来如何用,但这需要占用大量的磁盘空间,采用先进的压缩技术和保持原有精度的还原技术是可取的。

  ●数据只存贮一次,以数据的基本形式存贮,并可对数据进行任何格式的计算和归纳处理。支持过程优化、先进控制、专家系统和其它复杂计算功能,以满足不同用户或应用程序的要求。

  ●数据库是一个全厂范围内的统一数据平台,是用来在不同厂商的产品间传送信息。因此,必须具有开放性,例如采用分布结构的计算机环境,Client/Server结构,可在多种系统配置下运行,在客户端产品底层采用Windows技术和Windows化的界面,有丰富的商业化数据处理工具,对不同的DCS、PLC、工控机等厂商产品有丰富的接口经验。

  ●数据采集和存储的可靠性。采用分布式结构进行数据采集和存储,接口能支持网络节点之间的容错技术,当发生故障时仍可继续采集网络节点式接口设备的数据,采用分布式数据存贮数据暂时保存在该节点上,保证数据在节点上的故障数据不丢失。

  由于实时/历史数据库采集的速度快,数据量大,精度要求高,并且带有时标,便于分析和生成报表,因此十分适合目前电厂的数据采集和分析,而常规的关系数据库则在这些方面都相距甚远。

   鉴于以上的这些原因,市场上也出现了许多不同级别的实时/历史数据库,目前最经济且性价比最优的则是美国Wonderware软件公司的IndustrialSQL Server(以下简称为InSQL)。

  InSQL是一套基于Client/Server结构的商品化软件应用平台。它是时间序列的数据库,最适合处理过程数据。她有六大特点:

  1.数据采集

  InSQL可以实现快速数据采集。而在电厂内是不是需要这样快速的数据采集呢?1分钟的数据,能够满足ASME标准与国标的有关性能分析,也能产生许多报告及表示某些主要流程状态。但是对于过程诊断而言,则是不足的,有相当多的过程快于一分钟,对模拟量,根据Shannon 采样定理,选择采样周期T至少应是过程周期的1/2。事实上,工业上常用的是1/10~1/20。以炉膛负压为例,在对应的送引风机作用下,其过程一般为以40~60 秒为自然周期,考虑到实际过程中噪声与各次谐波的再现,实际采样周期不应高于2 秒。对开关量过程,前一秒的因可能是后一秒的果,某泵的出口门关就会引发保护跳闸。电站中不论是电量保护还是非电量保护,往往是多个原因触发唯一的结果(跳闸),而且结果发生后会使原来的多个原因迅速发生变化。要对这样的过程进行追溯以查找因果,1 分钟的采样周期显然是不能胜任的,可以认为越快越好。对当前的电厂,对于少量特别重要的顺序关系开关量,一般使用毫秒级的SOE(Sequence of events)系统进行记录,而对少量特别重要的模拟量,则用专用的故障录波仪系统进行记录。但是多余的采样会使信号过于冗余,产生显示与分析障碍。对于实际的采样记录计算机设备,会造成资源的浪费与可靠性下降。InSQL提供毫秒级的数据采集,最快的数据采集速率为3毫秒,大大超出电厂的需要。电厂内有大量的DCS,而大多数DCS中的开关量的周期为0.1秒,模拟量大约为500毫秒,很显然,超过这个限度是不明智的,所以当过程记录达到1秒时,应能满足96%的过程监视、追溯与诊断要求。

  2.数据压缩

  有了毫秒级的数据采集,硬盘就成为数据存储的最大瓶颈,InSQL内有一个称之为Loss-Less的压缩算法来实现数据存放的问题。她的压缩率非常的高,可以达到90%以上,且是无损压缩,整个过程对用户完全透明。那么电厂的实时数据究竟需要存放多久呢?我们认为最好能存2年或更多,因为目前机组的检修周期一般是一年至一年半,工程师应能与去年同期或修前的数据进行分析比较。有了这样的一个压缩率,就有可能在硬盘上存储足够多的数据以便查询。

  3.实时查询

  有了海量的存储,有了压缩算法,我们还需要有一个便捷的查询手段。InSQL虽然是一个实时数据库,但是她也兼顾关系型的优点。除了直接支持用标准的SQL语句查询数据,还对现有的SQL语言做了一定的扩展,提供了专用的关键字,用来实现返回等间隔的数据。查询的速度也非常的快,主要是因为InSQL每天都存储一个目录,所以在查询时的效率会提高。

  4.事件系统

  虽然InSQL提供快速的数据采集,也有相当优秀的数据压缩率,也支持实时查询,但是InSQL所能做的还不只是这些,她还内嵌了一个便捷的事件系统。一旦系统有故障产生,系统就会触发数据库中的事件,事件系统会依据不同的情况执行不同的动作。比如当每天早上八点钟时就计算昨天的产量和消耗,再比如当某个开关量从0变为1时,系统就记录几个相关的模拟量值,做一个快照功能等等。

  利用事件用户可以方便的从数据库中直接获取需要的相关数据,简单的统计数据或是提醒机制(Email方式)。只要配置事件系统就可以诊断状态和机组分析,达到事半功倍的效果。

  5.内嵌MS SQL Server

  InSQL是一个实时数据库,但是她还兼有关系型数据库的特点,因为内嵌了一个MS SQL Server数据库。InSQL数据库把所有的配置信息,所有的事件信息等都存储在MS SQL Server数据库中。一旦需要访问数据的时候,用户可以直接访问MS SQL Server来获得数据,也可通过OLE-DB的方式访问InSQL数据库。从下图中可以看出InSQL Server和MS SQL Server之间的架构关系,也体现出InSQL是一个实时关系型数据的全新特性。两者缺一不可,相辅相成。有了内嵌的MS SQL Server,还可以和其他数据库实现连接,为用户编程提供了方便。

6.支持冗余

  InSQL支持冗余,并且提供多种不同的冗余方案。通过内部的IDAS(IndustrialSQL Data Acquisition Server)服务实现。一种方式称为失效切换:当有一组数据源出现问题时,InSQL会自动找到备用数据源,并把所有测点全部切换到备用节点上去。另一种方法称为存储转寄:当现场只有一组数据源,而其中的网络又由于某种原因断开了,系统会在数据源上自动缓存数据,当网络再次连通时,再把损失的数据传回InSQL数据库中,以保证数据库的完整性。

  对于有些特别的情况,整个系统需要有一定的备用余量,则以上两种冗余方案则都不能满足需要。用户还可以调用InSQL的存储过程来实现复杂的冗余,整个过程也相当的容易,只要有一定数据常识的人员就可以完成。从整体上来说InSQL的冗余还是考虑的相当细致和周到,为用户提供了许多的访问和切换的手段。

  InSQL不仅支持数据的冗余,还支持自身的冗余,两个InSQL之间也能通过软件配置达到数据库的同步,的确为用户提供了诸多的方便。

   总体上来说InSQL是一个相当优秀的实时关系型数据库软件,这不仅体现在性能上,在价格上也有一定的优势。对于25000点的数据库与20个客户端而言,InSQL只需花费其他软件的25%,而且接口友好,不仅支持OPC/Suitelink,ODBC,还支持MS SQL编程接口。

   下面针对电厂的具体情况,我们提出两个不同的系统架构。一是InSQL+InTouch的架构,这也是目前最为流行的架构;另一个是Application+InSQL的架构,这是Wonderware公司建立在ArchestrA工业平台上的全新架构,具有更多更灵活的优点。

  


  
InSQL+InTouch系统架构


考虑到很多电厂已经是运行了许多年了,期间的DCS设备可能由数个品牌所构成,又或者上位机监控软件也已经有几个不同的厂家所提供,鉴于大多数这样的情况,我们建议使用InSQL+InTouch的系统解决方案。

  (1)网络结构

  采用分层的网络架构,SIS网络以InSQL为核心,遵循开放的TCP/IP协议。通过双网卡的结构分割了MIS系统SIS系统。对于MIS系统的人员来说只能查询到InSQL内的数据,而不能对SIS系统上的测点进行控制。另外SIS系统还为MIS系统提供了多种查询方式,支持实时数据的显示方式,也支持标准客户端的历史数据访问,还可以通过Web服务器实现网络浏览等。由于InSQL同时兼有关系型的特点,所以还可以方便的和其他的数据库进行连接,为用户的开发也提供了良好的接口。

  (2)软件配置

  如果用户使用的监控软件是InTouch,那么我们只要添加InSQL数据库服务器在一级网络上就可以方便的导入InTouch的测点,无需编程就可实现和DCS设备通讯;假如用户使用的是其他的监控软件,那么我们也提供手工建点的方式连接测点;或者我们也可直接和OPC Server实现通讯,把所需要的DCS数据导入到InSQL服务器中。

  (3)数据管理

  具有良好的性能,比一般关系型数据的数据存储快100倍,提供毫秒级的数据采集。

  支持标准的SQL查询,并可根据需要返回等间隔的数据,或返回一定数量的数据。

  数据备份极为方便,一天生成一个目录来存储数据,也可使用内置的策略方式来定义循环存储数据。

   对不能自动采集的数据,利用InSQL内的MDAS(Manual Data Acquisition Service)服务实现多种手工导入。

  能够实现事件触发的功能,一旦条件满足,则会快速记录所有相关测点的信息,或者执行一些相关的语句。

  提供手工加测点的方法,随时都可以增减数据测点。在修改完毕后,不需要重新起停数据采集服务。

  对于数据源的冗余提供了多种方案,保证最大程度的数据完整性。

  (4)数据压缩

  InSQL的数据压缩性能是非常令人振奋的,她不仅具有非常优秀的压缩率,而且这个压缩算法还是无损压缩,为电厂海量存储提供了最有力的支持。

  我们以每个数值占4个字节,时标占8个字节,1个为质量字节计算,共有22000点,2秒周期的循环方式存储:

  每日数据=13×200000×(60/2)×60×24=11,232,000,000≈11G

  再加上索引文件和日志文件就更大了。但是InSQL实际只占用了1G,并且时无损压缩,压缩率大于90%。如果采用Delta的存储方式,即状态变化时才存放,文件至少可以再减少70%。

  (5)性能优越

  占用CPU的资源比较少,一般的负荷仅为5%-10%,如果有20个用户同时访问,也能很好的运作,CPU的最高负荷为70%。

  除了提供历史数据还提供实时数据,并且可以使用28.8K的Modem进行远程监控查询。

  (6)强大的客户端

  提供多种客户端连接方式,最优秀的是有一个专门的ActiveFactory客户端软件。包含了趋势工具,查询工具,以及和Excel,Word连接的工具集,使用非常的方便,整个过程不需要编写任何一句代码。

  用户如果需要自行编写程序,也可直接使用OLE-DB的方式连接到数据库,然后就和其他标准的关系型数据库一样使用SQL查询。

  对于实时数据的查看,可以通过InSQL内的一个专用服务,再连接到FactoryFocus(InTouch只监视不控制的版本)上进行显示,速度和效率都和现场的操作员看到完全一样。
  


  
Application Server + InSQL系统架构

对于电厂另外一个更好的选择则是采用Application + InSQL的系统架构。整个方案和上面的方案最大的不同就在于我们采用了Wonderware公司新的ArchestrA工业平台来解决整个电厂的信息系统。

  (1)网络结构

  由两台Industrial Application Server作为主服务器,整个系统中所有的通讯均由这两台Server来实现。并且运行所有相关的脚本,实现所有的报警信息。由于在Industrial Application Server中采用了Microsoft. Net框架,使Industrial Application Server的应用可以灵活地在多个计算机中部署,实现多个计算机分布式协调工作。因此,在此架构中,Industrial Application Server的应用可以分布在一个或多个计算机中,它们共同组成了工业自动化应用和实时数据的公共平台。而InTouch仍然是重要的可视化界面,它将生产过程如实反映给操作员和工程师,并执行来自他们的操作和指令。作为实时/历史数据库IndustrialSQL Server依然在SIS的核心部件,它收集来自本系统和外系统的数据并存储,从而为整个企业提供海量的历史数据,为生产,维护,质量等多个部门提供强大的过程数据支撑,使他们可以实现优化,分析,质量判断等更高级的分析和决策。通过两台服务器把需要存储的数据以主动的方式发送到InSQL服务器中,整个过程InSQL服务器不需要做任何的操作。可以InSQL说和DCS系统没有直接的连接关系,从而实现了SIS的独立完整性。

  一旦采用了这个架构,用户就可以方便的根据电网中调所下达的全厂发电总负荷,对各机组出力实施不同的负荷分配方式,为发电企业带来的效益。通过Industrial Application Server和InSQL的组合判断,进行科学合理的负荷分配,在满足厂级总负荷时,以大偏差优先,小偏差负荷优化为原则,同时,根据各单元机组负荷响应性能,尽可能满足单元机组负荷优化操作条件,最终获取整体的最大经济效益。

  (2)软件配置

  我们需要安装配置好Industrial Application Server,因为所有的配置都在服务器配置就可以了,我们可以通过配置来分摊网络系统中的负载。也可以指定任意一台机器做数据源,并且在后台已经为指定的机器安装好了通讯成讯,负责采集数据。

  (3)数据管理

  标准的TCP/IP网络。

  工程开发周期大大缩短。

  完全基于面向对象的开发策略,大大提高编程效率。

  当整个系统配置完毕的时候,还可使用"部署"的方式确认配置信息。而且可以支持在网络上多个人员分布式开发,分布式"部署"。这样使得开发周期大大缩短。

  支持用户自定义属性,极为灵活方便。

  Industrial Application Server是一个完全面向对象的软件,她可以把整个工厂的设备抽象为若干个对象,再通过继承的方式衍生出其他特别的对象以供使用。另外,整个系统还可把这些对象通过导出导入的方式再应用到其他相关系统中,为开发提供了全新的途径。

  支持CSV文件的导入导出,为数据备份提供了方便。

  隔绝了SIS与DCS系统之间的连接,提供了更加安全的控制手段。

  以Industrial Application Server和InSQL为核心的SIS系统,继承了原有架构无与伦比的设备连接能力,利用传统的IOServer和新一代的DAServer,用户可以连接成百上千的控制系统和设备,并统一地集成到Industrial Application Server中,以过程对象的方式来描述控制设备和过程,并在InTouch上实现监控和操作的目的。

  增加了更多安全性的配置,完善了安全体系,能保证系统合适的操作权限和安全。

  (4)功能模块

  对于SIS的计算模型和功能,我们大致分为两类,一类基于实时数据的,比如设备状态的在线计算,能耗的统计等;另一类基于历史数据的,比如生产运营指标,经济指标等。由于Industrial Application Server提供了强大的脚本能力,用户可以基于Industrial Application Server的QuickScript.Net来进行实时模型的计算,并可将这样的计算集成在你的对象模板中成为标准的SIS对象,并可实现重用。

  另一方面,你可基于InSQL实时数据库来实现基于大量历史数据的计算模型,这些模型可能基于对历史数据的查询,基于统计的计算等等。由于InSQL是标准SQL访问,所以功能扩展和计算都变得相对容易。

  下面也罗列出一些具体的模块功能:

  过程信息管理模块

  性能计算模块

  电厂负荷优化调度软件模块

  锅炉清洁模块

  汽机寿命管理模块

  锅炉寿命管理模块

  辅机寿命管理模块

  诊断功能系统

  电厂设备测试模块

  数据调整模块

  优化控制模块

  维修、备件管理模块

  文档、工程管理、环保管理模块

  经营计划管理、技术经济分析、报价支持高层软件模块

  这些功能模块有些是可以直接使用InSQL来实现,有些则需要通过专业软件来实现。

  总体来说,Wonderware 的ArchestrA架构采用全新的技术,为自动化和信息化系统构筑了优秀的平台,同时为发电企业的SIS系统的构筑提供了强大的可扩展的灵活架构,并提供了灵活便捷的应用扩展能力。通过Industrial Application Server, InTouch, IndustrialSQL Server, Suitevoyager等系列产品,具备可视化,数据收集,数据存储,信息发布等完整的解决方案,非常适合于构筑发电企业SIS系统的应用平台。

文章版权归西部工控xbgk所有,未经许可不得转载。