第 5章 控制系统应用程序设计
5-1 工控机软件组成
5-2 控制环节的软件思路
5-3 控制环节程序范例
5-4 监控组态软件
本章主要内容
? 本章首先介绍软件设计基础和控制环节软件设
计思路,然后给出了一些常用的控制环节程序
范例,最后详细介绍用组态软件生成控制系统
软件的具体方法
参考文献
1、微型计算机控制技术,潘新民编著,人民邮电出
版社
2,PC总线工业控制系统精粹,凌澄主编,清华大
学出版社
3、工业控制计算机实时操作系统,蔡德聪
4、数据采集与处理技术,马明建等编著,西安交通
大学出版社
5,8098单片机原理与应用技术,方建淳编著,天津
科学技术出版社
5-1 工控机软件组成
5-1-1系统软件
?软件是工业控制机的程序系统,它可分为系
统软件、工具软件、应用软件。
?系统软件一般是由计算机厂家提供的,专门
用来使用和管理计算机的程序。系统软件包
括实时多任务操作系统、引导程序、调度执
行程序
5-1 工控机软件组成
5-1-1系统软件
? 实时操作系统
特点,是实时性强。它在任何时刻总是保证优
先级最高的任务占用 CPU。
通常实时操作系统具有以下特点,
?1,多作业环境
? 2,任务的事件驱动
? 3.中断与中断优先级
? 4,同步与异步
? 5,资源与临界资源
? 6,容错与安全
5-1 工控机软件组成
5-1-1系统软件
? Windows操作系统和 windowsNT操作系统
? Windows虽然具有多任务功能,但由于它的结构是
为办公室自动化而设计的,不具备实时性
? Intel公司推出了 iRMX for Windows操作系统
? Quantum公司推出了 QNX Windows操作系统, 以及
Intellution公司推出了 FIX组态软件
? BJ公司推出了 RealFlexforWindows工业控制软件等 。
? 保证应用系统的实时性, 又充分利用了 Windows
的图形用户界面 。
5-1 工控机软件组成
5-1-1系统软件
? 嵌入式实时操作系统
嵌入式实时操作系统应具备以下特点,
? ( 1) 响应快速而准确
? ( 2) 结构紧凑易于裁剪和配置
? ( 3) 开放性好, 易于开发和嵌入
5-1 工控机软件组成
5-1-2 开发工具软件
? 汇编软件
? 汇编语言为我们提供了直接控制目标代码的手段,
具有实时性能好,执行速度快和节省存储空间等明
显优点,所以,汇编语言大量被用来编写计算机系
统程序、实时通信程序、实时控制程序等。
? 高级语言
? 专用开发工具
? 微机开发系统,就是一种用来开发、调试、分析、
维修微机及其产品的专用工具
5-1 工控机软件组成
5-1-3 应用软件
? 程序设计过程
? 程序设计通常分为五个步骤, 即问题定义, 程序设
计, 编码, 调试, 改进和再设计,如 图 5-1
? 面向对象与面向过程程序设计思路
? 面向过程的程序设计思想的核心是功能的分解
? 工业控制组态软件
? 工业控制组态软件是标准化、规模化、商品化的通
用过程控制软件
5-2 控制环节的软件思路
5-2-1 数据结构及其应用
? 基本术语
? 数据 ( data) 它是计算机程序加工的, 原料, 。
? 数据元素 ( data element) 是数据的基本单位, 即
数据这个集合中的一个个体 ( 客体 ) 。 数据对象
( data object) 是具有相同特性数据元素的集合,
是数据的一个子集 。
? 数据结构 ( data structure) 简单说来是带有结构
的数据元素的集合 。
数据结构是一个二元组
data-tructure= ( D,R)
其中, D是数据元素的集合, R是 D上关系的集合 。
5-2 控制环节的软件思路
5-2-1 数据结构及其应用
? 数据结构类型
? 1.顺序结构
?2.链形结构
?3.树形结构
? 数据查找技术
? 数据排序技术
5-2 控制环节的软件思路
5-2-2 测量数据预处理技术
? 系统误差的自动校准:图 5.5,5.6
? 1,全自动校准
? 2.人工自动核准
? 线性化处理和非线性补偿
?1,线性插值算法
?2,插值法在温度测量中的应用
?3,非线性补偿方法
5-2 控制环节的软件思路
5-2-2 测量数据预处理技术
? 标度变换方法
? 1、线性变换公式
? 2,公式转换法
?3,其它标度变换法
m i nm i nm axm i nm i nm ax Y)N/ ( N)N)(XY(YY ?????
5-2 控制环节的软件思路
5-2-2 测量数据预处理技术
? 越限报警处理
1,上限报警,
? 若 xn> xmax,则上限报警, 否则继续执行原定操作 。
2,下限报警
? 若 xn<xmin,则下限报警, 否则继续执行原定操作 。
3,上下限报警
? 若 xn> xmax,则上限报警, 否则对下式做判别:
xn<xmin否? 若是则下限报警, 否则继续原定操作 。
5-2 控制环节的软件思路
5-2-2 测量数据预处理技术
? 越限报警处理
? 1.上限报警:若 xn> xmax,则上限报警,否则继续
执行原定操作。
? 2.下限报警:若 xn<xmin,则下限报警,否则继续
执行原定操作。
? 3.上下限报警:若 xn> xmax,则上限报警,否则对
下式做判别,xn<xmin否?若是则下限报警,否则继
续原定操作。
5-2 控制环节的软件思路
5-2-3 数字控制器的工程实现
? 数字控制器算法的工程实现, 如图 5.7所示 。
? PID数字控制器的工程实现
?1,给定值和被控量处理
? 2,偏差处理
? 3,控制算法的实现
? 4,控制量处理
? 5,自动手动切换
图 5.7数字控制器的实现结构
5-2 控制环节的软件思路
5-2-4 系统的有限字长数值问题
? 量化误差来源
? 计算机控制系统 结构图 5.8,
? 1.量化误差
? 2.量化误差来源
? A/ D,D/ A及运算字长的选择
? l,A/ D转换器的字长选择
? 2,D/ A转换器的字长选择
? 3,运算的字长选择
5-2 控制环节的软件思路
5-2-5 软件抗干扰技术
? 数字滤波技术
? 1、算术平均值法
? 2、中位值滤波法
? 3、限幅滤波法
? 4、惯性滤波法
? 开关量的软件抗干扰技术
? 1、开关量的软件抗干扰技术
? 2、开关量(数字量)信号输出抗干扰措施
5-2 控制环节的软件思路
5-2-5 软件抗干扰技术
? 指令冗余技术
? 采用单字节指令, 并在关键的地方人为地插入一些
单字节指令 ( NOP) 或将有效单字节指令重复书写,
这便是指令冗余 。
? 软件陷阱技术
? 所谓软件陷阶, 就是一条引导指令, 强行将捕获的
程序引向一个指定的地址, 在那里有一段专门对程
序出错进行处理的程序 。
5-2 控制环节的软件思路
5-2-5 软件抗干扰技术
? 软件陷阱技术
? 软件陷阱安排在以下四种地方,
? ( l) 未使用的中断向量区 。
? ( 2) 未使用的大片 ROM空间 。
? ( 3) 表格 。
? ( 4) 程序区 。
5-3 控制环节程序范例
? 标度变换程序
? 数字滤波程序
? 数字 PID算法程序
? 串行通信程序
5-3 控制环节程序范例
5-3-1 标度变换程序
? 线性标度变换,框图 5.9
? 非线性参数标度变换
? 框图 5.10
m i nm i nm axm i nm i nm ax Y)N/ ( N)N)(XY(YY ?????
5-3 控制环节程序范例
5-3-2 数字滤波程序
? 中值滤波
? 所谓中值滤波就是对某一个被测参数连续采样 n次,
然后把 n次的采样值从小到大排队, 再取中间值作
为本次采样值 。
? 算术平均滤波
? 算术平均滤波是把 n次采样值相加, 然后取其算术
平均值作为本次采样值 。
5-3 控制环节程序范例
5-3-3 数字 PID算法程序
? PID调节器的输出是输入的比例, 积分, 微分的函数 。
? 增量式 PID数字算法公式,
u(k) = u(k) – u(k-1)
= K[ e(k) – e(k-1) ] +Ke(k) + K [e(k) –2e(k-
1) + e(k-2) ]
? 增量式 PID算法程序设计,
进一步改写成为,
u(k) = Ae(k) – Be(k-1) + Ce(k-2)
? 积分分离的 PID算式及程序实例,
5-3 控制环节程序范例
5-3-4 串行通信程序
? 实现准备
? A.上位机如何同现场模块交换数据
? B.包格式定义
? Windows下的串口通讯程序
5-4 监控组态软件
5-4-1 概述
? 计算机 监控系统 CSCS(Computer Supervisory
Control System),它从总体上可分成两大部分,
一是现场分布式的数据 I/O系统,也就是通常所
说的下位机;
另一个是数据处理显示和管理系统,即上位机 --
--人机界面系统 HMI( Human Machine
Interface) 。
? 我国推出的功能完善的监控组态软件
? 如北京金佳诺的世纪星 century star3.02
? 大庆的三维力控
? 北京昆仑的 MCGS。
5-4 监控组态软件
5-4-2 组态软件的功能简介
? 1.控制组态
? 2.图形生成系统
? 3.显示组态
? 4,I/O通道登记
? 5,单位名称登记
? 6,趋势曲线登记
? 7,报警系统登记
? 8,报表生成系统
5-4 监控组态软件
5-4-3 世纪星组态软件简介
? 概述
世纪星组态软件还具有优秀软件的基本特点,
?1、延续性和可扩充性,
?2、封装性(易学易用)
?3、通用性
? 基本结构
? 1、变量数据库概述
? 2、变量数据库中几个需注意的问题
? 3、画面制作、动画连接、命令语言
?4、系统安全性
5-4 监控组态软件
5-4-4 组态软件应用
? 系统简介
? 以隧道窑计算机温度检测系统为例,
基本要求,
1、隧道窑烧成段 36个温度点的检测,测温范围
0~1200℃ 。
2,窑控制室对温度数据的监测, 显示, 报警 。
? 软件组态
小结,
? 1、工业控制机的软件组成。介绍了几种常用
系统软件(实时操作系统,Windows和
windowsNT操作系统、嵌入式操作系统)的功
能和特点
? 2、工业控制应用程序中的典型应用;对测量
数据预处理技术、数字控制器的工程实现、系
统的有限字长数值问题、软件抗干扰技术进行
了详细分析
? 3、实用的控制环节程序范例:包括标度变换
程序、数字滤波程序、数字 PID算法程序、串
行通信程序等
5-1 工控机软件组成
5-2 控制环节的软件思路
5-3 控制环节程序范例
5-4 监控组态软件
本章主要内容
? 本章首先介绍软件设计基础和控制环节软件设
计思路,然后给出了一些常用的控制环节程序
范例,最后详细介绍用组态软件生成控制系统
软件的具体方法
参考文献
1、微型计算机控制技术,潘新民编著,人民邮电出
版社
2,PC总线工业控制系统精粹,凌澄主编,清华大
学出版社
3、工业控制计算机实时操作系统,蔡德聪
4、数据采集与处理技术,马明建等编著,西安交通
大学出版社
5,8098单片机原理与应用技术,方建淳编著,天津
科学技术出版社
5-1 工控机软件组成
5-1-1系统软件
?软件是工业控制机的程序系统,它可分为系
统软件、工具软件、应用软件。
?系统软件一般是由计算机厂家提供的,专门
用来使用和管理计算机的程序。系统软件包
括实时多任务操作系统、引导程序、调度执
行程序
5-1 工控机软件组成
5-1-1系统软件
? 实时操作系统
特点,是实时性强。它在任何时刻总是保证优
先级最高的任务占用 CPU。
通常实时操作系统具有以下特点,
?1,多作业环境
? 2,任务的事件驱动
? 3.中断与中断优先级
? 4,同步与异步
? 5,资源与临界资源
? 6,容错与安全
5-1 工控机软件组成
5-1-1系统软件
? Windows操作系统和 windowsNT操作系统
? Windows虽然具有多任务功能,但由于它的结构是
为办公室自动化而设计的,不具备实时性
? Intel公司推出了 iRMX for Windows操作系统
? Quantum公司推出了 QNX Windows操作系统, 以及
Intellution公司推出了 FIX组态软件
? BJ公司推出了 RealFlexforWindows工业控制软件等 。
? 保证应用系统的实时性, 又充分利用了 Windows
的图形用户界面 。
5-1 工控机软件组成
5-1-1系统软件
? 嵌入式实时操作系统
嵌入式实时操作系统应具备以下特点,
? ( 1) 响应快速而准确
? ( 2) 结构紧凑易于裁剪和配置
? ( 3) 开放性好, 易于开发和嵌入
5-1 工控机软件组成
5-1-2 开发工具软件
? 汇编软件
? 汇编语言为我们提供了直接控制目标代码的手段,
具有实时性能好,执行速度快和节省存储空间等明
显优点,所以,汇编语言大量被用来编写计算机系
统程序、实时通信程序、实时控制程序等。
? 高级语言
? 专用开发工具
? 微机开发系统,就是一种用来开发、调试、分析、
维修微机及其产品的专用工具
5-1 工控机软件组成
5-1-3 应用软件
? 程序设计过程
? 程序设计通常分为五个步骤, 即问题定义, 程序设
计, 编码, 调试, 改进和再设计,如 图 5-1
? 面向对象与面向过程程序设计思路
? 面向过程的程序设计思想的核心是功能的分解
? 工业控制组态软件
? 工业控制组态软件是标准化、规模化、商品化的通
用过程控制软件
5-2 控制环节的软件思路
5-2-1 数据结构及其应用
? 基本术语
? 数据 ( data) 它是计算机程序加工的, 原料, 。
? 数据元素 ( data element) 是数据的基本单位, 即
数据这个集合中的一个个体 ( 客体 ) 。 数据对象
( data object) 是具有相同特性数据元素的集合,
是数据的一个子集 。
? 数据结构 ( data structure) 简单说来是带有结构
的数据元素的集合 。
数据结构是一个二元组
data-tructure= ( D,R)
其中, D是数据元素的集合, R是 D上关系的集合 。
5-2 控制环节的软件思路
5-2-1 数据结构及其应用
? 数据结构类型
? 1.顺序结构
?2.链形结构
?3.树形结构
? 数据查找技术
? 数据排序技术
5-2 控制环节的软件思路
5-2-2 测量数据预处理技术
? 系统误差的自动校准:图 5.5,5.6
? 1,全自动校准
? 2.人工自动核准
? 线性化处理和非线性补偿
?1,线性插值算法
?2,插值法在温度测量中的应用
?3,非线性补偿方法
5-2 控制环节的软件思路
5-2-2 测量数据预处理技术
? 标度变换方法
? 1、线性变换公式
? 2,公式转换法
?3,其它标度变换法
m i nm i nm axm i nm i nm ax Y)N/ ( N)N)(XY(YY ?????
5-2 控制环节的软件思路
5-2-2 测量数据预处理技术
? 越限报警处理
1,上限报警,
? 若 xn> xmax,则上限报警, 否则继续执行原定操作 。
2,下限报警
? 若 xn<xmin,则下限报警, 否则继续执行原定操作 。
3,上下限报警
? 若 xn> xmax,则上限报警, 否则对下式做判别:
xn<xmin否? 若是则下限报警, 否则继续原定操作 。
5-2 控制环节的软件思路
5-2-2 测量数据预处理技术
? 越限报警处理
? 1.上限报警:若 xn> xmax,则上限报警,否则继续
执行原定操作。
? 2.下限报警:若 xn<xmin,则下限报警,否则继续
执行原定操作。
? 3.上下限报警:若 xn> xmax,则上限报警,否则对
下式做判别,xn<xmin否?若是则下限报警,否则继
续原定操作。
5-2 控制环节的软件思路
5-2-3 数字控制器的工程实现
? 数字控制器算法的工程实现, 如图 5.7所示 。
? PID数字控制器的工程实现
?1,给定值和被控量处理
? 2,偏差处理
? 3,控制算法的实现
? 4,控制量处理
? 5,自动手动切换
图 5.7数字控制器的实现结构
5-2 控制环节的软件思路
5-2-4 系统的有限字长数值问题
? 量化误差来源
? 计算机控制系统 结构图 5.8,
? 1.量化误差
? 2.量化误差来源
? A/ D,D/ A及运算字长的选择
? l,A/ D转换器的字长选择
? 2,D/ A转换器的字长选择
? 3,运算的字长选择
5-2 控制环节的软件思路
5-2-5 软件抗干扰技术
? 数字滤波技术
? 1、算术平均值法
? 2、中位值滤波法
? 3、限幅滤波法
? 4、惯性滤波法
? 开关量的软件抗干扰技术
? 1、开关量的软件抗干扰技术
? 2、开关量(数字量)信号输出抗干扰措施
5-2 控制环节的软件思路
5-2-5 软件抗干扰技术
? 指令冗余技术
? 采用单字节指令, 并在关键的地方人为地插入一些
单字节指令 ( NOP) 或将有效单字节指令重复书写,
这便是指令冗余 。
? 软件陷阱技术
? 所谓软件陷阶, 就是一条引导指令, 强行将捕获的
程序引向一个指定的地址, 在那里有一段专门对程
序出错进行处理的程序 。
5-2 控制环节的软件思路
5-2-5 软件抗干扰技术
? 软件陷阱技术
? 软件陷阱安排在以下四种地方,
? ( l) 未使用的中断向量区 。
? ( 2) 未使用的大片 ROM空间 。
? ( 3) 表格 。
? ( 4) 程序区 。
5-3 控制环节程序范例
? 标度变换程序
? 数字滤波程序
? 数字 PID算法程序
? 串行通信程序
5-3 控制环节程序范例
5-3-1 标度变换程序
? 线性标度变换,框图 5.9
? 非线性参数标度变换
? 框图 5.10
m i nm i nm axm i nm i nm ax Y)N/ ( N)N)(XY(YY ?????
5-3 控制环节程序范例
5-3-2 数字滤波程序
? 中值滤波
? 所谓中值滤波就是对某一个被测参数连续采样 n次,
然后把 n次的采样值从小到大排队, 再取中间值作
为本次采样值 。
? 算术平均滤波
? 算术平均滤波是把 n次采样值相加, 然后取其算术
平均值作为本次采样值 。
5-3 控制环节程序范例
5-3-3 数字 PID算法程序
? PID调节器的输出是输入的比例, 积分, 微分的函数 。
? 增量式 PID数字算法公式,
u(k) = u(k) – u(k-1)
= K[ e(k) – e(k-1) ] +Ke(k) + K [e(k) –2e(k-
1) + e(k-2) ]
? 增量式 PID算法程序设计,
进一步改写成为,
u(k) = Ae(k) – Be(k-1) + Ce(k-2)
? 积分分离的 PID算式及程序实例,
5-3 控制环节程序范例
5-3-4 串行通信程序
? 实现准备
? A.上位机如何同现场模块交换数据
? B.包格式定义
? Windows下的串口通讯程序
5-4 监控组态软件
5-4-1 概述
? 计算机 监控系统 CSCS(Computer Supervisory
Control System),它从总体上可分成两大部分,
一是现场分布式的数据 I/O系统,也就是通常所
说的下位机;
另一个是数据处理显示和管理系统,即上位机 --
--人机界面系统 HMI( Human Machine
Interface) 。
? 我国推出的功能完善的监控组态软件
? 如北京金佳诺的世纪星 century star3.02
? 大庆的三维力控
? 北京昆仑的 MCGS。
5-4 监控组态软件
5-4-2 组态软件的功能简介
? 1.控制组态
? 2.图形生成系统
? 3.显示组态
? 4,I/O通道登记
? 5,单位名称登记
? 6,趋势曲线登记
? 7,报警系统登记
? 8,报表生成系统
5-4 监控组态软件
5-4-3 世纪星组态软件简介
? 概述
世纪星组态软件还具有优秀软件的基本特点,
?1、延续性和可扩充性,
?2、封装性(易学易用)
?3、通用性
? 基本结构
? 1、变量数据库概述
? 2、变量数据库中几个需注意的问题
? 3、画面制作、动画连接、命令语言
?4、系统安全性
5-4 监控组态软件
5-4-4 组态软件应用
? 系统简介
? 以隧道窑计算机温度检测系统为例,
基本要求,
1、隧道窑烧成段 36个温度点的检测,测温范围
0~1200℃ 。
2,窑控制室对温度数据的监测, 显示, 报警 。
? 软件组态
小结,
? 1、工业控制机的软件组成。介绍了几种常用
系统软件(实时操作系统,Windows和
windowsNT操作系统、嵌入式操作系统)的功
能和特点
? 2、工业控制应用程序中的典型应用;对测量
数据预处理技术、数字控制器的工程实现、系
统的有限字长数值问题、软件抗干扰技术进行
了详细分析
? 3、实用的控制环节程序范例:包括标度变换
程序、数字滤波程序、数字 PID算法程序、串
行通信程序等