
讲述SCADA的体系架构及发展历程.docx
8页讲述SCADA的体系架构及发展历程SCADA(Supervisory Control And Data Acquisition)系统,即数据采集与监视控制系 统SCADA系统是以计算机为基础的生产过程控制与调度自动化系统它可以对 现场的运行设备进行监视和控制,以实现数据采集、设备控制、测量、参数调节 以及各类信号报警等各项功能由于各个应用领域对SCADA的要求不同,所以 不同应用领域的SCADA系统发展也不完全相同中文名外文名定义应用领域SCADA系统SupervisoryControl And Data Acquisition数据采集与监视控制系统电力、冶金目录1、 SCADA的简介2、 SCADA的体系结构3、 SCADA的发展历程SCADA的简介:SCADA是Supervisory Control And Data Acquisition的英文缩写,国内流行叫法为监 控组态软件从字面上讲,它不是完整的控制系统,而是位于控制设备之上,侧重于 管理的纯软件SCADA所接的控制设备通常是PLC (可编程控制器),也可以是智 能表,板卡等早期的SCADA运行与DOS,UNIX,VMS现在多数运行在Windows 操作系统中,有的可以运行在Linux系统。
SCADA不只是应用于工业领域,如钢铁、电力、化工,还广泛用于食品,医药、建筑、 科研等行业其连接的I/O通道数从几十到几万不等下面就其结构、功能、接 口、开发工具等方面予以介绍SCADA的体系结构:2.1硬件结构通常SCADA系统分为两个层面,即客户/服务器体系结构服务器与硬件设备通信, 进行数据处理和运算而客户用于人机交互,如用文字、动画显示现场的状态,并 可以对现场的开关、阀门进行操作近年来又出现一个层面,通过Web发布在 Internat上进行监控,可以认为这是一种“超远程客户”硬件设备(如PLC)一般既可以通过点到点方式连接,也可以以总线方式连接到服务 器上点到点连接一般通过串口(RS232),总线方式可以是RS485,以太网等连接方 式总线方式与点到点方式区别主要在于:点到点是一对一,而总线方式是一对 多,或多对多在一个系统中可以只有一个服务器,也可以有多个,客户也可以一个或多个只有 一个服务器和一个客户的,并且二者运行在同一台机器上的就是通常所说的单机 版服务器之间,服务器与客户之间一般通过以太网互连,有些场合(如安全性考 虑或距离较远)也通过串口、拨号或GPRS方式相连。
典型的硬件配置图如下:2.2软件体系结构SCADA有很多任务组成,每个任务完成特定的功能位于一个或多个机器上的服 务器负责数据采集,数据处理(如量程转换、滤波、报警检查、计算、事件记录、 历史存储、执行用户脚本等)服务器间可以相互通讯有些系统将服务器进- 步单独划分成若干专门服务器,如报警服务器,记录服务器,历史服务器,登录服务 器等各服务器逻辑上作为统一整体,但物理上可能放置在不同的机器上分类 划分的好处是可以将多个服务器的各种数据统一管理、分工协作,缺点是效率低, 局部故障可能影响整个系统典型的硬件配置图如下:跚如BC橙口服爵果方很警校查控制运算事件记录设备业动2.3通信2.3.1内部通信客户与服务器间以及服务器与服务器间一般有三种通信形式,请求式,订阅式与广 播式请求式:客户周期性向服务器发出请求,然后服务器为客户准备数据,传送给客 户订阅式:客户向服务器注册所关心数据,服务器记录每个用户关心的数据当数 据变化通知相应的用户广播式:当数据的变化时,服务器向所有客户发出通知2.3.2与I/O设备通信1) 通信模式设备驱动程序与I/O设备通讯一般采用请求式,大多数设备都支持这种通讯方式, 当然也有的设备支持主动发送方式。
主动发送方式即I/O设备在数据改变时主动 向外界报告数据有的设备也支持订阅式通信设备驱动程序应该能够支持各种 通信模式2) 通信协议通信协议即与设备间的会话格式,可以理解为一种简单的交流语言这些语言有 一定的地方性,尤其是国产的PLC,智能仪表常见的协议有Modbus, Profibus等 设备驱动程序必须为每种协议编制相应的代码开发一设备驱动一般为1~5周, 这要根据协议的复杂程度决定软件商一般将该部分做成标准开发包,用户可以 自己开发服务器可同时带有多个不同种类的驱动程序,这样服务器就可以同时跟多种设备 进行通信2.3.3与外界通信为了效率,服务器上的实时数据和历史数据一般都以私有格式存放,实时数据驻留 在内存中,而历史数据保存在磁盘中,事件记录也可能以私有格式保存在磁盘中, 但有些软件可以将其直接存放到关系数据库(如Ms SQL Server,ORACLE)中由 于无论采用直接方式还是ODBC与关系数据库通讯,速度都是比较慢的,所以不可 能将快速变化的数据都存放到关系数据库中那么服务器内这些私有格式的数据 是如何与外界联系的呢,下面简要说明SCADA通过多种方式与外界通信如OPC,一般都会提供OPC客户端,用来与设备 厂家提供的OPC服务器进行通讯。
因为OPC有微软内定的标准,所以OPC客户端 无需修改就可以与各家提供的OPC服务器进行通讯现在国外的硬件厂商大多 都能提供OPC服务器,而国内的硬件厂商确很少SCADA供应商一般也会提供自 己的OPC服务器,以便别人通过OPC访问自己,这样也实现了不同SCADA间的互 联此外还有其他的一些通讯手段,如:1) ODBC,第三方程序通过ODBC访问历史数据,事件记录等2) API接口:可以在编程环境(如VB,VC)中使用该接口3) OLE控件:可以在各种编程环境下使用,也可以嵌入到支持OLE包容器的程 序中,如Ms Word4) DDE:微软的动态数据交换协议2.4.整体构架由服务器,客户端构成了 SCADA C/S结构,由服务器,Web服务器,Web客户构成了 SCADA B/S结构服务器配置在不同的机器上,甚至不同的操作系统平台上,彼此 分工协作,形成统一整体,构成了 SCADA的分布式体系结构为了增加系统的可靠性,服务器端允许双机热备,重要场合可以一机多备服务器 双机热备一般是将两台机器配置相同,一台作为主站,另一台机器作为副站,主站 完成服务器的正常工作,另一台与其同步当主站故障时,副站接替主站的工作。
主站与副站是相对的,可互换的双机热备包含I/O通道的热备由于多个客户 可以同时访问一个服务器端,所以客户端本来就是多重的一个系统中,可以有多个服务器,每个服务器可带有多个I/O设备客户端可以访 问一台或多台服务器Web服务器可以作为多个服务器的代理,将Web客户与各 服务器连接起来,这就构成了如下图所示的体系结构:胞ti客户 甲亦客户2・5.内部组织概述2.5.1服务器内部组织服务器包括过程数据库,I/O驱动,Web服务器等服务器的核心是过程数据库,下 面对其内部组织加以介绍过程数据库是由完成各种特定功能的算法块组成,这些算法块也被称为“内部仪 表”或“虚拟仪表”,更常用的称呼是“点”点是组成过程数据库的基本单位,点分为很多类型,每种类型的点完成一定的功能, 如模拟I/O点,专门用于对模拟I/O进行处理,PID点完成PID控制运算等点由各 种参数组成,不同的点有不同的参数,如模拟I/O点有NAME,PV,LO,HI等参数可以 想象点类型相当于关系数据库中的表结构,参数相当于字段与表结构不同的是, 每种点类型有特定的内部处理算法,参数间存在内定的联系,如LO是PV的低限报 警值,PV低于LO将产生低限报警,报警检查是点的内置功能,不需要编写另外的程 序来实现。
参数是组成数据库的最小单位一般地,一个点只有一个参数与外界相连,通常称 其为测量值(PV)其他参数作为PV的辅助参数,如LO为PV的低限报警限值,HI 为PV的高限报警限值,SP为PV的目标值等有的系统允许一个点有多个参数与 外界相连点的测量值(PV)通常与控制器(如PLC)的输入/输出通道相连PV值代表I/O量的 大小或状态按照装置或场地可以将点逻辑的划分为区域或单元一般区域包括单元2.5.2人机界面内部组织人机界面由很多窗口组成,窗口包含图形和文字文字和图形可动态变化如文 字可显示现场I/O量的大小,图形的颜色变化表示现场状态量的改变等同时显示的窗口一般只有一个,窗口间可以互相连接、跳转,也可以设立菜单或专 门的窗口负责窗口间的切换人机界面开发环境中提供了各种绘画工具,如画矩形、椭圆、文字、位图等工具 同时提供了动画连接手段,使图形、文字等与现场的数据相关联现场数据变化 则画面上图形颜色、位置等也相应改变,通过观察画面上的图形文字就可以知晓 现场的状态,并称这种图形文字与数据之间的联系为“动画链接”可以手工的绘制各种工艺对象,如罐、阀门、泵等为了方便使用人机界面开发 环境都提供了现成的小图形,称之为“子图”。
在子图中可以找到各种现成的图 形,如各种形状的阀门有的子图还与特定的动画连接捆绑,更加方便使用趋势图人机界面不可缺少的组成部分趋势图以曲线的形式显示过程数据库中实 时数据或历史数据一般实时数据和历史数据分别在不同的趋势图中显示一幅 趋势图中通常最多显示八条曲线,曲线可以放大、滚动趋势笔可以在开发环境 中定义,也可以在运行时动态指定报表是人机界面的重要组成部分开发环境提供专门的报表生成工具,方便的形 成各种报表报表中的数据可以有瞬时值、历史值、统计值还可以让报表定时 打印另外还可以利用SCADA的Excel插件,用Ms Excel生成报表此外,在人机界面中还有许多其它种类的组件,如XY曲线、报警浏览、总貌等另 外人机界面几乎都是OLE容器,可以嵌入OLE对象,或ActiveX控件2.5.3重要功能过程报警过程报警是过程数据库的基本功能报警是对测量值的范围、变化速度的预警 报警包括限值报警,变化率报警,偏差报警,异常报警等更复杂的报警可以通过对 测量值进行数学运算,然后对运算结果进行报警检查而产生发生报警后,操作员 可以通过报警画面对报警进行“确认”,“确认”就是告诉系统我知道了发生的 事,以免系统再次提醒。
报警信息,报警确认信息,报警恢复(报警消除)等信息都 可以被系统自动记录下来报警按照重要程度可分为多个优先级,如低级、高级、 紧急报警发生时系统可以通过多种方式通知用户,如弹出报警窗、发出声响,甚至可以 发送短信或电子邮件至于使用哪种方式,用户可以自由指定历史存储对实时数据可以进行历史存储历史数据对于生产状况分析、实现先进/优化控 制、以及生产事故分析非常重要,所以将重要的工艺数据都会进行长期历史保存 为了节省存储介质空间,对保存的数据使用压缩保存常用的保存方式有周期性 保存和变化保存(数据只有变化到一定程度才保存)脚本语言除了固定格式的功能,如点内部处理(能够完成几种固定形式的功能,如量程转换、 报警检查、PID运算),动画连接(能够完成几种固定形式的动画,如颜色、位置 改变)等,SCADA还允许用户定义特殊的逻辑、运算,这是通过SCADA的内置编程 语言实现的SCADA的提供的编程环境有的是内嵌VBA编译器,有的是自定义的 类似BASIC或类似C语言的编译器无论是哪种编程环境SCADA都要提供很多 访问自身数据的属性、方法,以便在编程环境中与SCADA系统交互这种内置的 编程语言经常称作“动作”,现在更多的称呼是“脚本”。












