exponenta event banner

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

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

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

В этом примере диаграмма Stateflow взаимодействует с моделью следующим образом:

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

  • Вызов функции Simulink, определенной в Simulink.

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

Вызов функции Simulink из потока состояний

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

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

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

См. также

(Simulink)

Связанные темы