RequestHeader OPC UA: запросить диагностику и связать её с операцией

Запросить

Фотография конкретного исполнения не приложена.

При разборе ошибки OPC UA пустое поле diagnosticInfo нельзя считать доказательством успешной операции. В RequestHeader параметр returnDiagnostics задаёт битовую маску требуемых дополнительных сведений. Если они не запрошены либо дополнительных сведений нет, диагностический массив может остаться пустым.

Маска различает уровень сервиса и уровень отдельных операций. Поэтому журнал пакетного чтения или записи должен сохранять StatusCode нужной операции вместе с соответствующей диагностикой. Одно сообщение «запрос выполнен» не объясняет, какой элемент пакета не обработан и какое дополнительное описание предоставил сервер.

Клиентский requestHandle возвращается в ответе и помогает связать события журнала. Его полезно сохранять рядом с идентификатором прикладного действия. При этом timestamp заголовка обозначает время отправки запроса для серверной диагностики и журналирования. Это не временная отметка измеренного технологического значения.

В приёмке вызывают известную ошибку с нулевой маской и с выбранной диагностикой. Проверяют сопоставление запроса, общего результата и результатов элементов. Дополнительные vendor-specific сведения трактуют по документации реализации; отсутствие текста ошибки не должно подменять проверку статуса и фактического исхода операции.

Основание — OPC Foundation OPC 10000-4, v1.05.07, 2026-04-15, разделы 7.32. Сохранён текст публичной справочной публикации; конкретная реализация может поддерживать только часть возможностей. Клиент, сервер и физический объект не испытывались. Приведён проектный критерий проверки, а не отчёт о выполненной настройке.

Все разборы