Можно расширить осциллограф функций уровня графика в Stateflow® стройте диаграмму с другими блоками в Simulink® модель путем экспорта функций. Можно экспортировать:
Графические функции
MATLAB® функции
Таблицы истинности
Когда вы экспортируете функции уровня графика, можно вызвать их в других диаграммах Stateflow и блоках Simulink Caller.
Экспортировать функции уровня графика, которые можно вызвать при помощи квалифицированного обозначения, такого как
, выберите свойство диаграммы Export chart level functions, как описано в Specify Properties для диаграмм Stateflow.chartName
FunctionName
Чтобы экспортировать функции уровня графика, которые можно вызвать, не используя квалифицированное обозначение, выберите Export chart level functions, и затем выберите Treat exported functions as globally visible. Вы не можете экспорты функций с тем же именем.
В этом примере показано, как вызвать экспортируемые функции из других графиков в вашей модели Simulink. Эта модель содержит основную диаграмму Stateflow, mainChart
, и два вспомогательных графика библиотеки, lib1Chart
и lib2Chart
. Каждый график содержит графическую функцию уровня графика и имеет обоих, функции уровня графика Экспорта и Обработка экспортировали функции, когда глобально видимые свойства диаграммы включили.
Основной график содержит два объекта данных, x
и y
, с начальными значениями 0
и 1
, соответственно. Когда вы симулируете модель, переход по умолчанию в этом графике вызывает функциональный lib1_func
использование этих значений в качестве аргументов.
Функциональный lib1_func
задан в графике библиотеки lib1Chart
. Функция читает свои входные параметры и передает их функциональному lib2_func
.
Функциональный lib2_func
задан в графике библиотеки lib2Chart
. Функция читает свои входные параметры и передает их функциональному main_func
.
Функциональный main_func
задан в основном графике. Функция добавляет свои входные параметры и возвращает результат. Основной график хранит этот результат как выходные данные x
. Последовательность вызовов функции повторяется в каждом временном шаге симуляции. Блок Scope показывает значение x
увеличение во время симуляции.
Вы не можете экспортировать функцию уровня графика, когда вводы или выводы имеют любое из следующих свойств:
Тип данных с фиксированной точкой с размером слова, больше, чем 32 бита
Переменный размер
Если вы включаете свойство диаграммы Export chart level functions в графике, который содержит уровень графика функции Simulink, ошибка времени выполнения происходит. Чтобы разрешить ошибку, отключите свойство диаграммы Export chart level functions или переместите функции Simulink в более низкий уровень в иерархии графика.
В качестве альтернативы можно вызвать функцию Simulink от других блоков в модели путем определения его непосредственно в холсте Simulink с помощью блока Simulink Function (Simulink). Для получения дополнительной информации смотрите Функции Доли Через Simulink и Stateflow.
Вы не можете экспорты функций из модели, на которую ссылаются, и вызывать функции от родительской модели.
Если вы генерируете код для модели, которая использует экспортируемые функции уровня графика, позвольте функции выхода/обновления Single параметра конфигурации модели (Simulink Coder) гарантировать сопоставимое поведение между симуляцией и генерацией кода.