,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 1
分散控制系统的软件第四章
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 2
300MW火力发电机组采用的 DCS,是由彼此独立的工作站点(现场控制单元、操作员接口站、
工程师工作站等)和数据通讯网络组成的。其控制功能是在组成系统的硬件基础上,由软件予以实现的。
因此,分散控制系统的功能和实现这些功能的软件,也分散在各个工作站点上,分散在各工作站点上的软件由通讯软件彼此相连,组成完整的控制软件系统。
第一节 概述
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 3
图 4-1为分散控制系统的软件示意图。
应用软件语言及工具操作系统有关硬件 通讯软件工程师工作站应用软件操作系统有关硬件 通讯软件应用软件操作系统有关硬件 通讯软件
……
……
通讯网络其它站点一、分散控制系统的软件分类
(一) 按软件的设计目的分类,有:
系统软件,支持软件,应用软件
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 4
与应用对象无关的、面向计算机的专门用来使用和管理计算机的、具有通用性的计算机程序。
它一般包括管理计算机资源的实时多任务操作系统、数据库管理系统 ﹑ 网络管理系统、引导程序、调度执行程序、监控程序等。
—— 运行和管理计算机系统的基本 程序 。
1、系统软件
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 5
2、支持软件
—— 是基于系统软件之上,用于开发应用软件的服务性程序。
它包括程序编制语言(汇编语言 ﹑ 高级语言、
面向过程语言) ﹑ 编译程序、编辑程序、调试程序、诊断程序、维护程序等。
面向应用服务和应用软件设计的工具性的计算机程序。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 6
3、应用软件
—— 是根据用户所要解决的生产和管理实际问题,
借助支持软件而编制的具有一定针对性的计算机程序。
这些程序决定了信息在计算机内的处理方式和算法。 一般包括:过程输入程序 ﹑ 数据处理程序 ﹑ 过程控制程序 ﹑ 过程输出程序 ﹑ 人机接口程序 ﹑ 显示程序 ﹑ 报警程序 ﹑ 打印程序、自检程序以及各种公用子程序等,其质量的优劣直接影响控制系统的运行效果。
面向生产过程的应用性的计算机程序。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 7
(二)按软件对应的硬件分类,有:
1.现场控制软件现场控制软件通常采用高级语言编制程序或梯形逻辑语言( Ladder Logic programming),选择功能码( Selected Function Code),功能顺序表
( Function Sequence Table) 等支持软件予以编制。
现场控制软件、工作站软件、网络通讯软件
—— 置于 现场控制单元之中,用于实现现场数据采集、数据处理、控制运算、控制输出、实时数据库等功能的应用软件。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 8
2.工作站软件
( 1)实时多任务操作系统;
( 2)各种高级语言软件(如,BASIC,Fortran,Pascal,C
语言等);
( 3)系统组态软件
( 4)系统通用软件(如编辑程序、连接装配程序、运行程序);
( 5)历史数据存储、过程画面显示和管理、报警信息管理、
生产记录报表管理和打印、参数列表显示、人机接口控制、实时数据处理等软件;
( 6)诊断软件、等等;
—— 置于 工作站之中,用于系统管理、系统功能开发、控制系统组态、系统运行与维护的各类软件。如:
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 9
它包括计算机的通讯接口,控制设备的通讯接口,网络匹配器,通讯线路等网络软件 。
3.网络通讯软件二、软件的设计方法常见的软件设计方法有三种:
(一)模块设计方法在进行软件设计时,通常把总体任务划分成若干部分,每一部分具有一定的功能、对应一段程序,这个功能明确而能独立运行的程序段称为一个“模块”。单独建立模块,并通过适当的接口和组织把相关模块连成一个整体的程度设计方法,
称之为模块程序设计法。其 优点 为:
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 10
( 1)各模块可进行并行设计。
( 2)模块程序编制、调试、检查修改容易。
( 3)模块可以共享。
模块的划分遵循下列原则:
每个模块的程序不宜太长或太短,通常一个模块的程序在 50行左右 。
各模块间在逻辑上互相独立且界限分明 。
多种判断逻辑尽量在一个模块内实现 。
常用的程序模块均可采用成熟的标准程序 。
对于相当简单的任务不必要求模块化 。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 11
是以各程序模块为基础,根据总体任务的要求,
把不同功能的模块分为若干层,层次之间只能是单向依赖 。 整个软件的正确性由各层的正确性来保证,
一般的计算机仅提供带单用户单任务操作系统
( DOS),它是不能满足生产过程的多任务实时性要求的 。 通常以这个操作系统为基础层,采用分层设计方法把它扩展成为多任务的实时性操作系统,
再辅以应用程序,从而构成一个完整的过程监控的应用程序包 。
图 4— 3示出了这种分层设计的结构 。
(二)分层设计法
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 12
DOS
实时操作系统应用程序包计算机由里向外 —— 从 DOS开始,层层扩展功能,最终形成一完整的功能程序包 。
由外及里 —— 从最外层的目标层考虑向里推进到计算机的
DOS基础层,通过中间层形成一个有机的整体 。
在分层设计时一般有两种方法:
实际的过程监控应用软件如何分层,各层功能如何安排,要视具体情况而定。但应以保证系统的可靠性和提高己有资源的利用率为原则。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 13
(三)结构化程序设计是一种采用规定的结构类型和操作顺序的程序设计方法。该方法给程序设计施加了一定的约束。
在结构化程序设计中,常用的逻辑控制结构有:
顺序结构,条件选择结构 和 循环结构 三种。如图
4— 4所示。
过程 P2
( a) 顺序
P1
条件
P2
Y N
( b) 条件选择条件
P2 P
1
N Y
( c) 循环过程 P1
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 14
以上三种结构是最基本的控制结构,是任何执行流程程序的基本单元 。 利用这三种结构就可以组成任意复杂的程序 。
结构化程序设计的特点是:能编写出操作顺序清晰,便于查找和纠正错误的程序 。 所以结构化程序是一种较好的程序设计思想 。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 15
第二节 现场控制单元软件系统以微处理器为基础的现场控制单元,一般具有现场各种测点的数据采集和处理、控制运算、
控制输出以及网络通讯等功能,这些功能的实现必须依靠一套完整的与之适应的软件系统予以支持。
一、现场控制单元的软件结构多数现场控制单元的软件采用模块化结构设计,如图 4— 5所示:
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 16
数据采集和处理控制算法库控制应用软件控制输出网络通讯执行代码部分实 时 数 据 库 数据部分现场控制单元的软件一般是由 执行代码 部分和数据 部分两部分组成,其中:
1、执行代码部分:
它包括数据采集和处理、控制算法库、控制应用软件、控制输出和网络通讯等模块,它们一般固化在 EPROM之中。执行代码又可分为:
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 17
周期执行代码 —— 完成的是周期性的功能。
例如,周期性的数据采集、转换处理、越限检查、
控制运算、网络数据通讯、系统状态检测等。
周期性执行过程一般是由硬件时钟定时激活 。
随机执行代码 —— 完成的是实时处理功能。
例如:文件顺序信号处理;实时网络数据的接收;
系统故障信号处理 (如电源掉电 )等,这类信号发生的时间不定,若一旦发生就应及时处理。 随机执行过程一般是由硬件中断激活 。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 18
现场控制单元软件系统的数据部分是指实时数据库,它通常保留在 RAM存储器之中,系统复位或开机时这些数据的初始值从网络上装入,运行时由实时数据刷新。
2、数据部分:
典型的现场控制单元周期性软件的执行过程如图 4-6所示:
二、周期性软件的执行过程
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 19
开始采集现场各测点的参数数据转换、报警检查刷新实时数据库控制算法运算和控制输出
(包括模拟控制、顺序控制)
在线诊断
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 20
1,应具有高可靠性和实时性
2,应具有较强的自治性
3,应具有通用性三、现场控制单元软件的基本要求四、数据结构和实时数据库的一般概念数据 是描述客观事物的数和字符 。 计算机中的数据是计算机所能识别的代码,并可供计算机程序处理的符号的集合 。
为了便于数据的查找和修改,计算机必须按照一定的规则来组织数据使之彼此相关,这种数据彼此之间存在的逻辑关系称之为 数据结构 。
1.数据结构的概念
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 21
常用的数据结构有:
树形结构链形结构队列堆栈动态顺序结构数组线性表静态顺序结构顺序结构双重链表循环链表单链表
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 22
( 1) 相关性
( 2) 组织性
( 3) 共享性
( 4) 独立性
( 5) 安全性
( 6) 保密性
( 7) 统一性
( 8) 可维护性
2.实时数据库的概念地说数据结构与相关数据信息的集合,称之为
,数据库,;若数据库中的数据信息为实时数据信息,则该数据库称之为,实时数据库,。
数据库的重要特征:
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 23
在运行过程中,实时数据库的数据在不断地刷新,其内容直接反映了系统当前的运行状况 。
可以说,实时数据库相当于一个运载工具,它将与之相关的各软件模块的信息按需求进行相互传递,
也可以说,实时数据库是一个信息仓库,从不同渠道来的数据,都存放在实时数据库中,当任一相关软件模块需要数据时,可直接从实时数据库中去获取,而不必到硬件上去提取 。 即使有多个软件模块需要同一个数据,也可直接从实时数据库中拷来即用 。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 24
五、现场控制单元实时数据库的数据结构一般来说,通用系统的实时数据库应包括系统中采集点、控制算法结构、计算中间变量点、输出控制点等各种处理点的有关信息,即:
点索引号、
点字符名称(仪表号)、
说明信息、
报警管理信息、
显示用信息、
转换用信息、
计算用信息等。
构成一条“点记录”。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 25
由于系统中的点所对应的信息及长度是不同 。
为了节省内存,通常在实时数据库中定义几种不同的数据结构 。
以典型的现场控制单元为例,定义数据结构有:
( 1)模拟量输入和输出数据结构( AN结构 );
( 2)开关量输入和输出数据结构( DG结构 );
( 3)计算量 (模拟计算量 )数据结构( AC结构 );
( 4)开关量点组合结构( GP结构 )。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 26
则现场控制单元的实时数据库可设计成图 4-8
所示的结构:
用来存储数据库位置和极限信息,如四种数据区的起始地址和各种点的最大点数目。
索引指针区
AN数据区
DG数据区
AC数据区
GP数据区数据结构的定义不能过于琐碎,否则会增加访问的难度和时间。
注意:
以下分别介绍各数据区的数据结构:
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 27
(一)模拟量点的数据结构表 4— 2列出了一个模拟量信号的典型数据结构。
记录项项长度
( 字节数)
偏移量 说 明 数 据 性 质
ID 2 0 点索引号 点索引信息
AS 2 2 点状态字
AV 4 4 模拟量值点当前信息值和状态
RT 1 8 记录类型
CM 1 9 命令字
SC 2 10 采样周期采样或输出控制
SN 1 站号 点索引信息
PN 8 12 点名
CN 20 20 汉字说明
EU 6 40 工程单位显示信息
IV
PV
4
4
46
50
初始值前周期的值初始信息
AP 1 54 报警级别
A MM 1 55 报警时间 (月)
AD 1 56 报警时间 (日)
AH 1 57 报警时间 (时)
AM 1 58 报警时间 (分)
TS 1 59 报警时间 (秒)
HL 4 60 报警上限
LL 4 64 报警下限
IL 4 68 报警增量
DB 4 72 报警死区报警管理
HS 4 76 传感器上限
LS 4 80 传感器下限
IP 2 84 输入二进制数
HA 2 86 通道地址通道关联数据
SG 1 88 信号转换等级
ST 1 89 信号转换类型
VC 4 90 转换电压
TC 4 94 转换系数 1
BS 4 98 转换系数 2
B S 2 4 1 0 2 转换偏移量
CJ 1 1 0 6 冷端索引号转换计算用信息对表中所示的一个模拟量点数据记录的有关项说明如下:
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 28
在系统中为每一点设立一个索引号,每类点记录的索引号按顺序排列,根据点索引号可以快速准确地查找 ( 计算 )
某一点在数据库中的确切位置 。
例如,一个系统的所有点的索引号 ( 16位二进制数 ) 可定义为图 4— 9所示方式:
1,ID(点索引号 )
1
5
1
4
1
3 0
…………
信号类型 序号
(每类点最大可以有 16383 个)00 表示 AN
01 表示 AC
10 表示 DG
11 组合 GP
131415
如果整个分散控制系统采用一种统一的数据记录排号,则在 ID中还可以指定几位用来确定站号索引。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 29
2,AS(点状态字 )
AS保存着该点当前所处的状态,其中每位可表示一种状态,如图所示:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
保留脱离采样 越传感器下限 越传感器上限 处于报警变化状态 报警已经确认 下限报警加深 上限报警加深 越报警下限值 越报警上限值某一位若置 1表示它相应的状态成立。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 30
AV 是模拟量点的实际数据,对于输出来说,它表示的是由操作员输入或由计算公式算出来的输出值 。 它一般可用单精度的浮点数表示,其 IEEE标准格式定义如图所示:
3,AV(模拟量点值 )
31 30 23 22 21 2 1 0
(共 8 位)
表示指数与
0FFH的和
(共 23位)
表示尾数的大小表示数的正负
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 31
记录类型 ( 8位二进制数 ) 表示的是系统中所定义的数据点的类型 。 例如:
4,RT(记录类型 )
RT=00000001 表示模拟量输入记录
RT=00000010 表示模拟量输出记录
RT=00000011 表示开关量输入记录
RT=00000100 表示开关量输出记录
RT=00000101 表示计算量类型
RT=00000110 表示设定值类型
RT=00000111 表示脉冲累积量类型
RT=00001000 表示中断型量
RT=00001001……
RT=11111111 保留
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 32
用来标志操作员对参数采集任务所发生的命令,以通知它改变某些点的处理 。
例如:可以定义 CM的内容如图所示:
5,CM(命令字 )
某一位若置 1表示它相应的状态成立。
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
保留
(不同的系统设计者可在此定义许多自己认为有用的命令)
确认报警 脱离报警检查 报警检查 脱离采样 该点采样
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 33
该字用来定义该点的采集周期。
7,PN(点名 )
8个字节用来存入该点所对应的信号名称,用于显示和打印。
8,CN(说明项 )
20个字节用来存放该点的说明信息,最多可有 10个汉字或 20个英文字符。
9,EU(工程单位 )
6个字节用来存放该点所对应的物理量工程单位(如?C、
Pa或 MPa,t/h或 kg/m3等)。供显示和打印记录时用。
6,SC(采样周期 )
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 34
10,IV(初始值 )
存放用户在初始化数据库时输入的一个浮点数值。它代表该点在采样之前的一个值。
11,PV(前周期的值 )
“输入巡检模块” 在执行过程中,每个采样周期对点状态字 AS,模拟量值 AV进行刷新。在每次刷新之前,
先把 AV的值放在 PV中,该值可以用来计算该点的变化率。
12,AP(报警等级 )
此字节的值用来表示该点的越限报警的重要程度。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 35
13,AMM/AD/AH/AM/TS(报警时间 )
这五项的字节是用来记录该点越限时的时间 。
14,HL/LL( 报警上 /下限 )
这两项 ( 各 4个字节 ) 分别用来存放该点的报警 上,
下限的值 。
15,IL( 报警增量 )
用来存放两级报警值之间的增量值 。 标明该点越过一级报警极限之后,再超越该增量值就达到第二级报警 。
16,DB( 报警死区 )
用来存放反映该点报警 死区大小的值 。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 36
17,HS/LS( 传感器上 /下限)
这两项(各 4个字节)分别用来存放该点 传感器 的 上、
下限的值。它可用来判别通道的故障。
18,IP( 输入二进制码)
存放 A/D转换器直接输入的二进制码。也用来表示输出时要送往 D/A转换器的值。
19,HA( 通道地址)
存放该点的模拟量输入(或输出)所对应的硬件板上地址。
20,SG( 信号转换等级)
用来表示该点输入(或输出)信号的类型等级。如可定义若干种类型等级表示某系统所有不同的信号,如表所示。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 37
SG I / O 范 围 单位 SG I / O 范 围 单位
1 I n p u t - 2 0 ~ + 2 0 mV 11 I n p u t 0 ~ +1 V
2 I n p u t - 5 0 ~ + 5 0 mV 12 I n p u t 0 ~ +5 V
3 I n p u t - 1 0 0 ~ +1 0 0 mV 13 I n p u t 0 ~ +1 0 V
4 I n p u t - 1 0 0 ~ +1 0 0 mV 14 I n p u t +4 ~ + 2 0 mA
5 I n p u t -1 ~ +1 V 15 I n p u t + 1 ~ + 5 V
6 I n p u t - 1 0 ~ + 10 V 1 6 O u t p u t 0 ~ +2 0 mA
7 I n p u t 0 ~ + 20 mA 17 O u t p u t +4 ~ + 2 0 mA
8 I n p u t 0 ~ + 10 mA 18 O u t p u t 0 ~ +5 V
9 I n p u t 0 ~ + 50 mV 1 9 O u t p u t +1 ~ +5 V
10 I n p u t 0 ~ +2 0 0 mV
信号转换类型是由具体的应用对象所决定的。
不同等级的信号类型代表着不同的信号调理水平。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 38
ST用来表示输入 ( 或输出 ) 信号的转换类型 。 如:
( a) ST=1,表示线性输入,其转换表达式为:
—— 该类信号包括压力信号,变送器信号,液位信号,
以及 温度半导体集成传感器的输出 。
( b) ST=2 表示第一类非线性输入,其转换表达式为:
—— 该类信号常见的是流量输入信号 。
( c) ST=3 表示第二类非线性输入,其转换表达式为:
( d) ST=4 表示模拟量输出:
( e) ST=5~ 9 分别代表 E,S,T,K,J型热电偶的输入 。
( f) ST=10 代表气体流量计算 。
21,ST( 信号转换类型)
BSVCTCAV
BSVCTCAV
2BSBSVCTCAV
TC
BSAVVC
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 39
22,CJ( 冷端索引号)
在一个系统中,若存在多个热电偶信号冷端,则要增加多个冷端检测传感器 。 所以此处用 CJ来 表示该点热电偶信号的冷端索引号 。
在 DCS中,有许多计算量和设定量,对于这类数据也可定义某种数据结构 。
(二)计算量和设定量的数据结构如下表所示:
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 40
记录项 字节数 偏移量 说 明 数 据 性 质
ID 2 0 点索引号 点索引信息
AS 2 2 点状态字
AV 4 4 模拟量值点当前信息值和状态
RT 1 8 记录类型 采样或输出控制
PN 8 9 点名
CN 20 17 说明项
EU 6 37 工程单位显示信息
IV 4 43 初始值 初始信息
HL 4 47 报警上限
LL 4 51 报警下限报警管理信息在计算量和设定量的数据结构中,一般没有硬件和信号转换信息,且报警也很简单。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 41
DCS中开关量信号诸多,这类信息的数据结构如表所示:
(三)开关量(输入、输出)的数据结构记录项 字节数 偏移量 说 明 数 据 性 质
ID 2 0 点索引号 点索引信息
DS 2 2 点状态字 点当前信息值和状态
RT 1 4 记录类型
CM 1 5 命令字
SC 2 6 采样周期采样或输出控制
PN 8 8 点名
CN 20 16 说明项
SD 6 36 置 1说明
R D 6 42 置 0说明显示信息
AP 1 48 报警级别
AMM 1 49 报警时间 (月)
AD 1 50 报警时间 (日)
AH 1 51 报警时间 (时)
AM 1 52 报警时间 (分)
TS 1 53 报警时间 (秒)
报警管理信息
MS 2 54 SOE时间 (毫秒) 事件顺序记录信息
HA 2 56 通道地址
BP 1 57 位号 通道关联数据
ST 1 58 信号类型
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 42
表中的内容有些与模拟量的数据结构中相似
(如 ID,RT,SC,PN,CN,AP,AMM,AD,AH,AM,
TS和 HA等)。但有些项是有区别的,此处予以说明:
开关量不存在浮点数的值,其开关状态存放在 DS中的 。
下图是 DS的定义:
1,开关量的 点状态字( DS)
保留脱离报警检查 报警已确认 脱离采样 处于报警状态 前周期开关量的值 当前开关量状态
0123456789101112131415
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 43
开关量的命令字与模拟量命令字的定义有所不同 。 图中是开关量命令字 CM的定义:
2,开关量的 命令字( CM)
保留报警状态 该点的初始值 加入报警检测 脱离报警检测 脱离采样 加入采样
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 44
3.置 0说明和置 1说明用来表示所描述的该开关量在置 0或置 1时代表的意义。
用作显示信息。
4,MS SOE时间( Sequence of Event)
用来记录该点发生跳变时间的毫秒值。以处理快速事件。
5,BP( 位号)
在开关量的输入和输出中,由于计算机硬件的限制,往往一次输入(或输出)一个字(或一个字节)。硬件通道地址往往只给出这一组( 8位或 16位)的起始地址,而每一个开关量只是这一组中的一位。因此 BP被用来表示该点在这一组中所处的位号。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 45
开关量信号大概分为三类,即:
开关输入量 ( ST=10H)
开关输出量 ( ST=11H)
SOE量 ( ST=12H)
6,ST( 信号类型)
以上为几种常用信号的数据结构。在实际工业控制应用中往往还会遇到许多别的信号,例如脉冲累积量,算法记录等。参照上述方法,软件设计者可以自行定义任务和所需要的数据结构。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 46
六、输入、输出软件通用的现场控制单元中,一般固化有:
开关量输入( DIN)
开关量输出( DOUT)
模拟量输入处理( AIN)
模拟量输出处理( AOUT)
脉冲量输入处理( PIN)
脉宽调制输出处理( PWM)
中断处理等数据处理模块。此处主要讨论使用率最高的开关量、模拟量的输入和输出处理模块。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 47
(一)开关量的输入开关量只有“开”和“关”两种状态,因此,
可以用数据的某一位予以描述,该位为,0”表示
“关”,为,1”表示“开”,按数据结构所设定的周期,由硬件时针定时激活。
现场控制单元开关量的输入一般是分组进行的,
即一次输入操作可以获得 8个或 16个开关量的状态,
然后将各开关量的状态分别写入到实时数据库所对应的数据位上。
多数开关量输入须进行报警检测。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 48
经运算,处理所得的开关输出量存放在实时数据库内,输出软件直接从实时数据库相应位置取出待输出的开关量值,并与其它各输出位一道通过现场控制单元的接口输出 。
(二)开关量的输出
(三)模拟量输入处理模拟量输入信号的采集和处理过程为:选择输入通道 → 启动 A/D转换、延时 → 读入 A/D转换的结果
→ 进行数据处理(如尖峰信号的抑制,数字滤波,
工程单位值的转换,报警检查,仪表测量报警检测,
写回数据库等)。以下就软件的有关处理功能予以讨论。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 49
1.尖峰信号的抑制在某些干扰作用(如电磁场、电源故障、仪表或电缆故障等)下,都可能在信号传输线上产生尖峰信号。如图 4— 16所示。
H ( 信号幅值)
t( 时间)
在任一时刻,同时保留上一个周期的采样值和信号允许变化范围值 。 若当前周期采样值超出上个周期的允许变化范围,则取消本次采样,延时一段时间后再对该通道的进行采样比较 。
如果一个或几个毫秒之后,该值恢复到正常范围,则认为有效输入值 。 若通过几次采集输入之后,输入仍不正常,说明传感器或输入通道出现了故障,应当报警 。
抑制方法:
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 50
2.数字滤波各种电气干扰或设备不稳,会引入一些微小波动的信号。对此,除在硬件线路中都采取滤波措施,
通常在软件中也采取一些软件滤波技术。
( 1)运行平均 。运行平均就是采用本周期的实际采样值和前几个周期的平均值进行算术平均得到的值作为本次输入。用公式表示为:
nxyyyy knkkkk /)( 121
其中,xk为本周期采样值; yk为本周期平均值; yk-1,…,
yk-n+1分别为前几个周期的平均值;
n的取值范围为 2~ 5。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 51
( 3) 加权平均 。 加权平均是在运行平均的基础上增加近期输入所产生的影响,从而提高反应速度的一种滤波方法,例如对以上运行平均表达式修改可得:
( 2)算术平均 。算术平均是利用本周期和前几个周期的输入值 xi 直接进行平均运算而得到结果,
即:
mxxxy mkkkk /)( 11
4321 16
1
16
1
8
1
4
1
2
1
kkkkkk yyyyxy
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 52
3.输入转换
A/D转换输入的是电压信号。在控制过程中需要将电压信号转换成与工程单位所对应的物理量。根据不同的信号类型,现场控制单元一般支持下列几种信号转换类型:
( 1)线性变换 。主要应用于各种线性变送器的采集信号,如压力、液位、半导体温度传感器等信号。参见公式( 4— 2)。
BSVCTCAV
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 53
( 2) 流量信号的采集转换 。 测量流量方法有较多,这里主要介绍差压流量计的测量和转换 。
对于不可压缩流体,可通过节流装置的前后的差压?P,计算流经管道的体积流量 Q,即:
PKQ
对于可压缩流体 ( 气体 ),其质量流量还与气体的温度和压力有关 。 为了补偿压力和温度变化所带来的误差,可以用下式来计算其质量流量 G:
式中,K为一个比例系数体积流量乘以密度系数可以得出质量流量。
T
PPKG
式中,P为绝对压力,
T为绝对温度。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 54
① 直接查表法,是即将热电偶的分度表 ( 温度 — 电势之间不同点的对应关系 ) 存入计算机内,
当计算机从热电偶每采集一个电势值后,计算机将据此逐点或采用对数分割的方法在分度表内进行查询,得出一个近似的温度值 。 此法的精度较高 ( 误差不超过一度 ),却很费时 。
( 3)热电偶插值运算 。热电偶是一种广泛应用的测温元件,但在应用中,热电偶的插值运算是件很麻烦的工作,其主要原因是热电偶的温度 — 电势之间的关系呈非线性。因此,通常要采取适当的技术措施来获取精确的温度值。常见的方法有以下几种:
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 55
② 硬件校正法,是采用适当电子线路将热电偶的输入 /输出的非线性关系线性化。此法占用机时少,
但电子线路较为复杂,成本较高,精度也低,而且对于不同的热电偶其通用性差。
③软件计算法,是目前应用较多的一种方法,即将热电偶的输入 /输出关系用某种近似手段(逐段线性化、最小二乘法回归等)表达为数学方程,
计算机依据采集到电势值和数学方程的计算软件求出对应的温度值。此法的精度决定于所采用的近似手段。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 56
目前,工业控制输出信号等级一般为 4~ 20mA
的电流信号或 1~ 5V的电压信号 。 现场控制单元采用的模拟量输出处理模块多为线性模块,即输出信号的值与计算机发送的值是呈线性关系的 。
模拟量输出处理过程实际上是输入线性转换的逆运算过程 。
(四)模拟量的输出处理例如:
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 57
某输出变量(如阀位)的变化范围为 0~ 100%,
对应的输出电压范围为 1~ 5V,则设数据结构中的两个转换系数分别为 TC=25和 BS=-25。 当输出模块进行处理运算时,先取出 AV,TC,和 BS 的值进行逆运算,即:
求出电压值 VC后,再用 VC值求得输出二进制编码送到模拟量输出通道即可。
TC
BSAVVC
由 VC值求二进制码很容易,如:对于一个 12位的 D/A转换器和 1~ 5V 的输出电压范围,则一个二进制码对应于( 5-1) /4096=0.000977(V)电压值。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 58
七、过程控制软件
(一)过程控制软件的组成现场控制单元一般装有一套功能较为完善的控制算法 库,其中的各种控制算法以 模块形式 提供给用户。
在有些分散控制系统中(如 INFI-90) 将控制模块按某一顺序编码,这种编码称为,功能码,,在应用中可用不同的功能码代表不同的控制模块。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 59
分散控制系统的控制功能,一般是由相应地组态工具软件 ( 参见本章第四节内容 ) 生成 。 即用户根据生产过程控制的要求,利用控制算法库所提供的控制模块,在工程师工作站用组态软件对若干控制模块进行有机结合,生成自己所需的控制规律,然后下装到现场控制单元,作为过程控制的应用软件 。
不同厂家的 DCS,控制算法模块除在模块数目、
模块表达形式等方面有所差异外,其基本内容大致相同。下面以 INFI— 90系统为例,对 DCS的过程控制软件作进一步说明。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 60
INFI— 90系统的过程控制软件,是专门为过程控制而设计的一套特定的控制算法模块化软件结构 —— 功能码 ( Function Code 简称 FC) 。
在功能码内,存放有功能算法和有关参数,
是系统完成过程控制的灵魂 。
(二) INFI— 90系统的过程控制软件
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 61
功能码固化在现场控制单元 MFP的 EPROM中,每个功能码都标注有自己的号码,这些号码实际上是它们在 EPROM中的地址。可以说,每一个功能码都是一种标准的子程序,都可实现某一特定的控制功能。
为了在 MFP中建立起用户所需的控制策略,系统在 RAM中准备了足够的空间来存放用户的控制组态,这种为组态准备的存储空间称为 功能块
( Function Block简称 FB)。 各功能块分别标有号码,称之为,块号,—— 执行功能块的顺序号。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 62
例如:功能码( 19),它是对过程变量( PV) 和给定值输入( SP) 之间的偏差信号提供比例、积分、微分( PID)
控制功能的标准算法。其示意图如下。
PID
SP
PV
TR
TS
S1
S2
S3
S4 N
( 19)
分别用 S1,S2,S3,S4表示,它们称之为,规格数,;
该功能码有:
四个输入:
过程变量 ( PV)
给定值输入( SP)
跟踪参考 ( TR)
跟踪切换 ( TS)
通常用块号 N表示。一个输出:
实际上,该功能码有 S1~ S12共 12个规格数,用以描述其详细功能和参数,如表 4— 6所示。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 63
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 64
PID
SP
PV
TR
TS
S1
S2
S3
S4 N
( 19)
在控制运算状态下,该功能码有两种运行方式:
上述功能码在:
S4=0时,N=S3,处于跟踪状态;
S4=1时,N=PID的运算结果,处于控制运算状态。
正作用方式,即,DSISSSSSNS 876215%112 时反作用方式,即,DSISSSSSNS 876125%012 时比例常数
(KP

积分常数
(KI

微分常数
(KD

积分运算微分运算增益系数( K)
作用是使不同的输入偏差信号从工程单位转化为百分制形式。 S5由下式确定:
m i nm a x )1()1(/1 0 05 SSS
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 65
利用功能码,软件工程师可根据工艺过程要求所提供的逻辑关系进行组态,生成各种应用功能的控制规律。
MFP的组态可利用下列工具及其组态软件来实现:
组态调整终端( CTT)
工程师工作站
操作员接口站 本章后续内容介绍
—— 是一种专用的便携式组态工具。可直接与现场控制单元连接与通讯,进行现场组态。如图所示。
MFP
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 66
这里仅就使用工程师工作站对现场控制单元进行组态的基本步骤作以下说明:
启动工程师工作站,进入系统组态 CAD方式,调出图框;
通过键盘输入功能码号,选用所需的功能码,并使功能码放在屏幕上适当的位置;
使用光标在功能码之间连线,构成相应的逻辑关系;
根据功能码的要求赋予块地址 ( 最初的输入端地址应最小,而输出端应为较大的地址号,以保证组态的合理性 ) ;
准确填写功能码的参数表,使其具有实际的能力;
进行自动交叉引用,把组态图之间有机的连接起来,形成完整的系统控制逻辑;
对组态进行编辑,使之在形成图纸的同时生成 MFP能读懂的程序;
通过通讯网络将组态下装到 MFP中 。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 67
完成上述工作后,一旦系统投运,组态即将运行。也可根据需要在线修改组态。
下图给出了一个具有手动 /自动功能的单回路 PID控制逻辑的组态实例。
INFI-90系统共有 11个大类,200余种功能码,可参阅厂家提供的《功能码快速参考指南》。
函数发生器 PID控制器手动 /自动控制站控制接口从模件例外报告模拟量趋势共采用了 6个功能码
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 68
这里重点讨论控制过程中普遍应用的 PID算法 。
(三)基本控制算法对于图示单回路控制系统:
1.理想的 PID算法
PID 执行装置 对象检测回路
r(t) e(t)+ u(t) y(t)
-
给定量 被控量偏差 凋节器输出
e(t)=r(t)- y(t)
理想的 PID控制算法为,])()(1)([)(
0
t
d
i
p dt
tdeTde
TteKtu
通过拉氏变换上式对应的传递函数为:


sT
sTKsE
sU
d
i
p
11
)(
)(
式中,Kp为比例放大系数,Ti为积分时间; Td为微分时间。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 69
比例作用可对偏差及时作出反应,及时产生控制作用,
但会存在静差;
积分作用用来消除静差,但会导致系统稳定性下降;
微分作用用来减小超调量,使系统快速趋向稳定,改善系统的动态特性。
2.数字式的 PID算法在计算机控制系统中,需将连续 PID转换为数字式 PID
算法。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 70
( 1)位置式的 PID算法。
e(t),u(t)可以近似地用 e(k?),u(k?)代替,且有:
设 PID调节回路的控制周期和采样周期为?,则 时,?kt?;)()(0
t k
i
iede
])1[()()( kekedt tde
为了简单起见,用 k代替 k?,并将上述各值代入理想
PID方程可得:

k
i
dip kekeKiekkeKku
0
)]1()([)()()(
由于该式计算所得的控制输出值,直接代表的是执行机构的位置,所以称为,位置式的 PID算法 。
式中,Ki=Kp?/Ti—— 为积分常数;
Kd=KpTd/?—— 为微分常数。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 71
如果我们用上式中的 u(k)减去 u(k-1),则有:
( 2)增量式的 PID算法。
)1()()( kukuku
)]2()1([)(
)1()]1()([)()(
1
0
0


kekeKieK
keKkekeKieKkeK
d
k
i
i
k
i
Pdip
)]2()1(2)([)()]1()([ kekekeKkeKkekeK dip
)]1()([)()( kekeKkeKkeK dip
式中,= )(ke? )1()( keke
由于式中计算所得的输出值,是在上一个周期的输出值基础上需改变的量。因此,上式称,增量式 PID算法。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 72
上述数字 PID算法在实际应用中,针对不同的应用对象有时会体现出这样或那样的不足。因此,往往需结合工程实际对数字 PID算法作适当的改进。下面介绍几种常见的数字 PID改进算法。
3.数字 PID算法的改进积分作用主要是用来消除稳态误差,但会导致系统的稳定性下降,超调量增大,当输入偏差变化较大时,这种影响更为明显。其主要原因是在动态过程的初始阶段,积分作用有一定的负面影响。因此,很多应用场合在 PID算法中加入一个“控制开关”,控制积分作用的投 /切,实现积分分离算法,改善控制特性。
( 1)积分分离 PID算法
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 73
积分分离算法的设计思想是:设置一个分离值 E0,当
|e(k)|?E0时,采用 PID控制算法,以保证系统的控制精度;而当 |e(k)|>E0时,取消积分作用,采用 PD控制算法,以降低超调量的幅度。积分分离 PID算法可表示为:

k
j
dip kekeKjeKKkeKku
0
)]1()([)()()(

时时
0
0
|)(|,0
|)(|,1
Eke
Eke
K
称为,逻辑系数
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 74
( 2)不完全微分 PID算法实际计算机控制系统的输入回路都设置了一级低通滤波器,
来限制高频干扰的影响。低通滤波器和理想 PID算式结合的传递函数为:



sTsTT
k
sE
sU
d
iF
p 11
1)(
)(





sTKsrT
sT
srTsT
sTsTK
1
1
2
2
21
211 11
1
1
)1(
)1)(1(
2rTTF?
上式用方框图来表示为:
微分作用E(s) 放大系数
K1
D(s) U1(s) U(s)+
+
积分作用 U
2(s)
1122srTsT
sT
K
1
1
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 75
因此,称之为 不完全微分 PID算法 。
加入滤波作用的 PID算法可分解成两部分:
①由 U(s)/D(s)描述,它实际上是一个 PI算法;
②由 D(s)/E(s)描述,它实际上是一个不完全微分算法。
不完全微分的 PID算法在计算机中实现时,需要将其离散化。经离散化后的 位置式 不完全微分 PID算法为:




)1()()1(1)1(
)(1)1(
)()1()()()()(
2
2
2
2
2
2
1
12
1
12
1
12121
ke
rT
T
ke
rT
T
kd
rT
rT
T
Kku
kd
T
Kku
kd
T
KkukdKkukuku

,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 76
若用 可得到 增量式 不完全微分 PID算法。)1()()( kukuku
不完全微分 PID算法和理想微分 PID算法二者的动态响应区别:
D
u(k)
k
u(k)
k
D
理想的 PID 不完全微分 PID
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 77
许多实际控制过程中,往往希望过程变量在偏离设定值不太大时,不要产生控制作用,以避免过程变量出现低幅高频率抖动。而只有当偏差值超过某个范围时再实施
PID控制作用。
为此,不少分散控制系统提供了带死区的 PID算法来实现这一功能。
该算法的控制框图如图 4— 23所示。
( 3)带死区的数字 PID算法
P(k)
e(k)
B B
e(k)
数字 PID 执行机构 对 象
u(k)
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 78
其中,死区的函数表示式为:

||)(,0
||)(),(
)(
Bke
Bkeke
kP
死区函数与 PID算法结合,可以得出带死区的 PID算法的计算流程。带死区的 PID算法在分散控制系统中是很容易实现的。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 79
第三节 操作员 /工程师站的软件
DCS提供的系统软件一般由实时多任务操作系统、
编程语言、应用服务(组态工具)软件等组成。本节将以实时多任务操作系统和编程语言为主,扼要介绍具有一定共性的概念。
一、实时多任务操作系统
(一)基本概念
1.操作系统操作系统是计算机的裸机与用户之间的界面;
是扩充裸机功能的一层高级软件;是用于计算机系统自身控制和管理的一组程序和数据的集合。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 80
操作系统的设计目的:提高计算机的工作效率、
扩大计算机的功能、方便用户的操作使用。最常见的通用操作系统有 DOS,UNIX,Windows等等。
操作系统的一般功能:
( 1)为用户提供了操作命令语言
( 2)为用户建立了虚拟计算机
( 3)实现系统资源的分配和管理
“系统资源”,是指计算机系统中所有可供使用的硬件和软件。
一个独立的用户程序或请求计算机执行的一项工作,称之为“作业”,各作业之间不存在必然的联系。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 81
由于操作系统允许多个用户作业同时进入计算机运行,这必然产生不同作业对系统资源的竞争。
操作系统将按各作业的重要程度,负责合理地分配资源,组织计算机的工作流程,使计算机在资源共享和充分发挥资源利用率的基础上,提高系统的可靠性、实时性和操作使用的便利性。
因此,操作系统可以看作是计算机的资源管理程序。根据系统资源的性质不同,一般操作系统可归纳为以下几种资源管理功能:
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 82
·处理器管理 —— 实现对 CPU的分配管理,分为作业和任务两级管理 。
·存 贮 管理 —— 实现对主存贮器的存贮空间分配,
存贮保护和存贮容量扩充 。
·设 备 管理 —— 实现对输入,输出设备的管理,解决对输入,输出设备的操作及设备共享的问题,提高设备使用率 。
·文 件 管理 —— 实现对外部存贮器的管理,解决大量信息在外部存贮中如何存贮,检索和共享的问题 。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 83
在火电厂生产过程的控制中,对各种变化迅速的参量和随机出现的现象,要求计算机在秒级,
毫秒级甚至更短的时间内及时进行处理并作出正确响应 。
2.实时操作系统满足生产过程高速响应要求的操作系统称为
“实时操作系统”。
与一般通用的操作系统相比,实时操作系统侧重于:
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 84
( 1) 将所有的用户控制程序视为一个作业,在实时操作系统中删减了作业管理部分 。
( 4)为提高系统处理实时信息的能力和速度,加强了作业内的 任务 管理功能。
( 3)为适应系统对外部设备的应用,加强了设备管理的功能。
( 2)针对实时性要求,加强了系统的中断和时钟管理功能。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 85
计算机控制系统中具有一系列完成各种控制功能的应用程序,为了便于计算机处理,通常把用户应用程序分成若干个逻辑上相互独立,运行中又相互联系,彼此约束,具有某特定功能,可独立运行的程序段 。
3.任务所谓“任务”(又称“进程”或“活动”),
就是这些具有独立处理功能的程序段与它所处理的数据在计算机中的一次执行过程。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 86
任务的实体是程序和数据的集合,同一程序对于不同数据集合的执行过程,可以构成不同的任务 。
任务与程序的区别与联系:
程序 —— 是许多指令的集合,它用以说明计算机系统应进行的操作,是一个静态的概念;
任务 —— 是计算机按程序处理数据的过程,是一个动态的概念;
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 87
对一个任务而言,在不同的时刻可以有许多不同的状态。而在某一时刻每一个任务只能处于某一种状态。任务的状态有:
( 1)就绪状态 。
( 2)运行状态
( 3)等待状态
( 4)挂起状态
( 5)等待挂起状态各状态间的相互关系,如图所示:
就绪等待 挂起等待挂起运行
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 88
设某一用户程序由三个逻辑上独立的程序段 A、
B,C组成,且每个程序分别在 a,b,c处需要进行输入输出处理 。
4.实时多任务操作系统称为“多任务系统”
若操作系统把用户程序当作一个任务来处理若操作系统把用户程序当作多个任务来处理
a a
b b
c c
A
B
C
称为“单任务系统”
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 89
支持多任务并行运行的操作系统称为,多任务操作系统”。
定义:
具有实时处理能力的多任务操作系统称为
“实时多任务操作系统”。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 90
实时多任务操作系统已在发电机组分散控制系统中得到普遍采用 。
实时多任务操作系统的主要作用:
( 1)及时响应生产现场的各种请求或有关参数的变化;
( 2)合理组织系统工作流程,及时分析和处理有关数据;
( 3)有效地管理计算机系统的全部资源,实现资源共享、
资源的合理调度与使用;
( 5)为用户操作计算机、编制和修改应用软件、维护系统等提供友好且有效的手段。
( 4)准确及时地控制生产设备或过程,及时把运行情况反映给值班人员或记录保存;
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 91
在操作系统中对每一个任务都建立了一个任务控制块 TCB( Task Control Block),用来记忆每个任务的状态 。
(二)任务管理
1.任务控制块
TCB是一张线性表,基本内容如图所示。
TCB
任务名 识别该任务时所用的编号当前状态 该任务当前所处的状态 (就绪、运行、等待、挂起等)
优先数 该任务使用系统资源时的优先等级占用资源 该任务执行时所占用的资源 (内存空间和缓冲区等)
现场信息 该任务释放 CPU 时的断点、程序状态字、累加器和寄存器中的内容通讯信息 该任务运行过程中与其它任务通讯时记录的有关信息
……
指针 用来形成 TCB 链表结构,便于对任务的管理。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 92
TCB是任务存在的唯一标志,每建立一个任务,
操作系统就为其建立一个 TCB。 相反,当撤销任务时就删除 TCB。
TCB与用户程序相应的程序段有着对应关系,
但存贮空间不在一起。
任务管理是根据 TCB中的信息而进行的。
当多个任务对系统资源同时提出需求时,会引起资源竞争,解决这种竞争的办法是:要求使用同一资源的任务根据某种规则排队,等待资源的分配 。
2.任务链(任务队列)
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 93
所谓“任务链”就是针对有同一资源需求的任务,按链式线性表的数据结构链接的一串 TCB。 如图所示:
在 TCB的指示器中,记录了任务队列中下一个任务的 TCB首地址。
用户状态表类似于 TCB,是用来管理任务的数据集合。它在相应的存贮单元内,集中记录了各状态(就绪、
运行 …… 等)队列中最高优先级任务的 TCB首地址。
操作系统根据用户状态表及任务链来管理调度处于各种状态的任务。
TCB1 TCB2 TCB3 -1
用户状态表 TCB1 TCB2 TCBn
……
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 94
3.任务调度任务调度主要是实现任务状态的转移,即把处于运行状态的任务转换到其它状态,把另一个任务由其它状态转换到运行状态。状态的转移:
一是由外部事件来激发,
二是通过一个调度程序来完成。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 95
任务调度应完成以下操作:
( 1)进行当前任务与其它任务的优先级比较;
( 5)执行新的任务。
( 4)恢复准备运行任务的现场信息;
( 3)按某一调度策略从就绪队列中选择一个任务准备投入运行;
( 2)保护当前运行任务的现场信息;
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 96
( 1) 顺序调度,
4.任务的调度策略是分配系统资源的策略,即是按一定的原则动态地把系统资源分配给任务,以满足不同任务对资源的需求。调度策略的优劣直接影响计算机的实时性和利用率。常用的任务调度策略有:
在就绪队列中采用先进先出队列,每当有任务从其它状态转为就绪状态时,该任务就排入就绪队列的尾部,若当前运行任务退出运行状态时,总是把就绪队列中的第一个任务投入运行状态。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 97
该策略将全部任务分为若干类别,每类为一个等级(例如,系统任务为第 1级,终端任务为第 2级,
用户计算与控制任务为第 3级)。按照级别高低顺序调度,只有当高一级没有就绪状态任务时,才选用低一级的任务。
( 2)分级调度,
特点:没有考虑各任务的实时性要求,难以确保工业控制的实时性。
特点:调度策略比较简单,对现场保护要求比较低,
不能保证实时性 。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 98
该策略是一种分时顺序调度方式。所有任务具有等同的优先级,任务在就绪队列中先进先出,
被执行的任务运行一个时间片(一定的时间间隔,
由系统实时时钟决定)后将被中断,把 CPU交给就绪队列中的下一个任务。如此周而复始。循环调度策略示意如图所示。
( 3)循环调度,
T2
运行任务 就绪任务 挂起任务
Ti
Tn
T1
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 99
特点,(1) 任务得到了平等对待,防止了某些任务长期占用 CPU的现象;
(2) 对每一个用户程序而言,好象独自运行在一台速度较慢的 CPU上,
(3) 实时性优于顺序调度,但不能保证对紧急随机事件进行及时处理 。
( 4)基于优先级的抢占式调度,
该策略是预先给每个任务分配一个优先级,调度时系统从就绪队列中选取优级最高的任务投入运行。该策略又分为两种形式:
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 100
即所有任务具有不同的优先级,操作系统只有一个就绪队列 。 最高优先级的任务只要在就绪状态下,它总是处在运行之中,只有当该任务进入挂起,等待状态或等待信息时,才停止运行 。
这时下一个优先级的任务才有机会运行 。 而当高优先级的任务一旦进入就绪状态,它将打断比它优先级低的任务的运行,强行进入运行状态 。
特点:可以保证最高优先级的任务首先得到执行。
①每一优先级只有一个任务。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 101
即不同任务可能有相同的优先级。根据优先级的高低建立多个就绪队列,同一优先级的任务在一个就绪队列中。
任务的调度原则是:先按优先级调度就绪队列,
再按,先进先出”顺序调度队列中任务。
当某一任务占有 CPU 运行时,只要有更高优先级的任务出现在就绪队列中,正在运行的任务将被赶出运行状态,由更高优先级的任务抢占 CPU。
被赶出的任务将列入同一优先级的就绪队列之首,
保证下一次能在该队列中优先被执行。
②每一优先级上有几个任务
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 102
特点:只要合理分配优先级,就能使紧急任务得到迅速处理,其它任务也可得到适当的运行机会。
这种策略还支持等优先任务的循环调度。
5.任务通信的概念所谓的,任务通信”,是指任务之间的信息交换。
为了完成一项工作,通常需要建立一组任务来共同实现,这些伙伴任务之间建立了一种直接关系,
表现出协调工作的特性。任务之间在执行速度上的协调配合特性,称之为“同步”。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 103
同步和互斥是任务之间进行通信的两种型式 。
实时多任务操作系统可以采用各种不同的方法
( 可参阅相关文献资料 ) 来实现任务之间可靠的通信 。
在多个任务同时存在时,由于任务多而资源少,就会出现资源的竞争问题。本来没有关系的任务,由于资源的相互竞争所产生的彼此制约关系,称之为“互斥”。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 104
(三)存贮管理计算机存贮器有:
一般是易失性存贮器(如半导体存贮器),可用来暂时存放数据,存贮速度快,但存贮容量较小,价格 /容量比较高,它是 CPU的直接操作空间;
外存是非易失性存贮器(如磁盘等),可永久性存放数据,
存贮容量大,其价格 /容量比较低,但存贮速度较慢,是 CPU
的后备存贮空间。
内存贮器
(简称内存)
外存贮器
(简称外存)
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 105
把内存和外存有机地结合起来,充分利用内存的高速性和外存的非易失性与经济性,构造满足多用户作业需要,使用方便,安全可靠的存贮空间,并为系统的各种程序和数据动态地分配这些存贮空间 。
存贮管理的目的:
存贮管理应具备的主要功能:
(1)内存分配,由于多个作业并行工作是同时存于内存的。
因此,必须合理地给每个作业分配它们所需的内存空间。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 106
(2)地址转换,由于在作业或任务中采用的是逻辑地址,而占用 CPU执行时又必须是物理地址。因此,
要求存贮管理把逻辑地址正确无误地转换成对应地物理地址。这称之为“再定位”。
(3)内存保护,必须保证每个作业只能在属于自己的内存空间中活动,各个作业的内存空间不能相互干扰。
(4)内存扩充,当多个作业同时占用内存时,实际的内存容量往往小于作业的需求量。因此,应充分利用外存,使之与内存密切配合,达到扩充内存的目的。这就是所谓的“虚拟存贮器”概念,即将小容量的内存空间扩展成大容量的虚拟内存空间。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 107
实现上述功能的方法较多,下面扼要介绍常见的两种:
当一个作业进入运行状态时,首先由存贮管理程序给它分配一个连续的内存区,并把该区的 开始地址 和 长度 登记在内存作业分配表中,如图所示:
1.界地址存贮管理作业名 开始地址 长度
A 1010H 0500H
B 2500H 0900H
…… …… ……
若选定作业 B的任务占用 CPU
执行,则将其开始地址 2500H和长度 0900H分别装入下界地址寄存器
W和长度寄存器 L。 执行作业 B的过程中,将根据其逻辑地址 D转换成实际物理地址 P。 如下图所示。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 108
·
·
作业 B逻辑空间
·
·
·
·
0000H
0312H
07FFH
2500H
2812H
2CFFH
D
2500H
W
L
0900H
P
P必须满足下列不等式:
)( WLPW
否则,将发生越界中断,并进行出错处理。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 109
界地址存贮管理,要求每个作业都具有一块连续的内存空间。而内存空间的分配可采用下述两种方式:
( 1)固定分块,即把内存分成若干固定块,每块中的字节数多少不等。每个作业按当前执行所需的内存空间分得一块或连续的几块。 —— 内存利用率较低。
( 2) 移动分块,采用移动作业分配区的方法,使内存中的多块空闲区集中成一块较大的空闲区,以分配给其它作业 。 如图所示:
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 110
移动前内存区 移动后内存区空闲区 作业 B
作业 B 作业 C
空闲区 作业 A
作业 C 作业 D
空闲区空闲区作业 A
作业 D
空闲区
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 111
2.页式存贮管理该方法的基本思想:把内存分成若干大小相等、
位置固定的块,每一块称为一页(物理页)。同样,
作业的逻辑地址也以相同的单元来分页(逻辑页)。
每页取 512或 1024个字节 (页面过大将降低内存利用率 )。每个逻辑地址可由“页号”和“页内单元号”组成。
当应用程序申请内存空间时,操作系统将把满足其要求的页面分配给它。页面与页面间可以是不连续的,即分配给某一任务的若干页面可分布在整个内存空间的各处。因此,对一个特定的任务,操作系统在内存中为每个页面提供了一个起始地址。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 112
为了把分配给作业的物理页与其逻辑页对应起来,存贮管理程序在内存中为每个作业建立了一张
“页映象表”。由于物理页与逻辑页的大小相同,
故二者页内单元号一一对应,只需进行页交换即可。
下图表示了页分配的过程。
CPU
逻辑地址 01 123 02 123
页号 页内单元号物理地址绝对地址
00页(首页)
……
01页
02页
·
·
·
内存各页起始地址
2000H
2400H
2800H
2923H
逻辑页号 物理页号
00 11
01 02
02 07
页映象表
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 113
程序执行过程中,操作系统根据逻辑地址的页号,在页映象表中查出对应的物理页的页号,再把查得的物理页号与逻辑页的页内单元号组合在一起,可得程序的实际物理地址,并由此可得:
内存的绝对地址 =物理地址 +页号?页内单元数
( 1) 页面分配算法得到了一定的简化;
( 2) 实际存贮区是由已知数量的页面组成,页面分配表的最大长度是固定的;
( 3) 内存分配是以页面为整体,减少了存贮残片 。
页式存贮管理的特点:
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 114
设备管理的对象:是计算机系统的外部设备 ( 磁盘,打印机,等 ) 。
设备管理的作用:是为用户使用外设提供一种简便,可靠的方法,用户只需给出使用命令,而无需提供使用设备的具体程序 。
设备管理的目的:是实现快速 CPU与慢速外部设备的并行工作,协调多用户的作业,提高设备的利用率 。
(四)设备管理
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 115
1.输入 /输出( I/O) 管理由于 CPU速度快,外设速度慢,为避免外设工作时 CPU处于等待状态而浪费时间 。 现代计算机系统采用了 通道 和 控制器 来管理外设 。
,通道,,是指输入 /输出设备和内存之间的双向数据通路 。 通道的结构方式有两种,如图所示 。
CPU
内存通道 1 控制器 设备 1
通道 2 控制器设备 2
设备 3
CPU
内存通道 1 控制器 设备 1
通道 2 控制器设备 2
设备 3
(a)单路方式 (b)多路方式
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 116
( 1) 根据 CPU的指令,统一对外部设备具体实施管理 。
当 CPU需要使用外设时,向通道发出启动设备的指令,
通道便能独立执行相应的通道程序,通过控制器去控制外设的操作,而无需 CPU干预;反之,利用中断请求,
通道能向 CPU报告外设,控制器及自身的当前状态 ( 如外设输入 /输出已完成 ),以便操作系统作相应的处理 。
( 2) 对输入 /输出的数据实施缓冲 。
收集整理输入数据,处理输出数据,减少外设与内存的数据交换次数 。
( 3) 通道与外设采用标准接口,便于外设互换,扩展和维护 。
( 4) 操作系统支持多个通道,一个通道可管理多台外设 。
通道对所管理的多台外设进行分时操作 。 为了便于系统的识别,每个通道赋予一个通道号,每台外设均有自己的设备名 。
通道的作用:
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 117
调用输入 /输出设备的命令包括:打开设备,
关闭设备,读数据,写数据,磁盘文件操作等功能 。
每条输入 /输出命令都必须指定设备所在的通道号、数据传送的方式(顺序传送、行式传送)。
为了实现系统对外设的管理,操作系统设置了一系列数据结构来管理设备的有关信息 。
以下图所示的简单操作系统设备管理的数据结构为例,说明设备管理的基本内容 。
2.设备管理
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 118
为每个通道开辟了一个具有指定通道号的信息存贮区,用来记录外设的打开和关闭状态。
· ·
B任务
·
控制表控制表
A任务通道号 1
通道号 2
通道号 n
首地址 ·
A设备
B设备控制表
3800H
·
控制表
2400H
首地址设备名称表通道表
3800H
-1
……
2400H
……
A设备名称
2400H
B设备名称
3800H
……
-1
( 1)通道表,
用来记录标准外设的名称和该设备的设备控制表的首地址。
( 2)设备名称表:
用来记录设备的特性、当前状态和有关处理程序的入口地址。
( 3)设备控制表:
将请求使用同一设备的任务,按请求的先后次序排队,
位于最前面的任务是正在使用设备的任务,该任务的任务控制块首地址存放在设备控制表中。
( 4)设备请求队列:
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 119
(四)文件管理
“文件” 是一组有意义的数据或字符序列的集合。
文件涉及的范围:源程序、目的程序、数据、用户作业、语言系统、操作系统的管理程序等。
“文件管理” 是指对文件的组织和使用。
负责文件管理以及文件存取的软件称为,文件系统”。 文件系统为用户提供了一种简便安全使用文件的方法。即:用户无需提供使用文件的具体程序,只需按文件名给出使用文件的命令就可实现其目的。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 120
( 1) 文件的组成 。 由标题和本体两部分组成 。 所包含的内容如下表所示:
1.文件的组织文件组成内容 含义及说明文件名 用户标识文件的名称,一般是以字母开头的若干个字符组成用户名 文件所有者的名字文件属性为了保护文件,规定了文件的特性 (如能读能写或只读不写)、文件的使用范围和保密码等;
文件标题管理信息 文件的长度 (或记录个数),建立文件的时间,文件的类型等文件文件本体 文件的实际内容。例如:源程序、目标程序和数据等
( 2)文件的结构 。 是指文件在存储器中的物理结构 。
按文件在存储器中的存放形式,可分成:
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 121
是指文件的信息存放在若干个不一定连续的物理区中,
每个物理区以链指针连接下一个物理区,从而形成链表结构,如图所示 。
文件名 首物理区
ABC 102
物理区
102
126
物理区
126
148
物理区
148
NIL
文件目录 逻辑区 0 逻辑区 1 逻辑区 2
A,串联文件结构
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 122
由 文件索引区 和 文件信息区 两部分组成 。 如图所示 。
B,索引文件结构文件信息区是由若干不一定连续的物理区组成,
该区的全部空间都用来存放文件信息。
文件索引区将文件的逻辑区顺序号按串联文件结构组成,
以表示各文件信息区之间的逻辑顺序关系。
102
126
:
:
指针物理区
102
154
168
182
:
:
物理区
168
文件索引区 文件信息区索引项 0
1
2
207
208
209
索引文件结构的优点是采用随机访问方式,可直接读写任意一个物理区的信息 。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 123
( 3)文件目录 。为了能便捷地查找和管理文件而建立的目录。是文件存在的标志。文件目录通常采用以下三种结构:
A,一级目录结构它是 全部 文件集合成 一张 文件目录表 。 结构如图所示 。
文件名 首物理区
ABC 102
物理区
102
126
物理区
126
148
物理区
148
NIL
文件目录 逻辑区 0 逻辑区 1 逻辑区 2
建立一个文件时,在目录表中增加一个目录块;
删除一个文件时,目录表中该文件的目录块随之删除;
访问一个文件时,先到目录表中找文件名,再按目录块的说明访问文件。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 124
查找文件过程,按用户名查找 MFD,再按文件名查找 UFD。
B,二级目录结构目录结构分为,1、主文件目录(简称 MFD),
2、用户文件目录(简称 UFD)。
二级目录结构如图所示:
二级目录的优点,各个用户之间不会引起混淆,安全可靠。
用户名 UFD首址
ABC
DEF
GHI
……
文件名 物理区
JKL
MNO
PQR
……
JKL的物理区主文件目录( MFD) 用户文件目录( UFD)
为每个用户分配一个登记项,每个登记项包括用户名和 UFD首地址。
为用户的每个文件保存一个登记项,填写文件名、文件属性、管理信息和文件的物理区号。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 125
多级目录结构是在二级目录的基础上发展形成的一种树状结构 。 适用于具有多个用户和多文件的系统,便于文件的分级管理 。 其结构如图所示 。
C,多级目录结构
ROOT( 根目录)
A B C
D E
a b c d e f g h i
目录
— 文件该结构按路径给出文件名。
如文件 e的路径为,ROOT\B\D\e。
文件管理程序按照路径名,从根目录( ROOT) 开始从上到下顺序查找文件。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 126
操作系统为用户提供了一系列使用文件的命令 。 例如,
文件的建立,打开,读,写,关闭和删除等 。 用户只需按命令的使用方法正确地给出命令,就能达到目的 。
2.文件的使用
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 127
二、编程语言(程序设计语言)
(一)面向机器的语言是为特定的计算机或某一类计算机专门设计的编程语言。它包括:
1.机器码 2.汇编语言
(二)面向问题的语言是一种专门为解决某一方面问题而设计的、
独立于计算机的程序语言。它比较接近人们习惯的语言与数学表达式。它包括:
1,FORTRAN语言 2,BASIC语言
3,PASCAL语言 4,C语言
5,PL/M语言等高级语言
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 128
(三)面向过程的语言(组态软件)
是面对生产过程控制的应用需求、可按人们常规思维和语言方式对控制过程进行直接描述的一种语言。
重要特点,对某些工程问题(如 PID控制算法)已进行规范化处理,编制过程控制软件时,不必涉及问题的解法和了解计算机内部工作原理,只需根据控制过程要求用简单的特殊的语句告诉计算机按一定步骤去,干什么,,无需说明,如何干,。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 129
第四节 典型系统的软件
DCS的硬件配置称为“硬件组态”;通过对有关信息的配置形成所需功能的应用软件称之为“软件组态”。实现软件组态的软件工具称为“组态软件”或“组态工具”。组态软件属于支持软件。
目前,不同厂家相继开发了与其 DCS配套的组态软件。
组态软件是一种面向过程的编程语言,它提供了友好的用户界面,使用户在不需要编写任何代码程序的情况下,可简单方便地生成自己所需的应用软件。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 130
本节以 INFI-90系统为例,简要介绍其配套软件。
一、工程师工作站( EWS) 的组态软件
INFI-90系统 EWS的组态软件,是一套安装在
EWS上、运行在 DOS操作系统环境下的“计算机辅助图形( Computer Aided Drawing) 设计软件包”,
简称,CAD软件包”。
该软件包是一个完整的对控制系统进行设计的交互式图形程序。它允许在线或离线对过程控制策略进行设计、组态、调整、修改、检查、监控及故障处理。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 131
这种基于图形设计的面向其模件级的组态方法,
在图形绘制过程结合了 CAD软件包菜单驱动功能,
使整个控制系统的组态生成过程遵循了正确、方便的原则。
其中,CAD软件是一种交互式图形程序,Text软件是一种菜单驱动式程序。 Text软件既可独立运行,也可以作为 CAD软件中的一部分。
计算机辅助图形( CAD) 软件文本( Text) 软件
EWS的 CAD软件包由两部分组成。 即:
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 132
EWS的组态软件功能
1,CAD软件的功能
( 1) 对现场控制单元的模件进行工作组态,绘制模件和端子的布置图;
( 2) 生成和编辑模件组态图,标准地址,参数表等;
( 3) 绘制出组态的图纸,并进行存档拷贝;
( 4) 编译和生成几种信息列表的硬拷贝;
( 5) 生成常用图形和逻辑符号库;
( 6) 对过程控制逻辑进行监测,查错和趋势记录;
( 7) 下装组态文件到指定模件;
( 8) 进行在线校验,调整和监视 。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 133
2,Text软件的功能
( 1) 提供系统诊断和查错提示;
( 2) 将完成的控制组态下装到模件中;
( 3) 检查,校验所进行的组态;
( 4) 将磁盘或模件中的组态数据送到 CRT或打印机上;
( 5) 调整控制参数;
( 6) 监视一个或一组输入 /输出点;
( 7) 控制模件的方式,以便在线装入控制逻辑;
( 8) 模件初始化,消除错误条件及执行组态 。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 134
CAD软件包运行时主菜单提示的各选项及功能如下表所示:
选 项 名 称 功 能
A 工作标题定义
B 模件标题定义
C 组态图绘制
D 组态图编译
E 交互引用
F 模件连接离线组态图设计、绘制、编译,模件连接等功能
G 文本 在线下装组态 \ 校验 \ 参数调整 \ 监视等功能
H 应用程序 压缩库 \ 查询空块号 \ 打印 \ 绘图等功能
CAD的各功能选项的具体内容参见教材。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 135
INFI-90系统提供了一套实用的记录数据库图形软件包 ( Software Logging Database Graphics,
简称 SLDG),作为本系统操作员接口站 ( OIS),
过程控制观察站 ( PCV) 和命令管理系统 ( MCS)
的一种离线组态工具 。
二、操作员接口站( OIS) 的组态软件
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 136
SLDG主菜单上反映出所具备的各类可选功能,如下表所示:
选 项 名 称 功 能
A 系统组态 确定系统 OIS 的硬件、软件配置。
B 标签 / 趋势清单组态创建和编辑标签、趋势、报警内容、工程单位描述、逻辑状态描述、报告点清单。
C 显示画面生成 生成用来绘制和修改 OIS 的显示画面和符号。
D 显示画面 / 符号转换 把显示画面文件转换成 OIS 使用的,D T 文件。
E 自动显示和弹出 用来设计自动显示画面和弹出窗口。
F 显示处理工具 对一个或多个 OIS 显示画面进行全局修改。
G 建立用户记录 为 OIS 创建用户报表 (趋势、跳闸、快照)。
H OIS 键盘组态 定义指示面板 ( ADP )键、功能键、报警声调和报警继电器。
I 传送 OIS 组态 实现组态到软盘或从软盘取得组态的传送。
J 向 OIS 广播画面 由 EWS 通过网络向 O I S 发送画面和符号。
K EWS 组态 改变屏幕显示色彩、设置 / 取消大部分功能的声音。
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 137
三,INFI-90系统的其它软件
(一)梯形逻辑组态应用软件包
( Ladder Logic Configuration Utilities简称 LLCU)
(二)相关数据库系统软件包
( Relational Database System Software简称 RDSS)
(三) C语言编程软件包
( C Computer Utility Software )
(四)智能变送器组态软件包
( Smartpopt Software)
(五)批处理组态软件包
( Batch Configuration Language Software
简称 BATCH 90)
,计算机分散控制系统》
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2009-7-28 138
(六)专家系统软件包
( Expert System Software 简称 EXPERT 90)
(七)环路调整系统软件包
( Loop Tuning System Software简称 LTS)
(八)数据单软件包
(九)过程控制观察软件包
( Process Control View Software简称 PCV)
( User Defined Function Software简称 UDF)
( Data Sheet)
(十)用户定义功能软件包