Предотвратите алгебраические ошибки цикла в блоках Stateflow и функции MATLAB

Можно использовать диаграммы Stateflow, блоки MATLAB Function и Stateflow® Таблицы истинности в обратной связи в вашей модели. Можно также использовать эти блоки с синхронными подсистемами, включенными блоком State Control. Чтобы предотвратить алгебраический цикл или синхронные семантические ошибки, введите эти ограничения.

Блок SimulinkОграничения
Диаграмма StateflowИспользуйте графики Мура, чтобы предотвратить алгебраический цикл. В Property Inspector, набор State Machine Type к Moore. Графики Мура предотвращают алгебраические циклы путем гарантирования, что выходные параметры зависят только от текущего состояния.
Блок MATLAB Function

Непрямая проходная семантика предотвращает алгебраические ошибки цикла путем гарантирования, что выходные параметры зависят только от текущего состояния. Чтобы включить им семантику, снимите флажок свойства Allow direct feedthrough.

Если ваш блок использует прямое сквозное соединение, не делайте:

  • Вызовите импортированные функции.

  • Выходные Define события вызова функции.

  • Задайте или используйте персистентные переменные.

При вводе эти ограничения, вы позволяете Simulink® решатель, чтобы попытаться решить алгебраический цикл.

Таблица истинности

Не делайте:

  • Вызовите импортированные функции.

  • Задайте локальный или выходные события вызова функции.

  • Задайте данные оперативной памяти локального или хранилища данных.

  • Задайте или используйте персистентные переменные.

  • Используйте порожденные машиной данные или события.

При вводе эти ограничения, вы позволяете решателю Simulink пытаться решить алгебраический цикл.

Смотрите также

(Stateflow) | (Stateflow)

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте