RTScale 产品使用手册常见问题解答

常见问题解答 基础教程

本章以问答形式汇总使用过程中的高频问题,包括 IP 配置、模型步长、波形采样与数据导出、计算负载与 PWM 同步等常用操作。每个问题均给出简明答案,并附详细章节的跳转链接;报错类问题请查阅《常见错误与解决办法》章节。

怎么设置设备的 IP 与模型的 IP?

设备 IP:在浏览器地址栏输入设备当前 IP(出厂默认 192.168.10.110)进入设备管理网页,在 IP CONFIGURATION 中填入新 IP 并点击 Apply。请务必记住修改后的 IP。

模型 IP:修改设备 IP 后,需在 INSREALM 插件栏的模型设置中同步修改两处——代码生成 → 接口 中外部模式配置的 MEX 文件参数(第一个参数),以及 代码生成 → InsRealm 页的 IP Address。

详细步骤见《创建实时运行模型并运行 · 设置设备 IP 地址》

怎么设置模型步长?

点击 INSREALM 插件栏的模型设置(Model Settings),在求解器(Solver)页设置固定步长,即 CPU 的仿真步长。步长范围通常为 2 µs ~ 100 µs:步长越小控制性能越好,但过小会导致 CPU 算力不足、计算超时。

详见《创建实时运行模型并运行 · 配置模型步长》

如何查看模型计算负载?

System 模块的输出端口接到 Scope 或 Display 模块即可查看。该输出表示的是当前步长设置下,模型计算的剩余时间,单位为 ns;如果为负数则表示计算超时,需要增加仿真步长,或减少仿真计算的计算量。

如何设置波形采样步长?和模型步长有什么区别?

波形采样步长(上传采样率)在 System 模块中设置,默认为 10 kHz,它只决定上传到上位机显示的波形数据密度。

两者的区别:模型步长是 CPU 实际解算模型的周期,直接影响控制与仿真精度;波形采样步长只影响波形显示,不影响模型的仿真计算。上传采样率不建议设置过高,否则通讯量过大会导致波形断续(但模型计算不受影响)。

如何导出 Simulink Scope 的波形数据?

先按下图打开scope的设置窗口。这里勾选Log data to workspace(保存数据到工作区),并且设置variable name为需要的变量的名字,save format改成Structure with time(带时间的结构体)

然后点击控制面板按钮,打开数据存档并设置相应的保存路径和文件名。

在这边可以设置每个文件保存的数据点,按下图设置是每个文件保存10000个数据点。如果改成20000就是每个文件保存20000个数据点,但是这个数字不能太大,否则无法正常运行,推荐设置为10000。

接着运行模型,即可在前面设置的路径下产生若干个mat文件。

如何设置 ADC 采样由 PWM 触发、占空比更新时机(影子更新)与双采样双更新?

相关配置均围绕 System 模块与 PWM 模块进行:

  1. PWM 同步触发:在 System 模块中将 Tick Trigger 设为 PWM interrupt;需要注意的是此模式下模型步长必须设置为等于 PWM 周期;
  2. ADC 采样触发:在 System 模块中将 ADC 触发源设为对应的 PWM 模块,触发点选择 CNT is zero(计数器过零点采样,即开关纹波中心);
  3. 占空比更新时机:在 PWM 模块中选择装载模式——立即装载(instant mode,占空比立即生效,控制延迟小于 1 拍)或影子装载(shadow mode,在下一个计数器过零点生效,控制延迟等于 1 拍);
  4. 双采样双更新:将 ADC 触发点设置为过零点与周期点都触发,同时在 PWM 模块中将装载模式设置为双更新(过零点与周期点各更新一次),使每个 PWM 周期采样并更新两次,进一步降低控制延迟。需要注意的是,此模式下需要设置模型步长为 PWM 周期的一半。

时序原理与完整分析见《RTScale 控制延迟分析》

如何设置 GPIO 的方向,使 IO 由外部控制器控制?

GPIO 方向在 System 模块的 GPIO Direction Setting 中配置。RTScale 提供 50 个双向 IO,每 5 个为一组,每组可通过 0/1 单独设置方向:0 表示输入,1 表示输出。例如方向值 0x3F(二进制 0b11_1111)表示 GPIO1~GPIO30 为输出、GPIO31~GPIO50 为输入。

只有配置为输出的引脚,内部 PWM 等模块产生的信号才能连接到管脚上;若要让 IO 由外部控制器控制,将对应组的方向设置为输入(0)即可,此时引脚接收来自外部控制器的信号。

System 模块:GPIO Direction Setting

如何降低 Delay 模块的计算时间?

当 Delay 模块的延迟数值较大时,该模块的计算会消耗较多时间。可以通过以下两种方式降低计算量:

Delay 模块:勾选“使用环形缓冲区保存状态”