В этом примере показано, как вызывать функции в Simulink ® и Stateflow ®. slexPrinterExample модель состоит из трех компьютерных клиентов, совместно использующих принтер. Каждый компьютер создает задания печати, вызывая функцию Simulink addPrintJob.
В этом примере диаграмма Stateflow взаимодействует с моделью следующим образом:
Определение и экспорт графической функции, вызываемой Simulink.
Вызов функции Simulink, определенной в Simulink.

Каждый компьютерный клиент вызывает сервер принтера с вызовом функции Simulink, addPrintJob. addPrintJob функция вызывает графическую функцию Stateflow queuePrintJob для добавления задания печати к рабочей нагрузке. Диаграмма обрабатывает работу и вызывает функцию Simulink. printerInk для моделирования использования чернил принтера.
Функция printerInk определяется в блоке Simulink Function на верхнем уровне модели. Функциональный интерфейс printerInk(work) определяет один входной аргумент. Функция Simulink, printerInk, также взаимодействует с моделью с сигнальными линиями через входной порт ink и аутпорт ink'. Государство Busy соответствует сигнатуре функции для printerInk(work) передав один входной аргумент.

В диаграмме Queuing и Processing Incoming Jobs, выбраны свойства Экспортировать функции уровня диаграммы и Рассматривать экспортированные функции как глобально видимые. Эти свойства позволяют использовать функцию Simulink addPrintJob для вызова графической функции диаграммы, queuePrintJob.
Функция симулятора (Simulink)