[发明专利]一种Simulink的自动布局方法有效
申请号: | 201910383814.0 | 申请日: | 2019-05-08 |
公开(公告)号: | CN110298062B | 公开(公告)日: | 2022-09-20 |
发明(设计)人: | 陈浩;赵瑞永;黄晓;郭悦 | 申请(专利权)人: | 北京灵思创奇科技有限公司 |
主分类号: | G06F30/3308 | 分类号: | G06F30/3308;G06F30/392 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100000 北京市昌平*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供了一种Simulink的自动布局方法,包括以下步骤:S1:获取模型所有关于布局的信息;S2:整理子系统模块下面的标签类型模块;S3:整理模块的输入和输出数据;S4:从顶层的根模块开始遍历处理所有的模块和子模块;S5:在处理每个模块的时候,把模块的信息转成Graphviz的输入,然后调用Graphviz的算法得到自动布局的结果;本发明能删除标签类模块,用连线代替,这样可以确定模块之间的执行顺序,避免逻辑错误;本方法能精简输入输出数据的个数,最小化连线的数量,使模型更加简洁;本方法通过使用第三方开源的自动布局引擎,自动优化模型的布局,大大提高模型的布局质量。 | ||
搜索关键词: | 一种 simulink 自动 布局 方法 | ||
【主权项】:
1.一种Simulink的自动布局方法,其特征在于,包括以下步骤:S1:获取模型所有关于布局的信息,包括模块的信息和模块之间的树形层次关系。S2:整理子系统模块下面的标签类型模块。如果有局部标签模块,就删除局部标签模块,用连线连接;如果有非局部标签模块,就先遍历整个模型的模块树,找到所有相同名字的非局部标签模块(Scoped或者Global类型),然后按读写类型分两组;写类型只有一个,读类型可以为多个;写类型模块命名为A,在读类型组中遍历,取当前的读类型模块命名为B。另外创建图的数据结构保存从一个写类型模块到若干个读类型模块的连接信息。S3:整理模块的输入和输出数据。把输入数据中所有维度为1,且数据类型相同的数据整合成一个多维的输入数据。把输出数据中所有维度为1,且数据类型相同的数据整合成一个多维的输入数据。S4:从顶层的根模块开始遍历处理所有的模块和子模块。S5:在处理每个模块的时候,把模块的信息转成Graphviz的输入,然后调用Graphviz的算法得到自动布局的结果,然后设置模块的布局信息,包括模块位置、高度、宽度等。S6:本方法通过MATLAB提供的接口添加到Simulink的模型编辑菜单里,用户在使用Simulink的时候右键弹出菜单,选择并使用本方法。S7:本方法在使用的时候,先弹出对话框,或者提供配置文件,让用户选择设置布局的一些基础信息,比如字体、字体大小、布局间隔等。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京灵思创奇科技有限公司,未经北京灵思创奇科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910383814.0/,转载请声明来源钻瓜专利网。