4. 开发环境搭建与工程初始化

MicroAutoBox 的实时原型开发依赖一条完整的工具链:MATLAB/Simulink 负责模型设计与代码生成,RTI(Real-Time Interface)负责把 Simulink 模型与 dSPACE 实时硬件绑定,ControlDesk 负责运行期观测与标定,而目标机网络则是宿主机与实时硬件之间的数据通道。本节围绕这条工具链,从软件安装、路径设置、网络连通到第一个 RTI 工程框架的建立,给出可执行的搭建过程。

一、软件版本匹配与安装顺序

dSPACE 工具链对版本匹配非常敏感。RTI 的每个发行版本都对应特定的 MATLAB/Simulink 版本区间,例如 RTI 2023-A 通常要求 MATLAB R2021b 至 R2023a,ConfigurationDesk 与 ControlDesk 也需与 RTI 同代。安装前应先确认三件事:MATLAB 版本号、RTI 发行版本、MicroAutoBox 硬件型号(如 MicroAutoBox II 1401/1511/1512/1513)。版本不匹配时,Simulink 中会出现 RTI 模块库缺失或代码生成报错。

推荐安装顺序为:先装 MATLAB/Simulink(含 Simulink Coder、MATLAB Coder、Embedded Coder),再装 dSPACE 软件套件(RTI、ControlDesk、ConfigurationDesk、AutomationDesk 按需),最后安装硬件驱动与实时内核。安装 dSPACE 软件时,安装程序会自动探测已安装的 MATLAB 路径,并把 RTI 的 Simulink 模块库注册到该 MATLAB 中。若先装 dSPACE 后装 MATLAB,需要手动运行 dSPACE 提供的注册脚本重新绑定。

安装路径建议不含中文和空格,例如 D:\dSPACE\ 与 C:\MATLAB\R2023a\。路径中的空格会导致部分 Makefile 与批处理脚本解析失败。

二、RTI 路径设置与 Simulink 库注册

RTI 安装完成后,需要在 MATLAB 中确认其路径已加入搜索路径。可在 MATLAB 命令窗口执行:

% 查看 dSPACE 相关路径是否已注册
path
% 若未注册,手动添加(示例路径,按实际安装位置修改)
addpath(genpath('D:\dSPACE\RTI\2023-A\MATLAB'));
savepath;
% 验证 RTI 模块库是否可用
open_system('rtilib');   % 打开 RTI 模块库
which rti1001              % 查询目标硬件对应模块

执行 open_system('rtilib') 后,Simulink 库浏览器中应出现 dSPACE RTI 库,包含 RTI 平台模块(如 ds1401、ds1511)、I/O 模块(ADC、DAC、CAN、PWM、编码器)以及实时任务配置模块。若库为空或报错,说明路径未正确注册,需检查 dSPACE 安装目录下的 setup.m 或 rti_setup.m 是否已运行。

此外,还需在 Simulink 中配置代码生成目标。打开模型后进入 Configuration Parameters → Code Generation,将 System target file 选择为 rti1001.tlc(对应 MicroAutoBox II 1401)或对应硬件型号的 TLC 文件。这一步是 RTI 工程区别于普通 Simulink 工程的关键标志。

三、目标机网络连接

MicroAutoBox 通过以太网与宿主机通信,默认使用静态 IP。典型配置为:宿主机网卡 IP 192.168.0.10,子网掩码 255.255.255.0;MicroAutoBox 默认 IP 通常为 192.168.0.1(具体以硬件标签或 ConfigurationDesk 读取值为准)。两者必须处于同一网段,且宿主机该网卡不应再配置其他网关,避免路由冲突。

连接建立后,用 ping 验证链路:

ping 192.168.0.1

若 ping 不通,依次检查:网线是否插在 MicroAutoBox 的以太网口(而非其他扩展口)、宿主机防火墙是否拦截、IP 是否冲突、网卡是否被禁用。ping 通后,可在 MATLAB 中通过 RTI 提供的目标机管理工具或 ControlDesk 的 Platform Manager 扫描目标机,确认能识别到硬件型号与固件版本。

MicroAutoBox RTI 开发环境连接拓扑 宿主机 PC MATLAB R2023a + Simulink RTI 2023-A ControlDesk ConfigurationDesk 网卡 IP: 192.168.0.10 下载 / 控制 测量 / 标定数据 以太网 100/1000 Mbit MicroAutoBox II 实时内核 + RTI 运行时 I/O: ADC / DAC / CAN / PWM 编码器 / 数字 I/O IP: 192.168.0.1 子网掩码: 255.255.255.0 被控对象 / 台架 电机 / 执行器 传感器信号 CAN 总线 PWM / 模拟量 第一个 RTI 工程初始化流程 1. 新建 Simulink 模型 选择 RTI 目标 TLC rti1001.tlc 2. 拖入 RTI 模块 ds1401 平台模块 ADC / DAC 模块 3. 配置实时任务 采样周期 1 ms 任务优先级 4. 编译下载到目标机 Build → Download 观察目标机运行状态 验证:ControlDesk 连接目标机,观测变量实时刷新 若变量无刷新 → 检查 IP / 防火墙 / 目标机运行状态

四、创建第一个 RTI 工程框架

完成上述准备后,按以下步骤建立最小可运行工程。新建 Simulink 模型,保存为 FirstRTI.slx。在 Configuration Parameters 中设置:Solver 选择 Fixed-step,步长设为 0.001(1 ms);Code Generation 的 System target file 选择 rti1001.tlc;在 RTI 选项页中填写目标机 IP 192.168.0.1,并选择“Build and download after code generation”。

从 RTI 库中拖入 ds1401 平台模块作为根级配置块,再拖入一个 ADC 模块和一个 DAC 模块。将 ADC 输出直接连到 DAC 输入,构成最简单的直通回路。ADC 通道设为 1,电压范围 ±10 V;DAC 通道设为 1,输出范围 ±10 V。这样,目标机运行后,ADC 采集的模拟电压会直接由 DAC 输出,便于用示波器验证实时性。

点击 Build 后,MATLAB 会调用 RTI 的代码生成流程,生成 C 代码、编译为可执行文件,并通过以太网下载到 MicroAutoBox。下载成功后,目标机前面板的 RUN 指示灯常亮,ControlDesk 中可看到目标机状态为 Running。此时在 ControlDesk 中新建一个变量观测面板,添加 ADC 通道 1 的采集值,给 ADC 输入一个 2 V 直流信号,面板上应显示约 2.0 V;用示波器测 DAC 输出,也应得到约 2 V 的直流电平。若数值偏差超过 ±0.1 V,需检查 ADC/DAC 的电压范围配置是否与实际接线一致。

首次下载若报“目标机无响应”,优先确认目标机是否已上电、网线是否插在正确的以太网口、宿主机防火墙是否放行 MATLAB 与 dSPACE 相关进程。不要盲目重装软件。

五、常见初始化问题与判断依据

现象 可能原因 判断与处理
Simulink 中找不到 RTI 库 RTI 路径未注册或 MATLAB 版本不匹配 运行 dSPACE 的 setup 脚本;核对版本对应表
ping 目标机不通 IP 不同网段、防火墙、网线接口错误 统一网段;关闭防火墙测试;确认插口
Build 报 TLC 错误 System target file 未选 rti1001.tlc 在 Code Generation 中重新选择目标文件
下载后目标机不运行 目标机未上电、内核未加载、IP 冲突 检查电源与 RUN 灯;用 ConfigurationDesk 重载内核
ControlDesk 变量不刷新 目标机未运行、变量未加入观测列表 确认目标机 Running;重新添加变量并启动测量

完成以上步骤后,宿主机、目标机与被控对象之间的链路即已打通,后续所有实时原型开发都将在这一工程框架上扩展。建议把本次配置的 IP、TLC 文件、采样周期、ADC/DAC 通道映射记录到工程 README 中,作为后续排障的基线。