主要内容

使用实时编辑器任务从测量的工厂数据调整PID控制器

此示例显示如何使用Live Editor任务来调整工厂的PID控制器,从测量的工厂响应到已知输入信号。在此示例中,您使用状态空间模型的估计任务生成用于估计参数工厂模型的代码。然后,你使用转换式速率任务是离散化连续时间识别模型。最后,使用曲调PID控制器任务设计一个PID控制器,以实现闭环响应,满足您的设计要求。(使用状态空间模型的估计需要系统识别工具箱™许可证。)

实时编辑器任务允许您交互地迭代参数和设置,同时观察它们对计算结果的影响。然后,该任务自动生成MATLAB®代码,以实现显示的结果。要试验此脚本中的Live Editor任务,请打开此示例。有关实时编辑器任务的详细信息,请参见将交互式任务添加到实时脚本中

装载工厂数据

加载测量的输入输出数据。在这个例子中,数据由一个引擎对一个啁啾输入的响应组成。输入是包含每004秒采样输入信号的矢量。输出矢量y包含相应的测量响应。

加载iceengine.matyt = 0.04 *(0:长度(u) 1);情节(t, u, t、y)传说(输入“u”“反应y”

图包含轴。轴包含2个类型的型号。这些对象表示输入u,响应y。

状态空间模型的估计

要从此数据估算状态空间模型,请使用状态空间模型的估计(系统辨识工具箱)实时编辑任务。您可以使用脚本插入任务任务菜单中。在这个脚本中,状态空间模型的估计已插入。打开示例以实验任务。

要执行估计,请在任务中指定加载的输入和输出信号,y,采样时间为0.04秒。(对于本例,您没有验证数据。)您还需要指定一个工厂订单。通常,您可以根据您对系统的了解来猜测植物的顺序。通常,您希望使用最低的工厂顺序,以给出一个合理的良好的估计拟合。在状态空间模型的估计任务,实验不同的植物顺序值,并观察拟合结果,显示在输出图。可选选项和参数的详细信息请参见状态空间模型的估计(系统辨识工具箱)任务参考页面。

随着任务中的参数,它会自动更新生成的代码以执行估计并创建图。(要查看生成的代码,请单击在任务的底部。)

对于这个例子,在第4个工厂,估计拟合约为72%。增加工厂顺序对拟合效果改善不大。因此,使用四阶工厂。控件的摘要行中输入的变量名将生成一个标识的状态空间模型状态空间模型的估计任务。对于此示例,使用sys_id..完成任务后完成实验后,识别的状态空间模型sys_id.在MATLAB®工作空间中,您可以使用它进行额外的设计和分析,就像使用任何其他LTI模型对象一样。例如,检查已识别的状态空间模型的频率响应sys_id.

BODE(SYS_ID)网格

假设您希望在为其设计PID控制器之前离散此模型。为此,使用转换式速率任务。在任务中,选择识别的模型sys_id..指定足够快的采样时间以在识别的模型响应中适应谐振,例如0.025秒。您还可以选择不同的转换方法以更好地匹配谐振附近的频率响应。例如,使用Bilinear(Tustin)近似,PRewarp频率为38.4 rad / s,峰值响应的位置。当您在任务中进行实验时,将原始和转换的模型与Bode Plot中的原件进行比较,以确保您对匹配感到满意。(有关参数和选项的更多信息,请参阅转换式速率任务参考页面。)

转换式速率生成使用您键入任务摘要行的变量名的离散化模型的代码。对于此示例,使用sys_d

要确认离散模型由于谐振而捕获瞬态响应,比较原始识别模型的步骤响应的前几秒钟sys_id.离散化模型sys_d

步骤(sys_id sys_d 3)传说('识别模型sys_id''离散模型sys_d'

用于离散植物模型的调谐控制器

最后,使用曲调PID控制器任务生成代码,用于调整离散设备的PI或PID控制器sys_d.该任务为指定的设备设计一个PID控制器,假定如下图所示的标准单元反馈控制配置。

在任务中选择sys_d作为工厂和实验的设置,如控制器类型和响应时间。在更改设置时,选择输出图,在其上观察任务生成的闭环响应。检查系统响应特性生成闭环阶跃响应特性的数值显示,例如上升时间和过冲。

对于此示例,假设您希望闭环系统在15秒内定居,并且系统可以容忍过冲不超过20%。调整控制器设置,如控制器类型响应时间实现目标。有关可用参数和选项的详细信息,请参阅曲调PID控制器任务参考页面。

设计的进一步分析

与其他Live Editor任务一样,曲调PID控制器生成使用您键入任务摘要行的变量名称的调谐控制器的代码。对于此示例,使用C.调整控制器C是A.pid模型对象的MATLAB工作空间,您可以使用进一步的分析。例如,计算装置输出扰动的闭环响应sys_d,使用此控制器。检查响应及其特征。

cldist = getPidlopropresponse(c,sys_d,“产出干扰”);步骤(CLdist)网格

你可以使用这些模型sys_id.sys_d,C对于任何其他控制设计或分析任务。

也可以看看

实时编辑任务

相关的话题