Производители грамотно обходят эту ветку стороной.
Производители грамотно обходят эту ветку стороной.
Можно конечно программно реализовать периодическую перезагрузку контроллера. Тогда часы выравниваются.
Если кратко, то суть проблемы в том, что при старте Linux читает RTC (аппаратное из кварца) и передает его процессору. Который в свою очередь начинает его отсчитывать самостоятельно. Если процессор загружен, то у него бывают случаи, когда он проскакивает обработку времени, вытесняются часики CODESYS. При этом аппаратные часики тикают параллльно, и адекватно.
Многие замечали, что перезагрузка помогает. Это так, потому что при первом запуске считывается аппаратное время.
В тестовой ветке под SP7 мы начали решать данную проблему. Причем с 2-х фронов. Первое, это синхронизация аппаратных часов и времени Linux. Второе, возможность примения NTP.
Под SP5 проблему мы не решали, но рекомендация с "hwclock -s" должна помогать. Если нет, присылайте проекты, будем разбираться.
P.S. данный вопрос не привязан именно к СПК107. Он имеет место быть на любой СПК.
Последний раз редактировалось Александр Приходько; 13.02.2017 в 02:12.
Добрый день, уважаемые коллеги.
Для синхронизации времени необходимо использовать команду /sbin/hwclock -s
Т.е. вот так:
Команда синхронизирует системное время Linux (которое использует CDS) с аппаратными часами СПК.Код:SysExecute('/sbin/hwclock -s');
Не следует вызывать ее циклически - раз в час, например, будет вполне достаточно в большинстве случаев.
Последний раз редактировалось Евгений Кислов; 13.02.2017 в 11:42.
СODESYS V3.5: Repository Archive V3.5 SP4 (необходим для старых СПК) / Раздел CDS V3.5 на сайте
Форум: Вопросы и ответы / Визуализация / Настройка обмена с другими устройствами
Web-панель ВП110 / Modbus-индикатор СМИ2-М
Telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru | oscat.ru | Как обратиться в техподдержку?
Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | XY problem | Как правильно задавать вопросы | AnyDesk
Segmentation fault.jpg
Пробую зайти через putty на спк105 и использовать эту команду. Возникает сообщение ''Segmentation fault''.
Попробуйте выполнить команду ls /dev/rtc* - что будет в терминале?
Также попробуйте запустить hwclock без ключа -s.
И уточните, пожалуйста, какая у вас прошивка СПК105.
СODESYS V3.5: Repository Archive V3.5 SP4 (необходим для старых СПК) / Раздел CDS V3.5 на сайте
Форум: Вопросы и ответы / Визуализация / Настройка обмена с другими устройствами
Web-панель ВП110 / Modbus-индикатор СМИ2-М
Telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru | oscat.ru | Как обратиться в техподдержку?
Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | XY problem | Как правильно задавать вопросы | AnyDesk
lsdev.jpg
/dev/rtc /dev/rtc0
hwclock без ключа выполняется.
СПК105 Версия прошивки 3.947.
Понятно, тогда - strace hwclock -w и все, что выведется - сюда бросьте, пожалуйста.
У вас в этот момент запущен какой-то проект? В нем нет попытки синхронизации этой же командой через SysExecute?
СODESYS V3.5: Repository Archive V3.5 SP4 (необходим для старых СПК) / Раздел CDS V3.5 на сайте
Форум: Вопросы и ответы / Визуализация / Настройка обмена с другими устройствами
Web-панель ВП110 / Modbus-индикатор СМИ2-М
Telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru | oscat.ru | Как обратиться в техподдержку?
Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | XY problem | Как правильно задавать вопросы | AnyDesk