Пропуск цикла обратной связи, включающего сигналы данных между блоками вызов-функция
Simulink/Порты и подсистемы
Используйте блок Function-Call Feedback Latch, чтобы прервать цикл обратной связи сигналов данных между одним или несколькими блоками вызова функции. В частности, разорвать цикл обратной связи, образованный одним из следующих способов.
Когда function-call блоки соединяются с ветвями того же function-call сигнала
Поместите Function-Call Feedback Latch блок на сигнал обратной связи между разветвленными блоками. В результате блок защелки задерживает сигнал на входе блока целевого вызова функции, и блок целевого вызова функции выполняется перед блоком исходного вызова функции блока защелки.
Чтобы запустить эту модель, см. Блоки Connected to Branches of the Same Function-Call Signal.
Когда цикл включает родительские и дочерние блоки вызова функции, где дочерний инициатор находится внутри родительского элемента
Поместите Function-Call Feedback Latch блок на сигнал обратной связи между дочерним элементом и родительским элементом. Эта схема препятствует изменению значения сигналов, считанного родительского элемента (FCSS1), во время выполнения дочернего элемента. Другими словами, родительский элемент считывает значение от предыдущего выполнения дочернего элемента (FCSS2).
Чтобы запустить эту модель, смотрите Function-Call Feedback Latch на сигнале обратной связи между ребенком и родительским элементом.
Использование блока защелки эквивалентно установке флажка Latch input for function-call feedback signals на блоке Inport в целевую подсистему вызова функций или модели. Однако преимущество блока защелки перед использованием параметра диалогового окна заключается в том, что можно разработать подсистему вызова функций назначения или модель модульным способом, а затем использовать ее в или вне контекста циклов.
Блок Function-Call Feedback Latch лучше, чем Unit Delay или Memory блоков, прерывает циклы обратной связи вызова функции по следующим причинам:
Блок защелки задерживает сигнал обратной связи только на одно выполнение блока исходного вызова функции. Это поведение отличается от блоков Unit Delay или Memory для случаев, когда блоки подсистемы вызова функций могут выполняться несколько раз в заданном шаге симуляции.
В отличие от блоков Unit Delay или Memory, блок защелки может использоваться, чтобы разрушать циклы, включающие асинхронные подсистемы вызова функций.
Блок защелки может привести к лучшей эффективности, с точки зрения оптимизации памяти, для сгенерированного кода.
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|
Function-Call Feedback Latch | Function-Call Generator | Function-Call Split | Function-Call Subsystem | Trigger