Skunkworks может измерять время передачи GOOSE-сообщений и пакетов Sampled Values
Измерение времени передачи GOOSE-сообщений производится при каждом изменении состояния передаваемых данных. Индикатором изменения состояния передаваемых данных является параметр StNum (State Number). По факту изменения значения одного из передаваемых в GOOSE-сообщении сигналов должна производится инкрементация значения параметра StNum и одновременно с этим, в соответствии с МЭК 61850-7-2, должно изменяется значение метки времени сообщения T. Временная задержка определяется как разница между временем регистрации сообщения приложением Skunkworks и меткой времени T GOOSE-сообщения.
Для активации функции в свойствах программы (Preferences) для протокола IEC 61850-8-1 (GOOSE) пользователь должен установить отметку Measure latency of received wireshark packet time versus GOOSE event timestamp on state change:
Для того, чтобы измерить время передачи пакета Sampled Values, в сообщении должно передаваться поле Refresh Time, которое в соответствии со спецификацией МЭК 61850-9-2LE по-умолчанию не передается. Только в этом случае будет доступна функциональность измерения временной задержки, и вычисляться она будет как разница между временем регистрации сообщения в приложении Skunkworks и значением параметра Refresh Time. Функция измерения должна быть введена в работу аналогично как и для GOOSE-сообщений:
Для обеспечения точности измерений требуется использовать специальный сетевой интерфейс с интерфейсом синхронизации времени (например, Napatech).
1. А какому моменту времени соответствует метка Refresh Time в полном SV? Дело в том, что время время в SV уже есть – это сам номер отсчета SmpCnt. Например отсчет с SmpCnt=0 соответствует ровно началу секунды.
2. Второй интересный вопрос: а что фиксирует Skunkworks (WireShark) – что такое “время регистрации” сообщения? Насколько точно проставляется это поле и как оно подвержено случайным измерениям от типа операционной системы? конфигурации и загруженности операционной системы?