外部模式下的实时执行

实时正常模式的更高性能替代方案是实时外部模式。在此模式下,您可以使用万博1manbetx®编码器™将生成的算法代码与I/O块生成的I/O驱动程序代码链接起来。生成的可执行文件在开发计算机上以操作系统内核模式运行,并通过共享内存接口与Simulink交换参数数据。万博1manbetx

  • 信号采集——当实时应用程序运行时,您可以捕获并显示信号。信号数据从实时应用程序中检索,并在同一个Simulink中显示万博1manbetx范围用于模拟模型的块。

  • 参数调优——您可以在Simulink块图中更改参数,并将新参数自动传递给实时应用程序。万博1manbetx万博1manbetxSimulink外部模式在实时应用程序运行时更改参数。

外部模式可执行文件与实时时钟完全同步。Simulink的主要作用是读取和万博1manbetx显示从可执行文件返回的仿真结果。

请注意

在外部模式下使用固定步长求解器。

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

在一个缓冲区内捕获的数据是连续的。当数据缓冲区被传输时,它会立即在Simulink中绘制出来万博1manbetx范围块。数据还可以使用Simulink外部模式的数据归档特性直接保存到mat文件中。万博1manbetx

通过数据归档,每个缓冲区的数据可以保存到它自己的mat文件。mat文件名可以自动递增,允许您捕获并自动存储许多数据缓冲区。虽然缓冲区内的点是连续的,但将数据传输回Simulink所需的时间会暂停数据收集,直到整个缓冲区被传输完。万博1manbetx这种暂停可能导致数据缓冲区之间的样本点丢失。

相关的话题