《我在研究中心实现 SCADA 应用软件系列》文集,写于2020年08月08日

通过阅读并实践本文,你将

  • 明确SCADA系统项目的生命周期
  • 明确开发应用程序软件的过程
  • 掌握如何创建数据库
  • 掌握如何开发编程软件
  • 掌握测试和调试应用程序软件

写在前面

本文参考自McCrady S G. Designing SCADA application software: a practical approach[M]. Elsevier, 2013.


下述的方法方法和过程可用于产生设计良好且组织良好的软件系统,其有两个优点:组织良好,结构合理的软件和详细的软件文档。

1. SCADA项目的生命周期

.1 SCADA项目初始规格

典型的SCADA系统项目是建设项目或者升级项目。在这两种情况下,顾问必须首先确定所有涉及的过程,并因此确定SCADA设备的范围(例如,多少个可编程过程控制器(PPC),多少个SOW和多少个信号,等等)。在升级项目上,客户可能已经拥有一个现场控制器品牌,因此希望与新系统兼容。

项目的SCADA部分,无论是建设项目还是仅是升级项目,都必须根据所需设备进行定义。必须准备合同文件,其中包括:

  1. 现场控制器(PPC)和操作员工作站(SOW)的规范
  2. 识别每个控制器所需的输入和输出信号
  3. 流程的流程说明–流程控制逻辑说明的初始版本(PCLD)
  4. 流程和仪表图(P&ID)
  5. 有关工程施工的详细信息

.2 SCADA项目的发展

一旦项目招标完成并指定了承包商,承包商便开始根据合同文件设计系统。这些文件指定了要提交的车间图纸,该图纸始终包括系统中每个PPC的扩展过程叙述和要点清单。请注意,两个软件文档是叙述(PCLD)和要点列表(每个PPC的电子表格)。顾问和客户往往对于这些文档中提供的详细信息非常满意。此外,一旦这些文件经过审查和批准,顾问的任何更改将被视为合同的额外内容,可以应对现场相关人员要求的“细微修改”需求。

.3 工厂测试和演示

许多项目在进入现场之前都需要进行工厂验收测试(FAT)。该测试阶段包括向顾问和客户证明已在软件中正确实施了指定的设计。模拟输入以测试软件的操作。由于软件文档已更新,因此这些相同的文档可用于验证软件的操作。

在查看系统如何以模拟方式运行之后,在FAT期间通常会发现一些更改。这些二次更改对合同来说是额外的,但绝不可少。同样,随着项目的进行,通过维护文档,承包商仅需对文档化软件进行少量更改 ,而不是在项目结束时花费大量时间;项目结束通常是预算用尽的地方,通常是受到文档的影响。

通过FAT是该项目的另一个里程碑,因为该软件已在设计中得到证明。下一步是将设备放置在现场,并使用实际输入和输出再次验证所有内容。

.4 调试和现场验收测试

在对系统的所有方面都进行了测试和验证之后,才执行站点验收测试(SAT)。在此最后阶段之前,必须对整个系统进行测试和调试。

调试的第一步通常是验证每个PPC的所有物理输入和输出。

调试一次运行一个子系统。与FAT一样,必须针对PCLD对软件进行测试,以验证一切正常。软件文档提供了所有软件功能性的规范。如果软件的某些部分按照设计文档运行,但是顾问或客户声称这应该以不同的方式运行,则必须检查设计以确定系统应如何运行。在某些情况下,以原始文件为准,而在其他情况下,则需要进行更改。再次,拥有更新的软件设计文档将为系统的运行方式提供经过批准的规范。

在某些情况下,调试阶段会突出显示与文档不同的案例。如果是设计导致的小失误,执行免费的更改;如果是范围的变更,就需执行重大变更流程并加价。

最终,所有子系统都将经过测试,调整和调试。 SAT是许多SCADA项目的最后一步。这通常是连续运行或整个系统运行1-2周,而没有任何重大问题。在常规操作过程中,可能会出现非常简单的情况,这是没人会想到的。各方必须再次开会讨论如何处理情况,并确定当前操作是否正确或是否需要更改。同样,对合同的任何更改都将是额外的,并且软件文档将已经在项目设计中建立了基线或里程碑。

.5 最后一步–文档

一切都经过测试和验证后,承包商只需完成软件文档的最终定稿并将其提交给顾问。


2. 识别过程区域现场信号

典型的SCADA系统设计为在整个系统内的多个区域中执行多种操作。SCADA系统的每个过程域都有特定的监视和控制要求。

.1 过程区和PPC

PPC通常安装在控制面板内部,所有电场信号都将路由到该控制面板中。

.2 识别输入和输出信号

每个过程区域都需要一个PPC来监视和控制系统该部分内的操作。确定了特定区域后,下一步就是定义和标识与每个区域相关的所有现场输入和输出。

在为过程区域制定点清单时,现场信号分为两大类:特定于设备的信号和一般过程信号。这些信号需要制成表格并组织成组,例如每个泵或阀的所有信号。一些信号涉及整个过程区域,而不涉及任何一个领域 设备。最后,必须准备所有场信号的综合清单。

.3 组织现场I / O信号

一旦为给定的过程区域列出了所有现场信号的完整列表,下一步就是确定PPC所需的I / O模块数量以及如何将信号分配给模块。将每种设备的信号分组到一个模块中是首选方法。可以在PPC中的各个模块之间分配常规过程区域信号。

.4 允许将来扩展

在SCADA系统行业中通常可以理解,对于PPC,模块上的两个点以及机架中的备用插槽或空间通常应具有20%的备用容量。


3. 创建和记录应用程序数据库

SCADA软件需要多个数据库:每个PPC都有一个用于现场和程序点的数据库; SOW具有用于图形显示信息的数据库;标记名定义和数据库一起用于创建标记名。在创建数据库之前,标记名应具有某种标准形式或结构。然后,可以根据开发的结构化命名约定为各种应用程序中的每个点分配标记名。

.1 开发标准化的标记名系统

程序中的每个程序点都需要一个唯一的名称,称为标记或标记名。

.2 使用电子表格创建点列表

由于PPC和SOW的点列表需要组织和记录,因此可以使用电子表格程序(即MS Excel)。最终的数据库产品将由几张电子表格组成,这些电子表格标识了SCADA系统的每个部分中使用的所有字段和程序点。 建议的标题包括:

  1. 标记名和描述
  2. 点类型– DI,DO,AI,AO
  3. 模块地址
  4. 模块代码
  5. 终端号码

4. 定义和记录过程控制器操作

始终需要根据执行的控制功能和涉及的关键信号来全面记录每个过程区域的详细操作。用于此的文档称为PCLD。

.1 初始过程叙述

在SCADA系统的初始设计中,必须通过整个系统的区域或部分来识别过程。必须将整个项目划分为多个过程区域,这些区域在物理上可能是分开的,这在水处理或废水处理厂中通常是这样。初始过程叙述应包含以下基本元素:

  1. 系统总览:该描述提供了应用程序监视和控制功能的摘要。标识特定的过程区域以及所需的过程控制器(即PPC)。
  2. 应用架构: 应该开发一个初始体系结构图,该图说明如何互连先前确定的组件。
  3. I / O地址分配: 每个过程区域的各种现场I / O信号必须由控制器制成表格或列出。

对于每个这样的过程区域,必须标识和描述特定的过程操作。最初的过程叙述可能会描述泵的运行方式,例如工作分配和控制设定点。

.2 开发详细的过程逻辑说明

确定了过程区域和各个操作后,下一步就是描述每个过程区域的细节。这些描述将包括所涉及的设备,控制操作中使用的设定点或参数,以及任何特殊方面,例如硬件和软件故障处理。用户可以从这些描述中准确地理解应用程序如何操作以实现所描述的操作。

现在,必须定义和解释操作的细节。需要什么控制设定点?在该区域应如何处理故障和警报?设备会有任务分配吗?可以使用哪些操作模式,例如“远程手动”和“远程自动”?对于这些详细说明,采用标准化的格式当然会有所帮助,单个进程区域可能具有多个逻辑描述,因此每个进程都应该有单独的逻辑描述。然后,可以将这些描述组织到PCLD文档的章节中。

每个PCLD将细分为以下主要部分:

  1. 系统控制策略与概述
  2. 需要的设备和设施以及设定点参数
  3. 详细的控制逻辑说明
  4. 特殊注意事项

.3 记录系统操作

一些过程操作并不特定于任何一件设备。如果有任何与这些信号有关的特定监视或控制动作,则应包括一般过程区域描述;这样,整个过程区域的操作也可以适当地进行处理。


5. 设计和开发SCADA应用软件

定义了项目中每个PPC的现场I / O点列表和详细的逻辑描述后,就可以开始应用软件或编程。由于PPC和SOW都对SCADA系统中的信息起作用,因此有必要为系统的所有区域准备详细的点列表和过程操作说明。

.1 开发控制器(PPC)应用软件

可以从PCLD和现场I / O点列表中开发每个控制器的程序逻辑。必须允许控制器中可能执行的所有可能的操作,例如,如果控制模式包括手动和自动,则程序逻辑必须包括SOW图形显示(例如,启动和停止虚拟按钮)和PPC逻辑之间的接口;对于自动控制,必须对逻辑或控制算法进行编程,以允许访问用户可以通过工作站输入的设定点。

.2 开发SCADA工作站(SOW)应用软件

SCADA工作站(SOW)的应用软件由两个主要部分组成:向用户显示信息的过程图形显示和包含来自PPC的所有信息的数据库。过程图形显示包括当前信息,例如设备状态和现场信号的当前值。可以创建其他显示来提供操作员输入,以输入设定值和更改设备职责。

为了显示此信息,通常在工作站应用程序中维护两个数据库:当前或过程数据库和历史数据库。当前数据库包含每个控制器中配置的每个点的所有值和信息。通信驱动程序或服务器会定期从PPC收集数据,从而使当前数据库保持最新状态。历史数据库主要随时间保持值,以便可以从收集的数据中生成历史趋势和报告。

用户界面的应用程序软件由各种当前显示和其扭转显示组成。

安全是设计SOW软件时要考虑的另一个问题。

因此,用于工作站的应用程序软件涉及数据库的开发,起点应该是当前数据库的开发,因为它是从各个PPC数据库建立的。

.3 联网和接口

为了允许工作站与系统中的所有控制器进行通信,必须选择并设计一个通信网络。


6. 系统集成和验收

开发完所有应用程序软件之后,就该进行测试了。需要一种有组织的方法进行调试,因为将使用多个控制器来测试许多过程。

.1 控制器I / O信号检查

借助PPC现场I / O点列表,可以验证往返每个控制器的每个信号。在开始任何软件调试之前,重要的是要知道物理信号是可操作的,并已连接到正确的输入和输出。

.2 测试和调试过程域操作

程序员可以从PCLD中隔离特定的操作,并分别测试每个操作。

.3 系统验收测试程序

有些项目可能要求某人准备有关如何测试系统各部分的详细过程。在将设备交付到项目现场之前,该测试是在承包商的工厂进行的。该测试的目的是使用信号仿真来验证程序逻辑,以确认程序逻辑是否按预期运行。现场测试首先包括现场I / O测试,然后是系统对程序逻辑的所有方面进行系统检查。经过现场测试,该项目被认为已基本完成。


7. 用户操作参考手册

.1 用户操作手册的目的
假定用户操作手册的(用户)不具备编程和SCADA系统的知识,但确实知道该设备的预期用途。因此,必须为该读者编写用户手册,手册说明了用户在工作中可以做什么以及如何完成工作。

.2 用户操作手册的结构
根据SCADA系统的复杂性和处理数量,存在有很大不同的处理方式。无论大小和复杂程度如何,都需要有一个涵盖系统所有操作的详细说明。用户参考手册可以包括以下主要部分:

  1. SCADA系统概述
  2. 过程图形显示
  3. 警报和事件处理
  4. 历史趋势显示和报告
  5. 系统维护程序

写在最后

尽管许多系统集成商和程序设计人员可能拥有“他们自己的做事方式”,但此处描述的方法是基于多年的经验,并被证明是有效、合规并受到各方认同的。


题图

  1. 感谢Photo by Markus Spiske on Unsplash:https://unsplash.com/photos/qjnAnF0jIGk

参考

  1. McCrady S G. Designing SCADA application software: a practical approach[M]. Elsevier, 2013.

scada系统集成_设计 SCADA 应用程序软件相关推荐

  1. 各抓包软件的之间差异_系统软件和应用程序软件之间的差异

    各抓包软件的之间差异 什么是软件? (What is Software?) Software is referred to as a set of programs that are designed ...

  2. java输入字符串异常_设计一个 Java 程序,自定义异常类,从命令行(键盘)输入一个字符串,如果该字符串值为“XYZ”。。。...

    设计一个 Java 程序,自定义异常类,从命令行(键盘)输入一个字符串,如果该字符串值为"XYZ",则抛出一个异常信息"This is a XYZ",如果从命令 ...

  3. 系统软件和应用软件的区别_系统软件和应用程序软件之间的区别

    系统软件和应用软件的区别 In this tutorial you will learn about difference between system software and applicatio ...

  4. 小程序素材抓取软件_生鲜微信小程序软件

    生鲜微信小程序开发,咨询找[韦经理:173-4068-9879可微可电],生鲜微信小程序app,生鲜微信小程序模式.生鲜微信小程序软件,生鲜微信小程序源码,生鲜微信小程序公众号,随着社会经济快速发展, ...

  5. scada系统集成_专家 | 浅析地铁综合监控系统集成门禁系统

    目前国内省会及一.二线城市大力开展地铁建设,文章通过分析地铁综合监控系统及门禁系统软件和结构特点,浅析综合监控系统集成门禁系统的典型方案,并分析可行性. 关键词:综合监控系统:门禁系统:集成 中图分类 ...

  6. scada系统集成_企业IT系统集成之PLM、ERP、MES/MOM...

    ↑ 点击上方 "智能制造之家" 关注我们 作者:丁肇之     来源:数字化演易 写在前面 无论是MES/MOM.WMS.ERP.还是PLM,在信息化项目中总免不了一个词语:集成 ...

  7. 移动应用程序和网页应用程序_设计移动应用程序的提示

    移动应用程序和网页应用程序 I am not anywhere near being an expert on creating interfaces, and I picked up the mos ...

  8. scada系统集成_SCADA、DCS、PLC三者之间的区别

    Industry Control System 工业控制系统--ICS 工业控制系统(ICS)(也称工业自动化与控制系统)是各式各样控制系统类型的总称,是由各种自动化控制组件以及对实时数据进行采集.监 ...

  9. 安卓应用部件_设计应用程序小部件的痛苦和喜悦

    安卓应用部件 Some people say widgets are a thing of the past, but recently we faced a market for which thi ...

最新文章

  1. python项目归纳总结-这4个Python实战项目,让你瞬间读懂Python!
  2. HDU 3555 Bomb (数位DP-记忆化搜索模板)
  3. HTML实现包含公共部分:通过ECMA6的模块化,纯前端实现类似jsp:include的功能
  4. 计算机应用中的CAI,????按计算机应用的分类,CAI应属于()应用。
  5. c++中struct构造函数
  6. multiparty 和 busboy
  7. 【测试开发】Pytest—Html测试报告定制及封装
  8. 【历史上的今天】7 月 23 日:Novell 挑战微软;计算机界的教育家出生;第一颗 Landsat 卫星发射
  9. php怎么分栏,word文档怎么设置分栏格式
  10. 用于暴露感测的太阳传感器_凯利讯半导体
  11. jenkins pipeline php,Jenkins + Pipeline 构建自动化发布
  12. elementUI 表格合并单元格-多层级-合并行
  13. 产品| 产品经理学习路径及职业规划
  14. win7没有计算机,Win7计算机上没有声音的解决方案
  15. 邮件中的CC和BCC
  16. 计算机台式右上角三个灯作用,键盘上的三个灯分别代表什么意思 三个灯各有什么作用呢...
  17. Arch Linux 添加 BlackArch 镜像源
  18. javaweb实现的在线鲜花商城源码(电商购物系统)
  19. Python数据分析前景如何
  20. appium自动化解决快速连续点击方法(绝对简单)

热门文章

  1. 计算机反复几次才能启动,电脑连续开机几次才能启动怎么办?
  2. 2022图灵奖出炉!以太网之父鲍勃·梅特卡夫获奖,76岁进入新领域再出发
  3. java非主流火星文输入法_我爱火星文_火星文输入法
  4. 安全需求规范和管理指南
  5. 风火编程--python发邮件email
  6. Fedora各个历史版本官方下载地址
  7. matlab实现模糊控制器并仿真,用Matlab实现空调温度模糊控制器的设计与仿真
  8. Mysql优化(一)—Sql语句
  9. npm audit fix命令使用
  10. react +antd 实现时间与选择器的重置事件