数据采集和操作控制系统(SCADA 系统)
监督控制和数据采集系统或 SCADA 系统一词出现在 80 年代后期。二十世纪。与首次尝试将安装有图形应用程序的个人计算机用作操作员控制台的尝试同时进行。
第一个 SCADA 系统是为 DOS 或 Unix 操作系统开发的,并且由于硬件的硬件限制和操作系统的图形功能而具有相当有限的功能。 SCADA 系统随着图形界面的出现而得到广泛应用,例如 Windows 3.11、X-Windows、Phantom 和允许您在多任务模式下实现必要的进程执行速度的硬件。
SCADA系统作为顶级软件开发工具出现的原因与Borland Delphi等可视化编程系统出现的原因类似。他们的主要任务是减轻软件开发人员描述标准接口和功能的常规和实际上无用的负担。同时,应该理解的是,使用 SCADA 系统并不像他们试图想象的那样意味着降低对开发人员资格的要求。
区分系统 MMI(人机界面) 和 监控与数据采集系统,因为它们都成功地相互独立开发,在设备市场上占据了不同的利基市场 HMI(人机界面).
MMI 系统实际上是用于单个设备或技术装置的本地控制面板,配备有字母数字屏幕和键盘或图形,通常是触摸屏。
在大多数情况下,MMI 设备是使用一个特殊的控制器来实现的,其软件部分并不意味着任何额外的修改或更改。
同时,SCADA 系统包括使用标准的个人计算机和操作系统,用于自动化管理大型技术过程的过程,其中涉及大量的执行设备和技术单元,还支持可能实施分布式应用程序(使用多个操作员控制台)……
由于端到端编程系统的存在,在 MMI 和 SCADA 系统之间划清界限是不可能的,在这些系统中,不同级别的控制系统的软件开发工具之间通常没有区别。
缺乏描述 SCADA 系统的目的和功能组成的单一标准以及对术语“SCADA”本身的解释差异使得此类系统的分类和比较变得复杂。
可以区分以下主要的 SCADA 系统组:
-
控制器制造商开发的SCADA系统;
-
独立制造商开发的SCADA系统;
-
SCADA 系统是端到端编程系统的组件。
控制器设备制造商开发自己的 SCADA 系统的任务是为最终用户提供使用该制造商的控制器开发可视化应用程序的工具。
可以区分此类系统的以下主要特征:
-
这些系统的界面重复了控制器设备编写软件方式的界面;
-
SCADA 系统组件经过优化,可以处理从特定制造商的控制设备接收到的数据;
-
与其他制造商的设备进行数据交换的接口实现不佳或难以使用。
这种系统的一个典型例子是 西门子WinCC……这种专有系统的使用,一方面最大限度地减少了培训软件开发专家的成本,但另一方面,它严格地将系统的开发人员和最终用户绑定到特定的制造商甚至特定的来自一家制造商的设备系列。
此外,许多控制设备制造商被迫开发自己的 SCADA 系统以用于营销目的,而没有为其软件产品提供所需级别的支持和维护。
第三方 SCADA 系统是创建过程可视化和控制应用程序的最灵活的工具。它们的优势包括支持创建分散式和分布式控制系统的大量功能,以及将来自不同制造商(包括竞争制造商)的设备集成到一个系统中的能力。
为了与执行设备交换数据,此类系统使用实现 DDE 或 OPC 接口的软件 I/O 服务器。此类 SCADA 系统的普及,以及遵守自动化工具标准的需要,导致所有控制器设备开发商都拥有自己的 OPC 或 DDE 软件服务器, 与设备一起交付或按订单交付。
由于端到端编程系统将操作员站的开发作为控制系统的一个组成部分,因此它始终包含 SCADA 系统的独立组件。然而,由于整个系统作为一个整体发挥作用,这些组件也可能是端到端编程系统其他模块的组件,或者不可能将SCADA系统以其纯粹的形式分离成一个软件产品。
考虑到两个主要区别,此类系统与控制器制造商开发的 SCADA 系统具有相同的优点和缺点:
-
SCADA 系统是端到端编程系统的组成部分,实际上与其他制造商的软件和硬件没有互操作性;
-
SCADA 系统在此类应用中的作用仅限于图形界面的开发。
SCADA系统的组成和结构
SCADA系统的组成和结构
通常,SCADA 系统由两组独立的软件产品组成:开发环境和执行环境。
开发环境 被称为用于设计和配置工艺过程可视化环境的集合。
工作期间的环境 — 这是一套软件产品,是操作员站工艺过程可视化程序项目工作所必需的软件产品。
另外,开发者和运营者在同一个项目中工作时,开发环境和运行环境的交互问题需要考虑:
1. 开发者所做的更改立即生效。
2. 运行时反映在项目源代码中所做的更改。
3. 更改会在运行时重新启动或强制反映出来。
第一类交互的实现可以在商业演示中非常清楚有效地展示产品的功能,因此有时会在最终的软件产品中实现。然而,在处理实际项目时,存在丢失部分图形界面或控件动态移动的潜在危险。在这方面,第二种和第三种相互作用或它们的结合是最普遍的。
SCADA系统的以下主要部分可以区分:
-
标签库;
-
图形显示模块;
-
脚本处理器;
-
报警和警告系统;
-
用于归档工艺过程参数的模块。
SCADA 系统标签 是用于存储工艺过程参数值及其属性的对象。标签有时被错误地称为“变量”。同时,标签的概念最接近面向对象编程语言中类的定义。
图形显示模块实现了项目的图形界面。 通常,图形界面是一组带有图形元素的屏幕表单。创建屏幕的任务简化为将图形元素放置在屏幕形状上并设置它们的属性。
在调用、显示和关闭屏幕窗体的过程中,当点击图形对象、改变个别标签的属性或值时,需要执行计算或动作,其中有 脚本引擎... 脚本在某些系统中也称为“宏”或“脚本”。
大多数实现自动化操作员工作站图形界面的 SCADA 系统脚本都是图形元素上的鼠标单击处理程序。
对于脚本,来自不同制造商的 SCADA 系统提供一种或多种语言。控制器制造商开发的系统或作为端到端编程系统的一部分通常提供与编写脚本相同的编程语言 控制器软件……第三方 SCADA 系统通常提供专门的宏脚本语言。
使用通用编程语言允许您通过访问其他库和 API 来实现复杂的用户界面和处理数据的非标准方法。
同时,开发人员必须在任何情况下研究与 SCADA 系统组件一起工作的函数库,就像研究宏语言一样,实施的代码可能存在潜在危险或从第三方函数继承错误图书馆。
警报系统 旨在通知操作员过程参数值超出允许范围。通常,对于每个技术参数,可以设置 2 种类型的设置,根据它们将出现通知:分别是紧急和警告设置。
根据系统的功能,这些设置是根据一个或多个标准设置的:
-
超出范围。本例中有:上、下警告值和上、下报警值。
-
偏离标称值的某些值。分配与设定值的最小和最大允许偏差。
-
设置过程参数值的最大允许变化率。允许范围设置的值以绝对单位指定,与标称值和变化率的偏差可以以绝对单位和当前或设定点值的百分比指定。
由于对于一个工艺过程来说,设置紧急和警告设定点的参数数量可能很大,在 SCADA 系统中,可以将技术控制的参数组合成组,并为任何参数设置优先级设定点。
主要任务 备份模块 - 提供在相对较短的时间内在监视器屏幕上显示技术参数(趋势)图形以及构建简单报告的能力。用于存档 SCADA 系统值的模块应提供以下功能:
-
以一定的频率或更改将值存档在本地数据库中;
-
当存档值发生变化时——可以设置存档死区;
-
设置本地数据库大小限制;
-
设置存储值的时间;
-
在自动模式下超过存储时间或数据库大小时执行例行维护以删除过时或最早的值;
-
用于构建存档值图表并查看它们的界面的可用性;
-
用于以值表的形式导出指定期间的参数值的系统的可用性。