PDA

Просмотр полной версии : Синхронизация системного времени СПК110



alekstani
10.03.2023, 13:56
Добрый день!
Тема конечно не новая, но прошу помочь разобраться с синхронизацией времени СПК-110, версия прошивки 2.4, codesys v3.5 sp17.
Подскажите, пожалуйста, какие есть пути решения. Вчера попробовал функцию SysExecute('strace hwclock -s'); не получилось, полагаю, что команда для Linux записана некорректно. И насколько я понял - это синхронизация системы с кварцем. Вопрос в том насколько стабильно работает кварц и будет ли время правильным. Наиболее приемлемый вариант синхронизации с системным временем пром ПК, который находится в одной подсети с СПК. На втором месте синхронизация с NTP сервером. У пром ПК есть выход в интернет.

Евгений Кислов
10.03.2023, 14:19
Добрый день.


Вчера попробовал функцию SysExecute('strace hwclock -s'); не получилось, полагаю, что команда для Linux записана некорректно. И насколько я понял - это синхронизация системы с кварцем

Всё это реализуется нашими сервисами - пользователю нет необходимости об этом думать.


Вопрос в том насколько стабильно работает кварц и будет ли время правильным.

"Точность хода часов реального времени – ± 0,7 секунд в сутки при 25 °C"

Вариант с NTP - очень разумное решение.

imaex
10.03.2023, 15:01
Наиболее приемлемый вариант синхронизации с системным временем пром ПК, .... На втором месте синхронизация с NTP сервером. У пром ПК есть выход в интернет.

Если пром-ПК при этом может выполнять функцию NTP-сервера - как раз оптимальное и получится. С другой стороны, можно и панельке разрешить в Сеть ходить только по NTP.

alekstani
10.03.2023, 15:54
Какой функционал для этого использовать? Есть готовые примеры?

Евгений Кислов
10.03.2023, 16:43
Какой функционал для этого использовать? Есть готовые примеры?

В web-конфигураторе (для СПК - можно и в экранном конфигураторе) вкладка Система/Время:

66424

alekstani
10.03.2023, 20:43
Так у меня флажки также выставлены, только синхронизацию я не заметил. Время на СПК постоянно спешит. Синхронизация только по нажатию на кнопки сверху происходит.

Евгений Кислов
10.03.2023, 20:47
Время на СПК постоянно спешит. Синхронизация только по нажатию на кнопки сверху происходит.

После синхронизации по кнопке время продолжает "спешить"? Можете это в цифрах описать?

alekstani
10.03.2023, 21:06
После нажатия по кнопкам сверху синхронизуется. Мне нужно, чтобы синхронизация осуществлялась периодически автоматически без нажатия на кнопки.

Евгений Кислов
10.03.2023, 21:22
После нажатия по кнопкам сверху синхронизуется. Мне нужно, чтобы синхронизация осуществлялась периодически автоматически без нажатия на кнопки.

Она и будет осуществляться "периодически автоматически" при установленной галочке Включить NTP-клиент.
Период определяется с помощью "heuristic algorithm developed over several years of experimentation":
https://www.eecis.udel.edu/~mills/ntp/html/poll.html

В следующей версии прошивки мы добавим возможность синхронизации с NTP по команде из CODESYS.

Если вам нужно это прямо сейчас - то воспользуйтесь этим примером:
https://ftp.owen.ru/CoDeSys3/21_Examples/01_3.5.11.5/08_Sockets/Example_NtpClient_3516v1.projectarchive

alekstani
15.05.2023, 19:01
Добрый день! Не подскажите подходящий NTP сервер для рекомендованного вами примера? https://ftp.owen.ru/CoDeSys3/21_Exam...projectarchive. Установил сервер https://www.meinbergglobal.com/download/ntp/windows/ntp-4.2.8p15a-win32-setup.exe, но после этого заметил, что нарушилась отправка данных в БД. Триггером для отправки данных служит блинкер и данные отправляются каждые 20 секунд, однако после установки этого сервера в БД часть данных не записывается, причем потери бывают весьма значительные. Порой несколько минут данные не записываются. Попытался удалить этот сервер, закомментировал код в СПК, но проблема так и осталась, видимо где-то в реестре ОС изменения остались. Теперь ищу другой NTP сервер.

Евгений Кислов
15.05.2023, 19:07
Добрый день.


Не подскажите подходящий NTP сервер для рекомендованного вами примера?

Подойдет любой.
Можете начать со стандартного, встроенного в Windows.