Функции Simulink ® используются при определении службы диагностики, в которой вызывающие абоненты передают код ошибки. Служба отслеживает коды ошибок для всех возникающих ошибок. Одним из способов реализации этой службы является использование индексированного блока памяти хранилища данных. Затем система диагностического контроля может периодически проверять наличие определенных ошибок и соответствующим образом изменять поведение системы.
Для моделирования архитектур клиент-сервер можно использовать блоки Simulink Function и блоки Function Caller. Эта архитектура использует, в частности, память и средства диагностики.
Например, создайте модель простой распределенной системы, состоящей из нескольких управляющих приложений (клиентов), каждое из которых может сообщать о диагностике в течение всего выполнения. Поскольку архитектуры клиент-сервер обычно строятся в уровнях, добавьте уровень обслуживания для моделирования диагностического интерфейса.

Сервисы (серверы), смоделированные с использованием блоков Simulink Function, находятся в отдельной модели. Добавьте модель обслуживания в модель системы в качестве ссылочной модели.

Управляющие приложения (клиенты) взаимодействуют с диагностическим интерфейсом с помощью блоков вызова функции.
Приложение 1 сообщает о диагностическом состоянии, вызывая reportDiagnostic интерфейс в пределах уровня услуг. Приложение вызывает эту функцию при передаче диагностического идентификатора.

Тест интервала определяет время создания диагностического идентификатора.

Реализация функции (Simulink Function 1) отслеживает переданный идентификатор, передавая значение графическому выходу функции. Графический вывод - это сигнал со стороны сервера, который не является частью интерфейса сервера, но облегчает связь между функциями обслуживания через аргументы функции. Значение графических выходов сохраняется между вызовами функций.

reportDiagnostic функция является примером шаблона модификатора. Этот шаблон помогает передавать данные от вызывающего абонента к функции и последующим вычислениям на основе этих данных.
Приложение 2 вызывает inspectDiagnostic на уровне услуг для проверки наличия сообщений о диагностике.

Реализация функции (Simulink Function) использует графический ввод (id) для наблюдения за последней диагностикой и передачи этого значения в качестве выходного аргумента (identifier) вызывающему абоненту. Графический вход - это сигнал со стороны сервера, который не является частью интерфейса сервера.

inspectDiagnostic функция является примером шаблона наблюдателя. Этот шаблон помогает передавать данные от функции вызывающему абоненту.