SCADA系统应用软件开发

简介: SCADA系统应用软件开发

SCADA系统的软件包括系统软件与应用软件。系统软件有运行于上位机的操作系统软件、数据库管理软件及服务器软件;下位机的系统软件主要是各种控制器中内置的系统软件,这些软件会随着设备制造商的不同而不同,但部分控制器设备,如PAC会选用微软的WinCE或其他商用的嵌入式操作系统。系统软件特别是上位机系统软件的稳定性是SCADA系统上位机稳定运行的基础,必须选用正版的操作系统软件,注意软件的升级和维护。另外,还要注意上位机应用软件对操作系统的版本和组件要求。


SCADA系统功能很大程度上取决于系统的应用软件性能。为了确保系统的功能发挥和可靠性,应该科学设计SCADA系统的应用软件。SCADA系统的应用软件主要包括上位机的人机界面、通信软件、下位机中的程序,甚至还包括那些专门开发的设备驱动程序。不论是上位机应用软件还是下位机应用软件的设计,都要基于软件工程方法,采用面向对象与模块化结构等技术。编程前要画出程序总体流程图和各功能模块流程图,再选择程序开发工具,进行软件开发。要认真考虑功能模块的划分和模块的接口,设计合理的数据结构与类型。在下位机应用软件设计开发时,要根据程序组织单元相关的知识,合理设计功能、功能块和程序等程序组织单元。


SCADA系统的数据类型可分为逻辑型、数值型与符号型。逻辑型主要用于处理逻辑关系或用于程序标志等。数值型可分为整数和浮点数。整数有直观、编程简单、运算速度快的优点,其缺点是表示的数值动态范围小,容易溢出。浮点数则相反,数值动态范围大、相对精度稳定、不易溢出,但编程复杂、运算速度低。

在程序设计时,构件合理的数据结构类型可以明显提高程序的可读性,加强程序的封装,提高程序重用性。目前主流的上位机的组态软件和下位机的编程软件都支持用户自定义数据结构。


1.上位机应用软件配置与开发

上位机软件包括上位机上多个节点的应用软件。由于大型的SCADA系统中,各种功能的计算机较多,因此上位机应用软件的配置与开发也是多样的。组态软件是设计上位机人机界面的首先工具。上位机应用软件配置与开发包括:

(1)将组态软件配置成“盲节点”或将其功能简化为“I/O服务器”,这两种节点通常不配置操作员界面,从而更好地进行数据采集。

(2)SCADA服务器应用软件开发与配置。大型SCADA系统中配置一台或多台SCADA服务器来汇总多个“I/O服务器”的数据,因此要进行相关的组态工作。

(3)监控中心操作站人机界面开发。操作站是人机接口,是操作和管理人员对监控过程进行操作和管理的平台。因此,要开发出满足功能要求的人机界面。SCADA系统人机界面通常不与现场的控制器通信,其数据主要来源于SCADA服务器。关于采用组态软件开发人机界面的内容见本书5.7节。

(4)数据库软件配置与各种报表、管理软件开发。

在上位机人机界面软件开发中,还可以选用高级语言或一些专业数据采集软件。

采用高级语言编程的优点是编程效率高,不必了解计算机的指令系统和内存分配等问

题。


其缺点是,编制的源程序经过编译后,可执行的目标代码比完成同样功能的汇编语言的目标代码长得多,一方面占用内存量增多;另一方面使得执行时间增加很多,往往难于满足实时性的要求。针对汇编语言和高级语言各自的优缺点,可用混合语言编程,即系统的界面和管理功能等采用高级语言编程,而实时性要求高的控制功能则采用汇编语言编程。

典型的数据采集软件有美国国家仪器公司的图形化编程语言LabView和文本编程语言LabWindows/CVI,以及HP公司的HP VEE等。这些软件更多的是面向测控领域,在SCADA系统中应用比较少。


2.下位机软件开发

下位机对被监控的过程、设备进行直接控制,因此,软件的设计与开发极为重要。在进行下位机软件设计时,主要要选择合理的设计方法和编程语言。

下位机软件的设计方法主要有经验法、逻辑设计方法、状态流程图法和利用移位寄存器法等几种。


1)经验法

经验法设计法是利用设计人员的经验,将控制任务分解成一些典型控制环节的组合,再根据控制要求将这些组合逻辑化,然后进行编码,直接进行控制系统设计。采用这种方法可以快速开发控制系统应用软件,但只适合比较简单的对象,对设计人员的经验、具有的软件资源和应用实例有很高要求。采用这种方法进行控制软件设计的另一个问题就是设计出来的程序规范性较差。


2)逻辑设计方法

逻辑设计的基本含义是以逻辑组合的方法和形式设计控制程序。这种方法有严密可循的规律性、明确可行的设计步骤,又具有简便、直观和十分规范的特点,属于系统化的设计方法。其基本设计步骤如下。

(1)明确控制任务和控制要求。通过分析机械装置、工艺过程和控制要求,取得工作循环图、检测元件分布图与执行元件动作节拍表。分配下位机I/O地址。

(2)绘制控制系统状态转换表。

(3)进行系统逻辑设计。

(4)根据控制特点和要求,选择合适的编程语言,编写控制软件。

(5)程序的调试和修改。


3)状态流程图法

状态流程图,又称为状态转移图,是完整地描述控制系统的工作过程、功能和特性的一种图形,是分析和设计控制系统程序的重要工具。“状态”都是具有特定功能的,状态的流程或转移,实际上就是控制系统的功能的转换。状态流程图由状态、转换、转换条件和动作、命令等组成。利用状态流程图设计控制程序的步骤如下。

(1)按照机械运动或工艺过程的工作内容、步骤、顺序和控制要求画出状态流程图。


(2)在状态流程图上以输入点或其他元件定义状态转换条件。当某转换条件的实际内容不止一个时,对每个具体内容定义一个元件(地址)编号,并以逻辑组合形式表现为有效转换条件。

(3)按照机械或工艺提供的电气执行元件功能表,在状态流程图上对每个状态和动作命令配上实现该状态或动作命令的控制功能的电气执行元件,并以对应的下位机输出点的地址定义这些电气执行元件。


4)利用移位寄存器设计

利用移位寄存器进行步进顺序控制程序的设计更为简便,同时设计的通用性也更强。这种设计方法主要是利用移位寄存器来充当控制系统的状态转换控制器,设计成单数据顺序循环移位,实现单步步进式的顺序控制。通过分析控制系统的输入信号状态,可以得到系统的状态转移主令信号组,这是设计步进顺序控制程序的关键。

在实际的控制软件编写时,特别是对于比较复杂的过程或设备的控制,可以通过任务分解的方法,把复杂的程序模块化,根据每个模块要实现的功能要求和特点,选用上述的一种方法设计,从而完成复杂控制程序的编写。


应用软件的编写还牵涉到编程语言。下位机可用IEC 611131-3标准中的编程语言,有些还支持流程图(FC)编程语言。特殊情况下,要用汇编语言与C语言结合进行编程,以C语言为主,汇编语言为辅。


(1)当下位机是PLC、PAC或其他的一些控制器时,多数情况下这些控制器支持该标准中的一种或几种编程语言。部分产品会采用C语言编程。


(2)汇编语言。汇编语言是面向具体微处理器的。使用它能够具体描述控制运算和处理的过程;紧凑地使用内存;对内存和地址空间的分配比较清楚;能够充分发挥硬件的性能;所编软件运算速度快、实时性好。所以在自主开发的以单片机为主的下位机中,常采用汇编语言与C语言结合进行软件开发。

相关文章
|
1月前
|
XML Java 测试技术
WebGIS 信息系统-系统实现
WebGIS 信息系统-系统实现
20 0
|
6月前
|
运维 监控 安全
|
6月前
|
存储 监控 安全
垃圾处理厂SCADA系统设计与开发
垃圾处理厂SCADA系统设计与开发
|
6月前
|
编解码 监控 安全
SCADA人机界面组态软件设计
SCADA人机界面组态软件设计
|
6月前
|
数据采集 人工智能 监控
SCADA系统应用案例分析
SCADA系统应用案例分析
|
6月前
|
安全
|
6月前
|
数据采集 监控 算法
SCADA系统设计与开发步骤
SCADA系统设计与开发步骤
|
9月前
|
存储 安全 物联网
智慧工地管理系统平台开发搭建技术
智慧工地管理系统采用先进的移动互联、物联网、云计算、大数据等新一代信息技术,主要有信息采集层、网络接入层、网络传输层、信息存储与处理层组成
|
9月前
|
敏捷开发 测试技术 持续交付
互联网软件常见开发方法
互联网软件常见开发方法
161 0
|
存储 监控 安全
基于SaaS的教务系统平台设计构想
本篇是一篇自然科学论文,仅供参考。 大学挑战杯复赛没过,放博客纪念。
247 0
基于SaaS的教务系统平台设计构想