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