Обеспечение соединения для разделения функциональной линии вызова
Simulink/Порты и подсистемы
Блок Function-Call Split позволяет линии function-call ответвляться и подключаться к нескольким подсистемам function-call или моделям function-call.
Подсистема function-call или модель function-call, подключенная к выходному порту блока Function-Call Split, помеченного точкой, выполняется перед подключением подсистем или моделей к другим выходным портам. Если зависимости данных между подсистемами или моделями не поддерживают указанный порядок выполнения, блок Разделение вызова функции возвращает ошибку. Чтобы устранить эту ошибку, рассмотрите возможность выбора входного сигнала защелки для сигналов обратной связи подсистемы function-call выводит параметр в одном или нескольких блоках Inport подсистем function-call или моделей, участвующих в цикле зависимости данных. Выбор этой опции задерживает соответствующий вызов функции, тем самым устраняя петлю зависимости от данных.
Если выбрать опцию меню модели Display > Blocks > Sorted Execution Order, то на блоках появится порядок выполнения подсистем вызова функции, связанных с ветвями данного сигнала вызова функции. Каждая подсистема имеет порядок выполнения формы s:[B#], где # - число, которое находится в диапазоне от 0 до единицы меньше общего числа подсистем или моделей, подключенных к ветвям данного сигнала. Подсистемы выполняются в порядке возрастания на основе этого числа.
Блок разделения вызова функции поддерживает распространение метки сигнала.
Следующая модель показывает, как применить входной сигнал защелки для сигналов обратной связи параметра вывода подсистемы функционального вызова для работы с ошибкой зависимости от данных, вызванной блоком разделения функционального вызова. Путем включения этого параметра в f1 блок Inport подсистемы, блок Function-Call Split игнорирует зависимость сигнала b от данных. Блок разрывает цикл зависимостей данных между подсистемами f1 и g1. Модель обеспечивает поведение последовательного вызова f1 для выполнения перед g1. Для данного шага выполнения подсистема f1 использует g1 вывод, вычисленный на предыдущем этапе выполнения.

Блок разделения вызова функции имеет следующие ограничения:
Все подсистемы и модели вызовов функций, подключенные к данному сигналу вызова функций, должны находиться в пределах одного и того же невиртуального уровня иерархии модели.
Нельзя подключать подсистемы или модели с разветвленными функциональными вызовами и их дочерние компоненты непосредственно к инициатору функционального вызова.
Подсистемы и модели функционального вызова, подключенные к ветвям сигнала функционального вызова, не могут иметь несколько (мультиплексированных) инициаторов.
Блок разделения функций-вызовов не может иметь свой вход из сигнала с несколькими элементами вызова функций.
Типы данных |
|
Прямой проход |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулей |
|
Функция - защелка обратной связи вызова | Генератор вызовов функций | Подсистема вызова функций