Как прочитать часы реального времени PMP20 из программы?

Проверено экспертом Опубликовано: 06.11.2025 Обновлено: 23.01.2026 987 просмотров Помогло 71%

Дата и время лежат в семи системных регистрах подряд, и значения в них записаны в двоично-десятичном коде — то есть каждая тетрада хранит одну десятичную цифру.

РегистрЗначение
SD013секунды
SD014минуты
SD015часы
SD016день
SD017месяц
SD018год, от 2000 до 2099
SD019день недели, где 0 — воскресенье

Главная особенность — формат. Прямое сравнение содержимого этих регистров с обычной константой даёт неверный результат: значение 21 час в двоично-десятичном коде и число 21 в двоичном — это разные числа. Перед арифметикой и сравнением значение переводят в двоичный вид командой преобразования, а для чтения всей даты одной операцией применяют команду чтения часов.

Точность хода — около пяти минут в месяц. Для журнала событий и расписания этого достаточно, для сведения данных с другими системами — нет: на объектах с диспетчеризацией время контроллера синхронизируют записью из панели оператора или из верхнего уровня, обычно раз в сутки.

Диагностика часов: признак ошибки — системный меркер SM415, тип ошибки — регистр SD415. Значение 1 означает низкое напряжение питания часов, 2 — отсутствие подтверждения от микросхемы часов, 3 — попытку записать недопустимую дату. Первое обычно означает севшую батарею: время после снятия питания не сохраняется.

Работа по расписанию строится именно на этих регистрах: сравнение часа и дня недели даёт нужные окна включения.

Прикреплённая документация

Георгий Жуков Георгий Жуков Ведущий инженер

Этот ответ был полезен?

Не нашли ответ?

Инженер сервисной службы ответит на почту. Вопросы, которые повторяются, мы публикуем в базе знаний — без ваших контактов.

Вопрос из раздела Как прочитать часы реального времени PMP20 из программы?