CN104063546B - 一种大林算法实验平台 - Google Patents
一种大林算法实验平台 Download PDFInfo
- Publication number
- CN104063546B CN104063546B CN201410303621.7A CN201410303621A CN104063546B CN 104063546 B CN104063546 B CN 104063546B CN 201410303621 A CN201410303621 A CN 201410303621A CN 104063546 B CN104063546 B CN 104063546B
- Authority
- CN
- China
- Prior art keywords
- module
- output
- mux
- dahlin
- moment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Complex Calculations (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种大林算法实验平台,包括:Step模块,Sum模块,Clock模块,Mux模块1,MATLAB Fcn模块,Zero‑Order Hold模块,Transfer Fcn是传递函数模块,Transport Delay模块是传输延时模块,Mux模块2,Scope示波器模块2MATLAB Fcn模块和一个m语言编写的大林算法程序相关联,实现大林算法程序的编写;大林算法实验平台,可在平台上使用编程实现大林算法,并对编程后的大林算法进行实验。
Description
技术领域
本发明涉及实验平台,更准确地说,本发明涉及一种可以进行大林算法实验的实验平台。
背景技术
在高校“计算机控制技术”的课程教学中,需要进行大林算法的课堂教学和实验,以使学生掌握大林算法的编写方法以及该算法的特点。现有的大林算法实验平台主要有以下两种设计方法,一种是包括硬件实验箱的实验平台,该平台只能用于实验,无法用于课堂教学;另一种是采用纯软件的仿真实验平台,这种平台多采用Matlab/Simulink软件实现,该平台既可用于实验教学,也可用于课堂教学。
在采用Matlab/Simulink软件建立实验平台时,现有的方法通常是全部采用Simulink模块实现。采用这种方法,仿真平台宜于搭建,整个控制系统非常直观;但也存在着明显的不足,主要是由于直接采用传递函数实现大林算法控制器D(z),和实际系统不符,使学生无法理解大林算法控制器D(z)在时域是如何实现的,也就无法理解实际计算机控制系统如何实现大林算法。
因此,针对这一情况,在Matlab/Simulink软件中,结合Simulink模块和m语言,提出了一种大林算法实验平台的设计方法,以便学生更好地掌握大林算法的特点和实现方法。
发明内容
本发明的实施例的目的在于提供一种大林算法实验平台,可在平台上使用编程实现大林算法,并对编程后的大林算法进行实验。
为实现上述技术目的,所采取的技术方案是:一种大林算法实验平台,控制对象是一个带时延的二阶对象,其传递函数为;控制目标,也就是整个闭环系统的传递函数为;系统包括:
Step模块,代表单位阶跃信号输入,作为给定值;
Sum模块,实现给定值和反馈值的减法运算,得到偏差信号,并将偏差信号输出给Mux模块1;
Clock模块,输出时间值给Mux模块1;
Mux模块1将收集的时间和偏差信号输出到MATLAB Fcn模块;
MATLAB Fcn模块和一个m语言编写的大林算法程序相关联,实现大林算法程序的编写;
Zero-Order Hold模块是零阶保持器,实现数模转换器的功能,该模块的输出送到Scope示波器模块1,以便显示控制量的输出;
Transfer Fcn是传递函数模块,实现控制对象中的,其参数根据实际系统设定;
Transport Delay模块是传输延时模块,实现控制对象中的,其参数根据实际系统设定;
Mux模块2将给定值和输出值同时送到Scope示波器模块2,同时显示给定值和输出值。
通过以上模块实现大林算法,主要包括以下步骤:
第一步:设置所有模块的采样周期为T;
第二步:Step模块的输出连接Sum模块的正输入端,和Mux模块2的输入端1;
第三步:Transport Delay模块的输出连接Sum模块的负输入端,和Mux模块2的输入端2;
第四步:Sum模块的输出实现了给定值和输出量的差值,该输出连接和Mux模块1的输入端1;
第五步:Clock模块的输出连接Mux模块1的输入端2;
第六步:Mux模块1的输出端连接MATLAB Fcn模块,通过设置该模块的Function属性,将m语言程序编写的函数和该模块联系起来,该程序有两个参数输入,分别是Clock模块输出的时间u1和Sum模块输出的偏差u2。在m语言程序中,通过以下步骤实现大林算法。
步骤1:定义全局变量uq和eq,并计算;
步骤2:如果u1=0,也就是在0时刻程序刚执行时,令;,也就是设置系统为0初始状态;
步骤3:初始化参数:采样周期T,对象参数,大林常数;
步骤4:计算,;
步骤5:令error=u2,即将当前偏差赋予变量error;
步骤6:将大林算法控制器进行Z反变换,得到输出控制量;
其中,u表示当前采样周期时刻输出的控制量,uq(1)表示上一个采样周期时刻输出的控制量,uq(2)表示上两个采样周期时刻输出的控制量,uq(N+1)表示上(N+1)个采样周期时刻输出的控制量,uq(N+2)表示上(N+2)个采样周期时刻输出的控制量,error表示当前采样周期时刻的偏差,eq(1)表示上一个采样周期时刻的偏差,eq(2)表示上两个采样周期时刻的偏差。
大林算法会产生振铃现象,为了消除大林算法中的振铃现象,只要修改步骤6即可。
修改的步骤6:将消除振铃现象的大林算法控制器进行反变换,得到输出控制量;
步骤7:将变量uq和eq进行迭代,即, ;eq(2)=eq(1),eq(1)=error;
步骤8:返回步骤5继续执行。
第七步:MATLAB Fcn模块的输出连接Zero-Order Hold模块的输入,以便将离散的控制量连续化;
第八步:Zero-Order Hold模块的输出连接Transfer Fcn模块的输入,和Scope示波器模块1,以便显示控制量;
第九步:Transfer Fcn模块的输出连接Transport Delay的输入;
第十步:Mux模块2的输出连接Scope示波器模块2。
本发明有益效果:提出了引入Simulink中的MATLAB Fcn模块,并将该模块和matlab的m语言函数相关联的方法。经过这样处理后,可以从D(z)中得时域的表达式,即K时刻的控制量u(k)和k时刻以前的控制量,以及k时刻和k时刻以前的偏差e(k)的关系。在每个采样周期,可以根据偏差的大小发出合适的控制量,方便学生使用该平台去掌握大林算法的编写。
附图说明
图1是基于Matlab/Simulink软件搭建的实验平台。
图2是Simulink模块Matalb Fcn模块的设置界面;
图3是大林算法输出的控制量;
图4是基于大林算法的控制系统的输出;
图5是修改的大林算法输出的控制量;
图6是基于修改的大林算法控制系统的输出。
具体实施方式
为了使本实用新型的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实例仅仅用以解释本发明,并不用于限制本发明。
假定一个二阶系统,,,采样周期为T。
一个控制系统通常包括给定值输入,输出量的A/D采集和反馈,偏差计算,控制器,D/A输出,执行机构和控制对象。其中,控制器主要执行控制算法,通过软件编程实现,其余主要通过硬件完成。因此,用Simulink模块搭建如图1所示的实验平台。
在图1中,Step模块代表单位阶跃信号输入,作为给定值;Sum模块实现给定值和反馈值的减法运算,得到偏差信号;Clock模块输出时间值;Mux模块1将时间和偏差信号输出到MATLAB Fcn模块,MATLAB Fcn模块和一个m语言编写的大林算法程序相关联,以便学生编写大林算法;Zero-Order Hold模块是零阶保持器,实现数模转换器的功能,该模块的输出送到Scope示波器模块1,以便显示控制量的输出;Transfer Fcn是传递函数模块,实现控制对象中的,Transport Delay模块是传输延时模块,实现控制对象中的,当然,控制对象的参数根据实际系统而设定;Mux模块2将给定值和输出值同时送到Scope示波器模块2,从而在Scope示波器模块2同时显示给定值和输出值。
图1反映了控制系统的给定值,A/D采集,偏差计算,控制器,D/A转换器,执行机构和控制对象之间的关系。由于在控制系统中,控制算法通过软件编程实现,其余部分由硬件实现,因而图1中控制器由MATLAB Fcn模块仿真,以便学生编写控制算法程序;其余部分通过Simulink模块实现,用以模拟硬件平台,使仿真实验平台更加直观。
搭建图1的实验平台后,设置所有模块的采样周期为T。如图2所示,进一步设置MATLAB Fcn模块的参数,在MATLAB function下输入dl(u(1),u(2)),从而将m程序dl.m的函数dl和该模块联系起来,u(1)和u(2)表示该模块有两个参数输入,分别是时间u1和偏差u2。
在程序dl.m中,通过以下步骤实现大林算法。
步骤1:定义全局变量uq和eq,并计算;
步骤2:如果u1=0,也就是在0时刻程序刚执行时,令;,也就是设置系统为0初始状态;
步骤3:初始化参数:采样周期T,对象参数,大林常数;
步骤4:计算,;
步骤5:令error=u2,即将当前偏差赋予变量error;
步骤6:将大林算法控制器进行Z反变换,得到输出控制量;
其中,u表示当前采样周期时刻输出的控制量,uq(1)表示上一个采样周期时刻输出的控制量,uq(2)表示上两个采样周期时刻输出的控制量,uq(N+1)表示上 (N+1)个采样周期时刻输出的控制量, uq(N+2)表示上 (N+2)个采样周期时刻输出的控制量,error表示当前采样周期时刻的偏差,eq(1)表示上一个采样周期时刻的偏差,eq(2)表示上两个采样周期时刻的偏差。
大林算法会产生振铃现象,为了消除振铃现象,只要修改步骤6即可。
修改的步骤6:将消除振铃现象的大林算法控制器进行Z反变换,得到输出控制量;
使用修改后的步骤6后,即可消除振铃现象。
步骤7:将变量uq和eq进行迭代,即,;eq(2)=eq(1),eq(1)=error;
步骤8:返回步骤5继续执行。
本发明的实施例提供一种大林算法实验平台的设计方法。其实现方案如下:
假定一个二阶系统,,,采样周期T=0.1s。
基于Matlab/Simulink软件搭建实验平台如图1所示。
在图1中,Step模块代表单位阶跃信号输入,作为给定值;Sum模块实现给定值和反馈值的减法运算,得到偏差信号;Clock模块输出时间值;Mux模块1将时间和偏差信号输出到MATLAB Fcn模块,MATLAB Fcn模块和一个m语言编写的大林算法程序相关联,以便学生编写大林算法;Zero-Order Hold模块是零阶保持器,实现数模转换器的功能,该模块的输出送到Scope示波器模块1,以便显示控制量的输出;Transfer Fcn是传递函数模块,实现控制对象中的,Transport Delay模块是传输延时模块,实现控制对象中的;Mux模块2将给定值和输出值同时送到Scope示波器模块2,从而在Scope示波器模块2同时显示给定值和输出值。
搭建图1的实验平台后,将所有模块和采样周期T设置为0.1;如图2设置MATLABFcn模块的参数,在MATLAB function下输入dl(u(1),u(2)),从而将m程序dl.m的函数dl和该模块联系起来,u(1)和u(2)表示该模块有两个参数输入,分别是时间u1和偏差u2。
在程序dl.m中,通过以下步骤实现大林算法。
步骤1:定义全局变量uq和eq,并计算;
步骤2:如果u1=0,也就是在0时刻程序刚执行时,令;,也就是设置系统为0初始状态;
步骤3:初始化参数:采样周期T=0.1,对象参数大林常数;
步骤4:计算,;
步骤5:令error=u2,即将当前偏差赋予变量error;
步骤6:将大林算法控制器D(z)进行Z反变换,得到输出控制量;
为了消除振铃现象,只要步骤6即可。
修改的步骤6:将消除振铃现象的大林算法控制器D(z)进行Z反变换,得到输出控制量;
步骤7:将变量uq和eq进行迭代,即,;eq(2)=eq(1),eq(1)=error;
步骤8:返回步骤5继续执行。
图3是大林算法控制器输出的控制量,图4是基于大林算法的控制系统的输出。从图3和图4可知,系统输出量非常平滑,但控制量有大幅度衰减的震荡,即产生了振铃现象。这种现象对系统输出没有任何影响,但却会加速执行机构的磨损。
图5是修改后大林算法控制器输出的控制量,图6是修改大林算法后的控制系统输出。从图5和图6可知,系统输出量非常平滑,控制量没有大幅度衰减的震荡,即消除了了振铃现象。
可见,本实验平台通过Simulink模块模拟了硬件平台,利用Matlab的m语言编写函数,使学生易于修改大林算法,验证算法的各种特点,并掌握大林算法的编写方法。
Claims (1)
1.一种大林算法实验平台,其特征在于:控制对象是一个带时延的二阶对象,其传递函数为;控制目标,即整个闭环系统的传递函数为;系统包括:
Step模块,代表单位阶跃信号输入,作为给定值;
Sum模块,实现给定值和反馈值的减法运算,得到偏差信号,并将偏差信号输出给Mux模块1;
Clock模块,输出时间值给Mux模块1;
Mux模块1将收集的时间和偏差信号输出到MATLAB Fcn模块;
MATLAB Fcn模块和一个m语言编写的大林算法程序相关联,实现大林算法程序的编写;
Zero-Order Hold模块是零阶保持器,实现数模转换器的功能,该模块的输出送到Scope示波器模块1,以便显示控制量的输出;
Transfer Fcn是传递函数模块,实现控制对象中的 ,其参数根据实际系统设定;
Transport Delay模块是传输延时模块,实现控制对象中的,其参数根据实际系统设定;
Mux模块2将给定值和输出值同时送到Scope示波器模块2,同时显示给定值和输出值;
通过以上模块实现大林算法,主要包括以下步骤:
第一步:设置所有模块的采样周期为T;
第二步:Step模块的输出连接Sum模块的正输入端,和Mux模块2的输入端1;
第三步:Transport Delay模块的输出连接Sum模块的负输入端,和Mux模块2的输入端2;
第四步:Sum模块的输出实现了给定值和输出量的差值,该输出连接和Mux模块1的输入端1;
第五步:Clock模块的输出连接Mux模块1的输入端2;
第六步:Mux模块1的输出端连接MATLAB Fcn模块,通过设置该模块的Function属性,将m语言程序编写的函数和该模块联系起来,该程序有两个参数输入,分别是Clock模块输出的时间u1和Sum模块输出的偏差u2;在m语言程序中,
通过以下步骤实现大林算法:
步骤1:定义全局变量,并计算;
步骤2:如果u1=0,也就是在0时刻程序刚执行时,令;,也就是设置系统为0初始状态;
步骤3:初始化参数:采样周期T,对象参数,大林常数;
步骤4:计算,;
步骤5:令,即将当前偏差赋予变量error;
步骤6:将大林算法控制器进行z反变换,得到输出控制量;
其中,u表示当前采样周期时刻输出的控制量,uq(1)表示上一个采样周期时刻输出的控制量, uq(2)表示上两个采样周期时刻输出的控制量,uq(N+1)表示上(N+1)个采样周期时刻输出的控制量,uq(N+2)表示上(N+2)个采样周期时刻输出的控制量,error表示当前采样周期时刻的偏差,eq(1)表示上一个采样周期时刻的偏差,eq(2)表示上两个采样周期时刻的偏差;
大林算法会产生振铃现象,为了消除大林算法中的振铃现象,对步骤6修改;
修改的步骤6:将消除振铃现象的大林算法控制器进行z反变换,得到输出控制量;
步骤7:将变量uq和eq进行迭代,即,;,;
步骤8:返回步骤5继续执行;
第七步:MATLAB Fcn模块的输出连接Zero-Order Hold模块的输入,以便将离散的控制量连续化;
第八步:Zero-Order Hold模块的输出连接Transfer Fcn模块的输入,和Scope示波器模块1,以便显示控制量;
第九步:Transfer Fcn模块的输出连接Transport Delay的输入;
第十步:Mux模块2的输出连接Scope示波器模块2。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410303621.7A CN104063546B (zh) | 2014-06-30 | 2014-06-30 | 一种大林算法实验平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410303621.7A CN104063546B (zh) | 2014-06-30 | 2014-06-30 | 一种大林算法实验平台 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104063546A CN104063546A (zh) | 2014-09-24 |
CN104063546B true CN104063546B (zh) | 2017-02-22 |
Family
ID=51551259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410303621.7A Expired - Fee Related CN104063546B (zh) | 2014-06-30 | 2014-06-30 | 一种大林算法实验平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104063546B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105807632B (zh) * | 2016-05-06 | 2018-06-12 | 中南大学 | 一种基于改进大林算法的加热炉温度控制器设计方法 |
CN114262767B (zh) * | 2021-12-03 | 2023-05-16 | 本钢板材股份有限公司 | 一种基于大林算法的rh炉氧枪控制方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100520650C (zh) * | 2005-10-17 | 2009-07-29 | 中国科学院沈阳计算技术研究所有限公司 | 数控机床模糊pid控制方法及实现装置 |
US7930045B2 (en) * | 2008-10-07 | 2011-04-19 | Emerson Process Management Power & Water Solutions, Inc. | Two-stage model predictive control technique |
CN103309270B (zh) * | 2013-07-03 | 2015-05-20 | 哈尔滨工业大学 | 一种基于fpga的可变参数pi控制器 |
CN103760765B (zh) * | 2014-01-13 | 2016-04-20 | 清华大学 | 一种具有无扰切换功能的位置型自抗扰控制方法 |
-
2014
- 2014-06-30 CN CN201410303621.7A patent/CN104063546B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN104063546A (zh) | 2014-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Johansson et al. | Interactive tools for education in automatic control | |
US20140156234A1 (en) | Input output cloning for industrial automation | |
Menghal et al. | Real time simulation: A novel approach in engineering education | |
CN109100954A (zh) | 一种控制器硬件在环仿真平台建立方法 | |
CN104573287B (zh) | 基于界面绑定统一模型的数字仿真框架设计方法 | |
CN204537509U (zh) | Plc仿真实验平台 | |
US20120197617A1 (en) | Co-Simulation with Peer Negotiated Time Steps | |
WO2007095574A1 (en) | Solver for simulating a system in real time on a programmable hardware element | |
CN104063546B (zh) | 一种大林算法实验平台 | |
CN104199664B (zh) | 一种基于注释的仿真代码同步生成方法 | |
US20100030539A1 (en) | Simulation of a Motion System Including a Mechanical Modeler with Interpolation | |
CN109871636A (zh) | 一种虚拟仿真实验任务分发及生成方法及系统 | |
Caldognetto et al. | Digital controller development methodology based on real-time simulations with LabVIEW FPGAc hardware-software toolset | |
Lyakh et al. | Automatic verification of control software in cyber-physical systems with plant simulators | |
Carpeño et al. | 3D virtual world remote laboratory to assist in designing advanced user defined DAQ systems based on FlexRIO and EPICS | |
CN104571086A (zh) | 基于传递函数的温度控制器仿真测试方法 | |
Mora-Salinas et al. | Virtual labs: 5 ways to connect with Factory IO for mechatronics engineering courses | |
CN108181834A (zh) | 基于pscad/emtdc的半实物仿真的方法以及系统 | |
Mitts et al. | Using a co-simulation framework to enable software-in-the-loop powertrain system development | |
Brodskiy et al. | Fault avoidance in development of robot motion-control software by modeling the computation | |
CN109448486A (zh) | 一种应用于电力电子硬件在环的半实物仿真平台及其方法 | |
Nissimagoudar et al. | Practicing model based design and industrial approach for a course on automotive electronics | |
CN205880536U (zh) | 基于工业控制级通信要求的过程控制系统实验装置 | |
Schneider et al. | Functional digital mock-up–more insight to complex multi-physical systems | |
Zhang et al. | Experimental Case Design of Digital Logic Based on Through-type Teaching |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170222 Termination date: 20170630 |