第7章 Simulink命令行仿真技术
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
建立一个新的Simulink系统模型 打开一个已存在的Simulink系统模型 关闭一个Simulink系统模型 保存一个Simulink系统模型 查找Simulink系统模型、模块、连线及注释 在系统模型中加入指定模块 从系统模型中删除指定模块 替代系统模型中的指定模块 在系统模型中加入指定连线
第7章 Simulink命令行仿真技术
save_system('sys', 'newname'):使用新的名称newname保
存当前已经打开的系统模型。
第7章 Simulink命令行仿真技术
3) 举例
save_system save_system('vdp') 名为myvdp % 保存当前的系统模型 % 保存系统模型vdp
save_system('vdp', 'myvdp')% 保存系统模型vdp,模型文件
第7章 Simulink命令行仿真技术
第7章 Simulink命令行仿真技术
7.1 使用命令行方式建立系统模型 7.2 回顾与复习:Simulink与MATLAB 的接口 7.3 使用命令行方式进行动态系统仿真
7.4 使用MATLAB脚本分析动态系统
7.5 其 它 内 容
第7章 Simulink命令行仿真技术
第7章 Simulink命令行仿真技术
4. close_system, bdclose
1) 使用语法 close_system close_system('sys') close_system('sys', saveflag)
close_system('sys', 'newname')
close_system('blk') bdclose;bdclose('sys');bdclose('all')
第7章 Simulink命令行仿真技术
2) 功能描述
关闭一个Simulink系统模型。 close_system:关闭当前系统或子系统模型窗口。如果顶层 系统模型被改变,系统会提示是否保存系统模型。 close_system('sys') :关闭指定的系统或子系统模型窗口。
close_system('sys', saveflag) :关闭指定的顶层系统模型窗
第7章 Simulink命令行仿真技术
3) 举例
add_block('simulink3/Sinks/Scope', 'engine/timing/Scope1') % 从Simulink的模块库Sinks中复制Scope模块至系统模型engine中子 系统timing中,其名称 % 为Scope1 7. delete_block 1) 使用语法
7.1 使用命令行方式建立系统模型
除了使用 Simulink 的图形建模方式建立动态系统模 型之外,用户也可以使用命令行方式进行系统建模, 然后再进行动态系统的仿真与分析。在进一步介绍使 用命令行进行动态系统的仿真技术之前,首先简单介 绍一下使用命令行的方式建立系统模型的相关知识。 Simulink中建立系统模型的命令如表7.1所示。
wk.baidu.com
第7章 Simulink命令行仿真技术
9. add_line、delete_line
1) 使用语法 h = add_line('sys','oport','iport')
h = add_line('sys','oport','iport', 'autorouting','on')
delete_line('sys', 'oport', 'iport') 2) 功能描述 在系统模型中加入或删除指定连线。 add_line('sys', 'oport', 'iport'):在系统模型'sys'中给定 模块的输出端口与指定模块的输入端口之间加入直线。 'oport'与'iport'分别为输出端口与输入端口(包括模块的 名称、模块端口编号)。
% 关 闭 系 统 模 型 engine 下 的 Combustion 子 系 统 中 Unit
Delay模块的对话框
第7章 Simulink命令行仿真技术
5. find_system
1) 使用语法 find_system(sys, 'c1', cv1, 'c2', cv2,...'p1', v1, 'p2', v2,...) 2) 功能描述 查找由sys 指定的系统模型、模块、连线及注释等等,
open_system('sys') :打开名为 'sys' 的系统模型窗口或 子系统模型窗口。注意,这里 'sys' 使用的是 MATLAB 中标准路径名(绝对路径名或相对于已经打开的系统 模型的相对路径名)。 open_system('blk') :打开与指定模块 'blk' 相关的对话
框。open_system('blk', 'force'):打开封装后的子系统,
第7章 Simulink命令行仿真技术
使用上面的命令便可以生成和编辑动态系统的
Simulink模型,由于使用命令行方式建立的Simulink系 统模型与使用图形建模方式建立的系统模型没有什么 大的分别,因此这里仅简单介绍各个命令的使用,而 不再给出使用这些命令所建立的系统模型框图。 1. new_system 1) 使用语法 new_system('sys')
第7章 Simulink命令行仿真技术 表7.1 系统模型建立命令
命 令 功 能
new_system open_system close_system, bdclose save_system find_system add_block delete_block replace_block add_line
第7章 Simulink命令行仿真技术
2) 功能描述
使用给定的名称建立一个新的Simulink系统模型。如 果'sys'为一个路径,则新建立的系统为在此路径中指定 的系统模型下的一个子系统。注意, new_system 命令 并不打开系统模型窗口。 3) 举例 new_system('mysys')% 建立名为'mysys'的系统模型 new_system('vdp/mysys')% 建立系统模型 vdp 下的子系统 'mysys'
这里'blk'为封装子系统模块的路径名。这个命令与图形 建模方式中的Look under mask菜单功能一致。
第7章 Simulink命令行仿真技术
3) 举例
open_system('controller') 模型 open_system('controller/Gain') 下的增益模块Gain的对话框 % 打 开 controller 模 型 % 打开名为 controller 的系统
delete_line get_param set_param gcb
从系统模型中删除指定连线 获取系统模型中的参数 设置系统模型中的参数 获得当前模块的路径名
gcs gcbh
bdroot simulink
获得当前系统模型的路径名 获得当前模块的操作句柄
获得最上层系统模型的名称 打开Simulink的模块库浏览器
第7章 Simulink命令行仿真技术
2. open_system
1) 使用语法 open_system('sys') open_system('blk') open_system('blk', 'force')
2) 功能描述
打开一个已存在的Simulink系统模型。
第7章 Simulink命令行仿真技术
delete_block('blk')
2) 功能描述 从系统模型中删除指定模块。
delete_block('blk'):从系统模型中删除指定的系统模块'blk'。
3) 举例 delete_block('vdp/Out1') %从vdp模型中删除模块Out1
第7章 Simulink命令行仿真技术
8. replace_block
第7章 Simulink命令行仿真技术
6. add_block
1) 使用语法 add_block('src', 'dest')
add_block('src', 'dest', 'parameter1', value1, ...)
2) 功能描述 在系统模型中加入指定模块。 add_block('src', 'dest'):拷贝模块'src'为'dest'(使用路径名 表示),从而可以从Simulink的模块库中复制模块至指 定系统模型中,且模块'dest'参数与'src'完全一致。 add_block('src', 'dest_obj', 'parameter1', value1, ...):功能与 上述命令类似,但是需要设置给定模块的参数 'parameter1',value1为参数值。
3. save_system
1) 使用语法 save_system save_system('sys') save_system('sys', 'newname')
第7章 Simulink命令行仿真技术
2) 功能描述
保存一个Simulink系统模型。 save_system:使用当前名称保存当前顶层的系统模型。 save_system('sys') : 保 存 已 经 打 开 的 系 统 模 型 , 与 save_system功能类似。
1) 使用语法 replace_block('sys', 'blk1', 'blk2', 'noprompt')
replace_block('sys', 'Parameter', 'value', 'blk', ...)
2) 功能描述 替代系统模型中的指定模块。 replace_block('sys', 'blk1', 'blk2'):在系统模型'sys'使用模 块 'blk2' 取代所有的模块 'blk1' 。如果 'blk2' 为 Simulink 的 内置模块,则只需要给出模块的名称即可,如果为其 它的模块,必须给出所有的参数。如果省略 'noprompt', Simulink会显示取代模块对话框。
并返回相应的路径名与操作句柄。由于使用此命令涉
及较多的参数设置,因此这里不再赘述,用户可以查 看 Simulink 的联机帮助系统中 Simulink 目录下的 Using Simulink\Model Construction Commands\Introduction 中 的find_system命令的帮助即可。
第7章 Simulink命令行仿真技术
add_line('sys','oport','iport',
'autorouting','on') : 与
add_line('sys','oport','iport') 命令类似,只是加入的连线 方式可以由'autorouting'的状态控制:'on'表示连线环绕 模块,而'off'表示连线为直线(缺省状态)。 delete_line('sys', 'oport', 'iport'):删除由给定模块的输
第7章 Simulink命令行仿真技术
replace_block('sys', 'Parameter', 'value', ..., 'blk'):取代
模型'sys'中具有特定取值的所有模块'blk'。'Parameter'为 模块参数,'value'为模块参数取值。
3) 举例
replace_block('vdp','Gain','Integrator','noprompt') % 使用积分模块Integrator取代系统模型vdp中所有的增益 模块Gain,并且不显示取代对话框
口并且从内存中清除。 saveflag 为0表示不保存系统模型, 为1表示使用当前名称保存系统模型。
第7章 Simulink命令行仿真技术
3) 举例
close_system close_system('engine', 1) % 关闭当前系统 % 保 存 当 前 系 统 模 型 engine
(使用当前系统名称),然后再关闭系统 close_system('engine/Combustion/Unit Delay')
出端口'oport'至指定模块的输入端口'iport'之间的连线。
第7章 Simulink命令行仿真技术
3) 举例
add_line('mymodel','Sine Wave/1','Mux/1') % 在系统模型'mymodel'中加入由正弦模块Sine Wave的输 出至信号组合模块Mux第一个输入间 % 的连线