PDA

Просмотр полной версии : Время на ПЛК110-60



ПРОЕКТ-П
25.10.2012, 09:35
Здравствуйте.
У меня возникла следующая проблема - не могу задать время на ПЛК110-60, как через ПЛК-браузер,, так и через CurTimeEx. Я уже связывался по подобному вопросу с Вашими специалистами в июле этого года, тогда необходимо было мне задавать время на ПЛК100 с панели оператора. Мне в ответ на мою задачу выслали пример с использование SysLibTime функции CurTimeEx. Сделал в проекте также как в примере - и все заработало. Сейчас мне необходимо тоже самое сделать на ПЛК110-60 - задать время ПЛК с панели оператора, делаю абсолютно также (использую один и тот же функциональный блок) как и с ПЛК100 с использованием CurTimeEx - а результата нет, т.е. время на ПЛК110-60 не задается. Подскажите пожалуйста в чем может быть причина.
Спасибо.

Yegor
25.10.2012, 09:48
Проект в студию.

ПРОЕКТ-П
25.10.2012, 09:59
Ниже привожу функциональный блок который работает с ПЛК100 и не работает с ПЛК110-60

FUNCTION_BLOCK date_time
VAR_INPUT
EN: BOOL;
read: BOOL;
write: BOOL;
END_VAR
VAR_OUTPUT
ENO: BOOL;
END_VAR
VAR_IN_OUT
day: WORD;
month: WORD;
year: WORD;
hour: WORD;
minute: WORD;
second: WORD;
END_VAR
VAR
CurTimeEx: CurTimeEx;
SystemTime: SysTime64;
TimeDate: SystemTimeDate;
END_VAR

*******************************************
ENO:=EN;

IF EN THEN

IF read THEN

TimeDate.dwHighMsec:=0;
TimeDate.dwLowMSecs:=0;
TimeDate.Day:=0;
TimeDate.DayOfWeek:=0;
TimeDate.Month:=0;
TimeDate.Year:=0;
TimeDate.Hour:=0;
TimeDate.Minute:=0;
TimeDate.Second:=0;
TimeDate.Milliseconds:=0;
SystemTime.ulHigh:=0;
SystemTime.ulLow:=0;

CurTimeEx(SystemTime:=SystemTime,TimeDate:=TimeDat e);

day:=TimeDate.Day:=0;
month:=TimeDate.Month:=0;
year:=TimeDate.Year:=0;
hour:=TimeDate.Hour:=0;
minute:=TimeDate.Minute:=0;
second:=TimeDate.Second:=0;

END_IF;

IF write THEN

TimeDate.Day:=day;
TimeDate.Month:=month;
TimeDate.Year:=year;
TimeDate.Hour:=hour;
TimeDate.Minute:=minute;
TimeDate.Second:=second;

СurTimeEx(SystemTime:=SystemTime,TimeDate:=TimeDat e);

END_IF;

END_IF;

Yegor
25.10.2012, 11:09
У меня на ПЛК160 дата установилась. Пробовал так:
PROGRAM PLC_PRG
VAR
d: date_time;
test: BOOL;

day: WORD := 1;
month: WORD := 1;
year: WORD := 2010;
hour, minute, second: WORD;
END_VAR

IF test THEN
d(EN := TRUE, write := TRUE, day := day, month := month, year := year, hour := hour, minute := minute, second := second);
test := FALSE;
END_IFСмутили кириллическая «С» и пробел «TimeDat e» во втором вызове CurTimeEx.

ПРОЕКТ-П
30.10.2012, 17:26
Кирилическая "C" и пробел походу при копировании появились :)

lara197a
30.10.2012, 22:32
Где-то давно выкладывал пример "будильник".
Можете написать в личку свой емайл, скину.