Simulink Real-Time позволяет создавать приложения реального времени из моделей Simulink и запускать их на выделенном целевом компьютере, подключенном к физической системе. Он поддерживает симуляцию и тестирование в режиме реального времени, включая быстрое прототипирование алгоритмов управления, прототипирование систем ЦОС и машинного зрения и полунатурное моделирование (HIL).

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

Ключевые возможности

  • Автоматическая генерация приложений реального времени из моделей Simulink, для работы на целевых компьютерах, оснащенных аппаратными средствами ввода-вывода и поддержкой протоколов, а также ПЛИС (с HDL Coder)
  • Многозадачная и многоядерная система реального времени c микросекундным разрешением и поддержкой параллельного выполнения
  • Блоки драйверов для ввода-вывода, включая аналоговые, цифровые, импульсные последовательности, энкодеры, трансформаторы, пассивные компоненты, последовательную шину, аудио, общую память и реконфигурируемую ПЛИС
  • Блоки драйверов для протоколов и данных шин, в том числе Raw Ethernet, Real-Time UDP, CAN, EtherCAT, EtherNet/IP, Lin, SAE J1939, FlexRay, Camera Link, USB video, ARINC 429 и MIL-STD-1553
  • Simulink Real-Time Explorer с подключением через Ethernet к нескольким целевым компьютерам для управления, выполнения и инструментирования приложений реального времени
  • Автономная работа приложения в режиме реального времени с отображением сигналов на дисплее с высоким разрешением
  • Функции MATLAB для тестовых сценариев и API для разработки автономных клиентских приложений и пользовательских интерфейсов (Visual Basic, C/C++, Java и .NET)

Настройка среды для симуляции и тестирования в реальном времени

Типичная среда для приложений реального времени, построенных с использованием Simulink Real-Time, состоит из компьютера разработки, целевого компьютера и физической системы, также называемой тестируемым оборудованием.

На компьютере разработчика работает Simulink Real-Time, компилятор C, а также необходимые продукты MATLAB, MATLAB Coder, Simulink и Simulink Coder. 

Процессор целевого компьютера работает под управлением ядра Simulink Real-Time с микросекундным разрешением и поддержкой параллельного выполнения. Компьютер разработки подключается к целевому компьютеру с помощью прямой (локальная сеть точка-точка) или косвенной (LAN или WAN коммутируемой сети) связи Ethernet с помощью протокола TCP/IP. Вы подключаете аппаратные интерфейсы ввода-вывода целевого компьютера к физической системе (тестируемому оборудованию).

После настройки этой среды можно создавать приложения реального времени из моделей Simulink на компьютере разработчика и загружать приложения реального времени в целевой компьютер по каналу Ethernet. После загрузки этого приложения вы можете:

  • Взаимодействовать с приложением в реальном времени на целевом компьютере
  • Выполнять запуски в интерактивном режиме или инициировать автоматические запуски и тестовые сценарии
  • Настраивать параметры во время, до или после выполнения
  • Захватывать, просматривать и записывать сигналы на компьютере разработки или целевом компьютере
  • Создавать и запускать приборные панели с графическим управлением и элементами отображения для настройки параметров и просмотра сигналов

Выбор железа целевого компьютера

Simulink Real-Time и целевое оборудование поддерживают широкий выбор интерфейсов ввода-вывода и протоколов
Simulink Real-Time и целевое оборудование поддерживают широкий выбор интерфейсов ввода-вывода и протоколов
Simulink Real-Time и целевое оборудование поддерживают широкий выбор интерфейсов ввода-вывода и протоколов Simulink Real-Time и целевое оборудование поддерживают широкий выбор интерфейсов ввода-вывода и протоколов

Для симуляции и тестирования в реальном времени используется Simulink Real-Time с выделенной целевой компьютерной системой с процессором и оборудованием для ввода-вывода и поддержки протоколов.

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

Симулятор предлагает разнообразие форм-факторов и интерфейсов ввода-вывода, протоколов и модулей ПЛИС для настольного, лабораторного и полевого применения.

Целевая компьютерная система завершена и готова к подключению к вашему компьютеру разработки. Она поставляется полностью собранной и содержит в комплекте следующее:

  • Процессор, оперативная память, диски и модули ввода-вывода, интерфейсные протоколы и оборудование ПЛИС
  • Полный комплект кабелей ввода-вывода, клеммные платы, документация, Simulink блоки для драйверов и тестовые модели для приемо-сдаточных испытаний для каждого модуля ввода/вывода
  • Ядро Simulink Real-Time предустановлено, а целевая компьютерная система готова к включению
  • Документация для целевой компьютерной системы, а также многолетнюю гарантию, доступ к службе поддержки и обновлениям для драйверов ввода-вывода, интерфейсных протоколов и прошивки ПЛИС.

Создание и управление приложением реального времени

Модель Simulink является основой приложения реального времени, создаваемого с помощью Simulink Real-Time. Модель может содержать любой блок из библиотеки Simulink, для которого Simulink Coder может генерировать C-код, блоки из таких продуктов, как Stateflow, Simscape и других тулбоксов, а также код пользователя или сторонний код в виде блоков S-function. 

Перед началом процесса сборки для приложения реального времени в модели Simulink выбирается решатель с фиксированным шагом и выбирается Simulink Real-Time в качестве целевой среды. Затем вы расширяете модель Simulink блоками драйверов из библиотеки блоков Simulink Real-Time или библиотеки блоков, поставляемой с каждым целевым компьютером. Затем вы соединяете сигналами блоки драйверов и другие блоки в вашей модели. Затем вы инициируете сборку приложения реального времени. Процесс сборки автоматически загружает сгенерированное приложение реального времени по каналу Ethernet в целевой компьютер.

Simulink Real-Time показывает состояние загруженного приложения в режиме реального времени с помощью целевого дисплея с высоким разрешением. Вы можете отслеживать запущенное приложение в реальном времени и просматривать как мгновенные значения сигналов, так и сигналы во времени. 

Simulink Real-Time предоставляет два способа управления приложением реального времени на целевом компьютере. Simulink Real-Time Explorer позволяет задавать и управлять целевым компьютером, загружать приложения реального времени и управлять приложениями реального времени, включая запуск, остановку или изменение шага расчета, а также отображать данные о состоянии этих запусков.

Кроме того, вы можете использовать функции MATLAB и объекты в Simulink Real-Time для управления приложениями реального времени через командную строку MATLAB или в скриптах и файлах MATLAB. Для получения доступа к целевому компьютеру и контроля приложений реального времени извне среды MATLAB, вы можете использовать C API или .NET API.

Инструментирование приложения реального времени

Дисплей целевого компьютера, отображающий сигналы и состояние приложения реального времени
Дисплей целевого компьютера, отображающий сигналы и состояние приложения реального времени
Дисплей целевого компьютера, отображающий сигналы и состояние приложения реального времени Дисплей целевого компьютера, отображающий сигналы и состояние приложения реального времени

Вы можете использовать Simulink Real-Time Explorer для настройки параметров и отображения или записи интересующих вас сигналов. Этот инструментарий во время выполнения не требует перестроения приложения реального времени из модели Simulink.

Вы можете настраивать скалярные, векторные или матричные параметры и просматривать значения сигналов в виде чисел или во времени с помощью осциллографов Simulink Real-Time Explorer. Можно определить настраиваемые параметры или сигналы для наблюдения, перемещаясь по иерархии модели или через предварительно настроенные группы сигналов.

Simulink Real-Time Explorer позволяет проектировать и запускать графические панели приборов. Вы выбираете графические элементы, такие как ручки, ползунки, угловые циферблаты и датчики на панели инструментов и перетаскиваете их на панели. Вы устанавливаете связи между каждым инструментом и приложением реального времени, перетаскивая параметры и сигналы из окна иерархии моделей на графические элементы управления и дисплеи панели инструментов. При запуске приборной панели она непрерывно взаимодействует с приложением в реальном времени и обновляет связанные параметры и сигналы.

Кроме того, вы можете настроить приложение реального времени с помощью командной строки MATLAB, интерактивно или программно из сценариев или функций MATLAB. Вы можете использовать функции MATLAB и объекты Simulink Real-Time (для приложений MATLAB) или C и .NET API (для внешних исполняемых программ).

Simulink Real-Time поддерживает режим Simulink External Mode, позволяя вам управлять приложением реального времени непосредственно из модели Simulink, из которой было построено приложение реального времени.

Параллельное выполнение для приложения реального времени

Профилировщик Simulink Real-Time отображает приоритет задач, время выполнения и прерывания задач, а также раскладку задач по ядрам
Профилировщик Simulink Real-Time отображает приоритет задач, время выполнения и прерывания задач, а также раскладку задач по ядрам

Можно создавать высокопроизводительные приложения реального времени с помощью параллельного выполнения. Параллельное выполнение позволяет запускать больше кода в течение указанного шага расчета. Оно использует возможности параллельного выполнения Simulink, кода, генерируемого Simulink Coder, ядра Simulink Real-Time и многоядерного целевого оборудования.

Параллельное выполнение в моделях Simulink

Simulink Real-Time поддерживает возможности параллельного выполнения Simulink, такие как многозадачное выполнение многочастотных систем и параллельное моделирование задач.

Параллельное выполнение в сгенерированном коде

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

При помощи Simulink Real-Time код, сгенерированный и скомпилированный для приложения реального времени, автоматически распределяется между ядрами процессора, доступными в целевой компьютерной системе.

Параллельное выполнение на многоядерном целевом оборудовании

Ядро Simulink Real-Time, выполняющее приложение реального времени, использует аппаратные ресурсы, предоставляемые целевой компьютерной системой, включая многоядерный процессор, расширенный контроллер прерываний и чипсет, а также общую многоуровневую обработку кэша.

Вы можете оборудовать целевую систему модулями ПЛИС, устанавливаемыми в слоты расширения. С Simulink Real-Time вы можете использовать возможности ПЛИС для запуска HDL-кода в качестве аппаратного обеспечения и возможности HDL Coder для генерации HDL-кода из моделей Simulink. Эта комбинация позволяет использовать подключаемые модули ПЛИС в целевых компьютерных системах в качестве дополнительного ресурса для параллельного выполнения.

Simulink Real-Time поддерживает использование нескольких целевых компьютеров, подключенных к компьютеру разработки через сетевой коммутатор Ethernet. Каждый целевой компьютер может выполнять отдельное приложение реального времени, созданное из отдельной модели Simulink. Схемы передачи данных и синхронизации определяются в моделях Simulink с помощью блоков драйверов интерфейса ввода-вывода и протоколов, представляющих целевое оборудование, например общую память, UDP в реальном времени, CAN, EtherCAT и FlexRay. 

Профилировщик Simulink Real-Time отображает приоритет задач, время выполнения и прерывания задач, а также раскладку задач по ядрам Профилировщик Simulink Real-Time отображает приоритет задач, время выполнения и прерывания задач, а также раскладку задач по ядрам

Создание автономного приложения реального времени

Simulink Real-Time позволяет создавать автономные приложения реального времени для постоянной установки на целевом компьютере. В результате вы можете использовать Simulink Real-Time на этапе проектирования и на этапе развёртывания вашего проекта.

На начальном этапе проектирования ваш компьютер разработки обычно постоянно подключен к целевому компьютеру по каналу Ethernet для обеспечения непрерывного создания, загрузки и инструментирования приложений реального времени. Хотя эта настройка обеспечивает гибкость и позволяет быстро выполнять итерации, она требует наличия компьютера разработки под управлением MATLAB. 

Позже вы можете создать автономное приложение реального времени со встроенным ядром Simulink Real-Time. Когда целевой компьютер включается, приложение реального времени запускается автоматически, обеспечивая постоянную работу симулятора HIL и развертывание приложения реального времени.

В автономном режиме, целевой дисплей обеспечивает визуальную обратную связь о состоянии запущенных приложений в реальном времени, включая отображение настроенных сигналов. 

Вы можете подключить свой компьютер разработки к целевой компьютерной системе в любое время, чтобы контролировать и измерять запущенное приложение реального времени. Отключение компьютера разработки не влияет на работу приложения реального времени.