Ограничения

Шаги расчета и решателю

По умолчанию шаги расчета блоков Simscape™ являются непрерывными. Вы не можете симулировать блоки Simscape с дискретными решателями, используя шаги расчета по умолчанию.

Если вы переключаетесь на локальный решатель в блоке Solver Configuration, состояния связанной физической сети становятся дискретными. Если непрерывного Simulink нет® или состояния Simscape в любом месте модели, вы можете свободно использовать дискретный решатель для симуляции модели.

Вы не можете переопределить шага расчета невиртуальной подсистемы, содержащей блоки Simscape.

Алгебраические циклы

Физическая сеть Simscape не должна существовать в алгебраическом цикле Simulink. Это означает, что вы не должны непосредственно соединять выход блока PS-Simulink Converter с входом блока Simulink-PS Converter той же физической сети.

Например, следующая модель содержит прямое сквозное соединение между блоком PS-Simulink Converter и блоком Simulink-PS Converter (выделен пурпурным цветом). Чтобы избежать алгебраического цикла, можно вставить Transfer Function блок в любое место вдоль подсвеченного цикла.

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

Неподдерживаемые инструменты и функции Simulink

Некоторые инструменты и функции Simulink не работают с программным обеспечением Simscape:

  • Экспорт модели в формат, используемый более ранней версией (Simulation > Save > Previous Version), не поддерживается для моделей, содержащих блоки Simscape.

  • Инструмент Simulink Profiler не работает с моделями Simscape.

  • Физические сигналы и линии физического соединения между портами сохранения отличаются от сигналов Simulink. Поэтому инструмент Viewers and Generators Manager и функциональность метки сигнала не поддерживаются.

Ограниченные инструменты Simulink

Некоторые инструменты Simulink ограничены для использования с программным обеспечением Simscape:

  • Можно использовать Simulink set_param и get_param команды, чтобы задать или получить параметры блоков Simscape, если параметры соответствуют полям в диалоговом окне блока. Не рекомендуется использовать эти команды для поиска или изменения любых других параметров блоков.

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

  • Блоки Simscape принимают Simulink.Parameter объекты как значения параметров в get_param и set_param, в пределах ограничений, указанных здесь.

  • Включенные подсистемы могут содержать блоки Simscape. Всегда устанавливайте параметр States when enabling в диалоговом окне Enable на held для порта Enable подсистемы.

    Установка значения States when enabling reset не поддерживается и может привести к фатальным ошибкам симуляции.

  • Можно поместить блоки Simscape в невиртуальные подсистемы, которые поддерживают непрерывные состояния. Невиртуальные подсистемы, которые поддерживают непрерывные состояния, включают подсистемы Enabled и атомарные подсистемы. Однако физические соединения и физические сигналы не должны пересекать невиртуальные контуры. При помещении блоков Simscape в невиртуальную подсистему убедитесь, что поместили все блоки, принадлежащие данной Физической Сети, в одну и ту же невиртуальную подсистему.

  • Невиртуальные подсистемы, которые не поддерживают непрерывные блоки шага расчета (такие как If Action, For Итератора, Function-Call, Triggered, While Итератора и так далее), не могут содержать блоки Simscape.

  • Атомарная подсистема с заданным пользователем (ненеотключённым) шагом расчета не может содержать блоки Simscape.

  • Конфигурируемые подсистемы Simulink работают с блоками Simscape, только если все варианты блоков имеют согласованные сигнатуры портов.

  • При использовании рабочих точек Simulink для сохранения и восстановления симуляций моделей вы не можете вносить какие-либо изменения в блоки Simscape в модели между временем, в которое вы сохраняете ModelOperatingPoint объект и время, в которое вы восстанавливаете симуляцию с помощью ModelOperatingPoint объект. Для получения дополнительной информации см. «Ограничения сохранения и восстановления рабочей точки».

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

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

  • Линеаризация с помощью Simulink linmod функция или с эквивалентными Simulink Control Design™ функции и графические интерфейсы не поддерживаются с Simscape моделей, если вы используете локальные решатели.

  • Поддерживаются ссылки на модели с некоторыми ограничениями:

    • Все линии физического соединения должны находиться в пределах ссылочных моделей. Такие линии не могут пересекать контур подсистемы модели-ссылки в ссылочной модели.

    • Ссылочная модель и ссылочная модель должны использовать один и тот же решатель.

    • Для защищенных моделей-ссылок, содержащих блоки Simscape, вы не можете запускать их в режиме Accelerator или rapid Accelerator без лицензии Simscape.

  • Вы не можете создать объекты сигнала Simulink непосредственно на выходах PS-Simulink Converter блоков. Вставьте блок Signal Conversion после выходного порта блока PS-Simulink Converter и укажите объект сигнала на выходе блока Signal Conversion.

  • Параметры Simscape run-time настраиваются. Поэтому для блоков Dashboard, связанных с блоками Simscape, изменение циферблатов во время симуляции не влияет на результаты симуляции.

    Чтобы использовать блоки Dashboard для сквозной настройки параметров блоков Simscape, обозначите параметр следующим Run-time можно настроить, связать его с переменной рабочей области и связать блок Dashboard с переменной рабочей области. Для получения дополнительной информации смотрите О параметрах выполнения Simscape.

Инструменты Simulink, не совместимые с блоками Simscape

Некоторые инструменты и функции Simulink не работают с блоками Simscape:

  • Теги порядка выполнения не появляются в блоках Simscape.

  • Блоки Simscape не вызывают пользовательские коллбэки.

  • Вы не можете задать точки останова в блоках Simscape.

  • Переиспользуемые подсистемы не могут содержать блоки Simscape.

  • Вы не можете использовать Simulink Fixed-Point Tool с блоками Simscape.

  • Генератор отчетов сообщает о свойствах блоков Simscape неполным образом.

Генерация кода

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

  • Повторное использование кода не поддерживается.

  • Генерация инкапсулированного кода С++ не поддерживается.

  • Настраиваемые параметры не поддерживаются.

  • Встраивание параметра во время выполнения игнорирует глобальные исключения.

  • MaxStackSize не поддерживается.

  • Симуляция моделей Simscape на процессорах с фиксированной точкой не поддерживается.

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

  • Преобразование моделей или подсистем, содержащих блоки Simscape, в S-функции не поддерживается.

Code Generation описывает функции генерации кода Simscape. Ограниченные инструменты Simulink описывают ограничения на ссылки на модели.

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

Генерация кода и решатели с фиксированным шагом

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

Опция генерации кодаВыбор решателя
Режим Accelerator
Быстрый Режим Accelerator
Переменный шаг или фиксированный шаг
Программное обеспечение Simulink Coder™: RSim Target *Переменный шаг или фиксированный шаг
Программное обеспечение Simulink Coder: Цели, отличные от RSimТолько фиксированный шаг

* Для RSim Target программное обеспечение Simscape поддерживает только модуль решателя Simulink. В диалоговом окне model Параметры Конфигурации смотрите меню Code Generation: RSim Target: Solver selection. По умолчанию это автоматический выбор, который может не выбрать модуль решателя Simulink.