http://www.owen.ru/catalog/modul_vvo...2203m/23367284
Вид для печати
MrNobody ну почему НЕТ сразу ? вы на модуль заводите либо 220В либо через трансформаторы напряжения более высокое напряжение.
Вторую схему подключения смотрите внимательнее...
Единственное, это необходимость трансформаторов тока, если он выше 5А. в РЭ должно быть указано.
Вопрос по подсчету времени работы/не работы с переходом через сутки. В какую сторону копать ?
функция TIME() чем не подходит
capzap просто считать полное время, когда было отключено/включено понятно, эта же функция может считать время во сколько ?
хотите сказать, что такой код не посчитает работу вплоть до 49 суток?Код:VAR
flag : BOOL;
oldFlag : BOOL;
foo : DWORD;
bar : DWORD;
tik : TIME;
END_VAR
IF flag AND NOT oldFlag THEN
foo := TIME_TO_DWORD(TIME());
ELSIF flag THEN
bar:=TIME_TO_DWORD(TIME())-foo;
tik:=DWORD_TO_TIME(bar);
END_IF;
oldFlag:=flag;
Ограничение в 49 суток намекает на излишнюю точность. Проще и надёжнее считать секунды или даже минуты:Код:VAR sectrig: R_TRIG;
running: BOOL;
END_VAR
VAR RETAIN
uptime: DWORD := 0;
END_VAR
sectrig(CLK := TIME_TO_DWORD(TIME()) MOD 1000 > 500);
uptime := uptime + BOOL_TO_DWORD(sectrig.Q AND running);
речь шла о перескоке через полночь (может это какой то проект для золушки ), поэтому посчитав время с типом данных TIME и по окончанию события получить с помощью бибки syslibtime текущее время, можно получить дату окончания и с помощью разности узнать начало события в реальных часах