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

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

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

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

Исполняемый файл режима external mode полностью синхронизируется с синхроимпульсом в реальном времени. Главная роль Simulink - чтение и отображение результатов симуляции, возвращенных из исполняемого файла.

Примечание

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

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

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

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

Похожие темы