Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 15

Тема: Помогите решить задачу с кнопками

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Question Помогите решить задачу с кнопками

    Добрый день!
    Codesys 3.5
    Такая задача: 4 кнопки с фиксацией. При нажатии любой кнопки, "отжимается" кнопка нажатая ранее.

    Подскажите, какие могут быть варианты решения.
    Всем спасибо!

  2. #2
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    12,986

    По умолчанию

    программные ? сами физические кнопки без фиксации. Если используется D-триггер, то у него есть вход сброса, соответственно через ИЛИ от "противоположных" кнопок его можно сбрасывать.

  3. #3

    По умолчанию

    кнопки программные на дисплее, не физические
    кнопку можно только нажать, отжать пальцем с дисплея нельзя, т.е. всегда какая-то кнопка нажата

  4. #4

    По умолчанию

    Цитата Сообщение от Valadimir Посмотреть сообщение
    кнопки программные на дисплее, не физические
    кнопку можно только нажать, отжать пальцем с дисплея нельзя, т.е. всегда какая-то кнопка нажата
    Кнопку на дисплее можно сделать как переключатель и как кнопку без фиксации,
    выше выложены примеры для работы в двух вариантах.
    Лучше бы написали на чём вы делаете проект.

  5. #5
    Пользователь Аватар для Сергей0308
    Регистрация
    25.06.2011
    Адрес
    Галактика Андромеды (M31)
    Сообщений
    9,435

    По умолчанию

    Цитата Сообщение от Valadimir Посмотреть сообщение
    кнопки программные на дисплее, не физические
    кнопку можно только нажать, отжать пальцем с дисплея нельзя, т.е. всегда какая-то кнопка нажата
    Тогда первый вариант, как Евгений нарисовал, 4-х стабильный триггер, наконец нам повезло узнать чего Вы хотите, ура!
    Как говорится, не прошло и года!
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  6. #6

    По умолчанию

    Код:
    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

  7. #7
    Пользователь
    Регистрация
    31.07.2013
    Адрес
    Аркаим
    Сообщений
    1,282

    По умолчанию

    Valadimir
    Можно и на LD
    Среда не КДС, но это не важно, КДС тоже так может.
    Xn - входа ПЛК, Yn - выхода, M - маркер (битовая переменная).
    Показано три канала, четыре и более не вмещаются в скриншот.
    Изображения Изображения
    Последний раз редактировалось Sulfur; 11.08.2025 в 11:43.

  8. #8
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    3,053

    По умолчанию

    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;

  9. #9
    Пользователь Аватар для Сергей0308
    Регистрация
    25.06.2011
    Адрес
    Галактика Андромеды (M31)
    Сообщений
    9,435

    По умолчанию

    Цитата Сообщение от Valadimir Посмотреть сообщение
    Добрый день!
    Codesys 3.5
    Такая задача: 4 кнопки с фиксацией. При нажатии любой кнопки, "отжимается" кнопка нажатая ранее.

    Подскажите, какие могут быть варианты решения.
    Всем спасибо!
    Вот здесь посмотрите, короче, должно подойти и придумывать не надо, в смысле уже давно придумано и даже в два раза превышает ваши потребности(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.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  10. #10

    По умолчанию

    IMG_20250811_175632_295.jpg
    А так сгодится? Ну нет у меня дома кодесиса.

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. Помогите решить задачу
    от АнтоN в разделе Трёп (Курилка)
    Ответов: 4
    Последнее сообщение: 10.12.2020, 23:41
  2. Ответов: 8
    Последнее сообщение: 05.11.2018, 16:30
  3. помогите нубу решить задачу с МЭ110-224.1Т
    от opavlov в разделе Эксплуатация
    Ответов: 2
    Последнее сообщение: 21.03.2017, 10:12
  4. ПР 110 Помогите решить задачу.
    от aleregin в разделе Программируемые реле
    Ответов: 5
    Последнее сообщение: 26.12.2013, 08:33
  5. Ответов: 5
    Последнее сообщение: 06.12.2013, 16:45

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •