,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 1
分散控制系统的软件
第四章
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 2
300MW火力发电机组采用的 DCS,是由彼此
独立的工作站点(现场控制单元、操作员接口站、
工程师工作站等)和数据通讯网络组成的。其控
制功能是在组成系统的硬件基础上,由软件予以
实现的。
因此,分散控制系统的功能和实现这些功能
的软件,也分散在各个工作站点上,分散在各工
作站点上的软件由通讯软件彼此相连,组成完整
的控制软件系统。
第一节 概述
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 3
图 4-1为分散控制系统的软件示意图。
应用软件
语言及工具
操作系统
有关硬件 通讯软件
工程师工作站
应用软件
操作系统
有关硬件 通讯软件
应用软件
操作系统
有关硬件 通讯软件
……
……
通讯网络
其它站点
一、分散控制系统的软件分类
(一) 按软件的设计目的分类,有,
系统软件,支持软件,应用软件
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 4
与应用对象无关的、面向计算机的专门用来
使用和管理计算机的、具有通用性的计算机程序。
它一般包括管理计算机资源的实时多任务操
作系统、数据库管理系统 ﹑ 网络管理系统、引导
程序、调度执行程序、监控程序等。
—— 运行和管理计算机系统的基本 程序 。
1、系统软件
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 5
2、支持软件
—— 是基于系统软件之上,用于开发应用软件的
服务性程序。
它包括程序编制语言(汇编语言 ﹑ 高级语言、
面向过程语言) ﹑ 编译程序、编辑程序、调试程
序、诊断程序、维护程序等。
面向应用服务和应用软件设计的工具性的计
算机程序。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 6
3、应用软件
—— 是根据用户所要解决的生产和管理实际问题,
借助支持软件而编制的具有一定针对性的计算机
程序。
这些程序决定了信息在计算机内的处理方式
和算法。 一般包括:过程输入程序 ﹑ 数据处理程
序 ﹑ 过程控制程序 ﹑ 过程输出程序 ﹑ 人机接口程
序 ﹑ 显示程序 ﹑ 报警程序 ﹑ 打印程序、自检程序
以及各种公用子程序等,其质量的优劣直接影响
控制系统的运行效果。
面向生产过程的应用性的计算机程序。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 7
(二)按软件对应的硬件分类,有,
1.现场控制软件
现场控制软件通常采用高级语言编制程序或
梯形逻辑语言( Ladder Logic programming),选
择功能码( Selected Function Code),功能顺序表
( Function Sequence Table) 等支持软件予以编制。
现场控制软件、工作站软件、网络通讯软件
—— 置于 现场控制单元之中,用于实现现场数据
采集、数据处理、控制运算、控制输出、实时数
据库等功能的应用软件。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 8
2.工作站软件
( 1)实时多任务操作系统;
( 2)各种高级语言软件(如,BASIC,Fortran,Pascal,C
语言等);
( 3)系统组态软件
( 4)系统通用软件(如编辑程序、连接装配程序、运行程
序);
( 5)历史数据存储、过程画面显示和管理、报警信息管理、
生产记录报表管理和打印、参数列表显示、人机接口
控制、实时数据处理等软件;
( 6)诊断软件、等等;
—— 置于 工作站之中,用于系统管理、系统功能
开发、控制系统组态、系统运行与维护的各类软
件。如,
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 9
它包括计算机的通讯接口, 控制设备的通讯接
口, 网络匹配器, 通讯线路等网络软件 。
3.网络通讯软件
二、软件的设计方法
常见的软件设计方法有三种,
(一)模块设计方法
在进行软件设计时,通常把总体任务划分成若
干部分,每一部分具有一定的功能、对应一段程
序,这个功能明确而能独立运行的程序段称为一
个“模块”。单独建立模块,并通过适当的接口
和组织把相关模块连成一个整体的程度设计方法,
称之为模块程序设计法。其 优点 为,
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 10
( 1)各模块可进行并行设计。
( 2)模块程序编制、调试、检查修改容易。
( 3)模块可以共享。
模块的划分遵循下列原则,
? 每个模块的程序不宜太长或太短, 通常一
个模块的程序在 50行左右 。
? 各模块间在逻辑上互相独立且界限分明 。
? 多种判断逻辑尽量在一个模块内实现 。
? 常用的程序模块均可采用成熟的标准程序 。
? 对于相当简单的任务不必要求模块化 。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 11
是以各程序模块为基础, 根据总体任务的要求,
把不同功能的模块分为若干层, 层次之间只能是单
向依赖 。 整个软件的正确性由各层的正确性来保证,
一般的计算机仅提供带单用户单任务操作系统
( DOS), 它是不能满足生产过程的多任务实时性
要求的 。 通常以这个操作系统为基础层, 采用分层
设计方法把它扩展成为多任务的实时性操作系统,
再辅以应用程序, 从而构成一个完整的过程监控的
应用程序包 。
图 4— 3示出了这种分层设计的结构 。
(二)分层设计法
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 12
DOS
实时操作系统
应用程序包
计算机
由里向外 —— 从 DOS开始, 层层扩展
功能, 最终形成一完
整的功能程序包 。
由外及里 —— 从最外层的目标层考虑
向里推进到计算机的
DOS基础层, 通过中间
层形成一个有机的整体 。
在分层设计时一般有两种方法,
实际的过程监控应用软件如何分层,各层功
能如何安排,要视具体情况而定。但应以保证系
统的可靠性和提高己有资源的利用率为原则。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 13
(三)结构化程序设计
是一种采用规定的结构类型和操作顺序的程序
设计方法。该方法给程序设计施加了一定的约束。
在结构化程序设计中,常用的逻辑控制结构有:
顺序结构, 条件选择结构 和 循环结构 三种。如图
4— 4所示。
过程 P2
( a) 顺序
P1
条件
P2
Y N
( b) 条件选择
条件
P2 P
1
N Y
( c) 循环
过程 P1
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 14
以上三种结构是最基本的控制结构, 是任何执
行流程程序的基本单元 。 利用这三种结构就可以
组成任意复杂的程序 。
结构化程序设计的特点是:能编写出操作顺序
清晰, 便于查找和纠正错误的程序 。 所以结构化
程序是一种较好的程序设计思想 。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 15
第二节 现场控制单元软件系统
以微处理器为基础的现场控制单元,一般具
有现场各种测点的数据采集和处理、控制运算、
控制输出以及网络通讯等功能,这些功能的实现
必须依靠一套完整的与之适应的软件系统予以支
持。
一、现场控制单元的软件结构
多数现场控制单元的软件采用模块化结构设
计,如图 4— 5所示,
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 16
数据采集
和处理
控制
算法库
控制
应用软件
控制
输出
网络
通讯
执行代码
部分
实 时 数 据 库 数据部分
现场控制单元的软件一般是由 执行代码 部分和
数据 部分两部分组成,其中,
1、执行代码部分,
它包括数据采集和处理、控制算法库、控制应
用软件、控制输出和网络通讯等模块,它们一般
固化在 EPROM之中。执行代码又可分为,
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 17
周期执行代码 —— 完成的是周期性的功能。
例如,周期性的数据采集、转换处理、越限检查、
控制运算、网络数据通讯、系统状态检测等。
周期性执行过程一般是由硬件时钟定时激活 。
随机执行代码 —— 完成的是实时处理功能。
例如:文件顺序信号处理;实时网络数据的接收;
系统故障信号处理 (如电源掉电 )等,这类信
号发生的时间不定,若一旦发生就应及时处
理。 随机执行过程一般是由硬件中断激活 。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 18
现场控制单元软件系统的数据部分是指实时
数据库,它通常保留在 RAM存储器之中,系统复位
或开机时这些数据的初始值从网络上装入,运行
时由实时数据刷新。
2、数据部分,
典型的现场控制单元周期性软件的执行过程
如图 4-6所示,
二、周期性软件的执行过程
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 19
开始
采集现场各测点的参数
数据转换、报警检查
刷新实时数据库
控制算法运算和控制输出
(包括模拟控制、顺序控制)
在线诊断
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 20
1,应具有高可靠性和实时性
2,应具有较强的自治性
3,应具有通用性
三、现场控制单元软件的基本要求
四、数据结构和实时数据库的一般概念
数据 是描述客观事物的数和字符 。 计算机中的数据
是计算机所能识别的代码, 并可供计算机程序处理的符
号的集合 。
为了便于数据的查找和修改, 计算机必须按照一定
的规则来组织数据使之彼此相关, 这种数据彼此之间存
在的逻辑关系称之为 数据结构 。
1.数据结构的概念
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 21
常用的数据结构有,
树形结构
链形结构
队列
堆栈 动态顺序结构
数组
线性表
静态顺序结构
顺序结构
双重链表
循环链表
单链表
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 22
( 1) 相关性
( 2) 组织性
( 3) 共享性
( 4) 独立性
( 5) 安全性
( 6) 保密性
( 7) 统一性
( 8) 可维护性
2.实时数据库的概念
地说数据结构与相关数据信息的集合,称之为
,数据库,;若数据库中的数据信息为实时数据信
息,则该数据库称之为,实时数据库,。
数据库的重要特征,
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 23
在运行过程中, 实时数据库的数据在不断地刷
新, 其内容直接反映了系统当前的运行状况 。
可以说, 实时数据库相当于一个运载工具, 它
将与之相关的各软件模块的信息按需求进行相互传
递,
也可以说, 实时数据库是一个信息仓库, 从不
同渠道来的数据, 都存放在实时数据库中, 当任一
相关软件模块需要数据时, 可直接从实时数据库中
去获取, 而不必到硬件上去提取 。 即使有多个软件
模块需要同一个数据, 也可直接从实时数据库中拷
来即用 。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 24
五、现场控制单元实时数据库的数据结构
一般来说,通用系统的实时数据库应包括系统
中采集点、控制算法结构、计算中间变量点、输出
控制点等各种处理点的有关信息,即,
点索引号,
点字符名称(仪表号),
说明信息,
报警管理信息,
显示用信息,
转换用信息,
计算用信息等。
构成一条“点记录”。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 25
由于系统中的点所对应的信息及长度是不同 。
为了节省内存, 通常在实时数据库中定义几种不同
的数据结构 。
以典型的现场控制单元为例,定义数据结构有,
( 1)模拟量输入和输出数据结构( AN结构 );
( 2)开关量输入和输出数据结构( DG结构 );
( 3)计算量 (模拟计算量 )数据结构( AC结构 );
( 4)开关量点组合结构( GP结构 )。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 26
则现场控制单元的实时数据库可设计成图 4-8
所示的结构,
用来存储数据库位置
和极限信息,如四种
数据区的起始地址和
各种点的最大点数目。
索引指针区
AN数据区
DG数据区
AC数据区
GP数据区
数据结构的定义不能过于琐碎,否则会增加访问
的难度和时间。
注意,
以下分别介绍各数据区的数据结构,
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 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
2013-3-2 28
在系统中为每一点设立一个索引号, 每类点记录的索引
号按顺序排列, 根据点索引号可以快速准确地查找 ( 计算 )
某一点在数据库中的确切位置 。
例如, 一个系统的所有点的索引号 ( 16位二进制数 ) 可
定义为图 4— 9所示方式,
1,ID(点索引号 )
1
5
1
4
1
3 0
…………
?
信号
类型 序号
(每类点最大可以有 16383 个) 00 表示 AN
01 表示 AC
10 表示 DG
11 组合 GP
13 14 15
如果整个分散控制系统采用一种
统一的数据记录排号,则在 ID中还可
以指定几位用来确定站号索引。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 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
2013-3-2 30
AV 是模拟量点的实际数据, 对于输出来说, 它表示
的是由操作员输入或由计算公式算出来的输出值 。 它一
般可用单精度的浮点数表示, 其 IEEE标准格式定义如图
所示,
3,AV(模拟量点值 )
31 30 23 22 21 2 1 0
(共 8 位)
表示指数与
0FFH 的和
(共 23 位)
表示尾数的大小
表示数的正负
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 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
2013-3-2 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
2013-3-2 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
2013-3-2 34
10,IV(初始值 )
存放用户在初始化数据库时输入的一个浮点数值。它
代表该点在采样之前的一个值。
11,PV(前周期的值 )
“输入巡检模块” 在执行过程中,每个采样周期对点
状态字 AS,模拟量值 AV进行刷新。在每次刷新之前,
先把 AV的值放在 PV中,该值可以用来计算该点的变化
率。
12,AP(报警等级 )
此字节的值用来表示该点的越限报警的重要程度。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 35
13,AMM/AD/AH/AM/TS(报警时间 )
这五项的字节是用来记录该点越限时的时间 。
14,HL/LL( 报警上 /下限 )
这两项 ( 各 4个字节 ) 分别用来存放该点的报警 上,
下限的值 。
15,IL( 报警增量 )
用来存放两级报警值之间的增量值 。 标明该点越过一
级报警极限之后, 再超越该增量值就达到第二级报警 。
16,DB( 报警死区 )
用来存放反映该点报警 死区大小的值 。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 36
17,HS/LS( 传感器上 /下限)
这两项(各 4个字节)分别用来存放该点 传感器 的 上、
下限的值。它可用来判别通道的故障。
18,IP( 输入二进制码)
存放 A/D转换器直接输入的二进制码。也用来表示输
出时要送往 D/A转换器的值。
19,HA( 通道地址)
存放该点的模拟量输入(或输出)所对应的硬件板上
地址。
20,SG( 信号转换等级)
用来表示该点输入(或输出)信号的类型等级。如可
定义若干种类型等级表示某系统所有不同的信号,如
表所示。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 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
2013-3-2 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
2013-3-2 39
22,CJ( 冷端索引号)
在一个系统中, 若存在多个热电偶信号冷端, 则要增
加多个冷端检测传感器 。 所以此处用 CJ来 表示该点热电偶
信号的冷端索引号 。
在 DCS中, 有许多计算量和设定量, 对于这类
数据也可定义某种数据结构 。
(二)计算量和设定量的数据结构
如下表所示,
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 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
2013-3-2 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
2013-3-2 42
表中的内容有些与模拟量的数据结构中相似
(如 ID,RT,SC,PN,CN,AP,AMM,AD,AH,AM,
TS和 HA等)。但有些项是有区别的,此处予以说明,
开关量不存在浮点数的值, 其开关状态存放在 DS中的 。
下图是 DS的定义,
1,开关量的 点状态字( DS)
保留
脱离报警检查
报警已确认
脱离采样
处于报警状态
前周期开关量的值
当前开关量状态
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 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
2013-3-2 44
3.置 0说明和置 1说明
用来表示所描述的该开关量在置 0或置 1时代表的意义。
用作显示信息。
4,MS SOE时间( Sequence of Event)
用来记录该点发生跳变时间的毫秒值。以处理快速事件。
5,BP( 位号)
在开关量的输入和输出中,由于计算机硬件的限制,往
往一次输入(或输出)一个字(或一个字节)。硬件通
道地址往往只给出这一组( 8位或 16位)的起始地址,而
每一个开关量只是这一组中的一位。因此 BP被用来表示
该点在这一组中所处的位号。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 45
开关量信号大概分为三类, 即,
开关输入量 ( ST=10H)
开关输出量 ( ST=11H)
SOE量 ( ST=12H)
6,ST( 信号类型)
以上为几种常用信号的数据结构。在实际工
业控制应用中往往还会遇到许多别的信号,例如
脉冲累积量,算法记录等。参照上述方法,软件
设计者可以自行定义任务和所需要的数据结构。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 46
六、输入、输出软件
通用的现场控制单元中,一般固化有,
开关量输入( DIN)
开关量输出( DOUT)
模拟量输入处理( AIN)
模拟量输出处理( AOUT)
脉冲量输入处理( PIN)
脉宽调制输出处理( PWM)
中断处理
等数据处理模块。此处主要讨论使用率最高的
开关量、模拟量的输入和输出处理模块。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 47
(一)开关量的输入
开关量只有“开”和“关”两种状态,因此,
可以用数据的某一位予以描述,该位为,0”表示
“关”,为,1”表示“开”,按数据结构所设定的
周期,由硬件时针定时激活。
现场控制单元开关量的输入一般是分组进行的,
即一次输入操作可以获得 8个或 16个开关量的状态,
然后将各开关量的状态分别写入到实时数据库所对
应的数据位上。
多数开关量输入须进行报警检测。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 48
经运算, 处理所得的开关输出量存放在实时数
据库内, 输出软件直接从实时数据库相应位置取出
待输出的开关量值, 并与其它各输出位一道通过现
场控制单元的接口输出 。
(二)开关量的输出
(三)模拟量输入处理
模拟量输入信号的采集和处理过程为:选择输入
通道 → 启动 A/D转换、延时 → 读入 A/D转换的结果
→ 进行数据处理(如尖峰信号的抑制,数字滤波,
工程单位值的转换,报警检查,仪表测量报警检测,
写回数据库等)。以下就软件的有关处理功能予以
讨论。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 49
1.尖峰信号的抑制
在某些干扰作用(如电磁场、电源故障、仪表
或电缆故障等)下,都可能在信号传输线上产生尖
峰信号。如图 4— 16所示。
H ( 信号幅值)
t( 时间)
在任一时刻, 同时保留上一个周期
的采样值和信号允许变化范围值 。 若
当前周期采样值超出上个周期的允许
变化范围, 则取消本次采样, 延时一
段时间后再对该通道的进行采样比较 。
如果一个或几个毫秒之后, 该值恢复
到正常范围, 则认为有效输入值 。 若
通过几次采集输入之后, 输入仍不正
常, 说明传感器或输入通道出现了故
障, 应当报警 。
抑制方法,
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 50
2.数字滤波
各种电气干扰或设备不稳,会引入一些微小波
动的信号。对此,除在硬件线路中都采取滤波措施,
通常在软件中也采取一些软件滤波技术。
( 1)运行平均 。运行平均就是采用本周期的实
际采样值和前几个周期的平均值进行算术平均得到
的值作为本次输入。用公式表示为,
nxyyyy knkkkk /)( 121 ????? ???? ?
其中,xk为本周期采样值; yk为本周期平均值; yk-1,…,
yk-n+1分别为前几个周期的平均值;
n的取值范围为 2~ 5。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 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
2013-3-2 52
3.输入转换
A/D转换输入的是电压信号。在控制过程中
需要将电压信号转换成与工程单位所对应的物理
量。根据不同的信号类型,现场控制单元一般支
持下列几种信号转换类型,
( 1)线性变换 。主要应用于各种线性变送器的
采集信号,如压力、液位、半导体温度传感器等
信号。参见公式( 4— 2)。
BSVCTCAV ???
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 53
( 2) 流量信号的采集转换 。 测量流量方法有较
多,这里主要介绍差压流量计的测量和转换 。
对于不可压缩流体, 可通过节流装置的前后的差
压 ?P,计算流经管道的体积流量 Q,即,
PKQ ???
对于可压缩流体 ( 气体 ), 其质量流量还与气
体的温度和压力有关 。 为了补偿压力和温度变化所
带来的误差, 可以用下式来计算其质量流量 G,
式中,K为一个比例系数
体积流量乘以密度系数可以得出质量流量。
T
PPKG ????
式中,P为绝对压力,
T为绝对温度。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 54
① 直接查表法,是即将热电偶的分度表 ( 温
度 — 电势之间不同点的对应关系 ) 存入计算机内,
当计算机从热电偶每采集一个电势值后, 计算机
将据此逐点或采用对数分割的方法在分度表内进
行查询, 得出一个近似的温度值 。 此法的精度较
高 ( 误差不超过一度 ), 却很费时 。
( 3)热电偶插值运算 。热电偶是一种广泛应用的
测温元件,但在应用中,热电偶的插值运算是件很
麻烦的工作,其主要原因是热电偶的温度 — 电势之
间的关系呈非线性。因此,通常要采取适当的技术
措施来获取精确的温度值。常见的方法有以下几种,
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 55
② 硬件校正法,是采用适当电子线路将热电偶的
输入 /输出的非线性关系线性化。此法占用机时少,
但电子线路较为复杂,成本较高,精度也低,而
且对于不同的热电偶其通用性差。
③软件计算法, 是目前应用较多的一种方法,即
将热电偶的输入 /输出关系用某种近似手段(逐段
线性化、最小二乘法回归等)表达为数学方程,
计算机依据采集到电势值和数学方程的计算软件
求出对应的温度值。此法的精度决定于所采用的
近似手段。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 56
目前, 工业控制输出信号等级一般为 4~ 20mA
的电流信号或 1~ 5V的电压信号 。 现场控制单元采
用的模拟量输出处理模块多为线性模块, 即输出
信号的值与计算机发送的值是呈线性关系的 。
模拟量输出处理过程实际上是输入线性转换的
逆运算过程 。
(四)模拟量的输出处理
例如,
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 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
2013-3-2 58
七、过程控制软件
(一)过程控制软件的组成
现场控制单元一般装有一套功能较为完善的
控制算法 库,其中的各种控制算法以 模块形式 提
供给用户。
在有些分散控制系统中(如 INFI-90) 将控
制模块按某一顺序编码,这种编码称为, 功能
码,,在应用中可用不同的功能码代表不同的控
制模块。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 59
分散控制系统的控制功能, 一般是由相应地
组态工具软件 ( 参见本章第四节内容 ) 生成 。 即
用户根据生产过程控制的要求, 利用控制算法库
所提供的控制模块, 在工程师工作站用组态软件
对若干控制模块进行有机结合, 生成自己所需的
控制规律, 然后下装到现场控制单元, 作为过程
控制的应用软件 。
不同厂家的 DCS,控制算法模块除在模块数目、
模块表达形式等方面有所差异外,其基本内容大
致相同。下面以 INFI— 90系统为例,对 DCS的过程
控制软件作进一步说明。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 60
INFI— 90系统的过程控制软件, 是专门为过
程控制而设计的一套特定的控制算法模块化软件
结构 —— 功能码 ( Function Code 简称 FC) 。
在功能码内, 存放有功能算法和有关参数,
是系统完成过程控制的灵魂 。
(二) INFI— 90系统的过程控制软件
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 61
功能码固化在现场控制单元 MFP的 EPROM中,每
个功能码都标注有自己的号码,这些号码实际上是
它们在 EPROM中的地址。可以说,每一个功能码都
是一种标准的子程序,都可实现某一特定的控制功
能。
为了在 MFP中建立起用户所需的控制策略,系
统在 RAM中准备了足够的空间来存放用户的控制组
态,这种为组态准备的存储空间称为 功能块
( Function Block简称 FB)。 各功能块分别标有
号码,称之为, 块号, —— 执行功能块的顺序号。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 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
2013-3-2 63
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 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
2013-3-2 65
利用功能码,软件工程师可根据工艺过程要求
所提供的逻辑关系进行组态,生成各种应用功能的
控制规律。
MFP的组态可利用下列工具及其组态软件来实现,
?组态调整终端( CTT)
?工程师工作站
?操作员接口站 本章后续内容介绍
—— 是一种专用的便携式
组态工具。可直接与现场
控制单元连接与通讯,进
行现场组态。如图所示。
MFP
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 66
这里仅就使用工程师工作站对现场控制单元进行组态的
基本步骤作以下说明,
?启动工程师工作站, 进入系统组态 CAD方式, 调出图框;
?通过键盘输入功能码号, 选用所需的功能码, 并使功能
码放在屏幕上适当的位置;
?使用光标在功能码之间连线, 构成相应的逻辑关系;
?根据功能码的要求赋予块地址 ( 最初的输入端地址应最
小, 而输出端应为较大的地址号, 以保证组态的合理
性 ) ;
?准确填写功能码的参数表, 使其具有实际的能力;
?进行自动交叉引用, 把组态图之间有机的连接起来, 形
成完整的系统控制逻辑;
?对组态进行编辑, 使之在形成图纸的同时生成 MFP能读
懂的程序;
?通过通讯网络将组态下装到 MFP中 。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 67
完成上述工作后,一旦系统投运,组态即将运行。也
可根据需要在线修改组态。
下图给出了一个具有手动 /自动功能的单回路 PID控制逻辑的组态实例。
INFI-90系统共有 11个大
类,200余种功能码,可
参阅厂家提供的《功能
码快速参考指南》。
函数发生器 PID控制器
手动 /自动控制站
控制接口从模件
例外报告
模拟量趋势
共采用了 6个功能码
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 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
2013-3-2 69
比例作用可对偏差及时作出反应,及时产生控制作用,
但会存在静差;
积分作用用来消除静差,但会导致系统稳定性下降;
微分作用用来减小超调量,使系统快速趋向稳定,改
善系统的动态特性。
2.数字式的 PID算法
在计算机控制系统中,需将连续 PID转换为数字式 PID
算法。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 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
2013-3-2 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
2013-3-2 72
上述数字 PID算法在实际应用中,针对不同的应用对
象有时会体现出这样或那样的不足。因此,往往需结合工
程实际对数字 PID算法作适当的改进。下面介绍几种常见
的数字 PID改进算法。
3.数字 PID算法的改进
积分作用主要是用来消除稳态误差,但会导致系统的
稳定性下降,超调量增大,当输入偏差变化较大时,这种
影响更为明显。其主要原因是在动态过程的初始阶段,积
分作用有一定的负面影响。因此,很多应用场合在 PID算法
中加入一个“控制开关”,控制积分作用的投 /切,实现积
分分离算法,改善控制特性。
( 1)积分分离 PID算法
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 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
2013-3-2 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)
1122 ??srTsT
sT
K
1
1
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 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
2013-3-2 76
若用 可得到 增量式 不完全微分 PID算法。 )1()()( ???? kukuku
不完全微分 PID算法和理想微分 PID算法二者的动态响应区别,
D
u(k)
k
u(k)
k
D
理想的 PID 不完全微分 PID
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 77
许多实际控制过程中,往往希望过程变量在偏离设定
值不太大时,不要产生控制作用,以避免过程变量出现低
幅高频率抖动。而只有当偏差值超过某个范围时再实施
PID控制作用。
为此,不少分散控制系统提供了带死区的 PID算法来实
现这一功能。
该算法的控制框图如图 4— 23所示。
( 3)带死区的数字 PID算法
P(k)
e(k)
B B
e(k)
? 数字 PID 执行机构 对 象
?
?
u(k)
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 78
其中,死区的函数表示式为,
??
?
?
?
?
?
?
||)(,0
||)(),(
)(
Bke
Bkeke
kP
死区函数与 PID算法结合,可以得出带死区的 PID算法
的计算流程。带死区的 PID算法在分散控制系统中是很容
易实现的。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 79
第三节 操作员 /工程师站的软件
DCS提供的系统软件一般由实时多任务操作系统、
编程语言、应用服务(组态工具)软件等组成。本
节将以实时多任务操作系统和编程语言为主,扼要
介绍具有一定共性的概念。
一、实时多任务操作系统
(一)基本概念
1.操作系统
操作系统是计算机的裸机与用户之间的界面;
是扩充裸机功能的一层高级软件;是用于计算机系
统自身控制和管理的一组程序和数据的集合。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 80
操作系统的设计目的:提高计算机的工作效率、
扩大计算机的功能、方便用户的操作使用。最常见的
通用操作系统有 DOS,UNIX,Windows等等。
操作系统的一般功能,
( 1)为用户提供了操作命令语言
( 2)为用户建立了虚拟计算机
( 3)实现系统资源的分配和管理
“系统资源”,是指计算机系统中所有可供使用的硬件和软件。
一个独立的用户程序或请求计算机执行的一项工作,称
之为“作业”,各作业之间不存在必然的联系。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 81
由于操作系统允许多个用户作业同时进入计算
机运行,这必然产生不同作业对系统资源的竞争。
操作系统将按各作业的重要程度,负责合理地
分配资源,组织计算机的工作流程,使计算机在资
源共享和充分发挥资源利用率的基础上,提高系统
的可靠性、实时性和操作使用的便利性。
因此,操作系统可以看作是计算机的资源管理
程序。根据系统资源的性质不同,一般操作系统可
归纳为以下几种资源管理功能,
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 82
·处理器管理 —— 实现对 CPU的分配管理, 分为作业
和任务两级管理 。
·存 贮 管理 —— 实现对主存贮器的存贮空间分配,
存贮保护和存贮容量扩充 。
·设 备 管理 —— 实现对输入, 输出设备的管理, 解
决对输入, 输出设备的操作及设备
共享的问题, 提高设备使用率 。
·文 件 管理 —— 实现对外部存贮器的管理, 解决大
量信息在外部存贮中如何存贮, 检
索和共享的问题 。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 83
在火电厂生产过程的控制中, 对各种变化迅速
的参量和随机出现的现象, 要求计算机在秒级,
毫秒级甚至更短的时间内及时进行处理并作出正
确响应 。
2.实时操作系统
满足生产过程高速响应要求的操作系统称为
“实时操作系统”。
与一般通用的操作系统相比,实时操作系统侧
重于,
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 84
( 1) 将所有的用户控制程序视为一个作业, 在实
时操作系统中删减了作业管理部分 。
( 4)为提高系统处理实时信息的能力和速度,加强
了作业内的 任务 管理功能。
( 3)为适应系统对外部设备的应用,加强了设备管
理的功能。
( 2)针对实时性要求,加强了系统的中断和时钟管
理功能。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 85
计算机控制系统中具有一系列完成各种控制功
能的应用程序, 为了便于计算机处理, 通常把用
户应用程序分成若干个逻辑上相互独立, 运行中
又相互联系, 彼此约束, 具有某特定功能, 可独
立运行的程序段 。
3.任务
所谓“任务”(又称“进程”或“活动”),
就是这些具有独立处理功能的程序段与它所处理的
数据在计算机中的一次执行过程。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 86
任务的实体是程序和数据的集合,同一程序
对于不同数据集合的执行过程,可以构成不同
的任务 。
任务与程序的区别与联系,
程序 —— 是许多指令的集合,它用以说明计算
机系统应进行的操作,是一个静态的
概念;
任务 —— 是计算机按程序处理数据的过程,是
一个动态的概念;
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 87
对一个任务而言,在不同的时刻可以有许多不
同的状态。而在某一时刻每一个任务只能处于某一
种状态。任务的状态有,
( 1)就绪状态 。
( 2)运行状态
( 3)等待状态
( 4)挂起状态
( 5)等待挂起状态
各状态间的相互关系,如图所示,
就绪
等待 挂起
等待
挂起
运行
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 88
设某一用户程序由三个逻辑上独立的程序段 A、
B,C组成, 且每个程序分别在 a,b,c处需要进行
输入输出处理 。
4.实时多任务操作系统
称为“多任务系统”
若操作系统把用户程序
当作一个任务来处理
若操作系统把用户程序
当作多个任务来处理
a a
b b
c c
A
B
C
称为“单任务系统”
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 89
支持多任务并行运行的操作系统称为,多任
务操作系统”。
定义,
具有实时处理能力的多任务操作系统称为
“实时多任务操作系统”。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 90
实时多任务操作系统已在发电机组分散控制系统中
得到普遍采用 。
实时多任务操作系统的主要作用,
( 1)及时响应生产现场的各种请求或有关参数的变化;
( 2)合理组织系统工作流程,及时分析和处理有关数据;
( 3)有效地管理计算机系统的全部资源,实现资源共享、
资源的合理调度与使用;
( 5)为用户操作计算机、编制和修改应用软件、维护系
统等提供友好且有效的手段。
( 4)准确及时地控制生产设备或过程,及时把运行情况
反映给值班人员或记录保存;
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 91
在操作系统中对每一个任务都建立了一个任
务控制块 TCB( Task Control Block), 用来记忆
每个任务的状态 。
(二)任务管理
1.任务控制块
TCB是一张线性表,基本内容如图所示。
TCB
任务名 识别该任务时所用的编号
当前状态 该任务当前所处的状态 (就绪、运行、等待、挂起等)
优先数 该任务使用系统资源时的优先等级
占用资源 该任务执行时所占用的资源 (内存空间和缓冲区等)
现场信息 该任务释放 CPU 时的断点、程序状态字、累加器和寄存器中的内容
通讯信息 该任务运行过程中与其它任务通讯时记录的有关信息
……
指针 用来形成 TCB 链表结构,便于对任务的管理。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 92
TCB是任务存在的唯一标志,每建立一个任务,
操作系统就为其建立一个 TCB。 相反,当撤销任务
时就删除 TCB。
TCB与用户程序相应的程序段有着对应关系,
但存贮空间不在一起。
任务管理是根据 TCB中的信息而进行的。
当多个任务对系统资源同时提出需求时, 会引
起资源竞争, 解决这种竞争的办法是:要求使用
同一资源的任务根据某种规则排队, 等待资源的
分配 。
2.任务链(任务队列)
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 93
所谓“任务链”就是针对有同一资源需求的任
务,按链式线性表的数据结构链接的一串 TCB。 如
图所示,
在 TCB的指示器中,记录了任
务队列中下一个任务的 TCB首
地址。
用户状态表类似于 TCB,是用来管理
任务的数据集合。它在相应的存贮
单元内,集中记录了各状态(就绪、
运行 …… 等)队列中最高优先级任
务的 TCB首地址。
操作系统根据用户状态表及任务链来管理调度处于各
种状态的任务。
TCB1 TCB2 TCB3 -1
用户状态表 TCB1 TCB2 TCBn
……
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 94
3.任务调度
任务调度主要是实现任务状态的转移,即把
处于运行状态的任务转换到其它状态,把另一个
任务由其它状态转换到运行状态。状态的转移,
一是由外部事件来激发,
二是通过一个调度程序来完成。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 95
任务调度应完成以下操作,
( 1)进行当前任务与其它任务的优先级比较;
( 5)执行新的任务。
( 4)恢复准备运行任务的现场信息;
( 3)按某一调度策略从就绪队列中选择一个
任务准备投入运行;
( 2)保护当前运行任务的现场信息;
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 96
( 1) 顺序调度,
4.任务的调度策略
是分配系统资源的策略,即是按一定的原则动
态地把系统资源分配给任务,以满足不同任务对资
源的需求。调度策略的优劣直接影响计算机的实时
性和利用率。常用的任务调度策略有,
在就绪队列中采用先进先出队列,每当有任务
从其它状态转为就绪状态时,该任务就排入就绪队
列的尾部,若当前运行任务退出运行状态时,总是
把就绪队列中的第一个任务投入运行状态。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 97
该策略将全部任务分为若干类别,每类为一个
等级(例如,系统任务为第 1级,终端任务为第 2级,
用户计算与控制任务为第 3级)。按照级别高低顺
序调度,只有当高一级没有就绪状态任务时,才选
用低一级的任务。
( 2)分级调度,
特点:没有考虑各任务的实时性要求,难以确保
工业控制的实时性。
特点:调度策略比较简单,对现场保护要求比较低,
不能保证实时性 。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 98
该策略是一种分时顺序调度方式。所有任务
具有等同的优先级,任务在就绪队列中先进先出,
被执行的任务运行一个时间片(一定的时间间隔,
由系统实时时钟决定)后将被中断,把 CPU交给就
绪队列中的下一个任务。如此周而复始。循环调
度策略示意如图所示。
( 3)循环调度,
T2
运行任务 就绪任务 挂起任务
Ti
Tn
T1
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 99
特点,(1) 任务得到了平等对待, 防止了某些任务
长期占用 CPU的现象;
(2) 对每一个用户程序而言, 好象独自运行
在一台速度较慢的 CPU上,
(3) 实时性优于顺序调度, 但不能保证对紧
急随机事件进行及时处理 。
( 4)基于优先级的抢占式调度,
该策略是预先给每个任务分配一个优先级,调
度时系统从就绪队列中选取优级最高的任务投入运
行。该策略又分为两种形式,
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 100
即所有任务具有不同的优先级, 操作系统只
有一个就绪队列 。 最高优先级的任务只要在就绪
状态下, 它总是处在运行之中, 只有当该任务进
入挂起, 等待状态或等待信息时, 才停止运行 。
这时下一个优先级的任务才有机会运行 。 而当高
优先级的任务一旦进入就绪状态, 它将打断比它
优先级低的任务的运行, 强行进入运行状态 。
特点:可以保证最高优先级的任务首先得到执行。
①每一优先级只有一个任务。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 101
即不同任务可能有相同的优先级。根据优先
级的高低建立多个就绪队列,同一优先级的任务
在一个就绪队列中。
任务的调度原则是:先按优先级调度就绪队列,
再按,先进先出”顺序调度队列中任务。
当某一任务占有 CPU 运行时,只要有更高优先
级的任务出现在就绪队列中,正在运行的任务将
被赶出运行状态,由更高优先级的任务抢占 CPU。
被赶出的任务将列入同一优先级的就绪队列之首,
保证下一次能在该队列中优先被执行。
②每一优先级上有几个任务
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 102
特点:只要合理分配优先级,就能使紧急任务
得到迅速处理,其它任务也可得到适当的运行机会。
这种策略还支持等优先任务的循环调度。
5.任务通信的概念
所谓的,任务通信”,是指任务之间的信息交换。
为了完成一项工作,通常需要建立一组任务来
共同实现,这些伙伴任务之间建立了一种直接关系,
表现出协调工作的特性。任务之间在执行速度上的
协调配合特性,称之为“同步”。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 103
同步和互斥是任务之间进行通信的两种型式 。
实时多任务操作系统可以采用各种不同的方法
( 可参阅相关文献资料 ) 来实现任务之间可靠的
通信 。
在多个任务同时存在时,由于任务多而资源
少,就会出现资源的竞争问题。本来没有关系的
任务,由于资源的相互竞争所产生的彼此制约关
系,称之为“互斥”。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 104
(三)存贮管理






有,
一般是易失性存贮器(如半导
体存贮器),可用来暂时存放
数据,存贮速度快,但存贮容
量较小,价格 /容量比较高,它
是 CPU的直接操作空间;
外存是非易失性存贮器(如磁
盘等),可永久性存放数据,
存贮容量大,其价格 /容量比较
低,但存贮速度较慢,是 CPU
的后备存贮空间。
内存贮器
(简称内存)
外存贮器
(简称外存)
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 105
把内存和外存有机地结合起来, 充分利用内
存的高速性和外存的非易失性与经济性, 构造满
足多用户作业需要, 使用方便, 安全可靠的存贮
空间, 并为系统的各种程序和数据动态地分配这
些存贮空间 。
存贮管理的目的,
存贮管理应具备的主要功能,
(1)内存分配, 由于多个作业并行工作是同时存于内存的。
因此,必须合理地给每个作业分配它们所
需的内存空间。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 106
(2)地址转换, 由于在作业或任务中采用的是逻辑地址,而
占用 CPU执行时又必须是物理地址。因此,
要求存贮管理把逻辑地址正确无误地转换
成对应地物理地址。这称之为“再定位”。
(3)内存保护, 必须保证每个作业只能在属于自己的内存空
间中活动,各个作业的内存空间不能相互干
扰。
(4)内存扩充, 当多个作业同时占用内存时,实际的内存容
量往往小于作业的需求量。因此,应充分利
用外存,使之与内存密切配合,达到扩充内
存的目的。这就是所谓的“虚拟存贮器”概
念,即将小容量的内存空间扩展成大容量的
虚拟内存空间。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 107
实现上述功能的方法较多, 下面扼要介绍常见的两种,
当一个作业进入运行状态时, 首先由存贮管理
程序给它分配一个连续的内存区, 并把该区的 开
始地址 和 长度 登记在内存作业分配表中, 如图所
示,
1.界地址存贮管理
作业名 开始地址 长度
A 1010H 0500H
B 2500H 0900H
…… …… ……
若选定作业 B的任务占用 CPU
执行,则将其开始地址 2500H和长
度 0900H分别装入下界地址寄存器
W和长度寄存器 L。 执行作业 B的
过程中,将根据其逻辑地址 D转换
成实际物理地址 P。 如下图所示。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 108
·
·
作业 B逻辑空间
·
·
·
·
0000H
0312H
07FFH
2500H
2812H
2CFFH
? D
2500H
W
L
0900H
P
P必须满足下列不等式,
)( WLPW ???
否则,将发生越界中断,并进行出错处理。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 109
界地址存贮管理,要求每个作业都具有一块连
续的内存空间。而内存空间的分配可采用下述两
种方式,
( 1)固定分块, 即把内存分成若干固定块,每块中的字节
数多少不等。每个作业按当前执行所需的
内存空间分得一块或连续的几块。 —— 内
存利用率较低。
( 2) 移动分块, 采用移动作业分配区的方法, 使内存中的
多块空闲区集中成一块较大的空闲区, 以
分配给其它作业 。 如图所示,
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 110
移动前内存区 移动后内存区
空闲区 作业 B
作业 B 作业 C
空闲区 作业 A
作业 C 作业 D
空闲区
空闲区
作业 A
作业 D
空闲区
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 111
2.页式存贮管理
该方法的基本思想:把内存分成若干大小相等、
位置固定的块,每一块称为一页(物理页)。同样,
作业的逻辑地址也以相同的单元来分页(逻辑页)。
每页取 512或 1024个字节 (页面过大将降低内存
利用率 )。每个逻辑地址可由“页号”和“页内单元
号”组成。
当应用程序申请内存空间时,操作系统将把满
足其要求的页面分配给它。页面与页面间可以是不
连续的,即分配给某一任务的若干页面可分布在整
个内存空间的各处。因此,对一个特定的任务,操
作系统在内存中为每个页面提供了一个起始地址。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 112
为了把分配给作业的物理页与其逻辑页对应起
来,存贮管理程序在内存中为每个作业建立了一张
“页映象表”。由于物理页与逻辑页的大小相同,
故二者页内单元号一一对应,只需进行页交换即可。
下图表示了页分配的过程。
CPU
逻辑
地址 01 123 02 123
页号 页内单元号
物理地址
绝对地址
00页(首页)
……
01页
02页
·
·
·
内存
各页起
始地址
2000H
2400H
2800H
2923H
逻辑页号 物理页号
00 11
01 02
02 07
页映象表
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 113
程序执行过程中, 操作系统根据逻辑地址的页
号, 在页映象表中查出对应的物理页的页号, 再
把查得的物理页号与逻辑页的页内单元号组合在
一起, 可得程序的实际物理地址, 并由此可得,
内存的绝对地址 =物理地址 +页号 ?页内单元数
( 1) 页面分配算法得到了一定的简化;
( 2) 实际存贮区是由已知数量的页面组成, 页面
分配表的最大长度是固定的;
( 3) 内存分配是以页面为整体, 减少了存贮残片 。
页式存贮管理的特点,
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 114
设备管理的对象:是计算机系统的外部设备 ( 磁
盘, 打印机, 等 ) 。
设备管理的作用:是为用户使用外设提供一种简
便, 可靠的方法, 用户只需给
出使用命令, 而无需提供使用
设备的具体程序 。
设备管理的目的:是实现快速 CPU与慢速外部设备
的并行工作, 协调多用户的作
业, 提高设备的利用率 。
(四)设备管理
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 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
2013-3-2 116
( 1) 根据 CPU的指令, 统一对外部设备具体实施管理 。
当 CPU需要使用外设时, 向通道发出启动设备的指令,
通道便能独立执行相应的通道程序, 通过控制器去控制
外设的操作, 而无需 CPU干预;反之, 利用中断请求,
通道能向 CPU报告外设, 控制器及自身的当前状态 ( 如
外设输入 /输出已完成 ), 以便操作系统作相应的处理 。
( 2) 对输入 /输出的数据实施缓冲 。
收集整理输入数据, 处理输出数据, 减少外设与内存的
数据交换次数 。
( 3) 通道与外设采用标准接口, 便于外设互换, 扩展和维护 。
( 4) 操作系统支持多个通道, 一个通道可管理多台外设 。
通道对所管理的多台外设进行分时操作 。 为了便于系统
的识别, 每个通道赋予一个通道号, 每台外设均有自己
的设备名 。
通道的作用,
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 117
调用输入 /输出设备的命令包括:打开设备,
关闭设备, 读数据, 写数据, 磁盘文件操作等功
能 。
每条输入 /输出命令都必须指定设备所在的通
道号、数据传送的方式(顺序传送、行式传送)。
为了实现系统对外设的管理, 操作系统设置了
一系列数据结构来管理设备的有关信息 。
以下图所示的简单操作系统设备管理的数据结
构为例, 说明设备管理的基本内容 。
2.设备管理
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 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
2013-3-2 119
(四)文件管理
“文件” 是一组有意义的数据或字符序列的集合。
文件涉及的范围:源程序、目的程序、数据、用
户作业、语言系统、操作系统的管理程序等。
“文件管理” 是指对文件的组织和使用。
负责文件管理以及文件存取的软件称为,文件
系统”。 文件系统为用户提供了一种简便安全使用
文件的方法。即:用户无需提供使用文件的具体程
序,只需按文件名给出使用文件的命令就可实现其
目的。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 120
( 1) 文件的组成 。 由标题和本体两部分组成 。 所包含的
内容如下表所示,
1.文件的组织
文件组成内容 含义及说明
文件名 用户标识文件的名称,一般是以字母开头的若干个字符组成
用户名 文件所有者的名字
文件属性
为了保护文件,规定了文件的特性 (如能读能写或只读不写)、文件的使
用范围和保密码等;




管理信息 文件的长度 (或记录个数),建立文件的时间,文件的类型等


文件本体 文件的实际内容。例如:源程序、目标程序和数据等
( 2)文件的结构 。 是指文件在存储器中的物理结构 。
按文件在存储器中的存放形式,可分成,
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 121
是指文件的信息存放在若干个不一定连续的物理区中,
每个物理区以链指针连接下一个物理区, 从而形成链表结
构, 如图所示 。
文件名 首物理区
ABC 102
物理区
102
126
物理区
126
148
物理区
148
NIL
文件目录 逻辑区 0 逻辑区 1 逻辑区 2
A,串联文件结构
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 122
由 文件索引区 和 文件信息区 两部分组成 。 如图所示 。
B,索引文件结构
文件信息区
是由若干不
一定连续的
物理区组成,
该区的全部
空间都用来
存放文件信
息。
文件索引区
将文件的逻
辑区顺序号
按串联文件
结构组成,
以表示各文
件信息区之
间的逻辑顺
序关系。
102
126
,
,
指针
物理区
102
154
168
182
,
,
物理区
168
文件索引区 文件信息区
索引项 0
1
2
207
208
209
索引文件结构的优点是采用随机访问方式,可直接读写
任意一个物理区的信息 。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 123
( 3)文件目录 。为了能便捷地查找和管理文件而建立的
目录。是文件存在的标志。文件目录通常采用以下三种结构,
A,一级目录结构
它是 全部 文件集合成 一张 文件目录表 。 结构如图所示 。
文件名 首物理区
ABC 102
物理区
102
126
物理区
126
148
物理区
148
NIL
文件目录 逻辑区 0 逻辑区 1 逻辑区 2
建立一个文件时,在目录表中增加一个目录块;
删除一个文件时,目录表中该文件的目录块随之删除;
访问一个文件时,先到目录表中找文件名,再按目录块的说明访问文件。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 124
查找文件过程,按用户名查找 MFD,再按文件名查找 UFD。
B,二级目录结构
目录结构分为,1、主文件目录(简称 MFD),
2、用户文件目录(简称 UFD)。
二级目录结构如图所示,
二级目录的优点,各个用户之间不会引起混淆,安全可靠。
用户名 UFD首址
ABC
DEF
GHI
……
文件名 物理区
JKL
MNO
PQR
……
JKL的
物理区
主文件目录( MFD) 用户文件目录( UFD)
为每个用户分配一个
登记项,每个登记项
包括用户名和 UFD首地
址。
为用户的每个文件保存
一个登记项,填写文件
名、文件属性、管理信
息和文件的物理区号。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 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
2013-3-2 126
操作系统为用户提供了一系列使用文件的命令 。 例如,
文件的建立, 打开, 读, 写, 关闭和删除等 。 用户只需按
命令的使用方法正确地给出命令, 就能达到目的 。
2.文件的使用
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 127
二、编程语言(程序设计语言)
(一)面向机器的语言
是为特定的计算机或某一类计算机专门设
计的编程语言。它包括,
1.机器码 2.汇编语言
(二)面向问题的语言
是一种专门为解决某一方面问题而设计的、
独立于计算机的程序语言。它比较接近人
们习惯的语言与数学表达式。它包括,
1,FORTRAN语言 2,BASIC语言
3,PASCAL语言 4,C语言
5,PL/M语言等高级语言
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 128
(三)面向过程的语言(组态软件)
是面对生产过程控制的应用需求、可按人们
常规思维和语言方式对控制过程进行直接描
述的一种语言。
重要特点,对某些工程问题(如 PID控制算
法)已进行规范化处理,编制过程控制软件
时,不必涉及问题的解法和了解计算机内部
工作原理,只需根据控制过程要求用简单的
特殊的语句告诉计算机按一定步骤去, 干什
么,,无需说明, 如何干, 。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 129
第四节 典型系统的软件
DCS的硬件配置称为“硬件组态”;通过对有
关信息的配置形成所需功能的应用软件称之为“软
件组态”。实现软件组态的软件工具称为“组态软
件”或“组态工具”。组态软件属于支持软件。
目前,不同厂家相继开发了与其 DCS配套的组
态软件。
组态软件是一种面向过程的编程语言,它提供
了友好的用户界面,使用户在不需要编写任何代码
程序的情况下,可简单方便地生成自己所需的应用
软件。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 130
本节以 INFI-90系统为例,简要介绍其配套软件。
一、工程师工作站( EWS) 的组态软件
INFI-90系统 EWS的组态软件,是一套安装在
EWS上、运行在 DOS操作系统环境下的“计算机辅
助图形( Computer Aided Drawing) 设计软件包”,
简称,CAD软件包”。
该软件包是一个完整的对控制系统进行设计的
交互式图形程序。它允许在线或离线对过程控制策
略进行设计、组态、调整、修改、检查、监控及故
障处理。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 131
这种基于图形设计的面向其模件级的组态方法,
在图形绘制过程结合了 CAD软件包菜单驱动功能,
使整个控制系统的组态生成过程遵循了正确、方便
的原则。
其中,CAD软件是一种交互式图形程序,Text软件是
一种菜单驱动式程序。 Text软件既可独立运行,也可以作
为 CAD软件中的一部分。
计算机辅助图形( CAD) 软件
文本( Text) 软件
EWS的 CAD软件包由两部分组成。 即,
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 132
EWS的组态软件功能
1,CAD软件的功能
( 1) 对现场控制单元的模件进行工作组态, 绘制
模件和端子的布置图;
( 2) 生成和编辑模件组态图, 标准地址, 参数表
等;
( 3) 绘制出组态的图纸, 并进行存档拷贝;
( 4) 编译和生成几种信息列表的硬拷贝;
( 5) 生成常用图形和逻辑符号库;
( 6) 对过程控制逻辑进行监测, 查错和趋势记录;
( 7) 下装组态文件到指定模件;
( 8) 进行在线校验, 调整和监视 。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 133
2,Text软件的功能
( 1) 提供系统诊断和查错提示;
( 2) 将完成的控制组态下装到模件中;
( 3) 检查, 校验所进行的组态;
( 4) 将磁盘或模件中的组态数据送到 CRT或打印
机上;
( 5) 调整控制参数;
( 6) 监视一个或一组输入 /输出点;
( 7) 控制模件的方式, 以便在线装入控制逻辑;
( 8) 模件初始化, 消除错误条件及执行组态 。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 134
CAD软件包运行时主菜单提示的各选项及功能如下表所示,
选 项 名 称 功 能
A 工作标题定义
B 模件标题定义
C 组态图绘制
D 组态图编译
E 交互引用
F 模件连接
离线组态图设计、绘制、编译,模件连接等功能
G 文本 在线下装组态 \ 校验 \ 参数调整 \ 监视等功能
H 应用程序 压缩库 \ 查询空块号 \ 打印 \ 绘图等功能
CAD的各功能选项的具体内容参见教材。
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 135
INFI-90系统提供了一套实用的记录数据库图
形软件包 ( Software Logging Database Graphics,
简称 SLDG), 作为本系统操作员接口站 ( OIS),
过程控制观察站 ( PCV) 和命令管理系统 ( MCS)
的一种离线组态工具 。
二、操作员接口站( OIS) 的组态软件
,计算机分散控制系统,
能 源 与 动 力 工 程 学 院
School of Energy & Power Engineering
2013-3-2 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
2013-3-2 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
2013-3-2 138
(六)专家系统软件包
( Expert System Software 简称 EXPERT 90)
(七)环路调整系统软件包
( Loop Tuning System Software简称 LTS)
(八)数据单软件包
(九)过程控制观察软件包
( Process Control View Software简称 PCV)
( User Defined Function Software简称 UDF)
( Data Sheet)
(十)用户定义功能软件包