Здравствуйте! Подскажите пожалуйста как реализовать бесперебойную работу часов реального времени в CoDeSys 2.3. Дело в том, что при перезагрузки ПЛК время сбивается на дату и время по умолчанию (1970-01-01 00.00.00). В чем может быть причина?
Вид для печати
Здравствуйте! Подскажите пожалуйста как реализовать бесперебойную работу часов реального времени в CoDeSys 2.3. Дело в том, что при перезагрузки ПЛК время сбивается на дату и время по умолчанию (1970-01-01 00.00.00). В чем может быть причина?
в АКБ ПЛК - ответ высосан из пальца, так как ничего неизвестно о модели
ПЛК110-32M
ПЛК новый, только получили! При перезагрузки время сбивается!
А RTC - это блок Codesys или имеется ввиду часы самого ПЛК?
RTC - это блок в CoDeSys.
А часы ПЛК настраиваются как-то отдельно?
Используйте SysLibTime.lib ФБ RTC не реализован
Этот RTC ничего общего с аппаратными часами ПЛК110 не имеет.
Используйте библиотеку SysLibTime
Посмотреть текущее время и настроить его можно через ПЛК браузер в ресурсахЦитата:
А часы ПЛК настраиваются как-то отдельно
Вложение 29101
Спасибо за помощь!
Помощь ниже
Код:PROGRAM PLC_PRG
VAR CONSTANT
nulldt: SystemTimeDate; (*нужна для обнуления параметров*)
END_VAR
VAR
CurTimeExInst: CurTimeEx;
CurSystemTimeDate: SystemTimeDate;
CurSysTime64: SysTime64;
year: INT;
second: INT;
day: INT;
hour: INT;
minute: INT;
month: INT;
END_VAR
CurSystemTimeDate:=nulldt;
CurTimeExInst(TimeDate := CurSystemTimeDate, SystemTime := CurSysTime64);
year :=CurSystemTimeDate.Year;
month :=CurSystemTimeDate.Month;
day :=CurSystemTimeDate.Day;
hour :=CurSystemTimeDate.Hour;
minute :=CurSystemTimeDate.Minute;
second :=CurSystemTimeDate.Second;
Или оформить в виде ФБ
Вложение 29103
Вложение 29104Код:FUNCTION_BLOCK RTC_N
VAR CONSTANT
nulldt: SystemTimeDate; (*нужна для обнуления параметров*)
END_VAR
VAR_OUTPUT
year: INT;
month: INT;
day: INT;
hour: INT;
minute: INT;
second: INT;
END_VAR
VAR
CurTimeExInst: CurTimeEx;
CurSystemTimeDate: SystemTimeDate;
CurSysTime64: SysTime64;
END_VAR
CurSystemTimeDate:=nulldt;
CurTimeExInst(TimeDate := CurSystemTimeDate, SystemTime := CurSysTime64);
year :=CurSystemTimeDate.Year;
month :=CurSystemTimeDate.Month;
day :=CurSystemTimeDate.Day;
hour :=CurSystemTimeDate.Hour;
minute :=CurSystemTimeDate.Minute;
second :=CurSystemTimeDate.Second;
Спасибо большое, выручили!)
Подскажите пожалуйста. Делаю проект в CFC. Добавил библиотеку SysLibTime. Понял, что время в ПЛК можно настраивать через ПЛК-Браузер.
Теперь как мне воспользоваться временем заданным в ПЛК? Как его достать?
Я добавил блок CurTimeEx, а какие переменные в него вносить не понимаю.Вложение 29123
Подскажите пожалуйста.:confused:
и еще блок RTC_N найти так и не смог! Есть только просто RTC.
tPorte код блока RTC_N постом выше, просто создайте POU с таким именем и перенесите в него код, часть в область переменных, часть в область программы как на картинке.
Инструкция
https://www.youtube.com/watch?v=l1BJCUXxFC0
patera, спасибо Вам ОГРОМНОЕ!!! Сразу все стало понятно!!:D :D :D
WIN - это у меня имя канала в Gateway
Вложение 35227
Для отладки RTC использую PLC WinNT
Вложение 35228
Можно было и CoDeSys SP RTE использовать
А сменить (программно, функциями codesys) в RTL контроллера значения даты времени возможно? Чет день уже бьюсь, то ошибка, то ноль реакции...
Да стыдно обращаться, форум по ОВЕНУ, а у меня контроллер KINKO F122. В рунете вообще по нему ниче нет, вот решил сюда написать. Может посоветуете какуюнить библиотеку. Пользовал SysRtcSetTime, время меняет, только контроллер останавливается по WatchDog. Codesys 2.3
совершенно не правда что по нему ни чего нет, в первой же пдфке есть скрин где используется бибка syslibtime, здесь на форуме пример по работе с ней лежит достаточно давно, ищите на этой странице
Если что то есть про KINKO F122 киньте путь, я ничего кроме "быстрого старта" и описания на 15 страниц не нашел. syslibtime конечно пробовал, считывает параметры даты времени, но не пишет :(
на форуме SysLibTime разжевано до нельзя, пример так и называется запись даты и времени, что еще нужно то
Библиотека системная от КДС, к какому либо контроллеру отношения не имеет
Это я знаю, при записей нулей в структуру получаем структуру заполненную из RTS контроллера, меняю в структуре год, месяц...секунда, подставляю в TimeEx:CurTimeEx структура принимает вид реальных часов даты времени, без внесенных изменений :(
можно ссылку на форум?
Я может туплю, но вложения открываются как кусок битмапа