大林控制算法与其软件实现
大林算法实验报告

实验4 大林算法工业设计和调试实验目的:1.认识和理解大林控制算法控制大时延系统的机理和效果。
2掌握实际控制系统的大林控制算法的设计、实现和调试方法及技术。
实验内容:1.测试系统开环阶跃响应求得被控对象的近似传递函数。
2.对被控对象近似传递函数进行等效离散化。
3.基于被控对象等效离散化模型设计大林控制算法,编写出实现程序,将其嵌入到实验软件中。
4.将设计的大林算法投入运行,并经过调试获得预期控制性能。
5.记下大林控制算法的控制效果。
实验原理及说明:大林算法是针对工业生产过程中含有纯滞后的被控对象所研究的控制算法,即在调节时间允许的情况下,要求系统没有超调量或只有在允许范围中的很小的超调量。
大林算法的设计目标是设计一个数字调节器,使整个闭环系统所期望的传递函数相当于一个延迟环节和一个惯性环节的串联,并期望整个闭环系统的纯滞后时间和被控对象的滞后时间相同,并且,纯滞后时间与采样周期是整数倍关系。
实验中采样周期为1秒,k=0.15,t=22秒,t1=55秒。
.大林算法中涉及的被调对象的参数:对象是一阶惯性滞后环节,<1>对象的放大倍数Kp:Kp=△PV/△OP 阶跃比,这是开环的静态参数,与PID的放大倍数K不是一回事;<2>对象的时间常数T:干扰阶跃引起PV变化,从变化起到稳定值约2/3处的时间值,不包括滞后时间;<3>滞后时间T2:干扰阶跃开始到PV开始变化这一段滞后时间,包括:纯滞后时间及容量过渡滞后时间;2. 整个系统的闭环传递函数相当于是一阶惯性环节, 这是大林算法的期望环节:<1> 输入R(t)是回路的设定值SP;输出Y(t)是回路的PV值;<2> 此一阶惯性环节的放大倍数为1,即稳定时PV=SP; 最终偏差接近零;<3>此期望环节的纯滞后时间应等于被调节对象的纯滞后时间;<4>此期望环节的闭环时间常数:这是待定的期望参数,为不引起回路的小幅振荡,这个时间值应选用大于等于被调对象的时间常数,3. 这些参数如果不精确,将引起大林算法的不稳定性,导致调节质量变坏;。
计算机控制课程设计报告-达林算法

《计算机控制》课程设计报告题目: Dahlin算法控制设计姓名: 学号:姓名: 学号:姓名: 学号:2010年7月10日《计算机控制》课程设计任务书专业电气工程及其自动化班级学生指导教师题目 Dahlin算法控制设计设计时间2010年7 月5 日至 2010年7 月 11 日共 1 周设计要求设计任务:设单位反馈线性定常离散系统的连续部分和零阶保持器的传递函数分别为)1(10)(+=sssGp,被控对象为sesssG1.0)101)(1(5)(-++=,采用Dahlin算法设计消除振铃的数字控制器。
方案设计:1.采用Matlab完成控制系统的建立、分析、设计和模拟仿真;2.选择元器件,完成电路设计,控制器采用MCS-51系列单片机(传感器、功率接口以及人机接口等可以暂不涉及),使用Protel绘制原理图;3.控制算法采用单片机汇编语言编程实现(应通过编译,无语法错误)。
报告内容:1.控制系统仿真和设计步骤,应包含Matlab仿真的性能曲线、采样周期T的选择、数字控制器脉冲传递函数和差分方程形式;2.元器件选型过程,电路设计过程,绘制的Protel原理图;3.算法流程图,含有详细注释的汇编源程序;4.设计工作总结及心得体会;5.列出所查阅的参考资料。
指导教师签字:系(教研室)主任签字:2010年7 月10 日一.实验目的采用Dahlin 算法设计消除振铃的数字控制器 二.提供的实验条件(1)软件:Matlab, Protues ,KEIL (2)仪器和设备:计算机、单片机 三.设计要求被控对象为s e s s s G 1.0)101)(1(5)(-++=,采用Dahlin 算法设计消除振铃的数字控制器。
达林算法主要是一种针对纯滞后对象的控制算法,其主要指标是系统无超调,或超调量较小。
并允许系统有较长的调整时间。
四.工作原理基于达林算法的采样控制系统结构框图如图1所示。
图1 采样控制系统原理图D(z)系统的设计核心,它实际上是由计算机实现,它的输入输出均是时间上离散的数字信号信号。
大林控制算法实验报告

一、实验目的1. 理解大林控制算法的基本原理及其设计过程。
2. 掌握大林控制算法在计算机控制系统中的应用。
3. 通过实验验证大林控制算法在解决纯滞后系统控制问题上的有效性。
二、实验原理大林控制算法(Dahlin Control Algorithm)是一种针对具有纯滞后特性的控制对象而设计的新型控制算法。
该算法的核心思想是将期望的闭环响应设计成一阶惯性加纯延迟形式,然后通过反向设计得到满足这种闭环响应的控制器。
对于具有纯滞后特性的被控对象,其传递函数可以表示为:\[ G(s) = \frac{K}{T_s s + 1} \cdot e^{-\frac{s}{T}} \]其中,\( K \) 为系统增益,\( T_s \) 为采样周期,\( T \) 为纯滞后时间。
大林控制算法要求选择闭环传递函数 \( W(s) \) 时,采用相当于连续一阶惯性环节的 \( W(s) \) 来代替最少拍多项式。
如果对象有纯滞后,则 \( W(s) \) 应包含有同样的纯滞后环节。
带有纯滞后的控制系统闭环传递函数为:\[ W(s) = \frac{K}{T_s s + 1} \cdot e^{-\frac{s}{T}} \]根据大林控制算法,可以设计出满足期望闭环响应的数字控制器 \( D(z) \):\[ D(z) = \frac{K_1 e^{-\frac{1}{T}}}{(1 - e^{-\frac{1}{T_1}}) (1 - e^{-\frac{1}{T_2}})} \cdot \frac{1}{[1 - e^{-\frac{1}{T_1}} (1 - e^{-\frac{1}{T_2}})] (1 - e^{-\frac{1}{T} z^{-1}})} \]其中,\( K_1 \)、\( T_1 \) 和 \( T_2 \) 为大林算法的参数。
三、实验仪器1. MATLAB 6.5软件一套2. 个人PC机一台四、实验步骤1. 启动MATLAB软件,创建一个新的脚本文件。
基于大林算法的PLC温度控制

= =
整个 系统 采用 欧姆 龙 的 C 0 H 系 列 的 P C 20 L 中央处理 模块及 其 D A、 \ / A D转换 模块 加上 温度 检 测变换 电路 、 移相 调压 回路 、 温度现 场 ( 电烤箱 )
设 备 等 组 成 ( 图 1 示 ) 如 所 。 温 度 检 测 变 换 回 路 主要 采 用 烤 箱 自带 的 热 电
2011
・
实验 技 术 与 管 理 ・
基 于 大 林 算 法 的 P C 温 度 控 制 L
喻 学 涛 李 冰 金建 文
( 城 大 学 东 昌学 院 , 聊 山东 聊 城 2 2 0 ) 5 00
摘 要 : 文 介 绍 了一 种 基 于 大林 算 法 的 中小 型 P C 的 温 度 控 制技 术 , 本 L 通过 梯 形 图 鳊 程 实现
2 控 制 算 法 的 推 导
多采 用专 用 P D 控 制 模 块 来 实 现 , 对 中小 型 I 这
P C应用 系 统来 说 , 本 增 加 不 少 。 因此 , 分 L 成 部 技 术人 员在 现 场应 用 中 , 用 一 般 的 P C语 言 , 利 L 实现 了温度 的开关控 制 , 是 由于 普通 P C逻辑 但 L 性强 , 计算能 力较弱 , 现温度 的较 精确 的控制 比 实 较 困难 [ 。因 此 , 者 结 合 大 林 算 法 , 中小 型 2 ] 笔 对 P C的 温度 的精 确控 制作 了一 下设 计 研究 , L 并初 步实现 了设计 目的。
高 等 函授 学 报 ( 自然 科 学 版 )
J u n lo g e r e p nd n eEd c to ( au a ce c s o r a fHih rCo r s 0 e c u a in N t r lS in e )
计算机控制09.大林控制算法

常用控制算法>>大林控制算法
大林控制算法控制器D(z)的基本形式 的基本形式 大林控制算法控制器
Simulink仿真结构图为 仿真结构图为
Scope2 1-0.779z-1 1-0.607z-1 +-0.393z-3 controller
Scope1 1 4s+1 Zero-Order Hold Transfer Fcn Transport Delay Scope
其与零阶保持器相串联的的脉冲传递函数为: 其与零阶保持器相串联的的脉冲传递函数为:
1 − e −Ts K (C1 + C2 z −1 ) z − N −1 Ke − NTs G( z) = Z ⋅ = s (1 + T1s )(1 + T2 s ) (1 − e −T T1 z −1 )(1 − e −T T2 z −1 ) 1 C1 = 1 + (T1e−T / T1 − T2e−T / T2 ) T2 − T1 1 1 −T + C = e T1 T2 + 1 (T e −T / T2 − T e −T / T1 ) 1 2 2 T2 − T1
0.1493z−2(1+0.733z−1) G(z) = 1−0.7413z−1
选取φ(z),时间常数为 τ=2s,纯滞后时间为 时间常数为T 纯滞后时间为τ=1s。则N=1,于是 选取 时间常数为 纯滞后时间为 。 于是
−1/ 2 (1−e−T/Tτ )z−1 )z−1 0.3935z−2 −1 (1−e ⋅ =z ⋅ = −T /T -1 −1/2 -1 τ 1−e z 1−e z 1−0.6065z−1
实验六、大林算法控制仿真实验

如图延时一派由采样保持器滞后一拍输入模拟量实现。
四、D(Z)设计
已知: ,T=0.2S , R(t)=0.25(t);
大林设计目标定位: , 。五、SIMULI NhomakorabeaK仿真结构图
阶跃输入:
斜坡输入:
六、仿真实验记录
输入函数
R、C、 波形记录
阶
跃
输
入
斜
坡
输
入
大林算法大林寺桃花大林和小林大林寺大林寺桃花白居易田大林大林理惠李大林我爱斯大林大林和小林读后感
实验六、大林算法控制仿真实验
电器0801 0701080109 柏塔.居尼斯汗
一、实验目的与要求
1、掌握大林算法的D(Z)设计。
2、掌握SIMULINK的仿真方法。
二、仿真软硬件环境
PC机,MATLAB5.3
大林算法控制实验报告

一、实验目的1. 理解大林算法的基本原理和设计过程。
2. 掌握大林算法在计算机控制系统中的应用。
3. 分析大林算法对控制系统性能的影响。
二、实验仪器1. PC计算机一台2. MATLAB 6.5软件一套3. EL-AT-III型计算机控制系统实验箱一台三、实验原理大林算法是一种针对具有纯滞后特性的控制系统而设计的控制算法。
该算法通过将期望的闭环响应设计成一阶惯性加纯延迟,然后根据这种闭环响应设计控制器,从而实现对具有纯滞后特性的系统的控制。
四、实验内容1. 实验被控对象的构成:(1)惯性环节的仿真电路及传递函数。
(2)纯延时环节的构成与传递函数。
(3)被控对象的开环传递函数。
2. 大林算法的闭环传递函数:闭环传递函数为:\[ G(s) = \frac{K}{T_{s}^{N} \left( \frac{s}{T} + 1 \right)} \]其中,\( K \)为增益,\( T \)为时间常数,\( N \)为纯滞后时间。
3. 大林算法的数字控制器:数字控制器为:\[ D(z) = \frac{(1 - e^{-\frac{1}{T}})(1 - e^{-\frac{1}{T_{1}}z^{-1}})}{K \left(1 - e^{-\frac{1}{T_{1}}}z^{-1}\right) \left[1 - e^{-\frac{1}{T}}z^{-1} - (1 - e^{-\frac{1}{T}})z^{-N}\right]} \]其中,\( K \)为增益,\( T \)为时间常数,\( T_{1} \)为时间常数,\( N \)为纯滞后时间。
五、实验步骤1. 启动计算机,打开MATLAB软件。
2. 编写程序,搭建被控对象模型。
3. 根据被控对象模型,设计大林算法控制器。
4. 对大林算法控制器进行仿真,观察控制效果。
5. 分析大林算法对控制系统性能的影响。
六、实验结果与分析1. 仿真结果:(1)大林算法控制器的阶跃响应。
计控实验五-达林算法仿真

计控实验五-达林算法仿真实验报告||实验名称大林算法仿真实验课程名称计算机控制技术与系统|实验五 达林算法仿真实验1、实验目的:在离散系统直接数字控制算法学习基础上,通过Matlabl 软件仿真实验,加深掌握达林算法设计离散控制器的基本思想和方法,进一步理解最少拍与非最少有限拍控制器设计中存在的局限性。
2、实验内容及要求:已知对象模型为1.460()1 3.34Se G s s -=+设期望的闭环响应M(z)为时间常数τ=2s 的一阶惯性环节,并带有l=1个采样周期的纯滞后,即1211(1)0.3935()110.6065lz z M z z z z σσ------==--要求:1) 经采样(T=1S )保持后,求出其广义对象z 传递函数;2) 基于达林算法给定的M(z),设计控制器D(z),对单位阶跃输入绘制U(k)和系统输出y(k)响应曲线;3) 设计消除振铃后的等效控制算法D(z),对单位阶跃输入绘制U(k)和系统输出y(k)响应曲线;4) 分析比较上述两种情况下,对应U(k)和y(k)的响应特性有哪些变化。
3、实验过程3.1求取广义对象的z 传递函数利用matlab 求取广义对象的z 传函并将其转化成零极点的形式,用到的程序如下 T1=3.34; tao=1.46;G0=tf([1],[T1 1],'inputdelay',tao) sysd=c2d(G0,T,'zoh'); zsysd=zpk(sysd)得到的广义对象的z 传递函数为20.14928(z 0.7332)(z 0.7413)z+-3.2基于大林算法设计D(z)期望的闭环响应函数为M(z),广义对象的传递函数为G(z),则根据大林算法设计的控制器D(z)表达式为21(z) 2.636(z 0.7413)(z)(z)1(z)(z 1)(z 0.7332)(z 0.3935)M z D G M -==--++在simulink 中仿真改系统,建立的框图为得到的控制量的曲线为可见出现了控制量的输出出现振铃现象。
大林算法实验

实验一:大林算法控制器设计与仿真一、实验目的1、学会安装MATLAB 及基本使用方法。
1、掌握大林控制算法的基本概念和实现方法;2、掌握在MA TLAB 下大林算法控制器的调试方法;3、观察大林控制算法控制器的控制效果;4、比较大林控制算法和常规PID 的控制效果。
5、选做:比较大林算法与SMITH 预估补偿控制器的控制效果。
二、实验属性设计、验证性实验三、 实验内容1、对象为一阶惯性加纯滞后系统,其开环传递函数为:14.0)(76.0+=-S e S G S采样时间为0.5S ,大林算法的期望闭环响应设计为1)(76.0+=Φ-S e S Sα。
α为控制系数,大林控制算法的MATLAB 程序如后所附。
四、实验要求1、实验中:在MATLAB 下输入程序,设置控制系数α=0.5,检验控制效果,调整系数α的值(0.1至1之间),比较控制效果,找出并记录最佳控制时的α值及控制结果;2、完成实验报告。
附录 大林控制算法的MATLAB 程序% Delay Control with Dalin Algorithmclear all;close all;ts=0.5;%Plantsys1=tf([1],[0.4,1],'inputdelay',0.76);dsys1=c2d(sys1,ts,'zoh');[num1,den1]=tfdata(dsys1,'v');% Ideal closed loopsys2=tf([1],[0.15,1],'inputdelay',0.76);dsys2=c2d(sys2,ts,'zoh');% Design Dalin controllerdsys=1/dsys1*dsys2/(1-dsys2);[num,den]=tfdata(dsys,'v');u_1=0.0;u_2=0.0;u_3=0.0;u_4=0.0;u_5=0.0;y_1=0.0;error_1=0.0;error_2=0.0;error_3=0.0;ei=0;for k=1:1:50time(k)=k*ts;rin(k)=1.0; %Tracing Step Signalyout(k)=-den1(2)*y_1+num1(2)*u_2+num1(3)*u_3;error(k)=rin(k)-yout(k);M=1;if M==1 %Using Dalin Methodu(k)=(num(1)*error(k)+num(2)*error_1+num(3)*error_2+num(4)*error_3...-den(3)*u_1-den(4)*u_2-den(5)*u_3-den(6)*u_4-den(7)*u_5)/den(2); elseif M==2 %Using PID Methodei=ei+error(k)*ts;u(k)=1.0*error(k)+0.10*(error(k)-error_1)/ts+0.50*ei;end%----------Return of dalin parameters------------u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);y_1=yout(k);error_3=error_2;error_2=error_1;error_1=error(k);endplot(time,rin,'b',time,yout,'r');xlabel('time(s)');ylabel('rin,yout');。
微机控制-大林算法的MATLAB语言描述

微机控制/大林算法的MATLAB语言描述早在1968 年,美国IBM 公司的大林(Dahlin)就提出了一种不同于常规控制规律的新型算法,即大林算法。
该算法的最大特点是将期望的闭环响应设计成一阶惯性加纯延迟,然后反过来得到能满足这种闭环响应的控制器。
设被控对象为采样时间为0.5s,用大林算法设计闭环响应,并用MATLAB 进行仿真,同时作出采用普通PID 控制算法的图形,与采用大林算法的图形比较,得出结论。
参考程序:%Delay Control with Dalin Algorithmclear all;close all;ts=0.5;%Plantsys1=tf([1],[0.4,1],inputdelay,0.76);dsys1=c2d(sys1,ts,zoh);[num1,den1]=tfda ta(dsys1,v);%Ideal closed loopsys2=tf([1],[0.15,1],inputdelay,0.76);dsys2=c2d(sys2,ts,zoh); %Design Dalin controllerdsys=1/dsys1*dsys2/(1-dsys2);[num,den]=tfdata(dsys,v); u_1=0.0;u_2=0.0;u_3=0.0;u_4=0.0;u_5=0.0;y_1=0.0;error_1=0.0;error_2=0.0;error_3=0.0;ei=0;for k=1:1:50time(k)=k*ts;rin(k)=1.0; %Tracing Step Signalyout(k)=-den1(2)*y_1+num1(2)*u_2+num1(3)*u_3;error(k)=rin(k)-yout(k);M=1;if M==1 %Using Dalin Methodu(k)=(num(1)*error(k)+num(2)*error_1+num(3)*error_2+num(4)*error_3...- den(3)*u_1-den(4)*u_2-den(5)*u_3-den(6)*u_4-den(7)*u_5)/den(2);elseif M==2 %Using PID Methodei=ei+error(k)*ts;u(k)=1.0*error(k)+0.10*(error(k)- error_1)/ts+0.50*ei;end%----------Return of dalin parameters------------。
基于大林算法的炉温控制系统设计与仿真课程设计报告

摘要在许多实际工程中 , 经常遇到一些纯滞后调节系统,往往滞后时间比较长。
对于这样的系统, 人们较为感兴趣的是要求系统没有超调量或很少超调量, 超调成为主要的设计指标。
尤其是具有滞后的控制系统, 用一般的随动系统设计方法是不行的, 而且 PID 算法效果往往也欠佳。
在温度控制技术领域中, 普遍采用控制算PID法。
但是在一些具有纯滞后环节的系统中, PID控制很难兼顾动、静两方面的性能, 而且多参数整定也很难实现最佳控制。
IBM公司的大林于1968年提出一种针对工业生产过程中含有纯滞后的控制对象的控制算法,即大林算法。
它具有良好的效果,采用大林算法的意义在于大林控制算法能在一些具有纯滞后环节的系统中兼顾动静两方面的性能,若采用大林算法, 可做到无或者小超调,无或小稳态误差,控制效果比较理想。
对工程实际应用具有很大的意义。
下面就PID设计和大林算法设计比较,发现二者的不同之处,然后用Matlab的GUI功能将两者制作成可简单操作的用户图形界面。
关键词:大林算法;PID控制;GUI界面;Matlab;目录第一章大林算法在炉温控制中的应用 (2)1.1大林算法简介 (2)1.2大林算法在炉温控制中的设计思路 (2)1.3大林算法实现炉温控制中的代码算法及波形图 (4)第二章 PID实现炉温控制的仿真 (6)2.1 PID的原理及介绍 (6)2.2 PID炉温控制算法程序设计 (7)第三章大林算法和PID实现炉温控制的SIMULINK仿真 (10)3.1 大林算法SIMULINK仿真结构图及波形 (10)3.2 PID的SIMULINK仿真 (10)3.3 大林算法和PID的比较 (11)第四章 GUI图形用户界面编程设计 (12)4.1 GUI简介 (12)4.2 GUI界面的建立 (12)4.2.1编写pushButton回调函数 (15)4.2.2仿真波形 (16)致谢 (17)参考文献 (18)第一章 大林算法在炉温控制中的应用1.1大林算法简介大林算法是由美国IBM 公司的大林(Dahllin)于1968年针对工业生产过程中含纯滞后的控制对象的控制算法。
计算机控制系统实验

K PTD 0.36 K PU T
实验三 数字PID算法实验
(4)根据PID参数不同的控制作用,适当加以调 整,重复做几次,直至超调量小于20%、调节时间 小于1s。记录实验数据。
5. 实验报告内容
(1)编制应用软件程序实现数字PID控制器。给 出程序流程图和程序清单。 (2)给出PID参数整定的详细实验步骤。 (3)记录实验数据,分析实验结果。
2. 实验仪器
(1) (2) (3) (4) (5) 示波器 一台 MCS-51单片机开发系统 一套 直流稳压电源(±5V) 一台 个人PC机 一台 函数发生器(也可用程序自行编制)一台
实验五 最小拍无纹波控制算法实验
3. 实验原理
(1)过程原理 以 8 9 C51 单 片 机 为 核 心 , 将 8 位 A / D 转 换 器 ADC0809和DAC0832作为模/数和数/模转换环节, 针对阶跃输入,利用单片机系统实现最小拍无纹波 控制算法。借助示波器观测系统输出和控制器输出 来观察最小拍无纹波算法对控制系统的作用效果及 不同输入信号作用下的算法的适应性。记录实验数 据,分析最小拍无纹波控制算法的作用。
实验六 大林算法实验
(2)算法原理
1 eTs 10eTs 广义被控对象传递函数为 G( s) s s( s 1) 广义目标传递函数为
1 eTs eTs ( s) , T 0.2s, τ 0.1s s τs 1 则大林算法对应的数字控制器可表为
实验三 数字PID算法实验
(2)算法原理 数字PID控制算法可表述为
简记为
其中e(k)和u(k)分别为第k时刻的控制器的输入和 输出。
实验三 数字PID算法实验
4. 实验步骤
(1)按原理图E3.1连接实验电路。 (2)设定采样周期为50ms,参考输入为单位阶 跃输入,编制应用软件实现数字PID控制算法。 (3)利用临界比例带法整定PID参数:先去掉微 分和积分作用,增大KP,用示波器观测系统输出, 直至系统出现等幅振荡,记下振荡周期TU 和此时 的比例值KPU,按以下公式整定PID参数。 ① 用比例环节:KP=P=0.5KPU ② 用比例、积分调节(T取 1 TU ): 5 比例 KP=P=0.36KPU
大林控制算法

大林控制算法大林控制算法是一种高效的控制系统算法在控制系统中可用于自动化系统控制,这种算法被广泛应用于工业生产过程中的自动化控制,通过智能控制,可以让生产过程更加稳定和高效。
本文将从算法原理、应用场景、实际案例分析等方面对大林控制算法进行详细介绍。
一、算法原理大林控制算法是一种基于单片机的控制算法,其核心原理是通过控制PID参数控制系统,实现系统控制。
在实际应用中,算法需要根据具体场景和控制要求进行调整,以达到最优的效果。
算法通过控制措施的调整,可以不断优化系统的控制过程,提高控制精度和效率。
它采用了基于指令的控制策略,将大量的复杂数据转化为平稳的控制信号,从而实现控制过程的高效稳定。
二、应用场景大林控制算法应用于各种自动化控制系统,它可应用于包括环境控制系统、流程控制系统、工业控制系统、机械控制系统等方面,可以有效解决产生的各种控制问题。
例如,在工业控制系统中,采用大林控制算法可以有效控制生产过程中的各种流程参数,避免过程中的各种异常情况,从而确保生产线的稳定与高效。
在环境控制系统中,大林控制算法可以通过控制环境参数,让室内温度、湿度等参数处于一个最适宜的范围,提高室内空气舒适度,并可节约能源。
三、案例分析广州某工业公司的水处理过程就是一个很好的大林控制算法应用案例。
在生产过程中,水处理是一项关键环节,对水质的要求非常高。
这个过程中需要不断调整各种流量、温度等参数,确保水质的稳定。
在此应用大林控制算法,可以自动记录并控制各种流量参数,并通过PID控制算法进行自动调整,保证水处理过程的优质与高效。
四、总结大林控制算法是现代自动化控制系统的一个重要组成部分,它能够帮助生产线实现高效、稳定的自动化控制;同时可以简化生产线的管理,为工作人员减轻负担。
随着工业自动化的不断提高,大林控制算法的应用还将不断扩大。
同时,也需要注意,该算法的应用需要具体情况具体分析,不能生搬硬套、简单照搬,否则可能影响控制效果。
大林算法在温度控制中的应用.ppt

大林算法在温度控制中的应用.ppt————————————————————————————————作者:————————————————————————————————日期:引言随着现代科学技术水品格发展,与其是近年来,电力工业的迅速发展,工业电阻炉尤其是钟罩式真空电阻炉越来越受人们的青睐。
工业钟罩式真空电阻炉是一种重要的热处理设备,它能使被加热零件脱气、脱氧、脱硫,以及能使有害杂质蒸发分离,避免零件氧化污染,而且它的温度容易调节,相对其它电阻炉来讲热惯性小升温时间短,它在工业中被广泛采用。
他一般具有较大的时间常数和一定的纯滞后时间,且滞后时间比较长,我们知道这样的系统村不利于现代化工业生产自动化水平提高,不利于产品质量和生产效率的提高。
但是一般来讲,对这样的系统在工业生产中要求没有超调量或超调量很小,调节时间希望在确定的采样时间内结束(虽然也希望尽快结束过渡过程,但是这是第二位的).因此超调试主要的设计目标,用一般的控制系统设计方法是不行的,用模拟仪表控制算法效果也欠佳。
IBM公司的大林于1968年提出一种针对工业生产过程中含有纯滞后的控制对象的控制算法,即大林算法。
它具有良好的效果,采用大林算法的意义在于大林控制算法能在一些具有纯滞后环节的系统中兼顾动静两方面的性能,可做到小超调小稳态误差。
控制效果比较理想。
对工程实际应用具有很大的意义。
第一章钟罩式真空电阻炉1。
1钟罩式真空电阻炉钟罩式真空电阻炉所谓钟罩式系指炉膛位于工作台面以上,钟罩可以升降,由侧面装卸工件,所以又称侧装式。
图1—1所示为双位钟罩式真空炉。
这种型式的炉子其加热器有两种安装方式:一种是装在钟罩内,随钟罩升降,这时,固定在炉盖上的电极汇流排5也要随盖运动.另一种是固定在静止的台面板上,电极汇流排需从机架下方引入。
钟罩式真空电阻炉的基本参数见表1-1所示。
图1—1 双位钟罩式真空电阻炉1-机架;2—真空系统;3-观察孔;4炉体;5-汇流排;6—电气部分;7—变压器;8-升降机构。
基于PLC的大林算法实现回潮筒控制

另 外 , 了保 证 采 样 周 期 的准 确 , 调 用 本 功 能 块 的组 织 块 为 在
OB 1中 应 定 义 一 个 定 时 器 为 采 用 时 间 定 时 器 , 作 只有 在 采 用 周 期 到 来 时 才 调 用 以上 程序 。
3 西 门子 P C 的 S L CL编 程 语 言
U : A = RE L END VAR
—
E1=E2 : :
E2: V—SP; =P
U. -A U5+B U1 +C +D E2 E1: U1 =U2: :
国 际 电 工 委 员 会 IC 1 3 E 6 1 1标 准 规 定 了 五 种 P C 编 程 语 L 言 , 了 各 种 P C 中都 十 分 常 见 的 梯 形 图 编 程 语 言 外 , 有 结 除 L 还 构 化 文 本 语 言 。结 构 化 文 本 是 一种 类 似 于 计 算 机 高 级 语 言 的编
5 结 束 语
本 文 介 绍 了利 用 西 门子 P C 的 S L CL编 程 语 言 实 现 大 林 算 法 对 烟 丝 回潮 筒控 制 的 方法 。 而在 结 构 上 , 回潮 筒 是 一 个 具 有 大 的纯 延 时 的 系 统 。 般 的 控制 方 法 对 水 分 控 制 精 度 有 限 , 至 会 一 甚
一
VAR E ND VAR VAR NPUT I
阜
一
丁 n
・
D:一—
一— e丁 一
P RE V: AL;
END VAR
K( -e 。) 1
VAR N OUT I
E ND VAR
VAR OUTPUT
大林算法

E(z) E(k)
D1 (z)
U1 (z) u 1 (k)
U(z) D2 (z) U(k)
图7―22 串行程序设计法框图
开始
初始化
求u 1 (k)=3E(k)+0.6E(k-1)+0.1U1 (k-1)
E(k)= R(k)- M(k)
计算U1 (k-1)
计算3E(k) 求-0.2U(k-1) 计算0.6E(k-1) 求U(k)= 1 (k)+ 1 (k-1)-0.2U(k-1) U U 计算0.1U1 (k-1)
解,以部分分式来表示
U ( z) z 2z 1 3z 5 D( z ) 2 1 E ( z ) z 5z 6 ( z 2)( z 3) z 3 4z 8 ( z 3) 4( z 2) 1 1 ( z 2)( z 3) ( z 2)( z 3) 1 1 1 z2 z3
G0 ( z ) s 1
• 周期为T=0.5s,使用大林 • • 算法设计控制器D(z),并分析是否会 产生振铃现象。 • 解:对于大林算法,将被控对象 的传递函数与式(7―65)比较,可得 • K=1,θ= r· T=1,r =2, τ1=1
• 由式(7―70)得广义对象的z传递函数为
大多数工业生产过程的对象一般可用带纯滞后的一阶或二阶惯性环节近似高阶可用主导极点的惯性常数来代766765741一阶被控对象的大林算法770将式768与770代入式769则得大林算法的数字控制器即将z和gz代入式769得二阶被控对象的大林算法数字控制器的z例727已知数字控制器脉冲传递函数dz为试用直接程序设计法写出实现dz的表达式画出用直接程序设计法实现dz的原理框图
E ( z ) z 2 0.1z 0.02 (3z 0.6) ( z 1) ( z 0.1) ( z 0.2) D( z )
大林算法控制器设计(精)

《计算机控制》课程设计报告题目: Dahlin算法控制器设计**: ***学号: *********2012年7月13日《计算机控制》课程设计任务书指导教师签字:系(教研室)主任签字:2012年7 月5 日一.课题名称Dahlin 算法控制器设计二.课程设计目的课程设计是课程教学中的一项重要内容,是达到教学目标的重要环节,是综合性较强的实践教学环节,它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、提高学生全面素质具有很重要的意义。
《计算机控制技术》是一门理论性、实用性和实践性都很强的课程,课程设计环节应占有更加重要的地位。
计算机控制技术的课程设计是一个综合运用知识的过程,它需要控制理论、程序设计、硬件电路设计等方面的知识融合。
通过课程设计,加深对学生控制算法设计的认识,学会控制算法的实际应用,使学生从整体上了解计算机控制系统的实际组成,掌握计算机控制系统的整体设计方法和设计步骤,编程调试,为从事计算机控制系统的理论设计和系统的调试工作打下基础。
三.提供的实验条件(1)软件:Matlab, Altium Designer ,KEIL (2)仪器和设备:计算机、单片机四.课程设计内容被控对象为s e s s s G 12)110)(2.0(20)(-++=,T=0.5s ,6=τT ,采用Dahlin算法设计消除振铃的数字控制器。
五.工作原理在控制系统应用中,纯滞后环节往往是影响系统动态特性的不利因素。
工业过程中如钢铁,热工和化工过程中往往会有纯滞后环节。
对这类系统,控制器如果设计不当,常常会引起系统的超调和持续振荡。
由于纯延迟的存在,使被控量对干扰、控制信号不能即时的反映。
即使调节机构接受控制信号后立即动作,也要经过纯延时间t 后才到达被控量,使得系统产生较大的超调量和较长的调节时间。
当t >=0.5T (T 为对象的时间常数)时,实践证明用PID 控制很难获得良好的控制品质。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.4 大林(Dahlin)算法前面介绍的最少拍无纹波系统的数字控制器的设计方法只适合于某些随动系统,对系统输出的超调量有严格限制的控制系统它并不理想。
在一些实际工程中,经常遇到纯滞后调节系统,它们的滞后时间比较长。
对于这样的系统,往往允许系统存在适当的超调量,以尽可能地缩短调节时间。
人们更感兴趣的是要求系统没有超调量或只有很小超调量,而调节时间则允许在较多的采样周期内结束。
也就是说,超调是主要设计指标。
对于这样的系统,用一般的随动系统设计方法是不行的,用PID算法效果也欠佳。
针对这一要求,IBM公司的大林(Dahlin)在1968年提出了一种针对工业生产过程中含有纯滞后对象的控制算法。
其目标就是使整个闭环系统的传递函数相当于一个带有纯滞后的一阶惯性环节。
该算法具有良好的控制效果。
3.4.1 大林算法中D(z)的基本形式设被控对象为带有纯滞后的一阶惯性环节或二阶惯性环节,其传递函数分别为:(3-4-1)(3-4-2)其中为被控对象的时间常数,为被控对象的纯延迟时间,为了简化,设其为采样周期的整数倍,即N为正整数。
由于大林算法的设计目标是使整个闭环系统的传递函数相当于一个带有纯滞后的一阶惯性环节,即,其中由于一般控制对象均与一个零阶保持器相串联,所以相应的整个闭环系统的脉冲传递函数是(3-4-3)于是数字控制器的脉冲传递函数为(3-4-4)D(z)可由计算机程序实现。
由上式可知,它与被控对象有关。
下面分别对一阶或二阶纯滞后环节进行讨论。
3.4.2 一阶惯性环节的大林算法的D(z)基本形式当被控对象是带有纯滞后的一阶惯性环节时,由式(3-4-1)的传递函数可知,其脉冲传递函数为将此式代入(3-4-4),可得(3-4-5)式中:T——采样周期:———被控对象的时间常数;———闭环系统的时间常数。
3.4.3 二阶惯性环节大林算法的D(z)基本形式当被控对象为带有纯滞后的二阶惯性环节时,由式(3-4-1)的传递函数可知,其脉冲传递函数为其中,将式G(z)代入式(3-4-3)即可求出数字控制器的模型:(3-4-6)3.4.4 振铃现象及其消除方法振铃现象是指数字控制器的输出以接近1/2采样频率的频率,大幅度衰减振荡。
它对系统的输出几乎无影响,但会使执行机构因磨损而造成损坏。
衡量振铃现象的强烈程度的量是振铃幅度RA (Ringing Amplitude)。
它的定义是:控制器在单位阶跃输入作用下,第零次输出幅度与第一次输出幅度之差值。
已知数字控制器脉冲传递函数的一般形式可写为(3-4-7)其中(3-4-8)控制器输出幅度的变化取决于Q(z),当不考虑(它只是输出序列延时)时,则Q(z)在阶跃脉冲作用下的输出为故可求出振铃幅度(3-4-9)振铃现象产生的根源在于Q(z)中z = -1附近有极点。
极点在z=-1时最严重,离z= -1越远,振铃现象就越弱。
在单位圆内右半平面有零点时,会加剧振铃现象;而在左半平面有极点时,则会减轻振铃现象。
大林提出一种消除振铃现象的方法,即先找出造成振铃现象的极点因子,令其中z =1,这样便消除了这个极点。
根据中值定理,这样的处理不会影响输出的稳态值。
下面来分析一阶(或二阶)惯性环节的数字控制器D(z)的振铃现象及其消除方法。
1. 被控对象为一阶惯性环节被控对象为纯滞后的一阶惯性环节时,将表示其数字控制器的D(z)的(3-4-5)式化成一般形式如下:由此可求出振铃幅值为(3-4-10)如果选τ≥τ1,则RA≤0,无振铃现象。
如果选择τ<τ1,则有振铃现象。
由此可见,当系统的时间常数τ大于或等于被控对象的时间常数τ1时,即可消除振铃现象。
将式D(z)的分母进行分解,可得(3-4-11)在(3-4-25)中,z=1处的极点并不引起振铃现象。
可能引起振铃现象的因子为当N=0时,此因子消失,无振铃可能。
当N=1时,有一个极点在。
当时,,即时,将产生严重振铃现象。
当N=2时,极点为当时,则有,将有严重的振铃现象。
以N=2,且为例,消除振铃现象后,D(z)修改为(3-4-12)2. 被控对象为二阶惯性环节被控对象为具有纯滞后的二阶惯性环节时,D(z)为(3-4-20)式,与一阶惯性环节类似, D(z)中有一个极点是,在时,,即在z= -1处有极点,系统将出现强烈的振铃现象,振铃幅度为当T→0时,,按前述方法消除这个极点,则(3-4-13)下面通过一个实例来说明消除振铃的方法。
例 3-4-1 已知某控制系统被控对象的传递函数为。
试用大林算法设计数字控制器D(z)。
设采样周期为T=0.5s,并讨论该系统是否会发生振铃现象。
如果振铃现象出现,如何消除。
解:由题可知,,当被控对象与零阶保持器相连时,系统的广义对象的传递函数为于是,可求出广义对象的数字脉冲传递函数为大林算法的设计目标是使整个闭环系统的脉冲传递函数相当于一个带有纯滞后的一阶惯性环节。
据此可设,则由(3-4-19)式可得由上式可知,D(z)有三个极点:,根据前边的讨论z=1处的极点不会引起振铃现象,引起振铃现象的极点为依据前述讨论,要想消除振铃现象,应去掉分母中的因子,即令(即),代入上式即可消除振铃现象。
这样,无振铃时,数字控制器的脉冲传递函数D(z)为3.5 D(z)算法的软件实现在上几节中,我们讨论了各种数字控制器D(z)的设计方法,本节讨论实现D(z)的算法。
D(z)可以采用硬件电路实现,但目前更多的是采用计算机软件实现,因为软件可以方便地实现十分复杂的D(z)算式,也使控制系统十分灵活。
3.5.1 直接程序设计法D(z)通常可表示为(3-5-1)式中,P(z)和E(z)分别为数字控制器输出序列和输入序列的Z变换。
从式(3-5-1)中可以求出(3-5-2) 为了实现方便,对(3-5-29)式进行Z反变换,写成差分方程的形式:利用(3-5-3)式可直接进行计算机编程,去实现D(z)算法,因此,可称之为直接程序设计法。
由式(3-5-3)可画出实现D(z)算法的原理框图,如图 3-4所示。
图 3-4 直接程序设计法原理图由式(3-5-3)及图3-3可以看出,每计算一次p(k),要进行m+n次加法,m+n+1次乘法和m+n次数据传递。
本次采样周期输出的值p(k),在下一个采样周期就变成了p(k-1)。
同样,e(k)将变成e(k-1),其余的e(k-j)和p(k-j)也都要递推一次,变成e(k-j-1)和p(k-j-1),以便于下一个采样周期使用。
例3-5-1 已知数字控制器的脉冲传递函数,试用直接程序设计法写出实现D(z)的表达式。
解:对D(z)的分子、分母都乘以z-n,其中n为分母最高次幂,便可以得到以z-n,z-n-1,…,z -1为变量的D(z)的有理式表示式。
本例中n=2,即对D(z)进行交叉相乘、移项整理可得再进行Z反变换,可得数字控制器的差分方程。
3.5.2 串行程序设计法串行程序设计法也叫迭代程序设计法。
如果D(z)中的零点、极点均已知,则D(z)可以写成如下形式:(3-5-4)根据迭代原理,若令(3-5-5)则 (3-5-6)因此,D(z)可以看成是由共n个子脉冲传递函数串联而成,如图 3-5所示。
图 3-5 串行程序设计法原理图为了计算D(z)的p(k),可分别先求出各个子脉冲传递函数的p1(k),p2(k),p3(k),…,最后算出p(k)。
先计算p1(k)。
由进行Z反变换得整理可得(3-5-7)依次类推,可得n个迭代表达式或D(z)差分方程组为用式(3-5-8)编制程序可以迭代计算出P(k)。
程序每算出一次P(k)需进行(m+n)次加减法,(m+n+1) 次乘法和n次数据传送。
例3-5-2 设数字控制器,试用串行程序设计法写出D(z)的迭代表达式。
解:首先对分子分母分解因式,子脉冲传递函数为将D1(z)、D2(z)分别进行交叉相乘及Z反变换即得3.5.3 并行程序设计法若D(z)可以写成部分分式的形式,即(3-5-9)把(3-5-9)的右边各分式看作是D(z)的子脉冲传递函数D1(z),D2(z),D3(z),…,D n(z),即:因此有 (3-5-11)由此可见,D(z)是由各个子脉冲传递函数D1(z),D2(z),D3(z),…,D n(z)并联而成,如图 3-6所示。
图 3-6 并行程序设计法原理图将各个子脉冲传递函数D1(z),D2(z),D3(z),…,D n(z)进行交叉相乘及Z反变换可得相应的差分方程组:按式(3-5-12)分别求出P1(k),P2(k),P3(k),…,P n(k)之后,便可计算出数字控制器的P(k)值,即(3-5-13)按式(3-5-12)和式(3-5-13)编写计算机程序计算P(k)的值,叫并行程序设计法。
这种方法每计算一次P(k),就要进行(2n-1)次加减法,2n次乘法和(n+1) 次数据传送。
例3-5-3 设数字控制器,试用并行程序设计法写出实现D(z)的差分方程组。
解:对D(z)进行因式分解,以部分分式表示,即可得各个子脉冲传递函数为将D1(z)、D2(z)和D3(z)分别进行交叉相乘及Z反变换得于是,得以上三种求数字控制器D(z)输出差分方程的方法各有所长。
就计算效率而言,串行程序设计为最佳。
直接程序设计法的优点是,式(3-5-30)中除j=0时涉及e(k)外,其余各项都可以在采集e(k)之前全部计算出来,因而可大大减少计算机延时,提高系统的动态性能。
另一方面,串行法和并行法在设计高阶数字控制器时,可以简化程序,因为只要设计出一阶或二阶的D(z)子程序,经过反复调用子程序就可实现D(z),使程序占用内存少,容易阅读,且调试方便。
应当指出,在串行和并行法程序设计中,需要将高阶函数分解成一阶或二阶的环节。
这种分解不是在任何情况下都可以进行的。
只有当零点和极点已知时,分解才很容易进行。
否则分解要花费大量时间,甚至根本不可能。
在这种情况下不如采用直接程序设计法。
3.5.4 数字控制器设计方法现在我们把数字控制器的设计方法综合归纳如下:(1) 首先根据被控对象的传递函数,求出系统(包括零阶保持器在内)的广义对象的传递函数(2) 求出与G(s)对应的广义对象的脉冲传递函数G(z)(3) 根据控制系统的性能指标及输入条件,确定整个闭环系统的脉冲传递函数ф(z);(4) 根据(3-2-2)确定数字控制器的脉冲传递函数D(z),即(5) 对于最少拍无纹波系统,验证是否有纹波存在;对于带有纯滞后惯性环节的系统,还要看是否出现振铃现象;(6) 写出D(z)的差分方程表达式,若采用直接程序设计法,用式(3-5-3);若采用串行程序设计法,用式(3-5-8);若采用串行程序设计法,用式(3-5-12)和式(3-5-13)。
(7) 根据系统的采样周期、时间常数及其它条件求出相应的系数,并将其转换成计算机能够接受的数据形式;(8) 由差分方程编写程序,可以采用汇编语言,也可采用高级语言中的C语言、C51、C98或VC++等。