主要内容

使用Live Editor Tasks从测量的工厂数据调整PID控制器

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

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

装载工厂数据

加载测量的输入输出数据。在该示例中,数据包括发动机到啁啾输入的响应。输入是包含每004秒采样输入信号的矢量。输出矢量y包含相应的测量响应。

加载iceengine.matyt = 0.04 *(0:长度(u)-1);绘图(t,u,t,y)传奇(“输入U”“反应y”

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

估计状态空间模型

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

要执行估计,请在任务中指定加载的输入和输出信号,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控制器任务参考页面。

进一步分析设计

像其他实时编辑任务一样,曲调PID控制器生成使用您键入任务摘要行的变量名称的调谐控制器的代码。对于这个例子,使用C。调谐控制器C是A.PIDMATLAB工作空间中的模型对象可以用于进一步分析。例如,计算闭环响应植物输出的干扰sys_d.,使用此控制器。检查响应及其特征。

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

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

也可以看看

实时编辑任务

相关话题