《Scada系统的事件模型和动态显示.doc》由会员分享,可在线阅读,更多相关《Scada系统的事件模型和动态显示.doc(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流Scada系统的事件模型和动态显示.精品文档. Scada系统的事件模型和动态显示姓 名: 王立志 学 号: 20041901154 专 业: 电力工程及管理 院 系: 电气工程学院 指导老师: 孟昭勇 起止日期: 2008年 目录目录1摘要2前言3第一章 SCADA系统原理51.1 SCADA系统的意义5 1.2 SCADA系统的构成51.3 SCADA的主站系统51.4 SCADA的通讯系统6 1.5 SCADA的远方终端单元71.6 关于事件和事件顺序记录13第二章 c+语言基础14 2.1 定义14 2.2 类与对象14 2.3 类的
2、好处14 2.4 类的模板14第三章 一种高性价比的工厂配用电监控系统方案18 3.1 工厂配用电监控系统18 3.2 工厂用电监控系结构193.3 工厂用电监控系统介绍203.4 系统配置223.5 通讯协议223.6 典型应用23第四章 系统软件的实现27参考文献28致谢30摘要 SCADA是Supervisory Control And Data Acquisition的英文缩写,国内流行叫法为监控组态软件。从字面上讲,它不是完整的控制系统,而是位于控制设备之上,侧重于管理的纯软件。SCADA所接的控制设备通常是PLC(可编程控制器),也可以是智能表,板卡等。 随着电力工业的发展,电网容
3、量的不断扩大,互联大电网迅速形成;大机组、互联大电网、超高压远距离输电线的出现,对安全经济和高质量发输电的要求更加严格,从而能实时地对电力系统运行进行自动数据采集与监视控制(SCADA)的调度自动化系统应运而生。而调度人员能否正确地操作、使用SCADA系统,全面、准确地掌握电力系统的运行情况,在SCADA系统的辅助下对运行情况进行分析、做出正确的判断和决策,以至采取必要的措施及时处理事故和异常情况,对保证电力系统安全、经济、可靠地运行,意义非常重大。早期的SCADA运行与DOS,UNIX,VMS。现在多数运行在Windows操作系统中,有的可以运行在Linux系统。 前言SCADA(Super
4、visory Control And Data Acquisition)系统,即数据采集与监视控制系统。SCADA系统的应用领域很广,它可以应用于电力系统、给水系统、石油、化工等领域的数据采集与监视控制以及过程控制等诸多领域。SCADA系统是以计算机为基础的生产过程控制与调度自动化系统。它可以对现场的运行设备进行监视和控制,以实现数据采集、设备控制、测量、参数调节以及各类信号报警等各项功能。由于各个应用领域对SCADA的要求不同,所以不同应用领域的SCADA系统发展也不完全相同。 在电力系统中,SCADA系统应用最为广泛,技术发展也最为成熟。它作为能量管理系统(EMS系统)的一个最主要的子系统
5、,有着信息完整、提高效率、正确掌握系统运行状态、加快决策、能帮助快速诊断出系统故障状态等优势,现已经成为电力调度不可缺少的工具。它对提高电网运行的可靠性、安全性与经济效益,减轻调度员的负担,实现电力调度自动化与现代化,提高调度的效率和水平中方面有着不可替代的作用。 SCADA系统自诞生之日起就与计算机技术的发展紧密相关。SCADA系统发展到今天已经经历了三代。 第一代是基于专用计算机和专用操作系统的SCADA系统,如电力自动化研究院为华北电网开发的SD176系统以及在日本日立公司为我国铁道电气化远动系统所设计的H-80M系统。这一阶段是从计算机运用到SCADA系统时开始到70年代。 第二代是8
6、0年代基于通用计算机的SCADA系统,在第二代中,广泛采用VAX等其它计算机以及其它通用工作站,操作系统一般是通用的UNIX操作系统。第一代与第二代SCADA系统的共同特点是基于集中式计算机系统,并且系统不具有开放性,因而系统维护,升级以及与其它联网构成很大困难。 90年代按照开放的原则,基于分布式计算机网络以及关系数据库技术的能够实现大范围联网的EMS/SCADA系统称为第三代。这一阶段是我国SCADA/EMS系统发展最快的阶段,各种最新的计算机技术都汇集进SCADA/EMS系统中。第四代SCADA/EMS系统的基础条件已经或即将具备,预计将与21世纪初诞生。该系统的主要特征是采用Inter
7、net技术、面向对象技术、神经网络技术以及JAVA技术等技术,继续扩大SCADA/EMS系统与其它系统的集成,综合安全经济运行以及商业化运营的需要。 SCADA系统在不断完善,不断发展,其技术进步一刻也没有停止过。当今,随着电力系统SCADA系统需求的提高以及计算机技术的发展,为SCADA系统提出新的要求,概括地说,有以下几点: SCADA/EMS系统与其它系统的广泛集成 SCADA系统是电力系统自动化的实时数据源,为EMS系统提供大量的实时数据。同时在模拟培训系统,MIS系统等系统中都需要用到电网实时数据,而没有这个电网实时数据信息,所有其它系统都成为“无源之水”。所以在这今十年来,SCAD
8、A系统如何与其它非实时系统的连接成为SCADA研究的重要课题;现在在SCADA系统已经成功地实现与DTS(调度员模拟培训系统)、 企业MIS系统的连接。SCADA系统与电能量计量系统,地理信息系统、水调度自动化系统、调度生产自动化系统以及办公自动化系统的集成成为SCADA系统的一个发展方向。 变电所综合自动化 以RTU、微机保护装置为核心,将变电所的控制、信号、测量、计费等回路纳入计算机系统,取代传统的控制保护屏,能够降低变电所的占地面积和设备投资,提高二次系统的可靠性。变电所的综合自动化已经成为有关方面的研究课题,我国东方电子等公司已经推出相应的产品,但在铁道电气化上还处于研究阶段。 专家系
9、统、模糊决策、神经网络等新技术研究与应用 利用这些新技术模拟电网的各种运行状态,并开发出调度辅助软件和管理决策软件,由专家系统根据不同的实际情况推理出最优化的运行方式或出来故障的方法,以达到合理、经济地进行电网电力调度,提高运输效率的目的。 面向对象技术、Internet技术、及JAVA技术的应用 面向对象技术(OOT)是网络数据库设计、市场模型设计和电力系统分析软件设计的合适工具,将面向对象技术(OOT)运用于SCADA/EMS系统是发展趋势。 随着Internet技术的发展,浏览器界面已经成为计算机桌面的基本平台,将浏览器技术运用于SCADA/EMS系统,将浏览器界面作为电网调度自动化系统
10、的人机界面,对扩大实时系统的应用范围,减少维护工作量非常有利;在新一代的SCADA/EMS系统中,传统的MMI界面将保留,主要供调度员使用,新增设的Web服务器供非实时用户浏览,以后将逐渐统一为一种人机界面。 第一章SCADA系统原理1.1. SCADA系统的意义 SCADA是Supervisory ControI And Data AcquiSition System 的缩写,是对分布距离远,生产单位分散的生产系统的一种数据采集、监视和控制系统。 了解生产情况是实施科学生产的基础,如果生产过程分布很近,可以采用就近控制的办法,就地接线,就地监视,就地控制,对于复杂的过程生产采用DCS系统控制
11、的比较多,也有采用PLC的或者专业控制器。而对于生产各个环节分布距离非常远的,比如几公里,几十公里,几百公里甚至几千公里的,如变电站,天然气管线,油田,自来水管网,随着技术的发展,人们慢慢发展出远程采集监视控制系统,称为SCADA系统。 SCADA系统与其他系统的区别在于: 分布区域广泛 主站与控制对象距离远 监控终端的工作条件苛刻 通讯系统复杂多变 通讯系统不保证可靠传输1.2. SCADA系统的构成 SCADA系统主要包括三部分组成,主站端,通讯系统和远程终端单元 主站一般采用先进的计算机,有着良好的图形支持,现在采用PC计算机和WINDOWS系统居多,在历史上,曾经有很多系统采用UNIX
12、系统和XWINDOWS图形界面。一个主站可能的分站数量从几十到几百、几千个不等。 通讯系统就非常复杂了,有线的包括音频电缆、载波电缆、光纤、电力载波等,无线的包括电台、卫星、微波等。 远程终端单元(RTU or TeleControl )的品种也很多,大的系统由很多机柜组成,小的系统可能就是一个小盒子。1.3. SCADA的主站系统SCADA系统的主站过去由很多著名的系统是基于UNIX操作系统家族和XWINDOW图形界面的。随着计算机系统的发展,特别是PC机的发展,PC机和PC机上运行的操作系统在扮演着越来越重要的角色。SCADA主站系统主要包括计算机硬件和计算机软件构成。作为SCADA主站系
13、统,大的系统可能有几十个上百个工作站,多个服务器。为了保证系统的可靠性,采用双前置系统,多服务器系统,两个网络。但是对于简单的SCADA主站系统可能就只有一台计算机,运行一套软件。软件主要包括如下模块: 1 规约接口模块 2 实时数据库软件3 图形界面4 制图软件5 历史数据软件6 上层应用软件7 报警模块庞大的主站系统一般包括如下硬件内容:通讯前置系统,主要负责解析各种不同的规约,完成通讯接口数据处理,包括数据转发。包括前置计算机,串口池或者MODEM 池,机架,防雷措施和网络接口。实时数据库系统,主要包括运行实时数据库的服务器。工程师工作站,负责系统的组态、画面制作和系统的各种维护。生产调
14、度工作站,是监控系统的主要用户,显示画面,画面浏览,实现各种报警等。各种监控工作站,主要用于特别庞大的系统,几个人已经无法监控的情况,这时会根据需要,设立各种的监控工作站,每个工作站有人员工作。历史数据库服务器,是SCADA系统保存历史数据的服务器。WEB服务器,是现在SCADA主站系统的一个流行趋势,只要用户装有浏览器软件,得到相应的授权,就可以访问相应的他关心的数据。上层应用工作站,主要用于实时数据和历史数据的挖掘工作。在电力系统比如潮流分析,负荷预测,事故追忆,电网稳定性分析,能量管理 等等。在自来水行业包括管网压力损耗分析,管网经济性分析,管网漏失分析等。在采油工程上,包括示功图显示,
15、示功图分析,泵况分析,功图计产等等。作为SCADA主站系统,大的系统可能有几十个上百个工作站,多个服务器。为了保证系统的可靠性,采用双前置系统,多服务器系统,两个网络。但是对于简单的SCADA主站系统可能就只有一台计算机,运行一套软件。各种不同应用的SCADA系统,可以说大部分是相同的或者类似的。但是各个行业有各个行业的特点,每个行业所关心的东西不一样。比如电力行业非常关心每个线路电压电流功率,而对于自来水行业就不是特别关心这些数据,而关心管道的压力流量等。这样就形成了不同行业的系统。也有通用的人机界面使用,但是这种界面一般无法满足各个行业的特殊需要。1.4. SCADA的通讯系统SCADA中
16、通讯系统显得非常的重要,可以看成SCADA系统的神经系统信息源发送设备信道接收设备受信者g(t)s(t)r(t)g(t)m(t)噪声源发送端接收端通信系统的基本模型见图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 通信系统的基本模型
17、 由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)= 0 g(t)=0 FSK 信号 s(t)= Asin(2*1*t +) g(t)=
18、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)=0SCADA通讯系统是最丰富多彩的,有很多通讯方式是很多人都没有听说过的。一般分类大体可以分为两类,有线和无线,但是随着通讯技术的发展,基于各种网络的通讯方式也发展很快,这种通讯方式很难归结到有线或者无线的范畴,所以也单独作为一类。有线方式比较多:音频电缆,架空明线,载波电缆,同轴电缆,光纤,电力载波等。在有线上传输大体分为基带传输和调制传输,基带传输是在介质上传输的是数字信号,可能也要经过信号变化。调制解调传输要经过模拟数字
19、变换的传输。很多介质既可以作为基带传输也可以作为调制传输。无线信道常用的包括无线电台、微波通讯和卫星通讯等。GPRS/CDMA通讯方式列入网络通讯的范畴。无线电台由于收到带宽的限值,其信道一般为25KHZ,无线电管理委员会专门划出几个频段用于无线数据传输,主要包括150MHZ频段,230MHZ频段和470MHZ频段。采用无线电台中心站要复杂一些,为了系统能够更好的通讯,需要建设一个很高的全向天线,有的是安装在楼顶,有的是建设专门的铁塔。无线电台有时不适宜于城市应用,也不适宜于山区、高原、丘陵地带使用。适合于平原农村和水面应用。无线电台是一个典型的半双工轮询系统,系统如果点数很多,轮询一遍所花的
20、时间可能会长达几分钟甚至更长。另外必须区分无线电台的接口速率和空中速率,这二者是独立的没有关系的两个概念。空中速率指的是电台在无线信道的实际数据速率,这个速度越快,说明电台的性能越好,而且单位时间传输的数据越多。接口速率是电台与RTU设备的速率,这个速率只要不小于空中速率和通讯速度没有太大关系。无线电台可能会受到干扰的影响,严重影响通信性能,甚至完全无法使用。主要干扰有:同频干扰、高压输电线路电晕干扰、其它射频设备等。一般不受天文情况的影响,如太阳黑子,太阳磁暴,电离层等。微波通讯只有在特别重要的场合才实施,其投资巨大,而且要每大约50KM就要有一个中继站,对于地形复杂的场合,可能为了视距原因
21、可能很近就要有一个中继站。卫星通讯更是万不得已才使用,首先其功率太大,一个小型的卫星基站要上百瓦的功率,需要一个1M口径的抛物天线,需要专门昂贵的设备(通讯设备要人民币几万块)。卫星通讯相当可靠,除了太阳耀斑、太阳磁暴、暴雨等情况,一般都不会出现通讯中断现象。太阳耀斑、太阳磁暴会影响卫星的通信,还存在所谓的星蚀效应,就是通信卫星和太阳在同一个方向上,由于太阳是一个很大的干扰源,导致卫星通信中断。不过中断时间只有几分钟的时间。网络方式是通讯系统架构在一个计算机网络之上,比如帧中继,ATM.,IP网,这种通讯方式可能是有线的也可能是无线的,甚至多次跨越无线和有线。其性能也明显区分于有线和无线系统。
22、比如不用考虑误码,不用考虑报文的大小,不考虑系统的拓扑结构,但是网络的时延可能比较大。通过GPRS网络或者CDMA传输SCADA系统数据就是典型的例子。1.5. SCADA的远方终端单元 SCADA系统远程终端单元有一个专门的词汇RTU。现在术语中称为TeleControl。按照国标GB/T 14429-93 远动设备及系统 术语中的定义,远动(tele control)指应用通信技术,完成遥测、遥信、遥控和遥调等功能的总称。简称“四遥”。1.5.1远程测量指应用通信技术,传输被测变量的测量值,同义词:遥测。远程测量也就是模拟量输入,一般通过AD转换和多路模拟量开关进行多路切换测量。现在的AD
23、价格已经很便宜了,有的AD甚至把多路模拟开关直接做到了片内。目前12位的AD已经很普遍使用,16位的AD,甚至24位的AD也得到了广泛的使用。远程测量肯定离不开变送器和传感器,变送器是把物理信号转换成标准电信号的设备。传感器是把物理信号变为可电测量信号的设备。最简单的例子就是温度测量,传感器采用PT100,PT100传感器是一个热敏电阻传感器,其在0摄氏度的电阻值是100欧,每增加一摄氏度,其电阻增加0.3875欧姆。而温度变送器是把这个电阻信号转变成标准的二线制420mA信号。如果变送器的范围是0100摄氏度,在0摄氏度时,变送器输出4mA电流,在100摄氏度,输出20mA电流,如果电流是1
24、2mA,传感器安装环境的温度就是50摄氏度。模拟量输入由于历史原因,其信号非常复杂,一般包括如下的几种信号010V,05V,020mA,420mA几种量程。以420mA信号最为常用,一般的变送器都变送成420mA的信号输出。420mA信号又很多优点,比如可以方便的判断开路,可以方便的采用2线制供电,传输距离长(因为是恒流的),不容易受到干扰等等。但是AD转换一般都是电压输入的,需要通过电阻变成电压信号才能采集,另外由于是2线制的,一个仪表给2个采集装置非常困难,只有通过专门的设备才能实现。模拟开关可以是电子开关,最为简单的是CMOS的CD4066型号,价钱才几块钱,也有复杂的如ADG508,一
25、片要几十块钱。为了提高通道间的隔离度,有人采用光电模拟开关进行多路的选择,这样的固态继电器的耐压可以到400V,而电子开关的耐压才几伏,几十伏。很多厂家宣称其通道间耐压能达到400V,具体怎么实现,却作为技术秘密,从来不透露。实际上各家的电路设计都大同小异。12位AD转换在国内应用中典型的芯片是AD574,现在已经停产了,换成了AD1674了。16位的 SAR AD非常昂贵,现在用的16位/24位的AD大多数是Delta-Sigma类型的AD,片内集成PGA,性能非常优越。对于一些典型的应用,如电力远动,已经把电量变送器和RTU设备合为一体的,称为交流采样技术,这样省去了误差环节,提高了系统的
26、精度、可靠性,降低了系统的成本和安装复杂度。目前有一种把测量和变送器合在一起的趋势,特别是对于典型的传感器,如热电阻、热电偶、应变片等。二线制变送器接线三线电流型变送器接线1.5.2远程信号指应用通信技术,完成对设备状态信息的监视,如告警状态或开关位置、阀门位置等;同义词:遥信。远程信号的实质是开关量状态的采集和传输。开关量的采集现在一般都采用光电耦合器进行隔离,过去也有其它的方法。下图是一个型号的遥信输入电路:其优点是节省光耦的数量,其缺点是扫描的速度和可靠性不好。这是另外一种型号的开关量输入电路这是大多数RTU和PLC以及DCS系统典型的开关量输入电路,但是其电阻值未必是典型的。其原理是当
27、开关量输入状态接上电源后,光耦的发光二极管发光,被光敏三极管接收,光敏三极管导通;平常发光二极管不发光,光敏三极管截至。作为计算机系统扫描输入的IO口,或者扩展的数字输入,就能得到开关量的状态。如果扫描速度够快,就能发现开关量输入状态的变化,可以用于低频的计数,有时称为遥脉。一组开关量输入,如果每位的权重不一样,组合起来,又称之为数字量输入,在水位编码信息,变压器分接头位置上有着广泛的应用。有时为了研究事件发生的顺序,需要记下开关量状态发生变化的时刻,这种信息称为带时标的开关量,称为SOE。光耦的耐压一般在3500V以下,也有特殊的型号耐压可以超出这个数字,所以不能用光耦隔离共模电压很高的场合
28、。现场接线可以参考下图,但是最主要的是参考厂家的使用说明书1.5.3远程命令指应用通信技术,完成改变运行设备状态的命令;同义词:遥控 。远程命令的实质是开关量输出,下图是一个典型的继电器输出: 图中采用了双刀双掷的继电器,一组用于输出,一组用于状态的回馈。这种设计指应用于要求非常高的场合,普通的应用,一般不需要回馈。 图中的电阻和电容,是用于火花吸收的,可以在感性负载下,可以降低触点间的过电压和火花,大大提高触点的寿命。 继电器输出形式在可靠性,抗负载复杂性上性能很好,但是其动作速度慢,不能控制非常小的信号(如毫伏、微安级信号),寿命有限,并不能适合所有场合。 开关量输出还有晶体管和固态继电器
29、的形式,其负载能力比较差,对于过电压耐受能力比较差;可以快速动作,可以控制非常微弱的信号。 1.5.4远程调节指应用通信技术,完成对具有两个以上状态的运行设备的控制;同义词:遥调。远程调节主要是模拟量输出,但是也有开关量输出的。模拟量输出主要形式是通过DA转换和相应的电路把输出信号转换成标准的模拟信号,如420mA,010V等。比如把这个信号输出给变频器,使之输出频率改变而改变电动机的转速,从而控制压力,控制转速等。远程调节的开关量形式也有,比如,通过给阀门的电机通电,让阀门转动,通过时间的控制来控制阀门的开度。正方向开关量给电时间越长,阀门开度就越大,反方向,开关量给电时间越长,阀门开度就越
30、小。这种控制一般不是线性的。典型的模拟量输出模块框图这个框图同时给出了电压输出和电流输出的两种形式。该电路设计了不少的保护元件,提高系统的可靠性。 RTU一般包括通讯处理单元、开关量采集单元、脉冲量采集单元、模拟量采集单元、模拟量输出单元,开关量输出单元和脉冲量输出单元等构成。还有一些其他的接口方式,比如电力变压器的分接头,气象的格雷码接口,水文的BCD码接口等等。 远方的通讯一般和RTU安装在一起,这样便于接线。 现在的RTU出来完成本身的数据采集工作和协议处理之外,还要完成和各种IED设备的接口和协议转换工作。而且RTU的通讯处理单元的能力越来越强大,而相应的采集工作却在逐渐的弱化,由各种
31、IED设备代替了。RTU在中国电力系统的最大发展就是用交流采样算法直接计算线路的电压、电流、有功功、无功功率、功率因数、频率、谐波等,取代了传统的电力变送器,降低了成本,降低了接线复杂度,减少了误差环节,提高了精度。而今综合了保护、远动、计量的设备已经出现了,而传统的远动已经基本退出了历史舞台。1.5.5重要功能 过程报警 过程报警是过程数据库的基本功能。报警是对测量值的范围、变化速度的预警。报警包括限值报警,变化率报警,偏差报警,异常报警等。更复杂的报警可以通过对测量值进行数学运算,然后对运算结果进行报警检查而产生。发生报警后,操作员可以通过报警画面对报警进行“确认”,“确认”就是告诉系统我
32、知道了发生的事,以免系统再次提醒。报警信息,报警确认信息,报警恢复(报警消除)等信息都可以被系统自动记录下来。报警按照重要程度可分为多个优先级,如低级、高级、紧急。 报警发生时系统可以通过多种方式通知用户,如弹出报警窗、发出声响,甚至可以发送短信或电子邮件。至于使用哪种方式,用户可以自由指定。 历史存储 对实时数据可以进行历史存储。历史数据对于生产状况分析、实现先进/优化控制、以及生产事故分析非常重要,所以将重要的工艺数据都会进行长期历史保存。为了节省存储介质空间,对保存的数据使用压缩保存。常用的保存方式有周期性保存和变化保存(数据只有变化到一定程度才保存)。 脚本语言 除了固定格式的功能,如
33、点内部处理(能够完成几种固定形式的功能,如量程转换、报警检查、PID运算),动画连接(能够完成几种固定形式的动画,如颜色、位置改变)等,SCADA还允许用户定义特殊的逻辑、运算,这是通过SCADA的内置编程语言实现的。SCADA的提供的编程环境有的是内嵌VBA编译器,有的是自定义的类似BASIC或类似C语言的编译器。无论是哪种编程环境SCADA都要提供很多访问自身数据的属性、方法,以便在编程环境中与SCADA系统交互。这种内置的编程语言经常称作“动作”,现在更多的称呼是“脚本”。这里的脚本与Excel中的“宏”类似。通过脚本用户可以自由扩展系统功能。 脚本与一般编程语言类似,在脚本中提供多种运
34、算操作(如赋值、数学运算、逻辑运算),控制语句(如条件判断,循环,分支),以及内置函数等。有的SCADA还支持自定义函数。 脚本的触发方式有多种:一次性执行(如进入窗口时执行);周期执行;事件触发执行(如数据改变时执行,按键触发)。 脚本也能产生多种输出动作:如向过程数据库写数据;发送短信;调用窗口;产生声响等。 1.5.6 SCADA的益处 使用SCADA软件能够带来的好处可列举如下: l 提高效率。SCADA的开发一般需要20100人年,并且不断的采用新技术,吸取用户的经验,在使用中不断提高。SCADA综合用户的需求,将工程中共性东西提炼出来,制成相应的模式或模块,以帮助用户快速实现自己的
35、工程。因此使用SCADA可以跟上时代的发展,并能提高自己的工作效率。 l 一致性。SCADA的提供固定的格式,让用户实现自己的工程,有的是填表式的,有的是向导式的。无论是谁来组态,同样的工程要求,形成的组态结果都是相同的,或者差异很小。 l 可维护性。SCADA内部功能强大,组织复杂,但是对用户是透明的,所以用户的组态工作量不大,或者只是重复性较大。因此工程易于维护。 l 使用SCADA能够得到有效的技术支持。技术支持不但包括使用SCADA上的,也可能包括你工程上的。因为SCADA技术支持人员经常与各行业的人员交流,所以可以将你的同行经验介绍给你。第二章 c+语言类与对象基础在现实世界中,经常
36、有属于同一类的对象。例如,你的自行车只是世界上很多自行车中的一辆。在面向对象软件中,也有很多共享相同特征的不同的对象:矩形、雇用记录、视频剪辑等。可以利用这些对象的相同特征为它们建立一个蓝图。对象的软件蓝图称为类。2.1定义:类是定义同一类所有对象的变量和方法的蓝图或原型。例如,可以建立一个定义包含当前档位等实例变量的自行车类。这个类也定义和提供了实例方法(变档、刹车)的实现。实例变量的值由类的每个实例提供。因此,当你创建自行车类以后,必须在使用之前对它进行实例化。当创建类的实例时,就建立了这种类型的一个对象,然后系统为类定义的实例变量分配内存。然后可以调用对象的实例方法实现一些功能。相同类的
37、实例共享相同的实例方法。 除了实例变量和方法,类也可以定义类变量和类方法。可以从类的实例中或者直接从类中访问类变量和方法。类方法只能操作类变量 - 不必访问实例变量或实例方法。 系统在第一次在程序中遇到一个类时为这个类建立它的所有类 变量的拷贝 - 这个类的所有实例共享它的类变量。2.2类和对象 类是面向对象程序设计方法的核心,利用它可以实现对数据的封装,隐藏,通过类的继承和派生,能够实现对问题的深入抽象描述。在面向过程的结构化程序设计中,程序的模块是由函数构成的;在面向对象的程序设计中,程序模块是由类构成的。函数是逻辑上相关的语句与数据的封装,用于完成特定的功能;类是逻辑上相关的函数与数据的
38、封装,它是对所有要处理问题的抽象描述。因此,后者的集成程度更高,也更适合用于大型复杂程序的开发。类的成员包括数据成员和函数成员,粪便描述问题的属性和行为,是不可分割的两个方面。数据成员的声明方式与一般的变量相同,只要将这个声明放在类的主体中即可。类的数据成员与一般变量的区别在于其访问权限可以由类来控制。对类成员访问权限的控制,是通过设置成员的访问控制属性实现的。访问控制属性可以有以下三种:公有类型(public),私有类型(private)和保护类型(protected).类的成员函数描述的类的行为。实际上,成员函数是程序算法实现的部分,是对封装的数据进行操作的唯一途径。类实际上是一种抽象机制
39、,他描述了一类问题的共同属性和行为。在c+中,类的对象就是具有该类类型的某一特定实体(也称实例)。2.3类的好处 对象提供了模型化和信息隐藏的好处。类提供了可重用性的好处。自行车制造商一遍一遍地重用相同的蓝图来制造大量的自行车。软件程序员用相同的类,即相同的代码一遍一遍地建立对象。2.4类模板模板是c+支持的参数化的工具。所谓参数的多态性,就是将程序所处理的对象的类型参数化,使得一段程序可以用于处理多种不同类型的对象。使用类模板使用户可以为类声明一种模式,使得类中的某些数据成员,某些成员函数的参数,某些成员函数的返回至值能取任意类型。为了声明类模板,应在类的声明之前加上一个模板参数表,参数表里
40、面的形势类型名用来数名成员数据和成员函数的类型,类模板的声明形式如下:Template 类声明“模板参数表“中可以包含下列内容:1):class 标识符(指明可以接受一个类型参数)2):类型说明符 标识符(指明可以接受一个由“类型说明符”所规定类型的常量为参数)当“模板参数表”同时包含上述多项内容时,各项内容以逗号分隔。应该注意的是,模板类的成员函数必须是函数模板。一个类模板说明自身不产生代码,他制定类的一个家族,当被其他代码引用时,模板才根据引用的需要产生代码。使用一个模板类来建立对象时,应按如下形式声明:模板模板参数表 对象名1,。,对象名n;其中,“模板参数表”由用逗号分隔的若干类型标识
41、符或常量表达式构成。这里,“模板参数表”中的参数与类模板声明时“模板参数表”中的参数一一对应。经这样声明后,系统会根据指定的参数类型和常量值生成一个类,然后建立该类的对象。c+ 类和对象 经典例子#include #include class Circle/定义一个圆的类/ A Circle object is a radius and a centre(包括圆心和半径)public:/public是指公有函数,对象可以调用的 / Initialize a circle which is a point at originCircle();/构造函数,形式上必须有的public:float g
42、etRadius();/输入半径,圆心坐标的函数名,在后面有函数体float getCentreX();float getCentreY();void setCircle(float r, float x,float y);float Distance(Circle c1);private:/私有变量,外部函数不能随便改变的float _radius;float _xCentre;float _yCentre;Circle:Circle()/构造函数初始化/Constructor: Initialize a circle with all 0s_radius = 0.0;_xCentre =
43、0.0;_yCentre = 0.0;float Circle:getRadius()/函数体实现 return _radius;float Circle:getCentreX() return _xCentre;float Circle:getCentreY() return _yCentre;void Circle:setCircle(float r, float x, float y)_radius = r;_xCentre = x;_yCentre = y;float Circle:distance (Circle c1)/calculates the distance between
44、 centres of two circlesreturn (sqrt( ( _xCentre - c1. _xCentre)*( _xCentre - c1. xCentre)+(c1._yCentre - _yCentre)*(c1. _yCentre - _yCentre);int main() Circle c3;/c3就是圆的实例,即他的对象体,是指三个圆。 c1.setcircle(1.0,0.0,0.0); c2.setcircle(1.0,1.0,1.0); c0.setcircle(1.0,0.0,27.0); coutthe distance between the centres is c1.distance(c2) unitsn; coutthe di