主要内容

slTuner

界面控制系统调优金宝app模型

描述

= slTuner (mdl,tuned_blocks)创建一个slTuner接口,,调整控制系统的仿真软件金宝app®模型中,mdl。界面增加了线性模型分析点标记分析点。接口还增加了线性分析点,意味着一个开放永久的空缺。当接口执行线性化,例如,调整块,它使用模型初始条件作为操作点。

= slTuner (mdl,tuned_blocks,pt)添加指定的分析点的列表在模型,忽略线性分析点明显。

= slTuner (mdl,tuned_blocks,参数)指定参数的值调优模型块时你想要改变。

= slTuner (mdl,tuned_blocks,人事处)指定模型的优化操作点块。

= slTuner (mdl,tuned_blocks,blocksub)指定替代模块和子系统的线性化。使用这个语法,例如,指定一个自定义块的线性化。您还可以使用该语法块不成功线性化,如与不连续块或触发子系统。

= slTuner (mdl,tuned_blocks,选项)配置线性化算法的选择。

= slTuner (mdl,tuned_blocks,pt,人事处,参数,blocksub,选项)使用输入参数的任意组合pt,人事处,参数,blocksub,选项创建。例如,您可以使用:

  • 圣= slTuner (mdl tuned_blocks, pt、参数)

  • 圣= slTuner (mdl tuned_blocks, op,参数)

对象描述

slTuner仿真软件之间提供了一个接口模型和优化命令金宝appsystunelooptuneslTuner允许你:

  • 指定控制体系结构。

  • 指定和参数化块调整。

  • 优化控制系统。

  • 验证设计计算(线性)开环和闭环反应。

  • 写调谐值回模型。

因为调优命令等systune作用于线性模型,slTuner界面自动计算并存储模型的线性化模型。金宝app这种线性化自动更新当你改变任何的属性slTuner接口。更新发生当你调用命令,查询中存储的线性化接口。这样的命令包括systune,looptune,getIOTransfer,getLoopTransfer。关于线性化的更多信息,请参阅线性化是什么?

例子

全部折叠

创建和配置一个slTuner界面的仿真软件®模型,指定哪些块金宝app调整systunelooptune

打开仿真软件模型。金宝app

mdl =“scdcascade”;open_system (mdl)

控制系统由两个反馈循环,内循环与PI控制器C2和一个外循环PI控制器C1。假设您希望优化这个模型来满足控制目标如下:

  • 跟踪设定值的变化r在系统输出y1m零稳态误差和指定的上升时间。

  • 拒绝为代表的干扰d2

systune命令可以共同调整控制器模块以满足这些设计要求,你指定使用TuningGoal对象。的slTuner界面设置这个调优任务。

创建一个slTuner界面模型。

圣= slTuner (mdl, {“C1”,C2的});

这个命令初始化slTuner接口和指定的2π控制器模块为可调。每个可调谐块根据其类型和自动参数化仿真软件模型中初始化它的价值。金宝app其余的线性化,nontunable部分模型的计算和存储的slTuner接口。

配置slTuner任何信号接口,指定分析点的位置关联到您的设计要求。添加的输出和参考输入跟踪要求。同时,添加抑制扰动的位置。

addPoint (st, {“r”,“y1m”,“d2”});

现在这些位置在您的模型中可供参考TuningGoal对象捕捉你的设计目标。

显示的总结slTuner接口配置命令窗口。

slTuner优化界面“scdcascade”: 2调谐块:(只读TunedBlocks属性)- - - - - - - - - - - - - - - - - - - - - - - - - - - -块1:scdcascade / C1块2:scdcascade / C2 3分析点:- - - - - - - - - - - - - - - - - - - - - - - - - - - -点1:信号“r”,位于scdcascade /定位点的输出端口1点2:信号“y1m”,位于“输出端口1”scdcascade /求和点3:输出端口1的scdcascade / d2没有永久的空缺。使用addOpening命令添加新的永久的空缺。点符号获取/设置访问属性:参数:[]OperatingPoints:[](模型初始条件将使用)。BlockSubstitutions:[]选项:[1 x1线性化。SlTunerOptions] Ts: 0

显示列表指定块可调、分析点,和其他的信息接口。在命令窗口中,点击高亮显示的信号仿真软件模型中看到它的位置。金宝app注意,指定块的名字“d2”addPoint命令相当于指定块的单一输出信号作为分析点。

现在,您可以捕获你的设计目标TuningGoal对象和使用systunelooptune优化控制系统,以满足设计目标。

除了指定设计目标,您可以使用分析点提取系统响应。例如,提取和策划参考信号之间的阶跃响应“r”和输出“y1m”

T = getIOTransfer(圣“r”,“y1m”);stepplot (T)

输入参数

全部折叠

金宝app仿真软件模型名称,指定为一个字符或字符串向量。

例子:“scdcascade”

块添加到调谐块的列表指定为:

  • 特征向量或字符串-块路径。您可以指定完整的块路径或部分路径。部分路径必须匹配完整的块路径和明确地识别块增加。例如,你可以通过它的名字,指一块提供了块的名字在仿真软件模型中只出现一次。金宝app

    例如,黑色= ' scdcascade / C1 '

  • 单元阵列特征向量或字符串数组——多个块路径。

    例如,黑色= {' scdcascade / C1”、“scdcascade / C2 '}

分析点添加到列表分析点指定为:

  • 特征向量或字符串——分析点标识符,可以有下列:

    • 例如,信号名称pt =“扭矩”

    • 块路径和一个输出端口,一块为例pt = '汽车/ PID '

    • 块路径和端口的信号,例如pt = '引擎模型/ 1 '

  • 单元阵列特征向量或字符串数组,指定多个分析点标识符。例如:

    pt ={转矩,电动机/ PID,”引擎模型/ 1 '}
  • 向量的线性化I / O—创建对象pt使用linio。例如:

    pt (1) = linio (“scdcascade /选点”,1“输入”);pt (2) = linio (“scdcascade /总和”,1“输出”);

    在这里,pt (1)指定一个输入pt (2)指定一个输出。

    指定的接口添加所有的点pt并忽略它们的I / O类型。还增加了所有的接口“loopbreak”输入信号永久的空缺

参数样本进行线性化mdl指定为:

  • 结构,通过指定一个参数的值不同参数作为一个结构与以下字段:

    • 的名字参数名称,指定为一个字符或字符串向量。您可以指定任何一个变量在模型中模型参数工作区,MATLAB®工作区,或数据字典。如果使用的变量模型不是一个标量变量,参数名称指定为一个表达式解析为一个数字标量值。例如,使用向量的第一个元素V作为一个参数,使用:

      参数。Name =“V (1)”;
    • 价值——参数样本值,指定为数组的两倍。

    例如,不同参数的值一个在10%范围:

    参数。Name =“一个”;参数。价值= linspace(0.9*A,1.1*A,3);
  • 结构数组——不同的多个参数的值。例如,不同参数的值一个b在10%范围:

    [A_grid, b_grid] = ndgrid (linspace (0.9 * 1.1 * 3),linspace (0.9 * b, b 1.1 * 3));参数(1)。Name =“一个”;参数(1)。价值= A_grid; params(2).Name =“b”;参数(2)。价值= b_grid;

有关更多信息,请参见指定批处理线性化参数样本

如果参数只指定了可调参数,然后使用一个编译软件批量渗流模型。如果你也配置st.OperatingPoints与操作点对象,编译的软件使用单一模型。

为例展示了批处理线性化参数抽样工作,明白了不同的参数值,得到多个传输功能。这个示例使用slLinearizer,但是这个过程是相同的slTuner

计算所需的偏移量LPV系统块,指定参数,并设置st.Options.StoreOffsets真正的。然后您可以返回额外的线性化信息当调用线性化等功能getIOTransfer,提取补偿使用getOffsetsForLPV

操作点线性化mdl指定为:

  • OperatingPointOperatingReport创建的对象,使用findop一个操作规范,或一个快照时间。

  • 的数组OperatingPointOperatingReport对象,指定多个操作点。

    创建一个数组OperatingPointOperatingReport对象,您可以:

  • 积极的标量,矢量指定模拟快照时间。

如果您配置st.Parameters,然后指定人事处为以下之一:

  • OperatingPointOperatingReport对象。

  • 的数组OperatingPointOperatingReport对象的大小匹配的参数指定的网格参数财产。当你批量线性化mdl软件编译只使用一个模型。获取对应的操作点参数值组合,批修剪你的模型使用参数在线性化。使用的一个例子线性化命令,看到批处理多个操作点线性化模型来源于参数变化

  • 多个快照时间。当你批量线性化mdl每个快照时间,软件模拟了模型和参数网格点的组合。这个操作可以计算昂贵。

用线性化代替块和模型子系统,作为一个结构或一个指定的n1结构数组,在那里n是块的数量,你想指定一个线性化。使用blocksub为一块指定一个自定义的线性化或子系统。例如,您可以指定线性化块没有分析线性化,如与不连续块或触发子系统。

研究的影响不同的块模型的线性化动力学,可以批处理线性化模型通过指定多个块替代线性化。

如果你用一个线性化的样品时间不同于原来的块或子系统,它是最佳实践设置总体线性化样品时间(选项.SampleTime一个默认的值。

每个替代线性化结构有以下字段。

块的块你想指定线性化,指定为一个字符或字符串向量。

用线性化代替,指定为以下之一:

  • 双——指定一块输出的线性化。

  • 一系列双打——指定MIMO块作为一个的线性化nu——- - - - - -ny阵列增益值,nu输入和数量吗ny是输出的数量。

  • LTI模型、状态空间模型不确定或不确定的实际对象的I / O配置指定的模型必须匹配指定的块的配置的名字。使用一个不确定的模型需要鲁棒控制工具箱™软件。

  • 阵列的线性时不变模型不确定的状态空间模型,或者不确定真正的对象——批线性化模型使用多个块替换。的I / O配置数组中的每个模型必须匹配的配置块为你指定一个自定义的线性化。如果你:

    • 不同模型参数使用参数并指定价值一系列模型的尺寸价值必须匹配参数网格大小。

    • 定义块替换多个块,并指定价值作为线性时不变模型不止一个数组,数组的尺寸必须匹配。

  • 结构有以下字段:

    描述
    规范

    块线性化,指定为一个特征向量包含下列之一

    指定的表达式或函数必须返回下列之一:

    • 线性模型的形式d矩阵

    • 控制系统工具箱™LTI模型对象

    • 状态空间模型不确定或不确定的实际对象(要求鲁棒控制工具箱软件)

    返回的I / O配置模型必须匹配指定的块的配置的名字

    类型

    规范类型,指定为以下之一:

    • “表情”

    • “函数”

    ParameterNames

    线性化函数参数名称,指定为一个单元阵列的特征向量。指定ParameterNames只有当类型=“函数”和你的块线性化函数需要输入参数。这些参数指定块的线性化只影响。

    您还必须指定相应的blocksub.Value.ParameterValues字段。

    ParameterValues

    线性化函数参数值,指定为一个向量的双打。参数值的顺序必须与参数名称的顺序相对应blocksub.Value.ParameterNames。指定ParameterValues只有当类型=“函数”和你的块线性化函数需要输入参数。

slTuner选项,指定为一个slTunerOptions选项设置。

例子:选择= slTunerOptions (“IgnoreDiscreteStates”,“上”)

属性

slTuner对象属性包括:

TunedBlocks

块的mdl指定为一个单元阵列的特征向量。

当你创建一个slTuner接口,TunedBlocks属性指定的自动填充块tuned_blocks输入参数。指定附加在现有的可调谐块slTuner接口,使用addBlock

Ts

采样时间分析和调优mdl,指定为负的标量。

设置这个属性使用点符号(st.Ts = Ts)。

默认值:0(意味着连续时间)

参数

参数样本进行线性化mdl,指定为一个结构或一个结构数组。

设置这个属性使用参数输入参数或点符号(st.Parameters =参数)。参数必须是下列之一:

如果参数只指定了可调参数,然后使用一个编译软件批量渗流模型。如果你也配置st.OperatingPoints与操作点对象,编译的软件使用单一模型。

OperatingPoints

操作点线性化mdl指定为一个OperatingPoint对象,数组的OperatingPoint积极的标量对象或数组。

设置这个属性使用人事处输入参数或点符号(st.OperatingPoints = op)。人事处必须是下列之一:

  • OperatingPointOperatingReport创建的对象,使用findop一个操作规范,或一个快照时间。

  • 的数组OperatingPointOperatingReport对象,指定多个操作点。

    创建一个数组OperatingPointOperatingReport对象,您可以:

  • 积极的标量,矢量指定模拟快照时间。

如果您配置st.Parameters,然后指定人事处为以下之一:

  • OperatingPointOperatingReport对象。

  • 的数组OperatingPointOperatingReport对象的大小匹配的参数指定的网格参数财产。当你批量线性化mdl软件编译只使用一个模型。获取对应的操作点参数值组合,批修剪你的模型使用参数在线性化。使用的一个例子线性化命令,看到批处理多个操作点线性化模型来源于参数变化

  • 多个快照时间。当你批量线性化mdl每个快照时间,软件模拟了模型和参数网格点的组合。这个操作可以计算昂贵。

BlockSubstitutions

替代线性化模块和子系统模型,指定为一个结构数组或结构。

使用这个属性来指定一个自定义线性化块或子系统。块,你也可以使用这个语法没有分析线性化,如与不连续块或触发子系统。

设置这个属性使用blocksub输入参数或点符号(st.BlockSubstitutions = blocksubs)。所需的结构信息,请参阅blocksub

选项

线性化算法选项,指定为一个选项设置使用slTunerOptions

设置这个属性使用选择输入参数或点符号(st.Options =选择)。

模型

仿真软件模型线性化,名称金宝app指定为一个特征向量输入参数mdl

TimeUnit

单位的时间变量。这个属性指定返回的时间单位为线性化模型getIOTransfer,getLoopTransfer,getSensitivity,getCompSensitivity。使用下列值:

  • “纳秒”

  • 微秒的

  • 的毫秒

  • “秒”

  • “分钟”

  • “小时”

  • “天”

  • “周”

  • “月”

  • “年”

默认值:“秒”

对象的功能

addBlock 添加块的调谐块列表slTuner接口
addOpening 信号添加到列表的空缺slLinearizerslTuner接口
addPoint 添加信号分析点的列表slLinearizerslTuner接口
getPoints 得到的分析点列表slLinearizerslTuner接口
getOpenings 得到的机会列表slLinearizerslTuner接口
getBlockParam 得到参数化调整块slTuner接口
getBlockValue 调谐块参数的当前值slTuner接口
getTunedValue 优化变量的当前值slTuner接口
getBlockRateConversion 率转换设置调谐块slTuner接口
setBlockParam 设置调整块的参数化slTuner接口
setBlockValue 设置调谐块参数化的价值slTuner接口
setBlockRateConversion 设置速度转换设置调谐块slTuner接口
systune 调整控制系统参数金宝app使用slTuner接口
looptune 调整天线系统反馈回路金宝app使用slTuner接口
loopview 图形化分析控制系统优化使用的结果slTuner接口
looptuneSetup 构建优化设置looptune为优化设置systune使用slTuner接口
showTunable 显示的值可调的参数化slTuner接口
getIOTransfer 传递函数为I / O指定使用slLinearizerslTuner接口
getLoopTransfer 开环传递函数在指定点使用slLinearizerslTuner接口
getSensitivity 使用灵敏度函数在指定点slLinearizerslTuner接口
getCompSensitivity 使用互补的灵敏度函数在指定点slLinearizerslTuner接口
writeBlockValue 更新块中的值金宝app模型
writeLookupTableData 更新调谐查找表的一部分
removePoint 从列表删除点的分析点slLinearizerslTuner接口
removeAllPoints 删除所有分分析点的列表slLinearizerslTuner接口
removeAllOpenings 删除所有空缺的永久职位列表slLinearizerslTuner接口
刷新 重新同步slLinearizerslTuner接口与当前模型的状态

更多关于

全部折叠

分析点

分析点使用的,slLinearizerslTuner接口,确定地点在一个模型与线性相关的分析和控制系统调优。你用分析点线性化的输入命令,如getIOTransfer,getLoopTransfer,getSensitivity,getCompSensitivity。作为输入的线性化命令,分析点可以指定任何开环或闭环传递函数模型。您还可以使用分析指出,使用命令指定设计要求,优化控制系统等systune

位置是指一个特定的块输出端口在一个模型或总线元素在这样一个输出端口。为了方便起见,您可以使用信号来源于这个端口的名称来引用一个分析点。

您可以添加一个分析点slLinearizerslTuner接口,年代,当你创建的接口。例如:

s = slLinearizer (“scdcascade”,{‘u1’,“日元”});

或者,您可以使用addPoint命令。

查看所有的分析点年代、类型年代在命令提示符显示界面的内容。为每个分析点年代,显示包括块名称和端口号和信号的名称源自。您也可以通过编程方式获取所有分析点使用的列表getPoints

关于如何使用的更多信息分析点,看到的马克的信号对控制系统的分析和设计马克对批处理的信号线性化

永久的空缺

永久的空缺使用的,slLinearizerslTuner在一个模型的软件接口,确定地点的中断信号流。线性化和调优的软件执行这些空缺。使用永久开口隔离一个特定的模型组件。假设您有一个大型模型捕获飞机动力学和你想执行线性分析机身。您可以使用永久开口排除所有其他组件的模型。另一个例子是当你有级联循环在你的模型,你想分析一个特定的循环。

位置是指一个特定的块在一个模型输出端口。为了方便起见,您可以使用信号来源于这个端口的名称来引用一个开放。

您可以添加常驻一个空缺slLinearizerslTuner接口,年代,当你创建或使用的接口addOpening命令。从列表中删除一个位置永久开口,使用removeOpening命令。

查看所有的开口年代、类型年代在命令提示符显示界面的内容。为每一个永久的开放年代,显示包括块名称和端口号和信号的名称源自在这个位置。您也可以通过编程的方式获得一个列表的所有永久循环使用开口getOpenings

自定义线性化函数

您可以指定一个替代线性化块或子系统中使用自定义函数在MATLAB仿真软件模型路径。金宝app

您的自定义线性化函数必须有一个BlockData输入参数,这是一个结构,软件创建和传递函数。BlockData有以下字段:

描述
BlockName 名字的块你指定一个自定义的线性化。
参数 块的参数值,指定为一个结构数组的名字价值字段。参数包含您所指定的参数的名称和值blocksub.Value.ParameterNamesblocksub.Value.ParameterValues字段。
输入

输入信号的块你定义一个线性化,指定为一个结构和一个结构数组每一块的输入。每一个结构输入有以下字段:

描述
BlockName 完整块的块的输出连接到相应的块的输入。
PortIndex 指定的块的输出端口BlockName连接到相应的块的输入。
指定的信号的价值BlockNamePortIndex。如果这个信号是一个矢量信号是一个向量相同的维度。
纽约 块的输出通道数线性化。
ν 块的输入通道数线性化。
BlockLinearization 当前块的默认线性化状态空间模型作为一个指定。您可以指定一个块线性化,取决于使用默认的线性化BlockLinearization

定制函数必须返回一个模型ν输入和纽约输出。这个模型必须是下列之一:

  • 线性模型的形式d矩阵

  • 控制系统工具箱LTI模型对象

  • 状态空间模型不确定或不确定的实际对象(要求鲁棒控制工具箱软件)

例如,下面的函数乘以当前默认块线性化,延迟Td = 0.5秒。延迟由Thiran过滤样品时间t = 0.1。存储在延迟和样品时间参数BlockData

函数sys = myCustomFunction (BlockData) Td = BlockData.Parameters (1) value;Ts = BlockData.Parameters (2) value;sys = BlockData.BlockLinearization * Thiran (Td, Ts);结束

将这个函数保存到一个位置在MATLAB的道路。

使用这个函数作为一个块的自定义线性化或子系统,指定blocksub.Value.Specificationblocksub.Value.Type字段。

blocksub.Value.Specification=“myCustomFunction”;blocksub.Value.Type=“函数”;

设置延迟和样品时间参数值,指定blocksub.Value.ParameterNamesblocksub.Value.ParameterValues字段。

blocksub.Value.ParameterNames= {“Td”,“t”};blocksub.Value.ParameterValues= [0.5 0.1];

算法

slTuner渗流模型模型使用中描述的算法金宝app精确线性化算法

版本历史

介绍了R2014a