Функция Simulink® является графическим объектом, который вы заполняете блоками Simulink и вызываете в действиях состояний и переходах. Функции Simulink поддерживаются только в графиках Stateflow® в моделях Simulink.
Функции Simulink предоставляют эффективный проект модели и улучшают удобочитаемость путем минимизации графических и неграфических объектов. Типовые приложения включают:
Задавая функцию, которая требует блоков Simulink, таких как интерполяционные таблицы (занимаются Блоками Интерполяционной таблицы (Simulink)),
Планирование выполнения нескольких контроллеров
Можно вызвать функции, определяемые Simulink в диаграмме Stateflow из того же графика. Можно также вызвать функции, определяемые блоком Simulink Function в модели.
Функция Simulink может находиться где угодно в графике, состоянии или подграфике. Местоположение функции определяет свой осциллограф, то есть, набор состояний и переходов, которые могут вызвать функцию. Следуйте этим инструкциям:
Если вы хотите вызвать функцию только в одном состоянии или подграфике и его подсостояниях, поместите свою функцию Simulink в то состояние или подграфик. Эта функция заменяет любые другие функции того же имени в родительских элементах и предках того состояния или подграфика.
Если вы хотите вызвать функцию где-нибудь в том графике, поместите свою функцию Simulink в уровень графика.
Если вы вызываете функцию Simulink от нескольких сайтов в графике, все сайты вызова совместно используют состояние функциональных переменных. Например, предположите, что у вас есть график с двумя вызовами той же функции Simulink на каждом временном шаге.
Функциональный f
содержит блок-схему, которая постепенно увеличивает счетчик к 1 каждому разу, когда функция выполняется.
На каждом временном шаге, функциональном f
называется дважды, который вызывает в противоречии с шагом 2. Поскольку все сайты вызова совместно используют значение этого счетчика, данные y
и y1
шаг 2 на каждом временном шаге.
Это поведение также применяется к внешним подсистемам вызова функций в модели Simulink. Для получения дополнительной информации смотрите Используя Подсистемы вызова функций (Simulink).
Не вызывайте функции Simulink в during
состояния действия или условия перехода графиков непрерывного времени
Не вызывайте функции Simulink в переходах по умолчанию, если вы включаете, выполняют в инициализации режим
Используйте только алфавитно-цифровые символы или символы нижнего подчеркивания при именовании портов ввода и вывода для функции Simulink
Преобразуйте несмежные сигналы в непрерывные сигналы для функций Simulink
Не экспортируйте функции Simulink
Используйте редактора Stateflow, чтобы переименовать функцию Simulink
Не используйте функции Simulink в графиках Мура
Не генерируйте HDL-код для функций Simulink
Установите свойства входных портов явным образом для функции Simulink
Проверьте, что выражения вызова функции имеют вводы и выводы правильного размера