标题: Matlab_Simulink总线使用 [打印本页]

作者: qiliguozq    时间: 2023-6-24 17:58
标题: Matlab_Simulink总线使用
最近在使用 Matlab_Simulink 进行开发的过程中,遇到总线使用不当或未按规则使用所导致的故障问题。在此总结记录其中关键的两点如下,实际上都是总线信号名称的问题:

       一、总线信号名称定义
        创建总线的模块 Bus Creator,其输入端的信号可命名也可不命名,但在后一级 Bus Creator 总线创建模块会产生不同的效果。
1、如下图,O_Bus_Crtr 模块后端的连线未定义名称



2、在其后一级的总线创建模块 Bus Creator 的输入端对应的信号为 signal4 (前3个已命名),可见未命名时系统会自动添加名称,但均以 "signal+序号" 进行命名。



3、将前述未命名的信号进行命名,如下



4、再双击查看后一级的 Bus Creator 模块,发现没有了名称为 signal4 的信号,取而代之的是名称为 ECU_ecuCtrl 的信号。




二、总线信号重名

        如果对创建总线的模块 Bus Creator 的输入端口的信号均进行命名,有时会失误将两个甚至多个输入的信号定义成了相同的名称。实际当然不希望有重复的名称定义,此时系统为了进行区分,会自动添加后缀名称。未定义成相同名称的情形如前面所述,输入端口的信号定义成了相同名称的信号列表如下:
      


       查看其后级的 Bus Creator 信号创建模块的信号列表,各信号均在所命名的名称后又添加了 "(signal n)" 的后缀名称。


       而在后一级对应的总线信号选择模块 Bus Selector 的信号列表中,输入侧的信号列表与前面的实际对应。而在信号选择侧,如果之前已经按约定定义了对应的名称,则系统无法识别将两侧的信号进行对应,从而导致了下图中的信号选择侧列表中各信号的前缀均出现了 "???" 字符。



       此时如果不予理会直接进行编译,将出现总线模块中找不到有关信号的错误如下:




     实际上,如果出现信号命名重复的情形时,在 Matlab 的命令窗口中也会给出响应的告警信息,可见有时对于告警信息完全不予理会时不可取的。









欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1