Sidebar Left

GOOSE и Sampled Values

Клиент-серверный обмен по MMS хорош для передачи данных наверх, но не годится для взаимодействия устройств между собой: там счёт идёт на миллисекунды. Для этого в стандарте есть два механизма, работающие прямо поверх Ethernet, без IP и без TCP: GOOSE — обмен дискретными сигналами между устройствами, и Sampled Values — поток мгновенных значений тока и напряжения.

GOOSE: как это работает
GOOSE — широковещательная рассылка набора данных. Устройство-издатель отправляет кадр в сеть, подписчики принимают его по идентификаторам. Ключевые свойства:

  • Никакого IP. Кадр идёт в Ethernet со своим типом (0x88B8) и обычно с групповым MAC-адресом. Через маршрутизатор он не проходит — область распространения ограничена сегментом сети или VLAN.
  • Нет подтверждений. Надёжность обеспечивается повторами: пока ничего не меняется, кадр повторяется редко; в момент изменения — серия частых повторов с нарастающим интервалом.
  • Контроль живости. В каждом кадре передаётся timeAllowedToLive — срок, в течение которого подписчик должен получить следующий кадр. Не пришёл — подписчик обязан считать данные недостоверными. Так обнаруживается обрыв: не по молчанию «когда-нибудь», а за заданное время.
  • Два счётчика. stNum увеличивается при изменении данных, sqNum — при каждом повторе одного и того же состояния. Скачок stNum без промежуточных значений означает потерю кадров, сброс обоих в единицу — перезапуск издателя.

Кадр адресуется тремя идентификаторами, которые должны совпасть у издателя и подписчика: MAC-адрес назначения, APPID и GoID/datSet. Расхождение хотя бы в одном — и подписчик просто не увидит поток, никакой диагностики при этом не появится.

Sampled Values: поток мгновенных значений
SV передаёт оцифрованные токи и напряжения от измерительных преобразователей к устройствам защиты — это замена медным вторичным цепям. Поток непрерывный, с фиксированной частотой выборок; в распространённом профиле для защит это 80 выборок за период промышленной частоты, для измерений качества энергии — 256.

Требования жёстче, чем у GOOSE:

  • Синхронизация времени. Выборки разных источников должны быть привязаны к общей шкале, иначе защита считает несуществующие сдвиги фаз. Применяется точная синхронизация по сети; признак качества синхронизации передаётся вместе с потоком, и его нужно проверять.
  • Полоса и задержки. Поток идёт постоянно и занимает ощутимую часть канала. Сеть подстанции проектируется отдельно: выделенные VLAN, приоритизация кадров, иногда физически отдельные шины процесса.
  • Непрерывность. Пропуск выборок фиксируется по счётчику smpCnt; потеря даже коротких участков потока для защиты недопустима.

Сеть, в которой это живёт
И GOOSE, и SV предъявляют к сети требования, которых обычная офисная инфраструктура не выполняет:

Что нужно Зачем
VLAN и приоритет кадров Отделить критичный трафик от прочего и не дать ему встать в общую очередь
Коммутаторы с поддержкой групповой рассылки Чтобы поток шёл только туда, где на него подписаны, а не заливал всю сеть
Резервирование без потерь Переключение на резервный путь не должно приводить к паузе в потоке
Общая шкала времени Сопоставимость меток и корректность потоков выборок
Отсутствие маршрутизации Оба механизма работают в пределах широковещательного домена — это ограничение архитектуры, а не настройка

Тестирование и режим испытаний
В обоих механизмах предусмотрен признак моделирования: устройство-имитатор может выдавать кадры, помеченные как смоделированные, а реальные подписчики — принимать их вместо рабочих, если им это разрешено. Это штатный способ проверки логики без первичного оборудования. Опасность ровно одна: если подписчик настроен принимать смоделированные данные и об этом забыли, после испытаний он продолжит слушать имитатор. Проверка этого признака — обязательный пункт при сдаче.

Типовые ошибки

Симптом Где искать
Подписчик не видит GOOSE вообще Расхождение MAC-адреса, APPID или идентификатора набора; кадры не доходят из-за маршрутизации между сегментами
Сигналы приходят, но с задержкой Нет приоритизации: критичный трафик стоит в общей очереди с прочим
Подписчик периодически объявляет данные недостоверными Превышается timeAllowedToLive: потери кадров либо слишком редкие повторы у издателя
Скачет stNum Теряются кадры на коммутаторе или перезапускается издатель
Защита видит неверные углы Источники выборок не синхронизированы или игнорируется признак качества синхронизации
После испытаний устройство работает по имитатору Остался включённым приём смоделированных данных

С чего начать
GOOSE отлаживают снизу вверх: сначала убедиться, что кадры издателя вообще появляются в сегменте (анализатором трафика, подключённым к зеркалируемому порту), затем сверить три идентификатора с конфигурацией подписчика, и только потом проверять логику — изменить сигнал у издателя и увидеть рост stNum и реакцию подписчика. С Sampled Values порядок тот же, но первым пунктом идёт синхронизация времени: без неё проверять остальное бессмысленно.

Style Selector

Primary Color

Direction