Добрый день!
Codesys 3.5
Такая задача: 4 кнопки с фиксацией. При нажатии любой кнопки, "отжимается" кнопка нажатая ранее.
Подскажите, какие могут быть варианты решения.
Всем спасибо!
Добрый день!
Codesys 3.5
Такая задача: 4 кнопки с фиксацией. При нажатии любой кнопки, "отжимается" кнопка нажатая ранее.
Подскажите, какие могут быть варианты решения.
Всем спасибо!
программные ? сами физические кнопки без фиксации. Если используется D-триггер, то у него есть вход сброса, соответственно через ИЛИ от "противоположных" кнопок его можно сбрасывать.
Код:fixBTN : UDINT; if btn1 and not btn2 and not btn3 and not btn4 then fixBTN := 1; end_if if not btn1 and btn2 and not btn3 and not btn4 then fixBTN := 2; end_if if not btn1 and not btn2 and btn3 and not btn4 then fixBTN := 3; end_if if not btn1 and not btn2 and not btn3 and btn4 then fixBTN := 4; end_if
Valadimir
Можно и на LD
Среда не КДС, но это не важно, КДС тоже так может.
Xn - входа ПЛК, Yn - выхода, M - маркер (битовая переменная).
Показано три канала, четыре и более не вмещаются в скриншот.
Последний раз редактировалось Sulfur; 11.08.2025 в 11:43.
M,M_,On,Out : DWORD; //если приперло - можно 32 кнопы запилить
------
M.0 := Di1; //каждая DiN связана с DoN
M.1 := Di2;
M.2 := Di3;
M.3 := Di4;
On := M AND NOT M_;
Out := SEL(On > 0, Out, On);
M_ := M;
Do1 := Out.0;
Do2 := Out.1;
Do3 := Out.2;
Do4 := Out.3;
Вот здесь посмотрите, короче, должно подойти и придумывать не надо, в смысле уже давно придумано и даже в два раза превышает ваши потребности(8 кнопок), с перспективой развития до 32:
https://owen.ru/forum/showthread.php...l=1#post361404
Да и само ваше Т. З. поражает своей недосказанностью, если мягко выражаться, но всё гармонично, в смысле, сделать не можете, объяснить(толково) не можете!
8 стабильный триггер_4.PNG
Хотел дополнить, что в последствии этот алгоритм неоднократно совершенствовал, но кажется в других темах, это один из первых вариантов.
И, макрос RAMP_BIT нужен только для случаев когда одновременно нажато более одной кнопки, он задаёт приоритет и разруливает одновременное нажатие более одной кнопки.
https://owen.ru/forum/showthread.php...l=1#post361508
Последний раз редактировалось Сергей0308; 11.08.2025 в 17:46.
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
IMG_20250811_175632_295.jpg
А так сгодится? Ну нет у меня дома кодесиса.
Прием заявлений на отборочный тур продолжается.
Так, для начала товарищ пусть прояснит что он хочет, 4-х стабильный триггер, как Евгений нарисовал, или 4-е связанных Т-триггера, в смысле, при нажатии повторно на ту же кнопку, соответствующий выход выключается? Кстати, у меня имеются оба варианта, по второй(нижней) ссылке у меня варианты с 4-мя связанными Т-триггерами.
Последний раз редактировалось Сергей0308; 11.08.2025 в 19:21.
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
кнопки программные на дисплее, не физические
кнопку можно только нажать, отжать пальцем с дисплея нельзя, т.е. всегда какая-то кнопка нажата