exponenta event banner

Приступайте к работе с оборудованием Simscape в цикле

Для выполнения моделирования аппаратного обеспечения в петле (HIL) с меньшими временными интервалами и повышенной точностью следует развернуть Simscape™ модели установок на FPGA на борту модулей ввода-вывода Speedgoat.

  • Создайте модель реализации HDL с помощью Simscape HDL Workflow Advisor. Модель реализации представляет собой модель Simulink ®, которая заменяет компоненты Simscape блоками Simulink, совместимыми с HDL.

  • Создайте код HDL для модели реализации, а затем разверните созданный код в универсальных FPGA, SoC или FPGA на системных модулях ввода-вывода Speedgoat FPGA с помощью помощника по рабочему процессу HDL.

Используя эту возможность, можно моделировать и развертывать сложные физические системы в Simscape, для моделирования которых ранее требовалось много времени, используя блоки Simulink.

Примеры моделей Simscape для генерации кода HDL

Для создания кода HDL можно разработать собственный алгоритм Simscape или выбрать из списка примеров моделей, созданных в Simscape. Примеры моделей включают в себя:

  • Повышающий преобразователь

  • Мостовой выпрямитель

  • Конвертер баков

  • Полуволновый выпрямитель

  • Трехфазный выпрямитель

  • Идеальный двухуровневый преобразователь

  • Двухуровневый преобразователь IGBT

  • Модель инвертора солнечной энергии

  • Швейцарский выпрямитель

  • Венский выпрямитель

Все примеры имеют префикс sschdlex и постфиксирован с помощью Example. Например, чтобы открыть модель повышающего преобразователя, в командной строке MATLAB ® введите:

load_system('sschdlexBoostConverterExample')
open_system('sschdlexBoostConverterExample/Simscape_system')

Рекомендации по моделированию Simscape для совместимости HDL

Следуйте этим инструкциям при разработке алгоритма Simscape для совместимости с Simscape HDL Workflow Advisor. Чтобы заменить подсистему, использующую блоки Simscape, соответствующим алгоритмом состояния-пространства, следуйте этим дополнительным инструкциям, как описано в Руководстве по моделированию для замены подсистемы Simscape.

Использование линейных и коммутируемых линейных блоков

Создание модели Simscape с использованием линейных и коммутируемых линейных блоков. Линейные блоки - это блоки, которые определяются линейным соотношением, таким как резисторы. Коммутируемые линейные блоки представляют собой блоки, такие как диоды и переключатели. Эти блоки также определяются линейной зависимостью, такой как V = IR, где R может переключаться между двумя или более значениями в зависимости от состояния диодов или переключателей.

Нелинейные блоки не поддерживаются. Чтобы убедиться, что модель Simscape не содержит нелинейных блоков, используйте simscape.findNonlinearBlocks (Simscape) функция. Укажите путь к модели Simscape в качестве аргумента этой функции.

simscape.findNonlinearBlocks('current_model')

Кроме того, чтобы проверить, что модель не содержит нелинейных блоков, выполните задание Проверить коммутируемые линейные (Check switched linear) в Simscape HDL Workflow Advisor.

Задание обратного решателя Euler с дискретным временем выборки

Настройте параметры решателя для генерации кода HDL с помощью блока конфигурации решателя (Simscape).

В диалоговом окне «Параметры блока» этого блока:

  • Выберите Использовать локальный решатель.

  • Использовать Backward Euler в качестве типа решателя.

  • Укажите время дискретной выборки, Ts.

Чтобы убедиться, что параметры решателя указаны правильно, запустите задачу проверки конфигурации решателя в Simscape HDL Workflow Advisor.

Запустить функцию hdlsetup

После создания модели настройте модель для генерации кода HDL, запустив hdlsetup функция. hdlsetup настраивает параметры решателя, такие как использование решателя с фиксированным шагом, задает время начала и окончания моделирования и т. д. Выполнение команды для current_model:

hdlsetup('current_model')

Ограничения для генерации кода HDL из моделей Simscape

HDL Coder™ не поддерживает генерацию кода из сетей Simscape, содержащих:

  • События

  • Графики режимов

  • Задержки

  • Параметры среды выполнения

  • Периодические источники

  • Блоки Multibody™ Simscape

  • Simscape Electrical™ Блоки специализированных систем питания

  • Нелинейные и изменяющиеся во времени блоки Simscape. Изменяющиеся во времени блоки включают в себя блоки, такие как переменный индуктор и переменный конденсатор.

  • Нескалярные состояния или входы в сеть. Разбивают нескалярные входы на скалярные и уменьшают второй операнд оператора двоеточия на один для ошибки, вызванной нескалярными состояниями. Например:

    % Suppose this code generates an error
    tmp1 = u(1:4); 
    
    % Fix the error by reducing second operand by 1
    tmp1 = u(1:3);

См. также

|

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