В этом примере показано, как вызвать функции через 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)