在 Simulink 模型构建中,Goto 和 From 模块是一对强有力的工具,可以用于跨层级、跨模块传递信号,从而提高模型的清晰度和可维护性。
本文将介绍 Goto 模块的基本用法与配置方法。
一、什么是 Goto 模块?
Goto 模块的作用是将一个信号“发送”出去,供其他位置的 From 模块 通过相同的标签名“接收”信号。
它的作用类似于编程中的“全局变量”机制,用于避免模型中复杂的连线,使结构更加清晰。
二、Goto 模块的使用步骤
1. 拖入模块
在 Simulink 模型中:
- 打开 Library Browser
- 找到 Signal Routing 文件夹
- 拖入 Goto 和 From 模块到你的模型中
2. 配置 Goto 模块
双击 Goto 模块,配置如下:
- Goto Tag:设置为你想要的信号名称(如
speed_signal
) - Tag Visibility(标签可见性):
local
:只在当前子系统中可见scoped
:在同一作用域内(比如同一子系统及其子系统)可见global
:整个模型范围内都可见
建议: 如果是简单模块内部使用,选用 local
即可;若跨层级通信,选用 scoped
或 global
。
3. 配置 From 模块
双击 From 模块:
- 在 Goto Tag 一栏输入与对应 Goto 模块一致的名称(必须完全相同)
三、示例应用
假设你在某子系统中生成一个信号 speed
,需要在主系统中使用此信号:
- 在子系统内:
- 使用 Goto 模块,设置 Tag 为
speed_signal
- 在主系统:
- 放置一个 From 模块,设置 Tag 为
speed_signal
- 保证 Goto 的 Tag Visibility 设置为
scoped
或global
这样,主系统即可接收到该信号,而无需绘制穿越多个层级的线缆。
四、使用建议
- 尽量避免滥用 Goto/From 模块,过多使用会使信号追踪困难
- 使用
scoped
可控制信号影响范围,增强模型模块化 - 可通过
Modeling > Model Settings > Diagnostics
启用未连接 Goto/From 检查,帮助调试
五、总结
Goto Tag:标识信号名称,From 模块需一致
Tag Visibility:控制信号传播范围:local、scoped、global
与 From 配合使用:Goto 发出信号,From 接收信号
通过合理使用 Goto 和 From 模块,可以有效改善 Simulink 模型结构,提升可读性和模块化程度。
如需进一步了解跨层级信号传递,建议深入学习 Scoped Goto/From 的作用域设置与 Subsystem 的交互方式。