1. Добавляем в
Менеджере библиотек библиотеку
DATE and TIME
Вложение 17857
2. В этой библиотеке нас интересует подбиблиотека
CAA Real Time Clock Extern (
CAA RTCLK). В нее входят два функциональных блока для работы с системным временем -
GetDateAndTime (считывание системного времени) и
SetDateAndTime (запись системного времени).
Вложение 17859
3. Для упрощения взаимодействия с блоками создадим программу на языке
CFC. Добавим элемент, вставим в него интересующий нас функциональный блок:
Вложение 17860
4. Системное время хранится в формате
DT (DATE and TIME). Физически - это переменная типа
DWORD, в которой записывается
число секунд, прошедшее с
00:00 часов 1 января 1970 года. Поэтому сразу добавим блоки конвертации
DT в
DWORD и
STRING (для наглядности). Не забываем привязать нашу программу к какой-нибудь задаче.
Вложение 17861
5. После запуска проекта, при условии, что вход блока
GetDateAndTime принял значение
TRUE, получаем на выходе системное время в формате
DT, и после преобразований - в
DWORD и
STRING. Нужно понимать, что в данном случае блок сработает один раз - в момент запуска программы (потому что на входе сразу
TRUE).
Вложение 17858
Как уже упоминалось, виртуальный контроллер живет по
UTC+0, поэтому в данном случае видна разница с моим временем в трее - т.к. у меня
UTC+3.
Блок
SetDateAndTime работает аналогично - подаем на вход время в формате
DT, смотрим на изменение времени в трее.