可以直接或间接地连接的块的输出(即,经由其它块)到其输入端,由此,创建一个循环。循环是非常有用的。例如,你可以使用循环来图解解微分方程(见模型中的连续系统)或模型的反馈控制系统。然而,也有可能产生不能模拟循环。常见类型无效环包括:
在港口及子系统库中的子系统实例块库包含了说明涉及触发和函数调用子系统有效和无效循环的例子模型。无效环的例子包括以下型号:
万博1manbetxSIMULINK /端口和子系统/ sl_subsys_semantics /触发子系统/ sl_subsys_trigerr1
(sl_subsys_trigerr1
)
万博1manbetxSIMULINK /端口和子系统/ sl_subsys_semantics /触发子系统/ sl_subsys_trigerr2
(sl_subsys_trigerr2
)
万博1manbetxSIMULINK /端口和子系统/ sl_subsys_semantics /函数调用系统/ sl_subsys_fcncallerr3
(sl_subsys_fcncallerr3
)
你可能会发现它很有研究这些例子,以避免自己的模型创造无效环。
要检测你的模型是否包含无效环,选择更新图从模型的模拟菜单。如果模型包含无效环路,无效环突出。这在以下示出的模型(打开),
并显示在诊断查看器的错误消息。
如果有与两个名称相同的模型文件(例如,mylibrary.slx
)在MATLAB®路径,该路径上的较高一个被加载,和一个下部的路径上被说成是“阴影”。
为了帮助避免问题的阴影文件,打开Simulink的偏好万博1manbetx不要加载那些在MATLAB的路径阴影模型。看到不要加载那些在MATLAB的路径阴影模型。
规则的Simulin万博1manbetxk软件用于查找模型文件类似于通过MATLAB软件使用。看到什么是MATLAB的搜索路径?(MATLAB)的MATLAB文档。然而,存在如何之间的Simulink框图和MATLAB函数的处理的一个重要区别是:一个加载框图接管任何卸载那万博1manbetx些优先级,而不管其在MATLAB路径上的位置的。这是出于性能方面的考虑做,因为Simulink的软件的渐进式加载方法的一部分。万博1manbetx
在任何其他加载的框图的优先级可具有重要的影响,特别是由于框图可以在没有相应的Simulink窗口是可见的加载。万博1manbetx
当使用库和引用的模型,可以装载一个框图,而不显示其窗口。如果MATLAB路径或同时框图当前MATLAB文件夹的变化是在存储器中,这些框图可以与使用相同的名称的其他文件干扰。
例如,打开一个叫做库的模型MYLIB
,改变到另一个文件夹,然后打开另一个模型库也被称为MYLIB
。当您运行的第一款车型,它采用与第二模型相关联的库。
这可能会导致问题,包括:
模拟误差
是图书馆链接上的块“未解决的链接”图标
错误的结果
为了帮助避免问题阴影文件,可以打开Simulink的偏好万博1manbetx不要加载那些在MATLAB的路径阴影模型。看到不要加载那些在MATLAB的路径阴影模型。
当更新的框图,Simulink的软件检查其在MATLAB的路径文件的位万博1manbetx置,如果将它检测到另一个同名文件存在,并且是MATLAB的路径更高发出警告。警告内容:
含文件框图“在MyLibrary”被遮挡由相同名称的MATLAB路径上更高的一个文件中。
mylibrary.slx
正在使用。要查看该文件名为mylibrary.slx
加载到内存中,输入:
其中在MyLibrary C:\工作\型号1 \ mylibrary.slx
我的图书馆
这是MATLAB的路径,包括MATLAB脚本,请输入:
其中-all在MyLibrary C:\工作\型号1 \ mylibrary.slx C:\工作\模型2 \ mylibrary.slx%阴影
我的图书馆
并让Simulink的软万博1manbetx件负载是最高的MATLAB路径上的文件,输入:close_system( '在MyLibrary')
在一般情况下,更多的内存将提高性能。
更复杂的模型往往添加子系统的层次结构模型中获益。分组块简化模型的顶层,可以更容易阅读和理解的模型。欲了解更多信息,请参阅创建一个子系统。模型浏览器中提供了有关复杂的模型,有用的信息(见万博1manbetxSimulink的主编)。
良好的组织和记录模式更容易阅读和理解。信号标签和模型注释可以帮助描述的是在模型中发生的事情。欲了解更多信息,请参阅信号名称和标签和描述了使用说明和注解模型。
如果你的几个车型使用相同的块,你可以保存这些模块,方便重复使用。例如,可以保存块的集合在一个自定义库。然后,当你建立新的模型,您可以从库中复制这些块。
一般情况下,建立一个模型时,首先设计在纸上,然后使用计算机生成它。然后,当你开始把块连成一个模型,将它们连接起来的线前添加块的示范窗口。这样一来,可以减少你需要多长时间来打开块库。