软件开发工具——M语言自动建立模型介绍
北冥有鱼
|
2019.12.30
|
0
+关注

M语言提供的函数不仅能够控制模型仿真,获取和设置模型、模块的属性,甚至还支持模型的新建、打开、关闭,以及模块的拷贝、移动、删除和信号线的连接与断开等。借助M语言对于Simulink强大的支持功能,能够实现模型的自动创建、模块的自动添加和模块属性的自动调整等功能。

M语言提供的函数中,与模型自动创建相关的有3类:模型相关、模块相关及信号线相关。其中几个比较重要的函数如下:

1)模型相关:new_system创建新模型,load_system将模型载入内存,open_system打开模型使可视化;

2)模型相关:add_block向模型中追加模块,delete_block删除模块,replace_block替换模块;

3)信号线相关:add_line在模块输入/输出口之间连线,delete_line将既存的信号线删除。

1. 模型的建立及打开

new_system用于新建一个空白的模型编辑器,如new_system(‘my_test’),new_system可以有返回值,返回当前创建模型的句柄,如下图所示。

使用open_system(‘my_test’),可以打开模型编辑框。如下图所示。

使用save_system(‘my_test’),可以保存模型。如下图所示。

2. 模块的添加、删除及替换

模块添加函数调用方式为add_block(‘src’,’dest’),src指所添加的模块的路径,dest表示将这个源模块添加到目标路径。如将Simulink的Commonly Used Blocks库的Constant模块添加到新建的模型中,如下图所示。

模块添加的同时,还能够对模块的参数进行设置,如add_block(‘src’,’dest’,’param1’,value1,...),通过参数名param1及参数值value1的写入,可以直接实现参数值的设定。如添加Constant模块时设置Constant模块的值。如下图所示。

replace_block是对模型中既存模块进行替换,其调用方式为replace_block(‘sys’,’old_blk’,’new_blk’),sys表示模型名,old_blk表示需要被替换的模块类型名,new_blk表示用来替换其它模块的模块名。

当模型中被替换模块类型存在多个模块时,会弹出替换对话框,列出所有同类型模块,用户可以从列表中选择某个或全部进行替换。

3. 信号线的添加及删除

信号线添加函数add_line的常用方式:add_line(‘sys’,’oport’,’iport’)表示在模型sys中追加从输出口oport到输入口iport 的信号线。oport与iport所表示的输出或输入端口都需要在模块名后追加斜杠和端口序号,如下图所示。

4. M语言自动创建模型

M语言通过上述各种命令可以实现模型的自动建立、模块的添加和信号线的添加。一些常用的逻辑模型具有一定的模式:建模的模块相同,连接方式固定,只是模块的参数不同。

如果模型中存在具有某种固定模式的子模型时,可以通过M语言将这种模式规定下来,经常使用时可以方便高效的自动建立相关模型。另外,对于某种常用的计算逻辑或算法,可以将其封装为子系统,追加到自定义Simulink库中,使用时直接从库里拖出来,也是一种高效的使用方法。

精选留言
延伸阅读
更多报告干货
写留言
2862
阅读
收藏
回到顶部