SCADA系统教程SCADA系统.docx
《SCADA系统教程SCADA系统.docx》由会员分享,可在线阅读,更多相关《SCADA系统教程SCADA系统.docx(27页珍藏版)》请在冰点文库上搜索。
SCADA系统教程SCADA系统
第一章SCADA系统
1.1.SCADA系统的意义
SCADA是SupervisoryControIAndDataAcquiSitionSystem的缩写,是对分布距离远,生产单位分散的生产系统的一种数据采集、监视和控制系统。
了解生产情况是实施科学生产的基础,如果生产过程分布很近,可以采用就近控制的办法,就地接线,就地监视,就地控制,对于复杂的过程生产采用DCS系统控制的比较多,也有采用PLC的或者专业控制器。
而对于生产各个环节分布距离非常远的,比如几公里,几十公里,几百公里甚至几千公里的,如变电站,天然气管线,油田,自来水管网,随着技术的发展,人们慢慢发展出远程采集监视控制系统,称为SCADA系统。
SCADA系统与其他系统的区别在于:
分布区域广泛
主站与控制对象距离远
监控终端的工作条件苛刻
通讯系统复杂多变
通讯系统不保证可靠传输
1.2.SCADA系统的构成
SCADA系统主要包括三部分组成,主站端,通讯系统和远程终端单元
主站一般采用先进的计算机,有着良好的图形支持,现在采用PC计算机和WINDOWS系统居多,在历史上,曾经有很多系统采用UNIX系统和XWINDOWS图形界面。
一个主站可能的分站数量从几十到几百、几千个不等。
通讯系统就非常复杂了,有线的包括音频电缆、载波电缆、光纤、电力载波等,无线的包括电台、卫星、微波等。
远程终端单元(RTUorTeleControl)的品种也很多,大的系统由很多机柜组成,小的系统可能就是一个小盒子。
1.3.SCADA的主站系统
SCADA系统的主站过去由很多著名的系统是基于UNIX操作系统家族和XWINDOW图形界面的。
随着计算机系统的发展,特别是PC机的发展,PC机和PC机上运行的操作系统在扮演着越来越重要的角色。
庞大的主站系统一般包括如下内容:
通讯前置系统,主要负责解析各种不同的规约,完成通讯接口数据处理,包括数据转发。
包括前置计算机,串口池或者MODEM池,机架,防雷措施和网络接口。
实时数据库系统,主要包括运行实时数据库的服务器。
工程师工作站,负责系统的组态、画面制作和系统的各种维护。
生产调度工作站,是监控系统的主要用户,显示画面,画面浏览,实现各种报警等。
各种监控工作站,主要用于特别庞大的系统,几个人已经无法监控的情况,这时会根据需要,设立各种的监控工作站,每个工作站有人员工作。
历史数据库服务器,是SCADA系统保存历史数据的服务器。
WEB服务器,是现在SCADA主站系统的一个流行趋势,只要用户装有浏览器软件,得到相应的授权,就可以访问相应的他关心的数据。
上层应用工作站,主要用于实时数据和历史数据的挖掘工作。
在电力系统比如潮流分析,负荷预测,事故追忆,电网稳定性分析,能量管理等等。
在自来水行业包括管网压力损耗分析,管网经济性分析,管网漏失分析等。
在采油工程上,包括示功图显示,示功图分析,泵况分析,功图计产等等。
作为SCADA主站系统,大的系统可能有几十个上百个工作站,多个服务器。
为了保证系统的可靠性,采用双前置系统,多服务器系统,两个网络。
但是对于简单的SCADA主站系统可能就只有一台计算机,运行一套软件。
各种不同应用的SCADA系统,可以说大部分是相同的或者类似的。
但是各个行业有各个行业的特点,每个行业所关心的东西不一样。
比如电力行业非常关心每个线路电压电流功率,而对于自来水行业就不是特别关心这些数据,而关心管道的压力流量等。
这样就形成了不同行业的系统。
也有通用的人机界面使用,但是这种界面一般无法满足各个行业的特殊需要。
1.4.SCADA的通讯系统
SCADA通讯系统是最丰富多彩的,有很多通讯方式是很多人都没有听说过的。
一般分类大体可以分为两类,有线和无线,但是随着通讯技术的发展,基于各种网络的通讯方式也发展很快,这种通讯方式很难归结到有线或者无线的范畴,所以也单独作为一类。
有线方式比较多:
音频电缆,架空明线,载波电缆,同轴电缆,光纤,电力载波等。
在有线上传输大体分为基带传输和调制传输,基带传输是在介质上传输的是数字信号,可能也要经过信号变化。
调制解调传输要经过模拟数字变换的传输。
很多介质既可以作为基带传输也可以作为调制传输。
无线方式主要包括:
电台、微波、卫星、光线、声波等手段。
网络方式是通讯系统架构在一个计算机网络之上,比如帧中继,ATM.,IP网,这种通讯方式可能是有线的也可能是无线的,甚至多次跨越无线和有线。
其性能也明显区分于有线和无线系统。
比如不用考虑误码,不用考虑报文的大小,不考虑系统的拓扑结构,但是网络的时延可能比较大。
通过GPRS网络或者CDMA传输SCADA系统数据就是典型的例子。
1.5.SCADA的远方终端单元
SCADA系统远程终端单元有一个专门的词汇RTU。
现在术语中称为TeleControl。
RTU一般包括通讯处理单元、开关量采集单元、脉冲量采集单元、模拟量采集单元、模拟量输出单元,开关量输出单元和脉冲量输出单元等构成。
还有一些其他的接口方式,比如电力变压器的分接头,气象的格雷码接口,水文的BCD码接口等等。
远方的通讯一般和RTU安装在一起,这样便于接线。
现在的RTU出来完成本身的数据采集工作和协议处理之外,还要完成和各种IED设备的接口和协议转换工作。
而且RTU的通讯处理单元的能力越来越强大,而相应的采集工作却在逐渐的弱化,由各种IED设备代替了。
RTU在中国电力系统的最大发展就是用交流采样算法直接计算线路的电压、电流、有功功、无功功率、功率因数、频率、谐波等,取代了传统的电力变送器,降低了成本,降低了接线复杂度,减少了误差环节,提高了精度。
而今综合了保护、远动、计量的设备已经出现了,而传统的远动已经基本退出了历史舞台。
在其他行业的发展限于作者的知识范围,无法多写。
SCADA主站系统
2.1.概述
主站一般采用先进的计算机,有着良好的图形支持,现在采用PC计算机和WINDOWS系统居多,在历史上,曾经有很多系统采用UNIX系统和XWINDOWS图形界面。
一个主站可能的分站数量从几十到几百、几千个不等。
SCADA主站系统主要包括计算机硬件和计算机软件构成。
作为SCADA主站系统,大的系统可能有几十个上百个工作站,多个服务器。
为了保证系统的可靠性,采用双前置系统,多服务器系统,两个网络。
但是对于简单的SCADA主站系统可能就只有一台计算机,运行一套软件。
软件主要包括如下模块:
1规约接口模块
2实时数据库软件
3图形界面
4制图软件
5历史数据软件
6上层应用软件
7报警模块
2.2.系统硬件构成
庞大的主站系统一般包括如下硬件内容:
通讯前置系统,主要负责解析各种不同的规约,完成通讯接口数据处理,包括数据转发。
包括前置计算机、串口池或者MODEM池,机架,防雷措施和网络接口。
根据系统的规模可能有一个,两个甚至多个前置计算机。
串口池是多个串口构成的集合,有两种方式,一种是插在计算机上的多串口卡,一种是以太网接口的多串口服务器。
MODEM池是多个MODEM的集合,可以采用多个MODEM或者采用DSP技术的集成式MODEM(一个接口可以提供30个MODEM)。
各种数据网关把各种不同的协议进行解析,转换成统一的数据存储于实时数据库中。
某种意义上前置系统是一种特殊的网关设备。
实时数据库系统,主要包括运行实时数据库的服务器。
工程师工作站,负责系统的组态、画面制作和系统的各种维护。
生产调度工作站,是监控系统的主要用户,显示画面,画面浏览,实现各种报警等。
各种监控工作站,主要用于特别庞大的系统,几个人已经无法监控的情况,这时会根据需要,设立各种的监控工作站,每个工作站有人员工作。
历史数据库服务器,是SCADA系统保存历史数据的服务器。
WEB服务器,是现在SCADA主站系统的一个流行趋势,只要用户装有浏览器软件,得到相应的授权,就可以访问相应的他关心的数据。
上层应用工作站,主要用于实时数据和历史数据的挖掘工作。
在电力系统比如潮流分析,负荷预测,事故追忆,电网稳定性分析,能量管理等等。
在自来水行业包括管网压力损耗分析,管网经济性分析,管网漏失分析等。
在采油工程上,包括示功图显示,示功图分析,泵况分析,功图计产等等。
支撑硬件:
因为SCADA系统要求365D×24H连续工作,电源系统要求比较苛刻,除了双回供电,还要求有保证系统供电的UPS系统,甚至柴油发电机。
用于系统输出的打印机系统
方便用户了解工作状态的模拟屏系统,这是因为有时整个SCADA系统的画面过于庞杂,而调度人员可能关心的数据没有那么多,而且在计算机的屏幕上无法全面显示,为了调度人员了解全局,需要一个N平方米的模拟屏显示,而且有些操作可以在模拟屏上演练。
大型投影装置,主要方式有背投,投影仪,电视墙等,其原因基本与模拟屏类似,可以降低调度人员的劳动强度。
安装机柜和布线
空调系统,为了系统可靠工作和人员的舒适性,需要空调系统,而且这样的空调系统不同于家庭空调,可能要求24小时工作。
2.3.系统软件构成
系统软件庞大而复杂,其软件划分有时候类似于盲人摸象,怎么看都有其道理。
软件划分的目的是为了软件的编制和维护。
一个好的软件架构超过一堆程序员的辛苦努力。
软件划分的方法一般分为模块方法,把软件划成很多的模块,软件通过模块通讯的方法进行耦合,对于简单的程序一般采用模块法。
模块间的接口只要定义清楚,修改一个模块不会影响到其它模块的功能。
还有一种划分方法是层次法,把软件分为很多层,软件是按照层次关系进行操作,比如对于操作系统就必须按照层次进行分析,层次法的好处对于某一层不满意,只有层间的关系划分得很合理,就可以重新编写一个层替换原来的层,而不需要修改其它代码。
而实际上对于复杂的软件系统一般采用的是模块层次的划分方法,既要按照层的概念定义操作的层次关系,又要按照模块的方法划分同层间的模块关系。
监控系统的层次构成如下,但实际为了软件编制的方便和软件的效率,也未必完全按照这个层次模型进行划分和编写,因为完全模块化和层次化后系统的效率可能很低,影响性能,允许跨层次的访问,一般不允许跨模块的访问。
上层应用软件
数据挖掘软件
状态分析软件
WEB发表
图形界面
图形工具
报警
历史数据
其它应用
实时数据库
数据库服务器/GIS服务器
规约接口
OPC
OLE
其它接口
操作系统
硬件驱动
图形接口
文件系统
网络系统
2.3.1.规约接口模块
从软件划分的角度看规约接口模块是整个监控软件直接和控制设备打交道的,从监控系统的数据来源来看它是最底层的数据提供者,它所服务的对象是实时数据库。
它是系统数据的来源,也是系统操作执行的输出模块。
一般按照规约不同,进行模块的划分,不同的规约采用不同的模块实现,OPC和OLE由专门的模块实现,不同的OPC和OLE采用不同的模块实现。
规约的实现有的是没有层次的,很多也是有层次的。
具有层次的规约好处在于在一种通讯模式下的规约很容易在其它通讯模式下实现。
规约的调度可以采用单线程或者多线程的方式,单线程实现简单,容易管理,但是效率低。
多线程的优点在于效率高,缺点是编写复杂管理复杂。
所有的规约都可以用有限状态机模型进行描述,采用状态机,画出状态转移图后,编写程序时,可以非常清楚状态间的转移和转移条件,避免进入死状态或者出现饿死的状态。
其实规约很多都是有其层次结构的,一般包括物理层、链路层和应用层(不可能采用七层模型,那样太复杂效率太低,软件编写业太复杂),实现时也按照层次实现。
协议的分层是指协议报文的头和内容的关系,下层一般把上层的数据作为载荷使用。
规约接口模块可以由软件在前置系统实现,也可以通过硬件(网关设备)实现。
所有的数据都写入实时数据库。
现在SCADA系统的规约很多,关于规约的问题在其它章节阐述。
2.3.2.实时数据库
先进的监控组态软件都有一个实时数据库作为整个系统数据处理、数据组织和管理的核心。
也有人称其为数据词典。
实时数据库与基于传统数据库技术的数据库(如:
关系数据库)在原理、实现技术、功能和系统性能方面有很大的不同。
集成了实时数据库功能的组态软件的应用范围更为广阔,尤其是在时间关键型应用中。
但实时数据库并不是数据库技术和实时系统两者的简单结合,它在概念、理论、技术、方法和机制方面具备自身特点。
如:
数据库的结构与组织;数据处理的优先级控制、调度和并发控制协议与算法;数据和事务特性的语义及其与一致性、正确性的关系;数据查询/事务处理算法与优化;I/O调度、恢复、通信的协议与算法,等等,这些问题之间彼此高度相关。
实时数据库无缝地集成了数据库与定时性,在对数据库能力和实时处理技术两者均有要求的各种领域有着极其广泛的应用前景,集成了实时数据库的监控组态软件,对多种工程或过程及时间关键型应用更是必要而迫切的,为国家的现代化尤其是自动化建设及国民经济的发展提供有力的、必不可少的支持,在信息技术、信息高速公路及信息产业的建设中起到重大作用。
利用实时数据库可以完成以下应用:
1.记录实时过程的历史数据,用于过程存档、历史数据查询、事故分析、系统建模等。
2.连接各种类型的自控设备(如:
DCS、PLC、智能模块、板卡、智能仪表、控制器、变频器等),配以监控界面,实现自动监控。
3.通过数据库网络通讯功能构建分布式应用系统。
4.运行在控制系统(包括DCS大型控制系统或其它中小控制系统)的上位机中,在数据库上运行先进控制软件、优化控制软件和其它用户应用程序,在客户机上运行各种界面监控软件,快捷方便地实现可扩展的先进控制或优化控制的目标。
5.连接多种控制系统和设备,实现车间级、分厂级及总厂级实时数据综合利用和管理。
6.配合关系数据库管理系统,构建生产指挥调度系统及其它管控一体化系统。
7.通过数据的Web功能,利用Internet/Intranet资源,在浏览器上访问生产过程数据。
8.完全的开放功能,以实时数据库为平台进行再次开发。
2.3.3.图形界面
指将采集的数据,用各种计算机图形技术展示给使用者而提供给使用者的界面。
主要包括图和动画连接。
图指展示给用户的图形,动画链接是指让图随着数据的改变而发生变化。
比如在图上存在一个指示灯,与实时数据库内的一个离散变量X进行动画连接,那么当X=0时至少灯为绿色,X=1时指示灯为红色。
不同的软件对动画连接的叫法不一样,动画连接的词最早见于组态软件。
为了方便用户根据需要产生各种方便的图形,一般主站软件给用户提供了很多类型的图元供用户使用。
图元大体可以分为:
基本图元如点、线、矩形、圆形、文字等,这些图元的形状、颜色、填充、文字等在动画连接后可以随着变量的改变而改变。
复杂图元可以是综合了很多基本图元而生成的图元,它的属性更多,更为复杂,比如X-Y曲线,圆饼图,指示仪表。
对象图元更为复杂,也更利于用户的使用,比如可以把一个炉子定义成一个对象图元,把一个管道定义为对象图元。
结合GIS系统,可以对数据进行多个层面多维度的展现。
在很多的SCADA系统中需要了解采集控制对象和地理分布的关系,这就需要强大的GIS系统的支持。
目前的主站软件把这二者结合的不是很多。
2.3.4.图形工具
提供给开发工程师的工具。
因为一个软件即使功能再强大,提供的图元再多也有不能满足用户要求的时候。
这时需要提供一种可以开发复杂图元和对象图元的工具。
用户可以根据自己的需要开发图元。
提供这样的工具可以把原来需要软件提供商做的工作交给用户做,如果存在很好的交流和利益分配机制,可以把用户变成开发者,这样对于发展客户和提高软件的功能很有益处。
2.3.5.报警
报警模块主要用于提示操作人员,主要包括如下类型的报警信息.
开关量输入状态变化报警,指开关量输入信号的状态发生改变,如断路器的位置从合变为分,阀的状态由通变为断等待。
这种状态的变化可能直接导致严重的事故或者对系统的运行有巨大的影响。
模拟量超限报警,指模拟量超过或者低于设定的限值,比如管道温度高于设定值,这种状态的可能会导致产品质量下降或者造成人身安全事故。
模拟量报警一般包括上上限、上限、下限、下下限等,有时用颜色加以区分。
报警模块从实时数据库读取数据,进行处理,产生报警事件。
报警事件写入历史报警记录。
事故追忆(SOE),有时为了分析系统出现故障时系统的状态,便于找出事故原因,需要知道各个重要点数据和时间。
这就需要SOE。
SOE事件记录的产生是在RTU内部产生并存储,实质是具有时标的信息(也就是把信息上打上时间标签),主站端需要把这些数据读出来并显示,存入历史报警数据库中。
SOE系统需要整个系统的时钟同步,而且要求同步精度很高(1mS),所以对整个系统要求很高。
过去很难有一种办法解决这个问题,现在的网络时钟同步和GPS可以很好的解决。
2.3.6.历史数据
历史数据是整个SCADA系统的财富。
历史数据是按照时间或者其它规则把实时数据库内容转成历史记录。
历史数据的记录很庞大,一年的记录数据可能就有几个GB甚至几十个GB的数据量。
所以对历史数据库服务器的内存和存储以及CPU的速度要求比较高。
因为在数据挖掘的时候,需要大量的遍历历史数据。
2.3.7.网络发布
为了满足信息化建设的要求,避免建设成为信息化孤岛,现在主流的主站软件都有网络发布功能或者模块。
网络发布包括很多种形式,目前最流行的是WEB发布,这是因为随着互联网的发展,WEB浏览器成为目前个人计算机的主要软件配置,而且浏览器软件大多数是免费的,功能相当的强大,用户数量众多。
这样通过WEB进行发布不需要安装软件,不需要培训客户,用户也习惯这样获得数据。
缺点:
安全性差和速度慢
网络发布的另外的形式是需要客户安装客户端软件,客户端软件是收费的,所以这种方式不太受欢迎。
但是其优点也很明显,安全性高,速度也快,而且甚至不需要借助于网络,通过电话线、RS485、RS232接口都可以。
网络发布的另外一种形式是通过实时数据库和历史数据库发布,这种发布一般不是给人看的,是应用软件间的一种数据传递方式。
其它的方式如基于网络的OPC,COBRA等等。
2.3.8.主站系统的工作阶段划分
主站系统按照工作阶段可以分为系统开发阶段和系统运行阶段。
系统开发阶段:
是设计工程师为实施其控制方案,在主站软件的支持下进行应用程序的系统生成工作所必须依赖的工作环境。
通过建立一系列用户数据文件,生成最终的图形目标应用系统,供系统运行环境运行时使用。
系统开发环境由若干个组态程序组成,如图形界面组态程序、实时数据库组态程序等。
其主要使用者是开发工程师和工艺工程师。
系统运行阶段:
在系统运行环境下,目标应用程序被装入计算机内存并投入实时运行。
系统运行环境由若干个运行程序组成,如图形界面运行程序、实时数据库运行程序等。
主站软件支持在线组态技术,即在不退出系统运行环境的情况下可以直接进入开发环境并修改工程内容,使修改后的工程直接生效。
设计工程师最先接触的一定是系统开发环境,通过一定工作量的系统组态和调试,最终将目标应用程序在系统运行环境投入实时运行,完成一个工程项目。
2.4.SCADA软件的上层应用
SCADA系统的上层应用比较复杂,种类繁多,应用五花八门,也就是不同SCADA系统区别的本质所在。
因为各种SCADA系统应用85%都是一样的,差异很小。
而差异主要在上层应用和传感器。
应用太多种类,限于笔者的经历和知识,只能进行一些简单举例。
路灯监控的开灯时间计算是室外照明应用的一个重要的模块,是要根据控制地点的经纬度计算每天的开灯关灯时间,下置给RTU设备进行开关灯控制,这个模块不需要历史数据,仅仅需要当地的经纬度。
电力系统的短期负荷预报,需要利用去年的历史数据和当前几天的历史数据以及天气预报情况,根据数据模型,可以进行短期的负荷预报,可以指导调度和发电。
油井监控的示功图分析和示功图计产,需要根据每口井的示功图数据进行泵况的分析和泵效的分析,给修井、开井和停井提供数据依据。
在地形复杂(山地、丘陵、高原),无法设置计量间的地区,可以根据示功图进行产量的估计,虽然有误差,但误差可以忍受,而且就是有误差的数据也比没有误差好。
供热管网的管效分析,根据管网出口的压力和温度,各个测压测温点的数据,取一个时间断面,可以分析管网的效率,分析供热的经济性,甚至为增设和修改管网走向,提供数据依据。
水文监控的洪水预警,根据各个RTU采集的降水信息、水位信息等,结合河流流域地区的地貌特征,建立数学模型,可以估计河流的干流和支流的流量,估算水位,发布洪水预告,找出危险地段等等。
这种应用关系到人民群众的生产生活,关系到生命和财产的安全。
上层应用只能根据行业进行单独的开发,不可能一个软件满足各行各业的要求。
第三章SCADA通讯系统
2.5.概述
SCADA中通讯系统显得非常的重要,可以看成SCADA系统的神经系统。
而通讯实际是单独的一门学科,想在这里用一个章节讲清楚基本是不太可能的。
这里只能给出一个粗略的说明,详细内容可以参考有关通讯系统和原理的书籍。
通信系统的基本模型见图3-1。
图31-1中发送端的信息源把消息m转换成信号g(t)。
为了使信号适合于在信道中传送,由发送设备将它变换为s(t)后再送人信道。
信道是指传输信号的通道。
图3-1中噪声源是信道中的噪声以及通信系统中其它各处噪声的集中表示。
由于噪声的干扰,接收端收到的信号r(t)可能不同于s(t)。
接收设备把以r(t)转换为输出信号g’(t),它是g(t)的近似或估计值,最后受信者将g’(t)转换成对应的消息m’(t)。
图3-1通信系统的基本模型
由g(t)到s(t)称为信道编码,一般调制方式有ASK,FSK,PSK,QAM,TCM等等。
信道编码经常用在有线和无线通信。
随着DSP计算能力的提高,AD、DA速度和精度的提高,以及数学方法的发展,现在信道编码的能力越来越接近香农信息论的理论值,在电话线上,香农信息论的理论值在64K以下,而实际的调制解调器可以达到33.6K甚至56K的速度。
正弦振荡的载波信号可以用Asin(2*π*ω*t+φ),各种调制方式可以用下面的数学公式加以描述。
ASK信号s(t)=Asin(2*π*ω*t+φ)g(t)=1
s(t)=0g(t)=0
FSK信号s(t)=Asin(2*π*ω1*t+φ)g(t)=1
s(t)=Asin(2*π*ω2*t+φ)g(t)=0
PSK信号s(t)=Asin(2*π*ω1*t+π)g(t)=1
s(t)=Asin(2*π*ω1*t+0)g(t)=0
PSK和FSK还有很多变型的方式,如DPSK,MSK等。
QAM和TCM过于复杂,在这里不便赘述,请参考有关书籍。
由于通讯过程中存在噪声干扰,就有可能出现差错,那么就要进行差错控制,差错控制的方法就是编码。
通讯编码的数学理论基础是《近世代数》,里面研究群环域的概念,详细内容可以参考相关书籍,而编码解码、检错和纠错是通信与编码学科研究的范畴,国内典型的教材是西安电子科技大学王新梅老师编写的教材,其缺点过于深奥,不太好懂。
而在SCADA系统中经常用的是检错,纠错除了特殊的场合很少使用,检错主要是两种编码方式校验和和CRC校验。
和校验原理非常简单,就是对信息进行加法运算或者模2加法运算,接收后对信息进行同样的运算,比较运算结果和传输来的校验是否一致,如果一致认为是正确的,否则认为错误。
这个算法实现起来非常简单,也得到了广泛的应用,但是其基本原理存在着出现差错