1 引言
随着风电市场的快速发展,风场规模的不断扩大,建造无人值守、少人值守的智慧风场已经成为一个必然的趋势。远程集控系统是实现无人值守、少人值守的一个基础。目前的集控系统大多还是采用传统的技术路线及架构,在功能、性能、用户体验方面都还有很大的改进空间。随着互联网技术的飞速分钟,将这些新的、优秀的互联网技术应用于风电集控系统,将会使集控系统变得更高效、更好用、更智能。
本文从集中监控系统的整体架构、数据采集与传输、数据存储与分析及界面展示四个层面分别进行设计,将传统技术互联网技术进行比对分析,利用新一代互联网技术设计优化集控系统设计。
2 系统设计
2.1 系统架构设计
并行数据存储与数据展示
很多厂家采用串行模式,前置机采集到数据后通过远程传输系统将数据传到集控中心,集控中心接收数据并写入到实时库,界面展示再从实时库中取出实时数据用于展示,一区的集控系统再降数据转发三区的web发布系统用于系统展示、报表分析等应用。此种架构数据是串行转发,会产生较大延时,一般情况数据延时会超过5秒以上,这样会导致一些实时数据,并不能实时的刷新。
如果采用并行模式,可以让数据存储于界面展示同时进行,这样界面展示就可以做到很小的延时,最小1秒。而且此种架构可以实现不同频率数据存储与数据刷新,如果出于成本考虑不想要存储高频数据,但是又想看到高速刷新的实时数据,可以将存储频度降低,界面刷新频度保持高频。
面向服务的SOA架构、B/S模式、松耦合、分布式、跨平台部署
很多集控系统还是采用紧耦合的传统C/S架构,一旦一个模块出现问题整个系统都会瘫痪;C/S结构大都是基于Windows平台,安全性差,不支持系统升级,兼容性差等问题很是令人头疼。
面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。
采购SOA架构的系统,各模块各自独立,互不影响,可以很容易实现集群式分布式部署,通过负载均衡减轻服务器负担。SOA架构的最小单位是服务,而不是传统架构的模块,一个模块可以包含多个服务,SOA架构的每个服务均可单独启动、停止,支持后台管理及在线调试。
松耦合架构示意图:
2.2 数据采集与数据传输
2.2.1. 数据采集
传统的工业自动化及电力系统习惯于采用软硬件结合的嵌入设备进行数据采集,如通信管理机、远动通信装置等。这种设备硬件配置较低,不能传输大量数据;扩展性差,如果接口不足,需要重新购置设备;软硬件构成紧耦合,不论是一个软件模块或者硬件模块损坏,就都要更换整个装置。
也有不少厂商用实时库或者组态软件进行数据采集的;实时库的采集协议不多,对于特殊的协议不能支持,实时库的采集、传输及界面展示都是紧耦合,一旦发生故障,整个系统都将瘫痪。组态软件虽然可以支持多种协议,但是大部分组态软件的性能都较弱,不能支持大量数据的高频采集,且很多组态软件都是采集、传输、界面展示与一体,构成了紧耦合,而且不能给第三方系统开放接口。
我们的数据采集层采用SOA跨平台采集协议组件,各个采集组件完全松耦合,各自独立,按需加载,互不影响。支持分布式部署,在数据量大的情况下可以采用多机并行部署,提供采集效率。后台采集服务可视化管理,可以动态启动或停止某个采集服务器,可以实时查看各个采集模块数据快照,快速查找诊断程序或者数据问题。
2.2.2. 数据传输
目前传统的集控系统大多采用以下几种传输方式:
实时库:实时库依靠数据同步技术进行数据传输,数据同步功能更试用于稳定的局域网内通信,远程传输可靠性较差、工业协议性能差。
OPC DA:OPC DA是微软主导的工业通信协议,性能差、配置繁琐、稳定性差,而且只能运行在Windows系统。
IEC60870-104:IEC104是在IEC101基础上改进过来的,是一个串行通信的协议,不支持大量数据的高频传输。且IEC104协议约定并不严格,有多个版本,兼容性不好。
Modbus TCP:Modbus TCP协议性能还可以,但是在网络不稳定的情况经常会出现通信异常。而且没有权限控制功能,安全性较弱。
在互联网时代,大数据技术飞速发展,基于大数据底层数据传输技术NIO(AIO异步非阻塞)及Kafka(高通量消息队列)可以很好的解决海量数据高速、可靠的传输问题。NIO技术是一个基于TCP的轻量级数据传输技术,适用于风场到集控中心的远程数据传输,我们在不考虑网络带宽的情况下测试,单链路每秒可以传输400万个测点。Kafka是一个分布式高通量消息队列工具,它可以实现多台客户端并行发送数据,多台服务器并行接收数据,从而达到一个更高性能的数据传输,我们一般把它用在数据中心之间的数据同步。
2.3 数据存储与数据分析
2.2.3. 数据存储
工业自动化领域或者火电企业大部分采用实时库或者关系型数据库存储实时数据与历史数据,实时库采用高压缩比策略,将大数据压缩成了少量数据。在读出是采用反解压方式将数据还原,所以实时库读取大量数据时速度很慢,且实时库采用列式序列化存储,在随机查询和多维查询方面几乎不可用,而且实时库的数据导出性能很弱,在数据量大的情况几乎不能导出。目前很多风场SCADA系统采用了实时库存储风场实时数据,在运行了几年后数据基本都导不出来了。这样会导致我们后续无法利用这些数据进行数据分析。
关系型数据由于要维护负责的逻辑关系,所以在写入时速度不会太快,且数据检索需要建索引,会拖慢写入速度。关系型数据在查询方面比实时库要稍好一些,但也不支持大量数据的快速检索
随着IT技术及硬件设备的不断升级、存储价格的不断下跌,大型互联网公司一般采用分布式大数据系统来存储及分析数据,如采用内存数据库(Dynamo、MemCacheDB、Redis、TokyoCabinet )取代实时库,采用分布式非关系数据库(Hadoop、Hbase、Cassandra、MongoDB)取代历史库,目前Google、Facebook及国内的BAT公司均采用大数据技术进行数据存储与分析,大数据平台支持ZB级数据存取。
大数据技术及产品一般都是开源的、免费的,所以采用大数据技术不会增加成本,反而还会提供更高效的数据存储与数据分析服务
以下是我们基于OPC UA协议做的基于互联网技术的内存数据性能的测试:1000点数据的读取写入时间约2.4毫秒。
下图是我们利用大数据技术进行读写的测试,每秒可写入1.2GB数据,如果按每台风机2K字节算,每秒可以写入60万台风机数据。4.8亿个测点。
2.2.4. 数据分析
互联网的发展离不开大数据分析,依托数据分析会产生很大的价值,通过数据分析,可以帮我们节约成本、提供生产力。
实时库设计之初是用于做事故追溯的,本身不具备数据分析的能力或者在数据分析方面能力很弱。
基于大数据平台有很多开源的分析工具及开源的机器学习平台,可以实现海量数据的高性能存储、计算与分析。
嘉士宝公司自主研发的可视化大数据分析工具,可以通过拖拽或者写SQL脚本的方式实现对海量数据的挖掘与分析,并可以生成各种图形化报表
嘉士宝公司自主研发的机器学习算法平台,可以实现数据的清洗、转换、加工;机器学习算法平台可视化定制机器学习任务,是实现建模,训练,测试及任务的执行机器学习算法的一体化平台。
2.4 界面展示
早期的集控系统大多采用C/S结构,需要安装客户端,并且只能在指定操作系统上运行,安装繁琐、而且还经常有各种不兼容的问题。
互联网的应用基本几乎全部是B/S结构,浏览器访问模式,无需安装客户端,支持任何操作系统。HTML5规范是2014年9月正式发布,更高的可用性及更友好的用户体验为大多数一流互联网公司所采用。
基于HTML5技术实现的界面可以支持各种移动端设备展示,如手机、PAD等。而且可以很容易实现和微信的绑定,通过微信客户端使用集控系统,更简单、便捷。
作者:北京嘉士宝科技有限公司 陈志鹏
注:此文章为嘉士宝科技原创技术类型文章,转载请注明出处,版权归原著者所有。
严禁盗用,违者必究!