Republish в OPC UA: восстановить сообщение из очереди повторной передачи
Фотография конкретного исполнения не приложена.
После разрыва связи клиент может обнаружить пропуск в последовательности уведомлений. Сервис Republish запрашивает конкретное NotificationMessage из очереди повторной передачи подписки. Для запроса нужны идентификатор подписки и номер недостающего сообщения, а не временной диапазон измерений.
Если сообщение ещё присутствует в этой очереди, сервер может вернуть его. Если оно больше недоступно, результатом становится Bad_MessageNotAvailable. Такой ответ следует сохранить как установленный разрыв доставки. Повторение того же запроса не превращает ограниченную очередь в долговременный архив.
Прикладная политика восстановления должна описывать следующий шаг. Для текущего состояния может потребоваться новое чтение, а для непрерывного ряда — отдельный исторический источник, если он поддерживается. Это проектные решения: получение свежего значения не восполняет пропущенную последовательность событий или промежуточных измерений.
Приёмку разделяют на короткий обрыв с доступным сообщением и более длительный обрыв с его отсутствием. Проверяют обработку повторно полученных данных без дублирования и явную регистрацию невосстановимого пропуска. Зелёный индикатор соединения после переподключения не подтверждает полноту накопленной истории.
Основание — OPC Foundation OPC 10000-4, v1.05.07, 2026-04-15, разделы 5.14.6. Сохранён текст публичной справочной публикации; конкретная реализация может поддерживать только часть возможностей. Клиент, сервер и физический объект не испытывались. Приведён проектный критерий проверки, а не отчёт о выполненной настройке.