matlab单容水箱液位pid控制,双容水箱pid控制MATLAB仿真参数
一内容介绍计算机控制技术课程是电气信息类专业的主干课程之一,实验教学是该课程教学的重要组成部分。本实验项目以水箱液位为控制参量,设计了包括系统硬件,基于矩阵实验室的控制界面,PID控制程序等内容的计算机控制技术实验方案。通过教学实践,培养了学生的综合能力,达到了预期的教学目的。
2部分代码函数varargout=PID _ opt _ pj(vara gin)
用于PID_OPT_PJ的% PID_OPT_PJ M文件
% PID_OPT_PJ本身会创建一个新的PID_OPT_PJ或引发现有的
%单例* .
%
% H=PID_OPT_PJ将句柄返回给新的PID_OPT_PJ或将句柄返回给
%现有的单例*。
%
% PID_OPT_PJ(回调,hObject,eventData,handles,)调用本地
% PID _ OPT _ PJ中的函数名为回电.用给定的输入参数初始化m .
%
% PID_OPT_PJ(属性,值,)创建一个新的PID_OPT_PJ或引发
%现有单例*。从左边开始,属性值对是
%在调用pid_opt_pj_OpeningFunction之前应用于图形用户界面.一;一个
%无法识别的属性名或无效值使属性应用程序
%停止。所有输入都通过变长度输入宗量传递给pid_opt_pj_OpeningFcn .
%
% *请参见指南的"工具"菜单上的图像使用者界面选项。选择图像使用者界面只允许一个
要运行的%实例(单例)”.
%
%请参阅:指南、GUIDATA、GUIHANDLES
%版权所有2002-2003 MathWorks公司。
%编辑以上文本以修改对帮助pid_opt_pj的响应
%上次修改指南版本2.5 2022年四月30日09:11:18
%开始初始化代码-不要编辑
GUI _ Singleton=1;
gui_State=struct(gui_Name ,mfilename,
gui_Singleton ,gui_Singleton,
gui_OpeningFcn ,@pid_opt_pj_OpeningFcn,
gui_OutputFcn ,@pid_opt_pj_OutputFcn,
gui_LayoutFcn ,[],
gui_Callback ,[]);
if nargin ischar(varargin{1})
GUI _ state。GUI _ Callback=str 2 func(vara rgin { 1 });
目标
如果输出参数的数目
[varargout { 1:nargout }]=GUI _ mainfcn(GUI _ State,vara gin {:});
其他
gui_mainfcn(gui_State,vara rgin {:});
目标
%结束初始化代码-不要编辑
% -在pid_opt_pj可见之前执行。
函数pid_opt_pj_OpeningFcn(hObject,eventdata,handles,varargin)
%此函数没有输出参数,请参见输出Fcn .
% h对象句柄到数字
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄包含句柄和用户数据的结构(请参见GUIDATA)
% vara gin PID _ opt _ pj的命令行参数(请参见瓦拉金酒)
%选择pid_opt_pj的默认命令行输出
handles.output=hObject
%更新句柄结构
guidata(hObject,handles);
%等待使pid_opt_pj等待用户响应(请参见UIRESUME)
% ui等待(句柄。图_ PID _ opt _ pj);
setappdata(handles.axes1, tout ,0);
setappdata(handles.axes1, yout ,0);
set(handles.btn_no_pid, Enable , on );
set(handles.btn_pid, Enable , on );
set(handles.btn_reset, Enable , on );
% -此函数的输出返回到命令行。
函数varargout=PID _ opt _ pj _ output fcn(h对象,eventdata,句柄)
% varargout单元格数组,用于返回输出参数(请参见VARARGOUT);
% h对象句柄到数字
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄包含句柄和用户数据的结构(请参见GUIDATA)
%从句柄结构获取默认命令行输出
varargout { 1 }=handles.output
函数edit_pid_Callback(hObject,eventdata,handles)
% h编辑_ PID的对象句柄(见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄包含句柄和用户数据的结构(请参见GUIDATA)
% Hints: get(hObject, String )以文本形式返回编辑_pid的内容
% str 2 double(get(ho object, String ))以双精度形式返回编辑_pid的内容
% -在设置所有属性后,在对象创建期间执行。
函数edit_pid_CreateFcn(hObject,eventdata,handles)
% h编辑_ PID的对象句柄(见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄为空-调用所有创建Fcns后才创建句柄
%提示:在Windows操作系统上,编辑控件通常有一个白色背景。
%参见上海跨国采购中心有限公司和计算机。
如果上海跨国采购中心有限公司
set(hObject, BackgroundColor , white );
其他
set(ho对象, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ));
目标
函数edit_I_Callback(hObject,eventdata,handles)
% h编辑对象句柄_I(见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄包含句柄和用户数据的结构(请参见GUIDATA)
% Hints: get(hObject, String )以文本形式返回编辑_I的内容
% str 2 double(get(ho object, String ))以双精度形式返回编辑_I的内容
% -在设置所有属性后,在对象创建期间执行。
函数edit_I_CreateFcn(hObject,eventdata,handles)
% h编辑对象句柄_I(见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄为空-调用所有创建Fcns后才创建句柄
%提示:在Windows操作系统上,编辑控件通常有一个白色背景。
%参见上海跨国采购中心有限公司和计算机。
如果上海跨国采购中心有限公司
set(hObject, BackgroundColor , white );
其他
set(ho对象, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ));
目标
函数edit_P_Callback(hObject,eventdata,handles)
% h编辑对象句柄_P(见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄包含句柄和用户数据的结构(请参见GUIDATA)
% Hints: get(hObject, String )以文本形式返回编辑_P的内容
% str 2 double(get(ho object, String ))以双精度形式返回编辑_P的内容
% -在设置所有属性后,在对象创建期间执行。
函数edit_P_CreateFcn(hObject,eventdata,handles)
% h编辑对象句柄_P(见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄为空-调用所有创建Fcns后才创建句柄
%提示:在Windows操作系统上,编辑控件通常有一个白色背景。
%参见上海跨国采购中心有限公司和计算机。
如果上海跨国采购中心有限公司
set(hObject, BackgroundColor , white );
其他
set(ho对象, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ));
目标
函数edit_D_Callback(hObject,eventdata,handles)
% h编辑对象句柄_D(见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄包含句柄和用户数据的结构(请参见GUIDATA)
% Hints:get(ho object, String )以文本形式返回编辑_D的内容
% str 2 double(get(ho object, String ))以双精度形式返回编辑_D的内容
% -在设置所有属性后,在对象创建期间执行。
函数edit_D_CreateFcn(hObject,eventdata,handles)
% h编辑对象句柄_D(见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄为空-调用所有创建Fcns后才创建句柄
%提示:在Windows操作系统上,编辑控件通常有一个白色背景。
%参见上海跨国采购中心有限公司和计算机。
如果上海跨国采购中心有限公司
set(hObject, BackgroundColor , white );
其他
set(ho对象, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ));
目标
% -在btn_pid中按下按钮时执行。
函数btn_pid_Callback(hObject,eventdata,handles)
[t,x,y]=sim( have _ PID );
plot(t,y);
a=get _ param( have _ PID/Subsystem , Kp );
b=get _ param( have _ PID/Subsystem , Ki );
c=get _ param( have _ PID/Subsystem , Kd );
set(handles.edit_P, string ,a);
set(handles.edit_I, string ,b);
set(handles.edit_D, string ,c);
ym=max(y);
ys=y(长度(t));
n=1;
ys=y(长度(t));
n=1;
而y(n) ys
n=n ^ 1;目标
set(handles.edit5, string ,tr);%上升时间
tp=spline(t,y,ym)
set(handles.edit6, string ,TP);%峰值时间
l=长度(t);
而(y(L) 0.98*ys) (y(L) 1.02*ys)
L=L-1;目标
ts=t(L)
set(handles.edit7, string ,ts) %调节时间
CTL=(ym-ys)/ys * 100;
set(handles.edit8, string ,CTL);%超调量
es=(ys-20)/20 * 100;
set(handles.edit9, string ,es);%稳态误差
% -在btn_no_pid中按下按钮时执行。
函数btn_no_pid_Callback(hObject,eventdata,handles)
至btn _ no _ pid的对象句柄(见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄包含句柄和用户数据的结构(请参见GUIDATA)
[t,x,y]=sim( no _ PID );
plot(t,y);
% -在btn _重置中按下按钮时执行。
函数btn_reset_Callback(hObject,eventdata,handles)
% h BTN _重置的对象句柄(见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄包含句柄和用户数据的结构(请参见GUIDATA)
% Hint:get(ho object, Value )返回btn _重置的切换状态
val=get(hObject, value )
如果val==1
x=get(handles.edit_P, string );
y=get(handles.edit_I, string );
z=get(handles.edit_D, string );
set_param(have_pid/Subsystem , Kp ,x);
set_param(have_pid/Subsystem , Ki ,y);
set_param(have_pid/Subsystem , Kd ,z);
[t,x,y]=sim( have _ PID );
plot(t,y);
ym=max(y);
ys=y(长度(t));
n=1;
ys=y(长度(t));
n=1;
而y(n) ys
n=n ^ 1;目标
set(handles.edit5, string ,tr);%上升时间
tp=spline(t,y,ym)
set(handles.edit6, string ,TP);%峰值时间
l=长度(t);
而(y(L) 0.98*ys) (y(L) 1.02*ys)
L=L-1;目标
ts=t(L)
set(handles.edit7, string ,ts) %调节时间
CTL=(ym-ys)/ys * 100;
set(handles.edit8, string ,CTL);%超调量
es=(ys-20)/20 * 100;
set(handles.edit9, string ,es);%稳态误差
n=1;
set(handles.btn_reset, Enable , on );
val=0;
结束;
函数edit5_Callback(hObject,eventdata,handles)
% h要编辑的对象句柄5(请参见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄包含句柄和用户数据的结构(请参见GUIDATA)
% Hints: get(hObject, String )以文本形式返回第5版的内容
% str 2 double(get(ho object, String ))以双精度形式返回第5版的内容
% -在设置所有属性后,在对象创建期间执行。
函数edit5_CreateFcn(hObject,eventdata,handles)
% h要编辑的对象句柄5(请参见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄为空-调用所有创建Fcns后才创建句柄
%提示:在Windows操作系统上,编辑控件通常有一个白色背景。
%参见上海跨国采购中心有限公司和计算机。
如果上海跨国采购中心有限公司
set(hObject, BackgroundColor , white );
其他
set(ho对象, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ));
目标
函数edit6_Callback(hObject,eventdata,handles)
% h要编辑的对象句柄6(请参见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄包含句柄和用户数据的结构(请参见GUIDATA)
% Hints: get(hObject, String )以文本形式返回第六版的内容
% str 2 double(get(ho object, String ))以双精度形式返回第六版的内容
% -在设置所有属性后,在对象创建期间执行。
函数edit6_CreateFcn(hObject,eventdata,handles)
% h要编辑的对象句柄6(请参见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄为空-调用所有创建Fcns后才创建句柄
%提示:在Windows操作系统上,编辑控件通常有一个白色背景。
%参见上海跨国采购中心有限公司和计算机。
如果上海跨国采购中心有限公司
set(hObject, BackgroundColor , white );
其他
set(ho对象, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ));
目标
函数edit7_Callback(hObject,eventdata,handles)
% h要编辑的对象句柄7(请参见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄包含句柄和用户数据的结构(请参见GUIDATA)
% Hints: get(hObject, String )以文本形式返回第7版的内容
% str 2 double(get(ho object, String ))以双精度形式返回第7版的内容
% -在设置所有属性后,在对象创建期间执行。
函数edit7_CreateFcn(hObject,eventdata,handles)
% h要编辑的对象句柄7(请参见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄为空-调用所有创建Fcns后才创建句柄
%提示:在Windows操作系统上,编辑控件通常有一个白色背景。
%参见上海跨国采购中心有限公司和计算机。
如果上海跨国采购中心有限公司
set(hObject, BackgroundColor , white );
其他
set(ho对象, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ));
目标
函数edit8_Callback(hObject,eventdata,handles)
% h要编辑的对象句柄8(请参见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄包含句柄和用户数据的结构(请参见GUIDATA)
% Hints: get(hObject, String )以文本形式返回版本8的内容
% str 2 double(get(ho object, String ))以双精度形式返回版本8的内容
% -在设置所有属性后,在对象创建期间执行。
函数edit8_CreateFcn(hObject,eventdata,handles)
% h要编辑的对象句柄8(请参见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄为空-调用所有创建Fcns后才创建句柄
%提示:在Windows操作系统上,编辑控件通常有一个白色背景。
%参见上海跨国采购中心有限公司和计算机。
如果上海跨国采购中心有限公司
set(hObject, BackgroundColor , white );
其他
set(ho对象, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ));
目标
函数edit9_Callback(hObject,eventdata,handles)
% h要编辑的对象句柄9(请参见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄包含句柄和用户数据的结构(请参见GUIDATA)
% Hints: get(hObject, String )以文本形式返回第9版的内容
% str 2 double(get(ho object, String ))以双精度形式返回第9版的内容
% -在设置所有属性后,在对象创建期间执行。
函数edit9_CreateFcn(hObject,eventdata,handles)
% h要编辑的对象句柄9(请参见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄为空-调用所有创建Fcns后才创建句柄
%提示:在Windows操作系统上,编辑控件通常有一个白色背景。
%参见上海跨国采购中心有限公司和计算机。
如果上海跨国采购中心有限公司
set(hObject, BackgroundColor , white );
其他
set(ho对象, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ));
目标
3运行结果
四参考文献[1]范振瑞。基于矩阵实验室的PID温度控制系统设计[J]的缩写.电子科技, 2013, 26(8):164-167.
[2]王佳庆,肖忠,王晓刚,等。基于矩阵实验室的水箱液位控制系统实验设计及教学实践[J]的缩写.高教学刊, 2020(8):3.
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。