Диагностика с использованием архитектуры клиент-сервер

Диагностика сообщений с функциями Simulink

Использование Simulink® функционирует при определении диагностической службы, в которой вызывающие абоненты передают код ошибки. Сервис отслеживает коды ошибок для всех возникших ошибок. Один из способов реализации этой службы - использовать индексированный блок Data Store Memory. Система диагностического мониторинга может затем периодически проверять на вхождение определенные ошибки и соответствующим образом изменять поведение системы.

Архитектура клиент-сервер

Можно использовать блоки Simulink Function и блоки Function Caller для моделирования архитектур клиент-сервер. Для этой архитектуры используются устройство хранения памятей и диагностика.

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

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

Приложения управления (клиенты) взаимодействуют с диагностическим интерфейсом с помощью блоков Function Caller.

Шаблон модификатора

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

Интервальный тест определяет, когда создать диагностический идентификатор.

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

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

Шаблон наблюдателя

Приложение 2 вызывает inspectDiagnostic интерфейс в служебном слое, чтобы проверить, сообщалось ли о диагностике.

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

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

См. также

Блоки

Похожие темы