У меня в библиотеке ГМ есть для этого случая Графический Макрос для автоматической синхронизации часов панели с часами ПЛК.
Панель - мастер, ПЛК - слейв.
В слейве ПЛК нужно шесть регистров с временем по порядку Год, Месяц, День, час, минуты,секунды
Синхронизация происходит ежедневно, ровно в полдень по часам в ПЛК или по команде(через бит управления)
ГМ находится в папке ".\ГМ для СП300\Макро\ДатаВремя\RTC"
Вложение 74760
Переменные
Вложение 74761
ДатаВремя в ПЛК - адрес первого регистра из шести, в которых находятся текущие значения (год, месяц, день, час, минуты, секунды) часов ПЛК.
ЗАМЕЧАНИЕ
диапазон значений для года ограничен значениями от 2000 до 2099
диапазон значений для месяца от 1 до 12
диапазон значений для дня от 1 до 31
диапазон значений часов от 0 до 23
диапазон значений для минут и секунд от 0 до 59.
В макросе проверяется диапазон входных переменных и если их значение не укладывается заданные диапазоны, то их значения будут принудительно ограничены максимальным или минимальным значениями.
Т.е. если полученное из ПЛК значение для года будет, например 1998, то будет взято нижнее допустимое значение - 2000. Или если полученное из ПЛК значение для месяца будет, например 100, то будет взято верхнее допустимое значение - 12.
СинхПоКоманде - дополнительный вход для принудительной синхронизации часов, задается битом. Синхронизации будет выполнена по фронту этого бита, например от битовой кнопки с действием ВКЛ. пока нажата. Если дополнительный вход ненужен, следует использовать бит PSB1 - перманентный лог."0".
ЗЫ проект с этим ГМ во вложении