SCADA是Supervisory Control And Data Acquisition的英文缩写, 即数据采集与监视控制系统 。从字面上讲,它不是完整的控制系统,而是位于控制设备之上,侧重于管理的纯软件。SCADA所接的控制设备通常是PLC(可编程控制器),也可以是智能表,板卡等。
早期的SCADA运行与DOS,UNIX,VMS。现在多数运行在Windows操作系统中,有的可以运行在Linux系统。
SCADA不只是应用于工业领域,如钢铁、电力、化工,还广泛用于食品,医药、建筑、科研等行业。其连接的I/O通道数从几十到几万不等。下面就其结构、功能、接口、开发工具等方面予以介绍。
SCADA体系结构
1.1 硬件结构
通常SCADA系统分为两个层面,即客户/服务器体系结构。服务器与硬件设备通信,进行数据处理何运算。而客户用于人机交互,如用文字、动画显示现场的状态,并可以对现场的开关、阀门进行操作。近年来又出现一个层面,通过Web发布在Internat上进行监控,可以认为这是一种“超远程客户”。
硬件设备(如PLC)一般既可以通过点到点方式连接,也可以以总线方式连接到服务器上。点到点连接一般通过串口(RS232),总线方式可以是RS485,以太网等连接方式。总线方式与点到点方式区别主要在于:点到点是一对一,而总线方式是一对多,或多对多。
在一个系统中可以只有一个服务器,也可以有多个,客户也可以一个或多个。只有一个服务器和一个客户的,并且二者运行在同一台机器上的就是通常所说的单机版。服务器之间,服务器与客户之间一般通过以太网互连,有些场合(如安全性考虑或距离较远)也通过串口、电话拨号或GPRS方式相连。
1.2 软件体系结构
SCADA有很多任务组成,每个任务完成特定的功能。位于一个或多个机器上的服务器负责数据采集,数据处理(如量程转换、滤波、报警检查、计算、事件记录、历史存储、执行用户脚本等)。服务器间可以相互通讯。有些系统将服务器进一步单独划分成若干专门服务器,如报警服务器,记录服务器,历史服务器,登录服务器等。各服务器逻辑上作为统一整体,但物理上可能放置在不同的机器上。分类划分的好处是可以将多个服务器的各种数据统一管理、分工协作,缺点是效率低,局部故障可能影响整个系统。
典型的硬件配置图如下:
1.3 通信
1.3.1内部通信
客户与服务器间以及服务器与服务器间一般有三种通信形式,请求式,订阅式与广播式。请求式:客户周期性向服务器发出请求,然后服务器为客户准备数据,传送给客户。
订阅式:客户向服务器注册所关心数据,服务器记录每个用户关心的数据。当数据变化通知相应的用户。
广播式:当数据的变化时,服务器向所有客户发出通知。
1.3.2与I/O设备通信
1) 通信模式
设备驱动程序与I/O设备通讯一般采用请求式,大多数设备都支持这种通讯方式,当然也有的设备支持主动发送方式。主动发送方式即I/O设备在数据改变时主动向外界报告数据。有的设备也支持订阅式通信。设备驱动程序应该能够支持各种通信模式。
2) 通信协议
通信协议即与设备间的会话格式,可以理解为一种简单的交流语言。这些语言有一定的地方性,尤其是国产的PLC,智能仪表。常见的协议有Modbus, Profibus等。设备驱动程序必须为每种协议编制相应的代码。开发一设备驱动一般为1~5周,这要根据协议的复杂程度决定。软件商一般将该部分做成标准开发包,用户可以自己开发。
服务器可同时带有多个不同种类的驱动程序,这样服务器就可以同时跟多种设备进行通信。