ru
ru en

GOOSE: одно сообщение со всеми сигналами или несколько сообщений с группами сигналов?

Нередко в проектах сталкиваемся с дилеммой: лучше иметь несколько GOOSE и передавать сигналы в каждом, или иметь одно большое GOOSE-сообщение со всеми исходящими сигналами?

Вот пример реального проекта (устройства и сигналы намеренно переименованы), справа показан набор данных, передаваемых в GOOSE-сообщении, а слева — устройства, которые принимают сигналы из данного GOOSE-сообщения.

 

При этом можно видеть, что не все сигналы в GOOSE сообщении обрабатываются каждым из устройств: так, сигнал Signal1, включая его stVal и атрибут качества q передаётся всем устройствам IED2…IED9.

А вот остальные сигналы Signal2…Signal5 передаются только устройствам IED2 и IED 3.

В качестве альтернативного варианта решения проблемы можно было бы предложить разделить рассматриваемое GOOSE-сообщение на 2:

  1. GOOSE с данными только Signal1 — на него подписаны все IED.
  2. GOOSE с данными Signal2…Signal5 — на него подписаны IED2…IED3.

В таком случае, очевидно, возрастёт нагрузка на сетевой интерфейс принимающих устройств, так как придётся обрабатывать уже два GOOSE вместо одного, но зато (вероятно) снизится нагрузка на прикладном уровне, так как разбирать надо будет меньшее количество сигналов.

Интересно было бы получить комментарии коллег-разработчиков по следующим вопросам (с учётом специфики реализации своих терминалов):

  • Если считать, что сеть “прозрачная”, то есть фильтрация трафика отсутствует: что лучше с точки зрения производительности устройств IED2…IED3 и IED4…IED9: иметь одно GOOSE-сообщение со всеми сигналами (как сделано в проекте) или поделить данные между 2 GOOSE-сообщениями (как предложено выше)?
  • Если ввести фильтрацию трафика и ограничить приход неиспользуемых данных, то насколько это положительно скажется на производительности терминалов, которым не будут приходить “лишние” данные (в данном случае, это может быть выражено в том, что 2-e GOOSE-сообщение с данными Signal2…Signal5 будет приходить ТОЛЬКО на IED2…IED3) и сделает ли деление одного GOOSE-сообщения на 2 более целесообразным?
  • Если приведенный пример (в силу не очень большого количества сигналов) не очень показателен, то при каком количестве сигналов (хотя бы порядок) вопрос становится актуальным?