Используйте функции Simulink®, когда вы задаете диагностический сервис, куда вызывающие стороны передают код ошибки. Сервис отслеживает коды ошибок для всех ошибок, которые происходят. Один способ реализовать этот сервис состоит в том, чтобы использовать индексируемый Блок памяти Хранилища данных. Диагностическая система мониторинга может затем периодически проверять на возникновение определенных ошибок и изменять поведение системы соответственно.
Можно использовать Функциональные блоки Simulink и Функциональные блоки Вызывающей стороны, чтобы смоделировать клиент-серверные архитектуры. Использование для этой архитектуры включает устройство хранения данных памяти и диагностику.
Как пример, создайте модель простой распределенной системы, состоящей из нескольких приложений управления (клиенты), каждый из которых может сообщить о диагностике в течение выполнения. Поскольку клиент-серверные архитектуры обычно создаются в уровнях, добавляют уровень услуг, чтобы смоделировать диагностический интерфейс.
Сервисы (серверы), смоделированное использование Функциональные блоки Simulink, находятся в отдельной модели. Добавьте сервисную модель к своей системной модели как модель, на которую ссылаются.
Приложения управления (клиенты) взаимодействуют с диагностическим интерфейсом с помощью Функциональных блоков Вызывающей стороны.
Приложение 1 сообщает о диагностическом условии путем вызова интерфейса reportDiagnostic
на уровне услуг. Приложение вызывает эту функцию при передаче в диагностическом идентификаторе.
Тест интервала определяет, когда создать диагностический идентификатор.
Реализация функции (Функция Simulink 1) отслеживает переданный - в идентификаторе путем передачи значения выводу графических данных функции. Вывод графических данных является сигналом серверной стороны, который не является частью интерфейса сервера, но упрощает связь между служебными функциями через аргументы функции. Значение выводов графических данных сохранено между вызовами функции.
Функция reportDiagnostic
является примером шаблона модификатора. Этот шаблон помогает к коммуникации данных от вызывающей стороны к функциональным и более поздним вычислениям на основе этого данным.
Приложение 2 вызывает интерфейс inspectDiagnostic
на уровне услуг, чтобы осмотреть, сообщили ли о диагностике.
Реализация функции (Функция Simulink) использует ввод графических данных (id
), чтобы наблюдать последнюю диагностику, о которой сообщают, и передать это значение как выходной аргумент (identifier
) вызывающей стороне. Ввод графических данных является сигналом серверной стороны, который не является частью интерфейса сервера.
Функция inspectDiagnostic
является примером шаблона "наблюдатель". Этот шаблон помогает к коммуникации данных от функции до вызывающей стороны.