Simulink Bus Creator模块和Bus Selector模块通过信号名来区分不同信号,信号名必须是唯一的字符串。
几种典型信号名命名情况
- 自动继承输入信号名:自动继承连接的输入信号线名称。
- 输入信号未命名时自动命名:当输入的信号线未定义信号名时,Bus Creator会使用signal1、newsignal1等作为默认信号名。
- 通过Bus Object定义信号名:在较复杂的模型中,可以在Simulink Bus Editor里创建Bus Object,定义每个元素的名字、数据类型、维度,Bus Creator绑定该Bus Object后,会严格按照对象里的字段名来命名信号。
关于“信号名称不匹配”报错
当Bus Creator模块参数中,勾选“要求输入的名称与以上名称匹配”选项时,Simulink在仿真或生成代码时会检查输入的信号线名称是否匹配Bus Creator模块中的信号名。
使用此功能时,要求对所有连接的输入信号线进行命名,信号线名称不能为空。
优点:模型各子系统之间信号关联更严谨。
缺点:启用后对Bus Creator模块的自动命名机制有影响,修改输入信号后,需手动干预,增加维护成本。
实用小技巧
实际应用中,可以利用信号线属性的“显示传播的信号”,自动将子系统中的输出信号名称传播到子系统外部的信号线上,避免重复的手动命名工作。