Вопрос: Надо в будние дни включать устройство с 6:30 до 8:30 и с 18:30 до 0:00.
Понятно, что мы берем из системного времени DayOfWeek и Hour и Minute. Как сделать диапазон в CFC для подобного диапазона лаконично, а то на ум только сплошные сравнения постоянные лезут.
Ваше сообщение слишком короткое. Оно должно быть не менее 10 символов.
))) Оригинально с временем.
Воскресенье это 0.
в развитие темы..
limialarm(hour+minute/100.0, low:=6.30, high:=8.30, il =>);
Егор на форуме выкладывал гениальный пример из 3 строчек на ST. Так вот если его использовать, то можно получить очень даже лаконичное решение. Время задается в минутах.
Вложение 12717
У меня вопрос я хочу сделать (CDv3, написание в LD) после переменной отображение на экране (СПК207) картинки. Т.е. появился на входе (реле) сигнал - появился на выходе (катушка) сигнал, на выходе ( у меня привязано к картинке через Pool).
Это всё понятно, но возникает момент, когда мне нужна пульсация на выходе. Я знаю, что при создании проекта в Omron (NSJ), там есть уже таблица символов Вложение 12728 и там есть уже набор генераторов (выделенная строка для пульсации в 1 секунду). Есть ли подобное что то в CDv3. Я конечно могу поставить 2 таймера которые будут включатся и выключатся, что бы отображалось на конце цепи выход. Но есть ли проще варианты? Где-то я видел видео урок на CFC -- генератор, но меня интересует на LD что либо есть подобное, как на CX-programmer?
Коллеги. Возник вопрос. Не могу решить следующую задачу: Есть 3 входа(real input module), надо их загнать в массив из трех элементов. Понимаю что решение простое но сообразить не могу. Может кто подсказать как это реализовать??
А простым присвоением не пробовали, 3 элемента это же не 100?
a[0]:=input1;
a[1]:=input2;
a[3]:=input3;
Пока вижу один вариант - массив указателей..... Вот только с реализацией в CodeSys v2 не могу сообразить..Код:VAR a: ARRAY [0..2] OF POINTER TO REAL; init:BOOL; x,y,z:REAL; END_VAR --------------- IF NOT init THEN (*один раз при старте*) init:=TRUE; a[0]:=ADR(input1); a[1]:=ADR(input2); a[2]:=ADR(input3); END_IF (*далее используем в программе*) x:=a[0]^; y:=a[1]^; z:=a[2]^;