主要内容

生成MATLAB代码从控制系统调谐器命令行调优

你可以生成一个MATLAB®脚本控制系统调谐器用于在命令行上调优控制系统。当您希望以编程方式重新生成交互式获得的结果时,生成的脚本非常有用。生成的MATLAB脚本还使您能够以编程方式执行多个调优操作,这些操作具有调优目标、系统参数或模型条件(如工作点)的变化。

提示

你也可以保存一个控制系统调谐器在会话中复制控制系统调谐器.这样做,在控制系统选项卡上,单击保存会话

生成MATLAB脚本控制系统调谐器,在调优选项卡上,单击调优.选择带有当前值的脚本

MATLAB编辑器显示生成的脚本,该脚本以编程方式重现控制系统调谐器的当前调谐配置。

例如,假设您在完成示例中的所有步骤后生成一个MATLAB脚本利用控制系统调谐器控制直线电动执行器.生成的脚本计算用于调优的操作点,指定要调优的块,创建调优目标,并执行其他操作以在命令行上再现结果。

脚本的第一部分创建slTuner接口到Simulink万博1manbetx®模型(rct_linact在这个例子中)。的slTuner接口存储模型的线性化和要调优的块的参数化。

使用slTuner接口创建系统数据TunedBlocks = {' rt_linact /当前控制器/当前PID'...'rct_linact/Speed Controller/Speed PID'};AnalysisPoints = {' rt_linact /Speed Demand (rpm)/1'...“rct_linact /电流传感器/ 1”...'rct_linact/霍尔效应传感器/1'...'rct_linact/Speed Controller/Speed PID/1'...'rct_linact/Current Controller/Current PID/1'};OperatingPoints = 0.5;指定自定义选项选项= slTunerOptions(“AreParamsTunable”、假);创建slTuner对象CL0 = slTuner(“rct_linact”, AnalysisPoints TunedBlocks OperatingPoints选项);

slTunerInterface还指定了模型线性化的操作点,并将指定示例调优目标所需的所有信号位置标记为分析点。(见创建并配置slTuner接口到Simulink模型万博1manbetx.)

如果您正在调优一个用MATLAB而不是Simulink建模的控制系统,脚本的第一部分将构造一个万博1manbetx一族模型具有等效的动力学和参数化一族您指定的控制系统的型号控制系统调谐器

接下来,脚本创建示例中指定的三个调优目标。脚本使用TuningGoal对象来捕获这些调优目标。例如,脚本使用TuningGoal。跟踪以捕获示例的跟踪目标。

创建调优目标,以遵循指定性能的参考命令%输入输出输入= {' rt_linact /Speed Demand (rpm)/1'};输出= {'rct_linact/霍尔效应传感器/1[rpm]'};调优目标规格ResponseTime = 0.1;%跟踪带宽的近似倒数DCError = 0.001;最大稳态误差PeakError = 1;%跨频率的峰值误差为跟踪创建调优目标TR = TuningGoal.Tracking(输入,输出,ResponseTime,DCError,PeakError);TR.Name =“TR”调优目标名称

在创建调优目标之后,脚本设置您所设置的任何算法选项控制系统调谐器.脚本还根据调优目标的配置将调优目标指定为软目标或硬目标控制系统调谐器.(见管理调优目标.)

为systune命令创建选项集选项= systuneOptions();设定软目标和硬目标SoftGoals = [TR;...MG1;...MG2];HardGoals = [];

在这个例子中,当脚本生成时,所有的目标都被指定为软目标。因此,HardGoals是空的。

最后,脚本通过调用调优控制系统systuneslTuner接口使用调优目标和选项。

用软目标和硬目标调优参数[CL1,fSoft,gHard,Info] = systune(CL0,SoftGoals,HardGoals,Options);

脚本还包括一个可选的调用viewGoal,它显示调优目标的图形表示形式,以帮助您解释和验证调优结果。取消注释这行代码以生成图表。

查看调优结果% viewGoal ([SoftGoals; HardGoals], CL1);

您可以添加对函数的调用getIOTransfer使脚本生成额外的分析图。

相关的话题