模型离散器选择性地替代了连续的Simulink万博1manbetx®具有离散等价物的块。离散化是数字控制器设计和硬件在环仿真的关键步骤。
你可以使用模型离散器:
识别模型的连续块
将块的参数从连续更改为离散
对模型中的所有连续块或选定块应用离散化设置
创建包含多个离散候选和原始连续块的可配置子系统
在不同的离散候选模型之间切换,并评估得到的模型模拟结果
使用模型离散器
使模型离散化:
启动模型离散器
指定转换方法
指定采样时间
指定离散化方法
离散块
的f14
模型显示了离散化模型的步骤。
要打开该工具,在Simulink编辑器中,选择万博1manbetx分析>控制设计>模型离散化.
的万博1manbetxSimulink模型离散器打开。
或者,你可以从MATLAB打开模型离散器®命令窗口使用slmdldiscui
函数。
下面的命令打开万博1manbetxSimulink模型离散器窗口的f14
模型:
slmdldiscui(“f14”)
要从模型离散器中打开一个新的模型或库,请选择文件>负荷模型.
变换方法指定在离散化中使用的算法的类型。有关不同转换方法的更多信息,请参见控制系统工具箱。
的转换方法列表包含以下选项:
零级举行
输入的零阶保持。
一阶举行
输入的线性插值。
Tustin
双线性(Tustin)近似。
带预整经的塔斯汀
带频率预翘曲的Tustin近似。
匹配pole-zero
匹配极零方法(仅适用于SISO系统)。
输入采样时间样品时间字段。
您可以通过为离散块或可配置子系统输入双元素向量来指定偏移时间。第一个元素是采样时间,第二个元素是偏移时间。例如,一个条目[1.0 0.1]将指定1.0秒采样时间和0.1秒偏移量。如果没有指定偏移量,则默认为零。
当离散s域中的块时,可以输入工作空间变量。看到离散块(在s域输入参数).
中指定离散化方法将当前选择替换为字段。选项有
创建一个离散块,其参数从相应的连续块中保留。
创建一个离散块,其参数是直接放置在块对话框中的“硬编码”值。
使用当前选择的s域值创建多个离散化候选项。可配置子系统可以由一个或多个块组成。
在z域为当前选择创建多个离散候选对象。可配置子系统可以由一个或多个块组成。
离散块(在s域中输入参数)。创建一个离散块,其参数从相应的连续块中保留。采样时间和离散化参数也在块的参数对话框中。
该块被实现为一个使用汇集
在掩码初始化代码中将连续参数转换为离散参数。
如果采样时间为零,这些块具有恢复到连续行为的独特能力。输入示例时间作为工作空间变量(“t”
例如)允许从连续到离散的转换,然后再返回。看到指定采样时间.
如果您从模型生成代码,当参数不可调优时默认参数行为设置为内联
在模型的配置参数对话框中。
下图显示了在s域中离散化的传递函数块旁边的连续传递函数块。每个块的块参数对话框出现在该块的下方。
离散块(在z域输入参数)。创建一个离散块,其参数是直接放置在块对话框中的“硬编码”值。模型离散器使用汇集
函数获取离散化参数(如果需要)。
更多的帮助汇集
函数,在命令窗口中输入以下命令:
帮助汇集
下图显示了一个连续的传递函数块,旁边是一个在z域中离散化的传递函数块。每个块的块参数对话框出现在该块的下方。
如果您想在模型离散化会话之后精确地恢复原始的连续参数值,您应该在s域中输入参数。
可配置子系统(在s域输入参数)。使用当前选择的s域值创建多个离散化候选项。可配置子系统可以由一个或多个块组成。
的块在可配置子系统中的位置当选择此选项时,字段将变为活动的。此选项允许您创建新的可配置子系统或覆盖现有的子系统。
当前文件夹必须是可写的,以便为可配置子系统选项保存一个或多个库。
可配置子系统(输入z域参数)。在z域为当前选择创建多个离散候选对象。可配置子系统可以由一个或多个块组成。
的块在可配置子系统中的位置当选择此选项时,字段将变为活动的。此选项允许您创建新的可配置子系统或覆盖现有的子系统。
当前文件夹必须是可写的,以便为可配置子系统选项保存一个或多个库。
可配置子系统存储在一个包含离散候选和原始连续块的库中。图书馆将被命名<模型名称> _disc_lib
它会被储存在电流中。控件创建的可配置子系统f14
模型将被命名为f14_disc_lib
.
如果从同一个模型创建多个库,则文件名将相应增加。方法创建的第二个可配置子系统库f14
模型将被命名为f14_disc_lib2
.
通过右键单击模型中的子系统并选择,您可以打开一个可配置的子系统库库链接>去图书馆区从上下文菜单。
要离散链接到库的块,您必须要么离散库本身中的块,要么在模型窗口中禁用库链接。
您可以通过选择从模型离散器打开库负荷模型从文件菜单。
通过在块上右键单击并选择,可以禁用库链接库链接>禁用链接从上下文菜单。
离散块有两种方法。
选择块和离散化
在模型离散化树视图窗格中选择一个或多个块。
要选择多个块,按住Ctrl按钮,同时选择方块。
您必须从模型离散化树视图中选择块。在编辑器中单击块不会选择它们进行离散化。
选择离散电流块从离散化菜单(如果选中单个块)或选择离散选定的块从离散化菜单,如果选择多个块。
控件还可以对当前块进行离散化离散化按钮,如下所示。
存储离散化设置,并将它们应用到模型中选定的块
输入当前块的离散化设置。
点击商店设置.
这将把当前块及其离散化设置添加到预置块组中。
如有必要,重复步骤1和2。
选择离散预设块从离散化菜单。
控件中的离散化候选项,可以从可配置子系统中删除该候选项块在可配置子系统中的位置字段并单击删除按钮。
要撤消离散化,请单击撤销离散化按钮。
或者,您也可以选择撤销离散化从离散化菜单。
此操作撤销当前选择及其子对象中的离散化。例如,在子系统上执行undo操作将从子系统层次结构的所有级别的所有块中删除离散化。
模型离散器在一个层次树视图中显示模型。
树视图中的块图标将用“z当块被离散化时。
下图显示,飞机动力学模型子系统已经离散成一个可配置的子系统,有三个离散候选子系统。
其他的块f14
模型尚未离散化。
下图显示了飞机动力学模型子系统f14
离散化后的示例模型进入一个可配置子系统,该子系统包含原始连续模型和三个离散化候选模型。
下图显示了包含飞机动力学模型可配置子系统的库,该子系统具有原始的连续模型和三个离散候选模型。
要在模型已更改时刷新模型离散化器的树视图,请单击刷新按钮。
或者,您也可以选择刷新从视图菜单。
您可以使用离散化库将Simulink软件模型中的连续块替换为s域中离散化的等价万博1manbetx块。
下面的程序展示了如何替换飞机动力学模型子系统中的连续传输Fcn块f14
用离散化库中的离散化传输Fcn块建立模型。用零阶保持变换方法和2秒采样时间在s域对块进行离散化。
打开f14
模型。
打开飞机动力学模型子系统f14
模型。
打开离散化库窗口。
输入离散化
在MATLAB命令提示符。
的库:离散化窗口打开。
这个库包含s域离散块。
将离散化传输Fcn(带有初始状态)块添加到f14/飞机动力学模型窗口。
中单击离散化传输Fcn块库:离散化窗口。
把它拖到f14/飞机动力学模型窗口。
打开Transfer Fcn.1块的参数对话框。
中双击Transfer Fcn.1块f14/飞机动力学模型窗口。
弹出“阻塞参数:传输Fcn.1”对话框。
打开离散化传输Fcn块的参数对话框。
中双击离散化传输Fcn块f14/飞机动力学模型窗口。
打开“块参数:离散化传输Fcn”对话框。
将参数信息从传输Fcn.1块的对话框复制到离散化传输Fcn块的对话框。
输入2
在样品时间字段。
选择zoh
从方法下拉列表。
离散化传输Fcn的参数对话框现在看起来像这样。
点击好吧.
的f14/飞机动力学模型窗口现在是这样的。
删除原来的Transfer Fcn.1块。
单击Transfer Fcn.1块。
按下删除关键。
的f14/飞机动力学模型窗口现在是这样的。
将离散转移Fcn块添加到模型中。
单击离散化传输Fcn块。
拖动离散化转移Fcn块到合适的位置以完成模型。
的f14/飞机动力学模型窗口现在是这样的。
使用sldiscmdl
从MATLAB命令窗口离散化Simulink软万博1manbetx件模型的函数。方法可以指定变换方法、采样时间和离散化方法sldiscmdl
函数。
例如,以下命令离散f14
使用零阶保持变换方法在s域中建模,采样时间为1秒:
sldiscmdl (f14, 1.0,“zoh”)