Выполнение в реальном времени в запущенном в привилегированном режиме

Альтернатива с более высокими характеристиками режиму Connected IO является режимом Run in Kernel. В этом режиме вы используете Simulink® Coder™, чтобы соединить сгенерированный код алгоритма с кодом драйвера ввода-вывода, сгенерированным от блоков ввода-вывода. Получившийся исполняемый файл запускается в режиме ядра операционной системы на компьютере разработчика и обменивается данными о параметре с Simulink через интерфейс общей памяти.

  • Захват сигнала — можно получить и отобразить сигналы из приложения реального времени, в то время как это запускается. Данные сигнала получены из приложения реального времени и отображены в том же Scope Simulink блоки вы использовали для симуляции вашей модели.

  • Настройка параметра — можно изменить параметры в Диаграмме Simulink и передавать новые параметры автоматически к приложению реального времени. Режим external mode изменяет параметры в вашем приложении реального времени, в то время как это запускается в режиме реального времени.

Исполняемый файл режима Run in Kernel полностью синхронизируется с часами реального времени. Основная роль Simulink должна считать и отобразить результаты симуляции, возвращенные в исполняемый файл.

Процедуры, связанные с выполнением в реальном времени в запущенном в привилегированном режиме, включают:

Примечание

Используйте решатель фиксированного шага в режиме Run in Kernel.

Image of external mode simulation architecture

В режиме Run in Kernel, приложении реального времени и драйверах ввода-вывода, запущенных в процессе привилегированного режима. Используя драйверы ввода-вывода, чтобы связаться с оборудованием, приложение хранит непрерывные данные об ответе в памяти, доступной для Simulink, пока буфер данных не заполнен. Когда буфер заполнен, приложение реального времени продолжает запускаться, в то время как Simulink передает данные MATLAB® среда через режим external mode Simulink. Передача данных менее очень важна, чем поддержание детерминированных обновлений в реальном времени в необходимом демонстрационном интервале. После того, как расчеты модели закончены, запуски передачи данных в более низком приоритете, в то время как процесс ожидает другого прерывания, чтобы инициировать следующее обновление модели.

Данные, собранные в одном буфере, непрерывны. Когда буфер данных был передан, это сразу построено в Scope Simulink блок. Данные могут также быть сохранены непосредственно в MAT-файл, использующий функцию архивации данных режима external mode Simulink.

С архивацией данных каждый буфер данных может быть сохранен в свой собственный MAT-файл. Имена MAT-файла могут быть автоматически постепенно увеличены, позволив вам получить и автоматически сохранить много буферов данных. Несмотря на то, что точки в буфере непрерывны, время, требуемое возвращать данные к Simulink, приостанавливает сбор данных, пока целый буфер не был передан. Эта пауза может привести к потерянным точкам выборки между буферами данных.

Похожие темы