Моделирование факторов с алгебраическими циклами

Большие модели управления с искусственными алгебраическими циклами

Примите эти методы проектирования для больших моделей с алгебраическими циклами:

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

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

  • Если вы планируете сгенерировать код для своей модели, включите параметр Minimize algebraic loop occurrences для всех атомарных подсистем. Когда возможно, убедитесь, что входные порты для атомарных подсистем соединяются непосредственно с блоками "не прямое сквозное соединение".

  • Постарайтесь не комбинировать "не прямые проходные" и прямые проходные пути с помощью блоков Создателя или Мультиплексора Шины. Simulink не может смочь устранить любые получившиеся искусственные алгебраические циклы. Вместо этого рассмотрите кластеризацию "не прямых проходных" и прямых проходных объектов в отдельных подсистемах.

    Используйте блоки Селектора Шины, чтобы передать только необходимые сигналы в атомарные подсистемы.

Блоки Model и прямое сквозное соединение

Когда блок Model является частью цикла, и блок является прямым каналом через блок, алгебраический цикл может закончиться. Алгебраический цикл в модели является не обязательно ошибкой, но он может дать неожиданные результаты. См.:

Прямое сквозное соединение блока Model, вызванное образцовой структурой, на которую ссылаются,

Блок Model может быть прямым каналом через блок из-за структуры модели, на которую ссылаются. Где прямой канал посредством результатов структуры подмодели и причин нежелательный алгебраический цикл, вы можете:

Прямое сквозное соединение блока Model, вызванное настройкой модели

Типичное Реальное время (grt) и Встроенные Оперативные основанные на (ert) цели предоставляет возможность Single output/update function на диалоговом окне Configuration Parameters. Эта опция управляет, имеет ли сгенерированный код отдельные функции вывода и обновления или объединенную функцию вывода/обновления. См.:

Когда функции вывода/обновления Single включают (значение по умолчанию), блок Model имеет объединенную функцию вывода/обновления. Функция делает блок прямым каналом через блок для всего импорта, независимо от структуры модели, на которую ссылаются. Где нежелательный алгебраический цикл заканчивается, вы можете:

Изменение приоритетов блока при использовании алгебраического решателя цикла

Во время фазы обновления симуляции Simulink определяет порядок выполнения симуляции методов блока. Этим упорядоченным расположением вызова блока является sorted order.

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

Похожие темы