PDA

Просмотр полной версии : Проверка синхронизации по протоколу NTP



alexander.kinsfator@gmail.com
05.06.2023, 10:58
Здравствуйте!
На контроллере ПЛК 200 в Web-конфигураторе настроил синхронизацию по NTP "Включить NTP-клиент".
Синхронизация выполняется.
Вопрос как из кода ПЛК узнать о состоянии синхронизации?
Рассчитывал через CmpSysExec выполнить ntpq, но по крайней мере через терминал команда не работает, пишет, команда не найдена.

Евгений Кислов
05.06.2023, 12:03
Здравствуйте!
На контроллере ПЛК 200 в Web-конфигураторе настроил синхронизацию по NTP "Включить NTP-клиент".
Синхронизация выполняется.
Вопрос как из кода ПЛК узнать о состоянии синхронизации?
Рассчитывал через CmpSysExec выполнить ntpq, но по крайней мере через терминал команда не работает, пишет, команда не найдена.

Добрый день.
Что именно вы называете "состоянием синхронизации"?

alexander.kinsfator@gmail.com
05.06.2023, 12:15
То что выдает ntpq.
Например:
https://www.cyberciti.biz/faq/linux-unix-bsd-is-ntp-client-working/
Я подключаюсь к GPS тайм-серверу. Если сигнала нет, то синхронизация не происходит, точнее сервер сам не знает точное время и сообщает об этом. Как мне узнать состояние сервера?
Можно конечно залезть по SSH на сервер времени, но то же не так всё просто на мой взгляд.

Евгений Кислов
05.06.2023, 12:33
То что выдает ntpq.
Например:
https://www.cyberciti.biz/faq/linux-unix-bsd-is-ntp-client-working/
Я подключаюсь к GPS тайм-серверу. Если сигнала нет, то синхронизация не происходит, точнее сервер сам не знает точное время и сообщает об этом. Как мне узнать состояние сервера?
Можно конечно залезть по SSH на сервер времени, но то же не так всё просто на мой взгляд.

Можете использовать пример и в коде программы разбирать ответы от сервера:
https://ftp.owen.ru/CoDeSys3/21_Examples/01_3.5.11.5/08_Sockets/Example_NtpClient_3516v1.projectarchive

ntpq у нас в прошивку не входит, насколько я помню.

alexander.kinsfator@gmail.com
05.06.2023, 12:56
В принципе понятно, и не сложно. Сделаю через UDP запросы.
Спасибо.

PS: Но как то странно, если уж ntpd пришлось включить в прошивку, кто мешал добавить ntpq?

Евгений Кислов
05.06.2023, 14:03
В принципе понятно, и не сложно. Сделаю через UDP запросы.
Спасибо.

PS: Но как то странно, если уж ntpd пришлось включить в прошивку, кто мешал добавить ntpq?

Никто не мешал, но запросов от клиентов раньше не было по его поводу.
Добавлю ваше пожелание.

alexander.kinsfator@gmail.com
05.06.2023, 23:23
Всё получилось. В первом байте ответа есть индикатор отсутствия синхронизации NTP-сервера. Ещё раз спасибо.