Download - 第六章 微型计算机控制系统设计
第六章 微型计算机控制系统设计设计原则: ☻ 操作性好 ☻ 实施性强
☻ 通用性好 ☻ 经济效益高☻ 可靠性高
一般设计步骤:
► 系统总体控制方案设计
► 微型计算机选择
► 控制算法设计
► 硬件设计
► 软件设计
► 系统联调
§ 6.1 控制系统设计的一般步骤
一、确定系统总体控制方案 构思系统的整体方案,应从以下几方面入手 :
► 考虑系统结构
► 执行机构采用什么方案
► 有否特殊控制要求?特殊要求应采取那些措施。
► 确定计算机在整个控制系统中所起的作用
二、确定控制算法三、选择计算机
所选计算机应满足以下要求:
► 完善的中断系统
► 足够的存储容量
► 完备的 I/O 通道和实时时钟
四、系统总体设计 ★ 硬件软件功能分配与协调大量使用硬件会增加成本,影响系统可靠性;增加软件,系
统速度相应降低 。★ 接口设计 接口设计内容: ► 扩充接口 ► 安排接口电路的 I/O 信号及交换方式。常用的扩充方法: ► 选用专门的功能接口板 ► 选用通用接口电路 ► 用集成电路自行设计接口电路 接口电路 I/O 信号的交换方式: ► 中断控制读取 I / O 方式 ► 直接存储器存取方式
★ 通道设计系统 I/O 通道: ► 数字量 I/O 通道 ► 开关量 I/O 通道 ► 模拟量 I/O 通道 ► 脉冲量 I/O 通道 在总体设计中,应确定本系统应设置什么样的通道、每个通道
由几部分组成,各部分选用什么器件等。★ 操作员控制台设计 包括:各种转换开关、按钮、键盘、数字显示器、状态故障指
示灯等。★ 可靠性设计
五、硬件设计 任务:根据系统总体框图,设计出系统的电气原理图,再按
照电气原理图选购元件和进行施工设计。包括: ► 接口电路和 I/O 通道的扩充 ► 组合逻辑或时序逻辑电路 ► 供电电源 ► 光电隔离 ► 电平转换 ► 驱动放大电路等
六、软件设计 软件
系统软件应用软件
组织应用软件的内容及步骤: ► 确定具体要求 ► 软件规划 ► 程序编制 ► 软件调试 ► 善后工作★ 确定具体要求 ► 管理要求
► 输入输出要求
► 语言加工要求
► 功能处理要求
★ 软件规划 ► 模式选择 ► 语言选择 ► 汇编语言 ► 高级语言 ► 确定数据结构
► 划分程序块
► 确定程序编制顺序
► 内存安排
► 用符号来代替某部分程序的首址。
► 粗略估算各部分容量
► 根据具体情况对内存作精确安排
★ 程序编排和分配
★ 软件装配和总调
★ 软件设计的善后工作
§6.2 微型计算机控制系统的软件 一、软件的分类
软件
系统软件
应用软件
操作系统语言加工系统诊断系统
控制程序数据采集及处理程序
巡回检测程序数据管理程序
编辑程序编译程序连接、装配程序调试程序子程序库
数据可靠性检查程序A / D 转换及采样程序 数字滤波程序 线性化处理程序
数据采集程序 越限报警程序 事故预告程序 画面显示程序
二、应用程序的语言选择及设计步骤 1 、语言选择 ► 机器语言 ► 汇编语言 ► 高级语言 2 、应用程序的设计步骤和方法 应用程序设计的五个步骤: ► 问题定义 ► 程序设计 ► 编码 ► 调试 ► 改进和再设计
程序设计通常采用模块程序设计法和结构程序设计法
结构化程序设计基本思想的三种基本结构表示:
顺序结构
选择结构
循环结构
三、高级语言和汇编语言的混合编程1 、 混合语言编程的基本概念 1)程序接口在一种语言程序中调用由其他语言编写的程序模块。 2)命名约定为了解决不同语言对名称标识符的不同处理,对目标文件名长度的不同限制的约定。 3)调用约定在两种程序语言中为实现彼此调用而建立的一种协定,它具体对应了一个函数、一个过程或者是一个子程序的调用过程。 4)参数传递约定在定义或说明时用形式参数,调用时则替换成实际参数 .
参数传递方式: ► 传值 ► 传址 ► 传名 ► 传结果 2 、 C 语言程序对汇编语言程序的调用 1) C 语言程序中的接口处理 ► 命名约定 ► 调用约定 ► 参数传递约定
2) 汇编语言中的接口处理 ► 在定义和编写汇编语言程序的被调用过程时,应以下划线开头,并用 PUBLIC说明 .
► 如果 C 语言程序以巨型、大型、存储模式编译,被 C
语言调用的汇编过程应说明成 fa ;小型、紧凑型存储模式编译,被调用的汇编过程应说明成 NEAR 。 ► 考虑调用约定 ► 在被 C 语言调用的汇编过程中用指令 RET返回,而在 B
ASIC 等其他语言中要求用指令 RETn返回。 ► 根据缺省默认, C 语言的参数传递方式是传值,但数组总是采用传址方式。
3 、汇编语言程序对 C 语言程序的调用 1)命名约定 2)调用约定 3)参数传递的方式4 、微型计算机控制系统的研制工具利用联机仿真器可以实现以下开发手段: 1)系统实时仿真 2)资源借调 3)控制系统综合设计和调试
三、常用应用程序设计
1 、 数字滤波器
► 算术平均值滤波
N
kkXN
Y1
1
算术平均值滤波程序流程图
► 中值滤波
中值滤波程序流程图
► 一阶滞后滤波
1)1( kkk ayxay
一阶滞后滤波程序流程图
► 程序判断滤波
★ 限幅滤波
限幅滤波程序流程图
★ 限速滤波 限速滤波程序流程图
2 、 线性化处理
分段线性插值
)(1
1i
ii
iii xx
xx
yyyy
3 、数码显示
两位十进制数显示程序流程图
4 、越限报警处理程序
5 、 PID 控制算法程序
§ 6.3 微型计算机温度控制系统设计 网带式多温区电阻炉微型计算机温度控制系统的设计。一、系统总体设计1 、确定系统的控制任务控制对象:六温区网带式连续烧结电阻炉。设计要求:►每个温区的温度在 6001000℃范围内连续可控; ► 各温区的温度以及网带的运行速度可自行设定; ► 要求系统能够对六个温区的温度及网带运行速度巡
回检测、显示和定时打印。计算机控制系统应完成的主要任务有:► 六个温区温度的闭环直接数字控制。►网带拖动直流调速系统的速度给定和速度检测。► 六个温区温度及网带运动速度的巡回检测、显示和定时打印。
系统组成:
☻ 微型计算机
☻ 输入通道
☻ 输出通道
2 、输入输出通道及其接口设计
1)温度检测模拟输入通道设计
特点:采用了由 V / F变换器和定时计数器组成的 A / D 转换器。
V / F 转换输入通道的结构通常为: 传感器 信 号
放大器 V/F光 电耦合器 CPU
小信号V. I
0~10V
f
设 V / F变换器的额定输出频率为 F ,计数器对输出脉冲
的计数时间为 Ts , A / D 转换结果的分辨率为 i ,则有:
取 Ts= 1s ,则在 V / F 的输出频率范围 0~ 10kHz 内,可以得到 13位的 A / D 转换结果。
s
i
s FT
2
2) 晶闸管数字触发输出通道设计
★ 晶闸管简介
晶闸管 ( 可控硅整流器 ) —— 功率放大器件。
IG →
↓iA
+ VAK -
R
+ ~ US
_
晶闸管的工作方式有:
► 调压方式
► 调功方式
调压方式:是通过利用移相触发脉冲调节晶闸管的导通角,使输入到电加热元件的电压改变,达到调节用电器的输入功率,来实现控制目的 。
导通角
调功方式:触发电路采用的是过零触发方式,外加正弦电压过零时控制信号才使晶闸管的触发导通,则负载上得到的电
压是一个正弦波。调功方式输入电炉的平均功率为:
R
U
N
nP
2
P—— 输入电炉的功率; R——负载有效电阻; U—— 电网电压 ; n——允许导通的波头数; N—— 设定的波头数。 当 n= 0 时,电炉的输入功率为零; n= N ,电炉的输入功率为满功率。
★ 晶闸管数字触发输出通道设计
过零检测同步脉冲电路 :
电网电压
同步脉冲
3) 拨码盘给定输入通道拨码盘作为数字量的输入设备,设定和修改码盘值可作为控
制系统的给定值。输入非数字信息时,需要事先将非数字信息转换为数字代码,
再由拨码盘输入。 4) 数码显示输出通道包括: ► 数字量输出接口电路 ►锁存译码驱动电路 ►七段数码管显示器炉温显示:一位显示温区代号,四位显示 4位温度值; 网带速度显示:一位显示网带速度代号,四位显示网带速度。
5) 打印机输出通道
► 系统配置了通用打印机接口电路。
► 打印内容包括表头、制表、采样数据和采样时间。
二、微型计算机选择
控制系统选取采用 STD 总线标准的模块式工业控制计算机。
本系统:
►主机板采用 8098单片机多功能 CPU 模板,主频 6MHz 。
► 配置了显示及操作面板接口模板,
►打印机接口模板。
►非通用数字触发控制模板
►反馈通道的 V / F变换及 A / D 转换模板,
三、控制算法设计
整个系统属于多变量系统,其数学描述传递矩阵为:
)()(
)()(
)(
6,61,6
6,11,1
sgsg
sgsg
sG
6,1
6,1
1)(
)()(
,
,,
,
j
i
sT
eK
sU
sysg
ji
sji
j
iji
ji其中:
离散后可近似为: )()1()( mkBUkAYkY
式中: y(k)—— 6×6矩阵; U( k)—— 6×1矩阵; A —— 6×6矩阵; B —— 6×6矩阵。
对于系统的每一个温区,其简化动态结构:
广义传递函数为:
sT
Ke
s
esG
D
sTs
i
1
1)(
广义脉冲传递函数为:
1/
/1
1
)1(
1
1)]([)(
ze
ezK
sT
Ke
s
ezsGzzG
D
D
TT
TTN
D
sTs
系统的闭环脉冲传递函数为:1/
1/
1
)1()(
ze
zez
C
C
TT
NTT
数字控制器的脉冲传递函数为:
])1(1)[1(
)1)(1(
)](1)[(
)()(
1/1//
/1/
NTTTTTT
TTTT
zezeeK
eze
zzG
zzD
CCD
CD
进一步简化为: 1
21
1
110
1)(
Nzbzb
zaazD
C
D
CDD
C
D
C
TTTT
TTTTTT
TTTT
TT
ebeK
eea
ebeK
ea
/2/
)/()/(/
1
/1/
/
0
1;)1(
;)1(
1
式中:
差分化后得到控制器差分方程:
)1()()1()1()( 1021 kEakEaNkUbkUbkU
四、硬件设计
硬件电路设计有:
► 前级放大器及多路模拟转换开关。
► A / D 转换模板。
► 数字触发控制模板。
五、软件设计★ 系统控制程序的任务 ► 系统初始化。 ► 多路模拟转换开关的切换控制。 ► 温度反馈信号采样和数字滤波、线性化处理。 ► 读给定输入值,且将 BCD码转换为二进制码。 ► 完成系统的控制算法和控制输出。 ► 定点或巡回显示温度值和网带速度值。 ► 定时打印时间、温度和网带运行速度。
★ 系统控制程序的模块化
按控制功能将程序分成三个程序模块:
● 系统初始化程序模块
系统初始化包括:
► 设置堆栈
► 清除动态数据缓冲区
► 初始化打印缓冲区
► 设置 8253 计数器的控制字和计数初始值
► 设置时钟系统的初始值
► 设置控制算法程序的初始值
► 系统中断控制初始化等
● 外部中断服务程序模块中断服务程序的任务: ► 读取 A / D 转换结果,以 BCD码的形式送到数
码管中显示。 ► 读取温度给定值并将 BCD码转换为二进制码。
►外部中断产生 ls 钟内,将多路模拟转换开关切换到下一个通道 。
● 定时打印程序模块
程序内容:
► 实时时钟程序► 根据设定时间完成打印控制
★ 系统控制程序的结构