我在搭建模型遇到了两个问题:BusSelector的信号拉出来后连上Goto,对Goto的命名是个要命的事情;
2.一些Subsystem的输入跟外面的输入对应性不好,需要不断的进出子系统用来查看输入到底是那根信号。(图片只是示例)
查找了网上的一些材料,知道有个东西叫名字继承,于是用m函数写了个GUI,处理BusSelector及Subsystem的信号名继承的问题。
先看成品。
以BusSelector为例,左边需要命名的名字,右边是对应Goto的名字,点击OK后,完成对Goto名字的修改。并且修改后的名字时事显示。Subsystem同样,且可以让输入的名字继承但子系统里。
方法如下:
1.确定自己要选择的模块,获得这个模块的相关句柄,gcb或gcbh函数;
2.通过该模块的句柄可以知道该模块的BlockType,Name,InportSingals,OutportSingals,inport,outport;主要是 get_param函数,find_system函数;
3.然后知道以上内容的具体名字,以及相关句柄,get_param函数;
4.确定连接的信号线,通过信号线找到连接的模块,以及这些模块的名字或是参数。主要有SrcBlockHandle和DstBlockHandle两个属性参数;
5.修改名字,inport和outport修改name,goto和from修改gototag,set_param函数,修改后在把改完的名字在gui里显示出来;
6.做个GUI,可以用用户界面自己拉控件,也可以用m函数自己写控件,在把相关的控件的回调函数对应到写好的函数,uicontrol函数;
我是先调试好函数,再做的GUI。
以上,有不对的请指正,欢迎讨论。