Решил вопрос добавив DTRIG (правда мне кажется немного кривой способ и не все тонкости учтены, из-за чего могут быть ложные срабатывания)
После отпускании клавиши, при окончания отсчета ТР, лампа не меняет свой статус. При нажатии на клавишу и активном ТР, лампа вкл\выкл по заднему фронту. При удержании клавиши, соседней клавишей можно переключать режимы. (третья клавиша эмулятор программного сброса, т.е. принудительное выключение).
Пока промоделировал разные варианты нажатия и отпускания клавиши, ложных срабатываний нет. Есть глюк с пропуском срабатывания клавиши при сбросе ТР (переход с 1 сек на 0, выявляется быстрыми множественными нажатиями на клавишу), но, думаю на ПР такого не будет.
(FTRIG1 и DTRIG1 убираются в макрос, который един для всего проекта, поэтому введен отдельный триггер)
1.jpg
Предполагаю, что при добавлении второй многорежимной лампы на второй выключатель, могут быть ложные срабатывания, но это уже не в этом проекте.
P.S. Спасибо всем за помощь. Отдельная благодарность Сергей0308 за разъяснения и примеры.
P.P.S. Входное задание немного изменилось. Сначала я предполагал, что для переключения режимов надо будет удерживать противоположную клавишу и переключать режимы клавишей вкл\выкл, но в последствии понял, что это не удобно, поэтому перешел к алгоритму - одной клавишей вкл\векл, ее же удерживаем для переключения режимов, переключаем режимы соседней. Задержку на удержание клавиши перед переключением режимов решил оставить, так как люблю лампы выключать одновременным мгновенным нажатием, в случае отсутствия задержки это приведет к переключению режима одной из ламп.





Ответить с цитированием