Совместно используйте функции через Simulink и Stateflow

Передайте и совместно используйте ресурсы с функциями

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

В этом примере диаграмма Stateflow связывается с моделью:

  • Определение и экспорт графической функции, которая вызвана Simulink.

  • Вызывание функции Simulink, которая задана в Simulink.

open_system('slexPrinterExample');

Каждый компьютерный клиент вызывает сервер принтера с вызовом функции Simulink, addPrintJob. Вызовы функции addPrintJob графическая функция Stateflow queuePrintJob, чтобы добавить задание печати в рабочую нагрузку. График обрабатывает работу и вызывает функцию Simulink printerInk к образцовому использованию чернил принтера.

Вызовите функцию Simulink из Stateflow

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

open_system('slexPrinterExample/Queueing and Processing Incoming Jobs')

Экспортируйте функции Stateflow в Simulink

В графике Queuing и Processing Incoming Jobs, выбраны свойства Export Chart Level Functions и Treat Exported Functions как Глобально Видимый. Эти свойства позволяют функции Simulink addPrintJob, чтобы вызвать графическую функцию графика, queuePrintJob.

Смотрите также

Похожие темы