OPC UA Publish: поддерживать окно запросов на канале с задержкой
Фотография конкретного исполнения не приложена.
Подписка OPC UA возвращает уведомления в ответ на запросы Publish. Открытая сессия сама по себе не обеспечивает непрерывную доставку. Клиент должен поддерживать поступление этих запросов и одновременно подтверждать полученные NotificationMessages по их номерам последовательности.
На канале с большой задержкой схема «получить ответ и только затем отправить следующий запрос» может ограничить частоту выдачи данных. Спецификация предусматривает конвейер: несколько запросов остаются ожидающими ответа. Размер такого окна согласуют с задержкой канала, интервалами подписок и ограничениями сервера.
Бесконечное увеличение окна создаёт другую проблему. При превышении серверного лимита возвращается Bad_TooManyPublishRequests. Получив этот результат, клиент не должен отправлять очередной Publish до возврата одного из уже ожидающих запросов. Немедленный повтор в цикле усиливает перегрузку вместо восстановления потока.
В приёмке увеличивают сетевую задержку и отдельно проверяют ограничение числа ожидающих запросов. Журнал должен позволять связать ответы, подписки и подтверждения последовательностей. Устойчивый поток после задержки и отсутствие шторма повторов важнее одного удачного ответа на коротком локальном соединении.
Основание — OPC Foundation OPC 10000-4, v1.05.07, 2026-04-15, разделы 5.14.5. Сохранён текст публичной справочной публикации; конкретная реализация может поддерживать только часть возможностей. Клиент, сервер и физический объект не испытывались. Приведён проектный критерий проверки, а не отчёт о выполненной настройке.