exponenta event banner

Выполнение во внешнем режиме в реальном времени

Более производительной альтернативой обычному режиму реального времени является внешний режим реального времени. В этом режиме вы используете Simulink ® Coder™, чтобы связать сгенерированный код алгоритма с кодом драйвера ввода/вывода, сгенерированным из блоков ввода/вывода. Результирующий исполняемый файл запускается в режиме ядра операционной системы на компьютере разработки и обменивается данными параметров с Simulink через интерфейс общей памяти.

  • Сбор сигналов - во время работы приложения в режиме реального времени можно записывать и отображать сигналы. Данные сигнала извлекаются из приложения реального времени и отображаются в том же Simulink Scope блоки, используемые для моделирования модели.

  • Настройка параметров - можно изменить параметры в блок-схеме Simulink и автоматически передать новые параметры в приложение реального времени. Во время работы в режиме реального времени внешний режим Simulink изменяет параметры приложения в режиме реального времени.

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

Примечание

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

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

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

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

Связанные темы