主要内容

在内核模式下运行的实时执行

运行在内核模式是一种性能更高的选择连接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