Контроль состояния чернил на общем принтере Используя функции Simulink

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

Компьютеры каждый генерирует случайным образом измеренные задания печати равномерно. Принтер взаимодействует с компьютерами через две функции Simulink на холсте Simulink и одну экспортируемую графическую функцию в Stateflow.

Клиенты используют Функциональные блоки Вызывающей стороны, чтобы вызвать addPrintJob интерфейс принтера. Взаимодействие клиент-сервер, смоделированное этим вызовом, может иметь отрицательное возвращаемое значение, если принтер исчерпал чернила.

Пример также показывает как интерфейсу Simulink и Stateflow с помощью функций.

Реализация addPrintJob использует блок Function Caller, чтобы вызвать queuePrintJob, Stateflow экспортировал графическую функцию. queuePrintJob функция взаимодействует с другим содержимым в графике с помощью локальной переменной work графика.

Реализация графика звонит printerInk, функция Simulink, которая использует ввод графических данных и выходные параметры, чтобы взаимодействовать с addPrintJob функция.

Можно также визуализировать и отладить функции Simulink.

Чтобы включить линии визуализации, соединяющие функции и их соответствующие вызывающие стороны, в Редакторе Simulink, на вкладке Debug, под информационными Оверлейными программами, нажимают Function Connectors.

Блок Sequence Viewer показывает, где вызовы функций сгенерированы и какие функции вызваны в разное время. Эта информация позволяет вам изучать поток вызовов относительно времени и анализировать аргументы, отправленные во время этих вызовов функций.