Повторное использование компоненты Simulink в диаграммах Stateflow

Функция Simulink® является графическим объектом, который вы заполняете блоками Simulink и вызываете в действиях состояний и переходах. Функции Simulink поддерживаются только в графиках Stateflow® в моделях Simulink.

Функции Simulink предоставляют эффективный проект модели и улучшают удобочитаемость путем минимизации графических и неграфических объектов. Типовые приложения включают:

Можно вызвать функции, определяемые Simulink в диаграмме Stateflow из того же графика. Можно также вызвать функции, определяемые блоком Simulink Function в модели.

Где задать функцию Simulink в графике

Функция Simulink может находиться где угодно в графике, состоянии или подграфике. Местоположение функции определяет свой осциллограф, то есть, набор состояний и переходов, которые могут вызвать функцию. Следуйте этим инструкциям:

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

  • Если вы хотите вызвать функцию где-нибудь в том графике, поместите свою функцию Simulink в уровень графика.

Вызовите функцию Simulink от нескольких сайтов в графике

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

Функциональный f содержит блок-схему, которая постепенно увеличивает счетчик к 1 каждому разу, когда функция выполняется.

На каждом временном шаге, функциональном f называется дважды, который вызывает в противоречии с шагом 2. Поскольку все сайты вызова совместно используют значение этого счетчика, данные y и y1 шаг 2 на каждом временном шаге.

Примечание

Это поведение также применяется к внешним подсистемам вызова функций в модели Simulink. Для получения дополнительной информации смотрите Используя Подсистемы вызова функций (Simulink).

Правила для Использования функций Simulink в диаграммах Stateflow

 Не вызывайте функции Simulink в during состояния действия или условия перехода графиков непрерывного времени

 Не вызывайте функции Simulink в переходах по умолчанию, если вы включаете, выполняют в инициализации режим

 Используйте только алфавитно-цифровые символы или символы нижнего подчеркивания при именовании портов ввода и вывода для функции Simulink

 Преобразуйте несмежные сигналы в непрерывные сигналы для функций Simulink

 Не экспортируйте функции Simulink

 Используйте редактора Stateflow, чтобы переименовать функцию Simulink

 Не используйте функции Simulink в графиках Мура

 Не генерируйте HDL-код для функций Simulink

 Установите свойства входных портов явным образом для функции Simulink

 Проверьте, что выражения вызова функции имеют вводы и выводы правильного размера

 Передайте аргументы значением

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

Похожие темы