创建实时运行模型并运行 基础教程
本章介绍如何创建实时运行模型并运行。通过本章,你将掌握从模板创建工程、编辑模型、编译运行,到波形查看与参数在线调节的完整流程。
基于模板创建工程
在 MATLAB 主界面点击 Simulink 按钮,在 My Templates 中选择 “RTScale CPU model template” 模板创建模型。InsRealm 插件安装完成后,该模板会自动注册到 Simulink 中。
不要使用 Simulink 自带的空白模板:自带模板需要配置若干参数后才能编译,直接使用会导致 Build 按钮无法点击。基于 RTScale 模板创建的工程已预置全部必要配置。
连接测试
工程创建完成后,点击模型顶部 INSREALM 插件栏中的 Check Target 进行通讯测试:连接成功会弹出成功提示;若失败,请检查网线连接并尝试重启设备。测试通过后,安装与连接即全部完成。
此外,也可以通过 cmd 窗口输入 ping 192.168.10.110(RTScale 的 IP)来测试连通性。
设置设备 IP 地址
RTScale 出厂默认 IP 为 192.168.10.110。如需修改设备 IP,在浏览器地址栏输入设备当前的 IP 地址,即可进入设备管理网页。
在管理网页的 IP CONFIGURATION 中填入新的 IP 地址(Mask 留空时默认为 255.255.255.0),点击 Apply 即可生效。
请务必记住修改后的 IP 地址,后续连接设备和配置模型都要用到。若忘记设备 IP,可使用插件栏 SETTINGS 中的 Scan targets 功能扫描找回。
修改设备 IP 之后,模型中还需要同步修改两处 IP 配置,均在 INSREALM 插件栏的模型设置(Model Settings)中:
- 进入 代码生成 → 接口,在“外部模式配置”的 MEX 文件参数 中,将第一个参数改为设备的新 IP;
- 进入 代码生成 → InsRealm,将 IP Address 改为设备的新 IP。
编辑模型
工程创建后,即可像搭建普通 Simulink 模型一样编辑模型。与 RTScale 硬件交互的部分(PWM、ADC、DAC、GPIO 等)从 Library Browser 的 InsRealm/RTScale 库中插入,各模型库的使用方法参考下一章《InsRealm 模型库使用说明》。
除硬件模块外,本工程可以使用 Simulink 的任意模型库,使用方法与离线仿真完全一致。例如下图中,我们用 Sine Wave 模块创建一个正弦波形,并添加 Scope 模块查看波形。
需要注意,模型中不能包含连续采样的模块,须将其改为离散模型,否则模型无法编译。以 Sine Wave 模块为例,其采样时间(Sample time)默认为 0(连续采样),需要将其改为 -1(由模型自动推断采样时间),即可作为离散模块使用。
每个模型都必须包含 System 模块,否则无法编译;GPIO 方向、ADC 触发源、波形上传采样率等系统级参数均在 System 模块中配置。
配置模型步长
点击 INSREALM 插件栏的模型设置(Model Settings),在求解器(Solver)页设置模型的固定步长,即 CPU 的仿真步长,如下图所示。
CPU 模型的步长按照需求进行设定,最小步长为2us,且模型计算量大的时候需要增加模型步长,查看模型负载的方法可以查阅《常见问题解答》章节 。若 System 模块的 Tick Trigger 使用 PWM interrupt 模式,则需要将模型步长设置为等于 PWM 周期,详见《RTScale 控制延迟分析》章节。
编译模型并运行
模型搭建完成后,点击 INSREALM 插件栏中的 Build for Monitoring 按钮开始编译。编译耗时取决于模型规模与电脑性能,通常为几十秒到几分钟;当出现下图所示界面时,表示编译成功。
编译成功后点击 Connect,当 Start 按钮变为绿色、界面右下角出现 T=0 时,即表示连接成功、模型已就绪。此时点击 Start 即可启动模型运行。
查看波形与在线调参
查看波形
模型运行后,双击模型中的 Scope 模块即可查看实时上传的波形,如下图所示。
示波器设置
如下图所示,默认配置下示波器的时间跨度较长(10 秒),观察较高频信号时需手动放大才能看清细节。将时间轴改为较小的值,即可看到实时刷新的波形,便于观察细节。
点击示波器左上角的配置按钮,进入 Time 选项卡:将 Time span 由 Auto 改为 0.1(即合适的时间尺度),再将 Time units 由 None 改为 seconds,最后点击 OK。此时示波器的时间跨度变为 0.1 秒,并保持稳定的实时刷新。
在线调参
模型运行期间,可以直接双击模型中的 Constant、Gain 等模块修改参数,点击确定后立即在 RTScale 上生效,无需重新编译,便于在线整定控制参数。
若发现参数无法实时修改,请检查 Model Settings 中的 Default parameter behavior 是否被设置为 Inlined,将其改为 Tunable 即可,详见常见错误与解决办法章节。