-
使用m语言新建一个Simulink模型,取名为mytest,并打开,代码如下:
new_system('mytest');
open_system('mytest');
-
找到句柄
handle = getSimulinkBlockHandle('CANTA_BMS_DEBUG_3/CANTA_BMS_DEBUG_3/Subsystem/Constant') get(handle)
positon = [a b c d]
设置positon属性
pos = [155 0 195 345] set_param('CANTA_BMS_DEBUG_3/CANTA_BMS_DEBUG_3/Subsystem/Constant','Position',pos)
-
使用M语言搜索符合条件的模块、信号线、端口等
例如,搜索出demo.slx模型中所有的Gain模块函数 Objects = find_system(System,Name,Value) 输入参数 1)System——模型名称;2)Name,Value——搜索条件的名称、值,可以输入多组名称、值 返回值 1)Objects——符合搜索条件的模块路径的元胞数组 >> GainCell = find_system('demo','BlockType','Gain') %搜索出demo.slx模型中所有的Gain模块
GainCell =
2×1 cell 数组
{'demo/Gain' }
{'demo/Gain1'}
-
-
获取模块指定参数的值
函数 ParamValue = get_param(Object,Parameter) 输入参数 1)Object——模块路径,即find_system输出参数;2)Parameter——模块参数 返回值 1)ParamValue——模块参数的值 >> OutDataTypeStr = get_param('demo/Gain','OutDataTypeStr') %获取demo/Gain模块的输出数据类型
OutDataTypeStr =
'Inherit: Inherit via internal rule'
- 设置模块指定参数的值
函数 set_param(Object,ParameterName,Value) 输入参数 1)Object——模块路径,即find_system输出参数;2)Parameter——模块参数;3)参数值 返回值 无 >> set_param('demo/Gain','OutDataTypeStr','single') %设置demo/Gain模块的输出数据类型为single
>> OutDataTypeStr = get_param('demo/Gain','OutDataTypeStr')OutDataTypeStr =
'single'
-
添加模块add_blcok(),该模块有三个参数,第一个参数是目标模块所在模块库的源地址,第二个参数,是所添加模块的名称,第三个参数,是添加模块的位置,代码如下:
add_block('simulink/Commonly Used Blocks/In1','m_automodle/in','Position',[205 143 235 157])
add_block('simulink/Commonly Used Blocks/Gain','m_automodle/gain','Position',[315 135 345 165])
add_block('simulink/Commonly Used Blocks/Out1','m_automodle/out','Position',[435 143 465 157])
-
添加连线
采用add_line函数,代码如下:
add_line('m_automodle','in/1','gain/1');
add_line('m_automodle','gain/1','out/1');
-
更改参数
采取set_param函数,代码如下:
set_param('m_automodle/gain','Gain','5')
此外,所有模块的参数属性设置可以在matlab,help文档中的
Block-Specific Parameters中找到,如下图。
-
使用m语言保存这个模型,代码如下:save_system('mytest');
-
使用m语言关闭这个模型,代码如下:
close_system('mytest');
-
使用m语言删除这个模型,代码如下:
delete('mytest.slx');
常用m脚本控制simulink模块方法
最新推荐文章于 2024-04-13 21:37:23 发布