Генератор кода производит файлы make или project, чтобы создать исполняемую программу для определенного целевого окружения. Сгенерированные файлы make или project являются необязательными. Если вы предпочитаете, можно создать исполняемую программу для сгенерированных исходных файлов с помощью существующего целевого окружения сборки, такой как сторонняя интегрированная среда разработки (IDE). Приложения сгенерированного кода варьируются от вызова нескольких экспортированных функций C или C++ на компьютере разработчика до генерации полной исполняемой программы, которая использует пользовательский процесс сборки для пользовательского оборудования, в окружении, полностью отдельной от компьютера разработчика, работающего под управлением MATLAB® и Simulink®.
Генератор кода обеспечивает встроенные системные целевые файлы, которые генерируют, создают и выполняют код для определенных целевых окружений. Эти системные целевые файлы предлагают различные степени поддержки для взаимодействия с сгенерированным кодом, чтобы логировать данные, настраивать параметры и экспериментировать с Simulink или без него в качестве внешнего интерфейса к вашему сгенерированному коду.
Прежде чем вы выберете системный целевой файл, идентифицируете целевое окружение, на котором вы ожидаете выполнять свой сгенерированный код. Наиболее распространённые целевые окружения включают окружения, перечисленные в этой таблице.
Целевое окружение | Описание |
---|---|
Компьютер разработчика | Компьютер, который запускает MATLAB и Simulink. Компьютер разработчика является ПК или UNIX®[a] окружение, которая использует операционную систему не в реальном времени, такую как Microsoft® Windows® или Linux®[b]. Операционные системы нереального времени (общего назначения) недетерминированы. Например, эти операционные системы могут приостановить выполнение кода для запуска службы операционной системы, а затем, после предоставления услуги, продолжить выполнение кода. Поэтому исполняемый файл для вашего сгенерированного кода может запускаться быстрее или медленнее, чем частоты дискретизации, которые вы указали в вашей модели. |
Симулятор в реальном времени | Компьютер, отличный от компьютера разработчика. Симулятором в реальном времени может быть окружение PC или UNIX, использующий операционную систему (RTOS) в реальном времени, например:
Сгенерированный код запускается в режиме реального времени. Точный характер выполнения варьируется в зависимости от конкретного поведения оборудования системы и RTOS. Симулятор в реальном времени подключается к компьютеру разработчика для логгирования данных, интерактивной настройки параметров и исследований пакетного выполнения Monte Carlo. |
Встроенный микропроцессор | Компьютер, который в конечном счете отключается от компьютера разработчика и запускается как автономный компьютер как часть электронного продукта. Встроенные микропроцессоры области значений в цене и эффективности, от высококлассных цифровых сигнальных процессоров (DSP) для обработки сигналов связи до недорогих 8-битных микроконтроллеров с фиксированной точкой в массовом производстве (для примера, электронных деталей, произведенных в миллионах модулей). Встроенные микропроцессоры могут:
|
[a] UNIX является зарегистрированным товарным знаком The Open Group в США и других странах. [b] Linux является зарегистрированной торговой маркой Linus Torvalds. |
Целевое окружение может:
Иметь одно - или много- ядерных центральных процессоров
Быть автономным компьютером или общаться как часть компьютерной сети
Можно развертывать различные части модели Simulink в различных целевых окружениях. Для примера обычно можно отделить компонент (алгоритм или контроллер) фрагмента модели от окружения (или объекта). Используя Simulink, чтобы смоделировать целую систему (объект и контроллер) часто упоминается как симуляция с обратной связью и может предоставить много преимуществ, таких как ранняя верификация компонента.
Следующий рисунок показывает пример целевых окружений для кода, сгенерированного для модели.
В этой таблице перечислены способы применения технологии генерации кода в контексте различных целевых окружений.
Приложение | Описание |
---|---|
Компьютер разработчика | |
Ускорение | Методы для ускорения выполнения симуляции модели в контексте MATLAB и Окружений Simulink. Ускоренные симуляции особенно полезны, когда время выполнения долго по сравнению со временем, связанным с компиляцией и проверяющим, актуален ли целевой объект. |
Быстрая симуляция | Выполните код, сгенерированный для модели в нереальном времени на компьютер разработчика, но вне контекста MATLAB и Окружений Simulink. |
Общие библиотеки объектов (Embedded Coder) | Интеграция компонентов с большей системой. Вы предоставляете сгенерированный исходный код и связанные зависимости для создания системы в другом окружении или в общей библиотеке, с которой другой код может динамически связываться. |
Защитите модели, чтобы скрыть содержимое | Сгенерируйте защищенную модель для использования сторонним поставщиком в другой среде симуляции Simulink. |
Симулятор в реальном времени | |
Быстрое прототипирование в реальном времени | Сгенерируйте, разверните и настройте код на симуляторе в реальном времени, подключенном к оборудованию системы, например, физическому объекту или транспортному средству. контролируется. Критическое значение для проверки того, может ли компонент управлять физической системой. |
Общие библиотеки объектов (Embedded Coder) | Интегрируйте сгенерированный исходный код и зависимости для компонентов в большую систему, которая построена в другом окружении. Можно использовать общие файлы библиотеки для защиты интеллектуального свойства. |
Симуляция оборудования в цикле (HIL) | Запустите симуляцию, которая соединяет физическое оборудование, такое как контроллер, с виртуальной реализацией физических компонентов в реальном времени на целевом компьютере в реальном времени, включая объект, датчики, приводы и окружение. Используйте Программно-аппаратные симуляции для тестирования и проверки физического оборудования и алгоритма регулятора путем включения эффектов отклика компонента в режиме реального времени к реалистичным стимулам. Проверка обычно сравнивает результаты программно-аппаратной симуляции с системными требованиями. Валидация сравнивает результаты программно-аппаратной симуляции с требованиями пользователя. Часто Программно-аппаратные симуляции упоминаются как симуляции с обратной связью из-за отклика компонента на стимулы физического окружения. |
Встроенный микропроцессор | |
Генерация кода (Embedded Coder) | Из модели сгенерируйте код, который оптимизирован для скорости, использования памяти, простоты и податливости отраслевым стандартам и руководствам. |
Симуляция Цикле (Embedded Coder) | Скомпилируйте сгенерированный или внешний исходный код, предназначенный для производства и выполните код как отдельный процесс от остальной модели Simulink на вашем компьютере разработчика. Цели включают начальную проверку исходного кода и верификацию путем сравнения результатов симуляции SIL и модели или сравнения результатов SIL с требованиями при помощи обратных проверок. Обычно используется с внешним интегрированием кода, бит-точной математикой с фиксированной точкой и анализом покрытия. |
Симуляция цикла (Embedded Coder) | Перекрестная компиляция сгенерированного или внешнего исходного кода, предназначенного для производства на компьютер разработчика, а затем загрузка и запуск кода объекта на целевой процессор или эквивалентный симулятор процессора. Цели включают верификацию путем сравнения результатов PIL симуляции с результатами модели или SIL симуляцией и сбора данных профилирования времени выполнения. Обычно используется с внешним интегрированием кода, бит-точной математикой с фиксированной точкой и анализом покрытия. |
Симуляция оборудования в цикле (HIL) | Запустите симуляцию, которая соединяет физическое оборудование, такое как контроллер, с виртуальной реализацией физических компонентов в реальном времени на целевом компьютере в реальном времени, включая объект, датчики, приводы и окружение. Используйте Программно-аппаратные симуляции для тестирования и проверки физического оборудования и алгоритма регулятора путем включения эффектов отклика компонента в режиме реального времени к реалистичным стимулам. Проверка обычно сравнивает результаты программно-аппаратной симуляции с системными требованиями. Валидация сравнивает результаты программно-аппаратной симуляции с требованиями пользователя. Часто Программно-аппаратные симуляции упоминаются как симуляции с обратной связью из-за отклика компонента на стимулы физического окружения. |