-
плк 150 - не идут часы.
Проблема - в ПЛК150 часы "заморожены" - устанавливаю время, далее в ПЛК браузере смотрю GetTime - секунды не меняются, остальное, соответственно, тоже.
Код:
DTNow.Year := 0;
DTNow.Month := 0;
DTNow.Day := 0;
DTNow.Hour := 0;
DTNow.Minute := 0;
DTNow.Second := 0;
DTNow.DayOfWeek := 0;
STNow.ulHigh := 0;
STNow.ulLow := 0;
GetCurrentTime(SystemTime:=STNow , TimeDate:=DTNow );
Этот кусочек программы также возвращает "замороженные" значения. С чем может быть связано, где покопаться?
Код:
PLCInfo
PLC model MODEL PLC 150
Binary VERSION 2.10.9
Need Target version 2.10
Compiled: 11:36:43 Oct 8 2009
MAC 6A:77:00:00:85:13
IP 192.168.1.253
GATE 192.168.1.1
MASK 255.255.255.0
PIC upper version is 07
Licence unlimited
Current DAC
PIC lower version is 0a
-
попробуйте скачать пример с форума работы с часами, и сделать по примеру.
-
Дык по нему и сделано. Причем STTime.ulLow и DTNow.dwLowMsecs меняются постоянно, а вот поля структуры DTNow и значения GetTime в плц браузере стоят как влитые.
Код:
GetTime
Time:16:51:24 Date: 1. 1.2000
И еще один момент - создаю проект, в нем - программа с одним элементом "И". Заливаю, контролирую GetTime в браузере - то же самое. Значения как влитые.
-
верхняя плата отвалилась. снимите и поставьте заново. если время пошло - проблема в контакте, иначе в ремонт.
-
обращайтесь в сервисный центр, такой проблемы не должно возникать. может дело в чрезмерном количестве трансвеститов?
-
1. Открываем в менеджере библиотек -Syslibtime.lib
2. В объявлении переменных прописываем
TimeAndDate:SystemTimeDate;
Sys_Time: SysTime64;
GetTime:CurTimeEx;
3. В теле программы прописываем
TimeAndDate.Day :=0;
TimeAndDate.DayOfWeek :=0;
TimeAndDate.dwHighMsec :=0;
TimeAndDate.dwLowMSecs :=0;
TimeAndDate.Milliseconds :=0;
TimeAndDate.Minute :=0;
TimeAndDate.Second :=0;
TimeAndDate.Hour :=0;
TimeAndDate.Year :=0;
TimeAndDate.Month :=0;
Sys_time.ulHigh :=0;
Sys_time.ulLow :=0;
GetTime (SystemTime:=Sys_Time,TimeDate:=TimeAndDate);
4. Значения какого либо параметра времени присваем пользовательской переменной, например
sec:=TimeAndDate.Second;
И все работает.( Формат sec-UINT).