|
Codex 接管 RT Manager mini:从 Simulink 部署到实时仿真数据记录
这次记录的是一次工程自动化实验:让 Codex 在 MATLAB 中显式打开 RT Manager GUI,并完成 Simulink 模型部署、实时运行、停止和数据回传。文章展示流程与工程经验。
一、实验目标
目标不是简单运行一段 MATLAB 脚本,而是让 AI Agent 理解 RT Manager 的真实操作链路,并尽量按 GUI 工作流执行:
1. 启动 MATLAB,并切换到模型工作目录。
2. 将 RT Manager 主目录及子目录加入 MATLAB 搜索路径。
3. 在命令窗口输入 RT_Manager,打开 RT Manager 图形界面。
4. 在 GUI 中填写目标设备连接信息,并执行 Connect。
5. 开启 LogData,再部署 MotorPlant 示例模型。
6. 等待部署完成后点击 Run,实时仿真运行约 27 秒。
7. 点击 Stop,等待下位机停止并把记录数据回传到本机。
二、环境准备
本次流程涉及 MATLAB/Simulink平台工具、RT Manager上位机软件、RT Manager mini 硬件和可代码生成的 Simulink 模型。模型侧需要满足实时部署的基本要求,例如固定步长配置、代码生成配置、可观测信号设置,以及数据记录相关模块或信号的命名。
三、自动化执行步骤
第一步是让 Codex 阅读 RT Manager 用户手册,确认按钮、输入框和回调函数之间的关系。这里最关键的一点是:GUI 上看到的字段值和后台连接变量不一定完全等价,要让前台控件状态与真实操作一致。
第二步是启动 MATLAB 并设置路径。路径准备好后,通过命令窗口输入 RT_Manager 打开界面,而不是绕过 GUI 直接调用底层函数。
第三步是连接目标设备。GUI 中只显示必要状态,不在日志和文章里输出敏感连接信息。连接成功后,再开启 LogData,确保后续实时运行的数据会被记录。
第四步是部署模型。Codex 选择 MotorPlant 模型,触发代码生成、编译、上传和部署流程。部署完成后,GUI 的运行按钮进入可用状态。
第五步是实时运行与停止。启动 Run 后,等待约 20 秒,再执行 Stop。停止后等待数据回传,最终生成本地 CSV 数据文件。
四、运行结果
本次数据回传后得到 simulation_log.csv。下面的图由回传数据生成,展示实时计数和单步耗时趋势,如果需要将电机控制算法信号绘图,只需要提示词中提要求即可。
从日志可以看到,实时运行期间持续产生采样数据,停止后数据成功回传到本机。GUI 侧需要重点观察三个位置:RealTime 是否刷新、Time Cost 是否刷新、DataLogging Signals 是否列出模型生成代码中的观测量。
五、踩坑与经验
1. 密码框不能只在后台赋值。GUI 自动化时,前台控件状态和后台私有变量都要同步,否则界面看起来没填,连接也可能失败。
2. LogData 要在部署和运行前打开。否则模型虽然能跑,但不一定能得到期望的数据记录。
3. 临时构建文件会影响重复部署。重新部署前应清理旧的 rtbak、slprj、生成代码目录等临时产物,避免把上一次的状态带入本次测试。
4. 只靠“点击坐标”不够稳。更可靠的方式是让 Agent 理解 GUI、控件对象和回调逻辑,再把可见操作与底层状态同步起来。
5. 实时系统自动化必须有停止与验证步骤。Run 成功不等于任务完成,Stop、数据回传、日志检查同样是闭环的一部分。
六、结论
这次实验说明,AI Agent 不只是能写代码写文档,也可以在工程软件中完成较完整的“读手册、理解 GUI、部署模型、控制硬件、记录数据、验证结果”的闭环。对于 MBD、HIL、实时仿真这类流程复杂但规则明确的场景,未来的价值不在于替代工程师点击按钮,而在于把重复操作、环境检查和结果验证变成可复用的自动化工作流。
|