Siemens — Команды, связанные со временем

Набор команд S7–200 Глава 6 81 Совет CPU S7-200 не проверяет соответствие дня недели дате. Могут быть восприняты неверные даты, например, 30 февраля. Правильность даты должны обеспечивать вы сами. Не используйте команду TODR/TODW одновременно в главной программе и программе обработки прерывания. Эта команда не будет исполнена в программе обработки прерывания, которая пытается ее выполнить, когда действует другая команда TODR/TODW. Если делается попытка одновременно двух обращений к часам, то устанавливается SM4.3 (нефатальная ошибка 0007). Часы реального времени в S7–200 используют только две младшие значащие цифры для года, так что 2000-й год представлен как 00.

ПЛК S7-200 никак не использует информацию о годе. Однако пользовательские программы, которые используют арифметические операции или сравнения со значением года, должны учитывать двухзначное представление и изменение столетия. Високосные годы обрабатываются правильно до 2096 года. Чтение расширенных часов реального времени Команда чтения расширенных часов реального времени (TODRX) считывает текущую конфигурацию времени, даты и летнего времени из ПЛК и загружает их в 19– байтовый буфер, начинающийся по адресу, указанному параметром T.

Сбойные состояния, устанавливающие ENO = 0 ■ 0006 (косвенный адрес) ■ 000C (отсутствует модуль часов) ■ 0091 (ошибка диапазона) Установка расширенных часов реального времени Команда установки расширенных часов реального времени (TODWX) записывает текущую конфигурацию времени, даты и летнего времени в ПЛК из 19– байтового буфера, находящегося по адресу, указанному в параметре T. Все значения даты и времени необходимо записывать в формате BCD (например, 16#02 для 2002 года). В таблице 6–9 показан формат 19–байтового буфера времени (T). После продолжительного отключения питания или потери памяти часы реального времени инициализируют следующую дату и время:

Сбойные состояния, устанавливающие ENO = 0 ■ 0006 (косвенный адрес) ■ 0007 (ошибка данных TOD) ■ 000C (отсутствует модуль часов) ■ 0091 (ошибка диапазона) Дата: 01-Jan-90 Время 00:00:00 День недели: воскресенье