常用m脚本控制simulink模块方法

  1. 使用m语言新建一个Simulink模型,取名为mytest,并打开,代码如下:

    new_system('mytest'); 

    open_system('mytest'); 

    m语言实现对simulink的操作,如新建、保存等

  2.  找到句柄

    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)
    1. 使用M语言搜索符合条件的模块、信号线、端口等

      函数Objects = find_system(System,Name,Value)
      输入参数1)System——模型名称;2)Name,Value——搜索条件的名称、值,可以输入多组名称、值
      返回值1)Objects——符合搜索条件的模块路径的元胞数组
      例如,搜索出demo.slx模型中所有的Gain模块

      >> GainCell = find_system('demo','BlockType','Gain') %搜索出demo.slx模型中所有的Gain模块

      GainCell = 

        2×1 cell 数组

          {'demo/Gain' }
          {'demo/Gain1'}
       

  3. 获取模块指定参数的值

    函数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'
     

  4.  设置模块指定参数的值
    函数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'
     

  5. 添加模块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])

  6. 添加连线

    采用add_line函数,代码如下:

    add_line('m_automodle','in/1','gain/1');

    add_line('m_automodle','gain/1','out/1');

  7. 更改参数

    采取set_param函数,代码如下:

    set_param('m_automodle/gain','Gain','5')

    此外,所有模块的参数属性设置可以在matlab,help文档中的

    Block-Specific Parameters中找到,如下图。

     

  8. 使用m语言保存这个模型,代码如下:save_system('mytest'); 

    m语言实现对simulink的操作,如新建、保存等

  9. 使用m语言关闭这个模型,代码如下:

    close_system('mytest'); 

    m语言实现对simulink的操作,如新建、保存等

  10. 使用m语言删除这个模型,代码如下:

    delete('mytest.slx'); 

    m语言实现对simulink的操作,如新建、保存等

  • 11
    点赞
  • 94
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值