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

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

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

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

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

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

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

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

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

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

Не делайте:

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

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

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

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

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

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

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

| |

Похожие темы

Была ли эта тема полезной?