主要内容

实时执行在内核模式运行

运行在内核Mode是一个性能更高的选择实时执行在连接IO模式。在运行在内核模式,您可以使用动态仿真模块®编码器™将生成的算法代码链接到从I/O块生成的I/O驱动程序代码。生成的可执行文件在开发计算机上以操作系统内核模式运行。可执行文件通过共享内存接口与Simulink交换参数数据。

  • 信号采集-你可以从实时应用程序中捕获和显示信号,而它正在运行。信号数据从实时应用程序中检索并显示在同一个Simulink中范围用于模拟模型的块。

  • 参数调优——你可以在你的Simulink框图中更改参数,并让新参数自动传递给实时应用程序。外部模式在实时应用程序运行时更改其参数。

运行在内核可执行模式与实时时钟完全同步。Simulink的主要作用是读取和显示从可执行文件返回的仿真结果。

在内核模式下运行实时执行的相关过程包括:

请注意

使用固定步骤求解器运行在内核模式。

外部模式模拟架构图像

运行在内核模式,实时应用程序和I/O驱动程序运行在内核模式进程。使用I/O驱动程序与硬件通信,应用程序将连续的响应数据存储在可供Simulink访问的内存中,直到数据缓冲区被填满。当缓冲区被填满时,实时应用程序继续运行,而Simulink将数据传输到MATLAB®环境通过Simulink外部模式。数据的传输比在所需的样本间隔内保持确定性实时更新更重要。在模型计算完成后,数据传输以较低的优先级运行,同时该过程等待另一个中断来触发下一次模型更新。

在一个缓冲区中捕获的数据是连续的。当传输了一个数据缓冲区后,数据立即在Simulink中绘制出来范围块。通过在Simulink外部模式下使用数据归档,可以将数据直接保存到mat文件中。

有了数据存档,你可以把每个缓冲区的数据保存到它自己的mat文件。mat文件名可以自动递增,使您能够捕获和存储许多数据缓冲区。虽然缓冲区内的点是连续的,但将数据传输回Simulink所需的时间会暂停数据收集,直到整个缓冲区被传输完毕。这种暂停会导致数据缓冲区之间的采样点丢失。

相关的话题

Baidu
map