目录
open_system的功能是打开模型、库、子系统或模块对话框。
语法
open_system(obj)
open_system(sys,'loadonly')
open_system(sbsys,'window')
open_system(sbsys,'tab')
open_system(blk,'mask')
open_system(blk,'force')
open_system(blk,'parameter')
open_system(blk,'OpenFcn')
说明
open_system(obj) 打开指定的模型、库、子系统或模块。这等效于在当前文件夹浏览器中双击模型或库,或者在 Simulink® 编辑器中双击子系统或模块。
模型或库将在新窗口中打开。对于模型内的子系统或模块,行为取决于模块的类型及其属性。
-
计算任何 OpenFcn 回调参数。
-
如果没有 OpenFcn 回调,但是定义了封装,将打开封装参数对话框。
-
如果没有 OpenFcn 回调,也没有封装参数,Simulink 将打开该对象。
-
引用的模型将在新窗口中打开。
-
子系统将在同一窗口中的新选项卡上打开。
-
对于模块,将打开模块的参数对话框。
-
要打开特定的子系统或模块,必须加载包含它的模型或库。否则 Simulink 会返回错误。
可以通过提供第二个输入参数来覆盖默认行为。
open_system(sys,'loadonly') 加载指定的模型或库,无需打开 Simulink 编辑器。这相当于使用 load_system。
open_system(sbsys,'window') 在新的 Simulink 编辑器窗口中打开子系统 sbsys。在打开特定的子系统或模块之前,加载包含它的模型或库。否则 Simulink 会返回错误。
open_system(sbsys,'tab') 在同一窗口中的新的 Simulink 编辑器选项卡上打开该子系统。在打开特定的子系统或模块之前,加载包含它的模型或库。否则 Simulink 会返回错误。
open_system(blk,'mask') 打开由 blk 指定的模块或子系统的封装对话框。打开 blk 之前,加载包含它的模型或库。
open_system(blk,'force') 在封装的模块或子系统的封装下进行查找。它将打开封装模块的对话框,或者在新的 Simulink 编辑器选项卡上打开封装子系统。这等效于查看封装内部菜单项。在打开特定的子系统或模块之前,加载包含它的模型或库。否则 Simulink 会返回错误。
open_system(blk,'parameter') 打开模块参数对话框。
open_system(blk,'OpenFcn') 运行模块回调 OpenFcn。
示例
打开模型
打开 f14 模型。
open_system('f14')
加载模型而不打开它
加载 f14 模型。
open_system('f14','loadonly')
打开一个子系统
打开 f14 模型的 Controller 子系统。
load_system('f14')
open_system('f14/Controller')
在现有窗口的新选项卡上打开子系统
打开 f14 模型,并在新选项卡上打开 Controller 子系统。
open_system('f14/Controller','tab')
在单独的窗口中打开子系统
在其自身的 Simulink 编辑器窗口中打开子系统。
open_system('f14')
open_system('f14/Controller','window')
打开引用的模型
打开模型 sldemo_mdlref_counter,此模型被 sldemo_mdlref_basic 中的 CounterA Model 模块引用。
openExample('sldemo_mdlref_basic')
open_system('sldemo_mdlref_basic/CounterA')
引用的模型在其自身的 Simulink 编辑器窗口中作为顶层模型打开。要在模型层次结构的上下文中打开引用模型,请使用 open 函数和 Simulink.BlockPath 对象。
打开模块对话框
打开 Controller 子系统中第一个 Gain 模块的模块参数对话框。
load_system('f14')
open_system('f14/Controller/Gain')
运行模块打开回调函数
为模块定义 OpenFcn 回调并执行模块回调。
set_param('f14/Pilot','OpenFcn','disp(''Hello World!'')') open_system('f14/Pilot','OpenFcn')
MATLAB 命令提示符下显示文字 Hello World。
打开封装子系统
打开模型 sldemo_hydcyl 中封装子系统 Pump 的内容。
openExample('sldemo_hydcyl')
open_system('sldemo_hydcyl/Pump', 'force')
使用一个命令打开多个系统
创建一个元胞数组,其中包含两个模型名称 f14 和 vdp。使用 open_system 和该元胞数组的名称,同时打开这两个模型。
models = {'f14','vdp'}
open_system(models)
输入参数
obj
— 模型、引用的模型、库、子系统或模块路径
模型、引用的模型、库、子系统或模块路径,指定为字符向量。如果模型不在 MATLAB 路径中,请指定模型文件的完整路径。使用全名(例如 f14/Controller/Gain)指定已打开或已加载的模型中的模块或子系统。在 UNIX® 系统上,模型的完全限定路径名称可以用波浪号 (~) 开头,表示它是您的主目录。
数据类型: char
sys
— 模型或库的路径
模型或库的完整名称或路径,指定为字符向量。
数据类型:char
sbsys
— 子系统路径
已打开或已加载的模型中的子系统的完整名称或路径,指定为字符向量。
blk
— 模块或子系统的路径
已打开或已加载的模型中的模块或子系统的完整名称或路径,指定为字符向量。
提示
要在模型层次结构的上下文中打开引用模型,请使用 open 函数和 Simulink.BlockPath 对象。