exponenta event banner

Разделение функций и вызовов

Обеспечение соединения для разделения функциональной линии вызова

  • Библиотека:
  • Simulink/Порты и подсистемы

  • Function-Call Split block

Описание

Блок 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 вывод, вычисленный на предыдущем этапе выполнения.

Ограничения

Блок разделения вызова функции имеет следующие ограничения:

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

  • Нельзя подключать подсистемы или модели с разветвленными функциональными вызовами и их дочерние компоненты непосредственно к инициатору функционального вызова.

  • Подсистемы и модели функционального вызова, подключенные к ветвям сигнала функционального вызова, не могут иметь несколько (мультиплексированных) инициаторов.

  • Блок разделения функций-вызовов не может иметь свой вход из сигнала с несколькими элементами вызова функций.

Порты

Вход

развернуть все

Блок генератора вызовов функций, блок S-функций, блок пересечения совпадений или диаграмма Stateflow ® могут обеспечивать события вызовов функций.

Продукция

развернуть все

Линия вызова функции, подключенная к подсистеме вызова функции или модели вызова функции.

Параметры

развернуть все

Выберите форму значка блока.

Настройки

distinctive

Значок прямоугольного блока.

round

Значок циклического блока.

Программное использование

Параметр блока: IconShape
Текст: символьный вектор
Значения: 'distinctive' | 'round'
По умолчанию: 'distinctive'

Укажите количество портов вывода сигнала функционального вызова.

Настройки

2

Два порта вывода вызова функции.

целое число

Целое число

Программное использование

Параметр блока: NumOutputPorts
Текст: символьный вектор
Значения: '2' | '<integer>'
По умолчанию: '2'

Выберите порядок портов вывода вызова функции относительно того, какой порт обеспечивает первый вызов функции.

Настройки

default

Верхний порт сначала обеспечивает функциональный вызов.

reverse

Нижний порт сначала обеспечивает функциональный вызов.

Программное использование

Параметр блока: OutputPortLayout
Текст: символьный вектор
Значения: 'default' | 'reverse'
По умолчанию: 'default'

Характеристики блока

Типы данных

double

Прямой проход

no

Многомерные сигналы

no

Сигналы переменного размера

no

Обнаружение пересечения нулей

no

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

.
Представлен в R2010a