Вход

Просмотр полной версии : RTC Часы реального времени



tPorte
02.02.2017, 11:12
Здравствуйте! Подскажите пожалуйста как реализовать бесперебойную работу часов реального времени в CoDeSys 2.3. Дело в том, что при перезагрузки ПЛК время сбивается на дату и время по умолчанию (1970-01-01 00.00.00). В чем может быть причина?

melky
02.02.2017, 11:52
в АКБ ПЛК - ответ высосан из пальца, так как ничего неизвестно о модели

tPorte
02.02.2017, 12:03
ПЛК110-32M

tPorte
02.02.2017, 13:07
ПЛК новый, только получили! При перезагрузки время сбивается!

Dimensy
02.02.2017, 16:51
А RTC - это блок Codesys или имеется ввиду часы самого ПЛК?

tPorte
02.02.2017, 19:10
RTC - это блок в CoDeSys.

tPorte
02.02.2017, 19:11
А часы ПЛК настраиваются как-то отдельно?

Филоненко Владислав
02.02.2017, 20:36
Используйте SysLibTime.lib ФБ RTC не реализован

petera
02.02.2017, 20:40
RTC - это блок в CoDeSys.
Этот RTC ничего общего с аппаратными часами ПЛК110 не имеет.

Используйте библиотеку SysLibTime


А часы ПЛК настраиваются как-то отдельно
Посмотреть текущее время и настроить его можно через ПЛК браузер в ресурсах
29101

tPorte
02.02.2017, 20:48
Спасибо за помощь!

petera
02.02.2017, 20:54
Спасибо за помощь!
Помощь ниже


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;

petera
02.02.2017, 21:01
Или оформить в виде ФБ
29103

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;

29104

tPorte
02.02.2017, 21:14
Спасибо большое, выручили!)

tPorte
03.02.2017, 11:43
Подскажите пожалуйста. Делаю проект в CFC. Добавил библиотеку SysLibTime. Понял, что время в ПЛК можно настраивать через ПЛК-Браузер.
Теперь как мне воспользоваться временем заданным в ПЛК? Как его достать?
Я добавил блок CurTimeEx, а какие переменные в него вносить не понимаю.29123
Подскажите пожалуйста.:confused:

tPorte
03.02.2017, 11:46
и еще блок RTC_N найти так и не смог! Есть только просто RTC.

melky
03.02.2017, 14:05
tPorte код блока RTC_N постом выше, просто создайте POU с таким именем и перенесите в него код, часть в область переменных, часть в область программы как на картинке.

petera
03.02.2017, 14:35
и еще блок RTC_N найти так и не смог! Есть только просто RTC.

tPorte код блока RTC_N постом выше, просто создайте POU с таким именем и перенесите в него код, часть в область переменных, часть в область программы как на картинке.
Инструкция

https://www.youtube.com/watch?v=l1BJCUXxFC0

tPorte
03.02.2017, 15:39
patera, спасибо Вам ОГРОМНОЕ!!! Сразу все стало понятно!!:D :D :D

Rednaxel
21.01.2018, 15:04
Или оформить в виде ФБ

29104

А что за ПЛК WIN используете, подскажите пожалуйста?
Собственно ищу программный ПЛК для отладки с RTC и возможностью обмена по MODBUS TCP (хотя бы) и RTU (желательно).

petera
21.01.2018, 20:52
А что за ПЛК WIN используете, подскажите пожалуйста?
Собственно ищу программный ПЛК для отладки с RTC и возможностью обмена по MODBUS TCP (хотя бы) и RTU (желательно).

WIN - это у меня имя канала в Gateway
35227

Для отладки RTC использую PLC WinNT
35228

Можно было и CoDeSys SP RTE использовать

Archisan
12.05.2018, 11:10
А сменить (программно, функциями codesys) в RTL контроллера значения даты времени возможно? Чет день уже бьюсь, то ошибка, то ноль реакции...

capzap
12.05.2018, 13:57
то ошибка, то ноль реакции...
Вы бы хотя бы ссылку дали на примеры, с каких начали свой проект делать. Сменить можно, сильно сложных проблем там нет

Archisan
12.05.2018, 14:28
Да стыдно обращаться, форум по ОВЕНУ, а у меня контроллер KINKO F122. В рунете вообще по нему ниче нет, вот решил сюда написать. Может посоветуете какуюнить библиотеку. Пользовал SysRtcSetTime, время меняет, только контроллер останавливается по WatchDog. Codesys 2.3

capzap
12.05.2018, 14:43
совершенно не правда что по нему ни чего нет, в первой же пдфке есть скрин где используется бибка syslibtime, здесь на форуме пример по работе с ней лежит достаточно давно, ищите на этой (http://www.owen.ru/forum/showthread.php?t=13588) странице

Archisan
12.05.2018, 15:20
Если что то есть про KINKO F122 киньте путь, я ничего кроме "быстрого старта" и описания на 15 страниц не нашел. syslibtime конечно пробовал, считывает параметры даты времени, но не пишет :(

capzap
12.05.2018, 15:28
на форуме SysLibTime разжевано до нельзя, пример так и называется запись даты и времени, что еще нужно то
Библиотека системная от КДС, к какому либо контроллеру отношения не имеет

Archisan
12.05.2018, 17:34
Это я знаю, при записей нулей в структуру получаем структуру заполненную из RTS контроллера, меняю в структуре год, месяц...секунда, подставляю в TimeEx:CurTimeEx структура принимает вид реальных часов даты времени, без внесенных изменений :(

Archisan
12.05.2018, 17:35
можно ссылку на форум?

capzap
12.05.2018, 17:47
можно ссылку на форум?

если белое поле не подойдет, тогда расширенный поиск

Archisan
12.05.2018, 18:41
Я может туплю, но вложения открываются как кусок битмапа