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

Каждый клиент компьютера вызывает сервер принтера с вызовом функции Simulink, addPrintJob. The 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 Function (Simulink)