Синхронизация времени в комплексах телемеханики Печать
Статьи
Автор: Andrej   
21.11.2009 19:55

Во время опытной эксплуатации центральной приемо-передающей станции (ЦППС) в центре управления сетями РСК (ЦУС) мы столкнулись с проблемой синхронизации времени.

Наши серверы ЦППС работают под управлением Windows XP Professional. К сожалению, синхронизация в WinXP, посредством сервиса W32Time не обеспечивает необходимой точности хода часов ЦППС. Более того, если время в WinXP отличается от времени источника синхронизации на 1 секунду и менее, то синхронизация вообще не происходит.

По требованиям Системного оператора (СО ЕЭС) привязка времени в системе телемеханики к единому астрономическому времени должна быть не хуже 50 мс. Таким образом, штатные средства Windows XP не в состоянии обеспечить выполнение данных требований. О способе синхронизации через команду NetTime мы вообще говорить не будем, т.к. при этом точность, вернее неточность, может достигать 1 минуты. Как говорится, ни в какие ворота не лезет!

Еще одна проблема заключалась в том, что комплексы телемеханики в некоторых производственных отделениях (ПЭСах) нашей РСК синхронизировались от сигналов точного времени, передаваемых по радио. В этом случае расхождение времени с GPS-приемником достигало 3 секунд, что также является неприемлемым. Закупка необходимого количества NTP-серверов с GPS-приемниками в данное время не представляется возможным по техническим и финансовым причинам.

Было решено найти подходящее программное обеспечение, позволяющее с максимально высокой точностью выполнять синхронизацию времени между ЦППС ЦУС и комплексами телемеханики нижнего уровня, контролируемыми пунктами (КП) на подстанциях, а также рабочими станциями персонала.

На эту роль в идеальном случае подошел программный пакет ntpd, разработанный под Unix и портированный под Windows (под операционной системой Linux все еще проще, так как пакет ntp входит в состав практически всех распространенных дистрибутивов). Пакет содержит в своем составе NTP-сервер ntpd.exe, который реализует Network Time Protocol (NTP) – сетевой протокол времени.  В текущей версии 4 NTP-протокол способен достигать точности 10 мс при работе через Интернет и до 0,2 мс и лучше при работе внутри локальных  сетей.

Синхронизация времени происходит скачком при первом запуске программы, а в дальнейшем  ntpd регулярно опрашивает вышестоящие NTP-серверы и подстраивает системный таймер так, чтобы идти в такт со временем серверов. Каждый NTP-сервер имеет свой ранг или уровень (stratum), который на единицу ниже, чем вышестоящий. Максимальный ранг – 1, ранг 16 обозначает, что сервер недоступен.

Программа устанавливается как сервис и автоматически стартует до входа пользователя в Windows. В конфигурационном файле ntpd.conf должны быть прописаны серверы-источники точного времени и интервалы опроса.

В итоге образовалась следующая структура: на вершине находится «эталонный» NTP-сервер с GPS-приемником, который имеет ранг 2. Ниже располагаются серверы ЦППС ЦУС – ранг 3. Еще ниже серверы ЦППС производственных отделений – ранг 4. КП, не имеющие встроенных GPS-приемников точного времени, но поддерживающие протоколы МЭК101 и МЭК104 синхронизируются по командам с вышестоящих ПУ или ЦППС.

Структурная схема синхронизации изображена на рис.1

Схема синхронизации времени

Рис.1 Схема синхронизации времени.

Контролировать работу серверов ntpd удобно при помощи специализированной программы «NTP time server monitor».

Следует учитывать, что необходимая точность синхронизации будет достигнута не менее чем через сутки-двое работы сервера. И чем реже будет перезапускаться операционная система (или сервис NTP), тем точнее будет время на компьютере. Информация об отклонении системного таймера хранится в файле ntp.drift.

Ссылки на программное обеспечение:

 

Обновлено 23.11.2009 22:13