Показано с 1 по 6 из 6

Тема: Подсчет количества нажатия кнопки

  1. #1

    По умолчанию Подсчет количества нажатия кнопки

    Добрый день.
    Подскажите подробно��, как в codesys2.3 на языке LD или CFC, написать код, который будет считать количество нажатия кнопки подряд.
    К примеру нажатия 3раза посчитал, потом через 1-2 сек нажатия 5раз подряд эту же кнопку.
    А плк считал эти нажатия и в зависимости от того, сколько раз гадали включал тот или иной выход.
    Или записывал их в список. ???
    Если я просто применяю "счётчик", то они считает все нажатия, не разделяя на 2нажатия подряд, пять нажатия подряд.
    Большое спасибо.
    Последний раз редактировалось Rs219; 25.03.2026 в 20:22.

  2. #2

    По умолчанию

    Цитата Сообщение от Rs219 Посмотреть сообщение
    Добрый день.
    Подскажите подробно��, как в codesys2.3 на языке LD или CFC, написать код, который будет считать количество нажатия кнопки подряд.
    К примеру нажатия 3раза посчитал, потом через 1-2 сек нажатия 5раз подряд эту же кнопку.
    А плк считал эти нажатия и в зависимости от того, сколько раз гадали включал тот или иной выход.
    Или записывал их в список. ???
    Если я просто применяю "счётчик", то они считает все нажатия, не разделяя на 2нажатия подряд, пять нажатия подряд.
    Большое спасибо.
    Пример из Овен Лоджика, часть макроса ONE_TOUCH2, управление 3 выходами 1,2,3 быстрыми нажатиями кнопки 1 управление нажатиями кнопки.jpg
    Пунктирные линии это задержка на 1 цикл.
    Можно повторить на CFC, задержки не понадобятся (поставить перемычки), если правильно расставить поседовательность работы блоков (По ПКМ, Порядок_По потоку данных).
    Последний раз редактировалось kondor3000; 25.03.2026 в 21:58.

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

    По умолчанию

    Цитата Сообщение от Rs219 Посмотреть сообщение
    Добрый день.
    Подскажите подробно��, как в codesys2.3 на языке LD или CFC, написать код, который будет считать количество нажатия кнопки подряд.
    К примеру нажатия 3раза посчитал, потом через 1-2 сек нажатия 5раз подряд эту же кнопку.
    А плк считал эти нажатия и в зависимости от того, сколько раз гадали включал тот или иной выход.
    Или записывал их в список. ???
    Если я просто применяю "счётчик", то они считает все нажатия, не разделяя на 2нажатия подряд, пять нажатия подряд.
    Большое спасибо.
    Сформируйте сигнал паузы между нажатиями кнопок(по времени), по которому значение счётчика будет писаться в отдельную переменную или стек и сбрасываться значение счётчика, всё!
    Последний раз редактировалось Сергей0308; 25.03.2026 в 23:19.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  4. #4

    По умолчанию

    Накидал подсчёт кол-ва импульсов, по быстрому нажатию кнопки и сохранение их в переменные 1 Сохранение импульсов.jpg
    Запись 5 переменных на FBD со сдвигом,
    или сохранение в массив 10 переменных на ST, новые записываются, старые удаляются, кол-во можно изменить, в среде ОЛ
    Можно сохранять что угодно, от кол-ва нажатий, до времени возникновения, перенести в CDS 2.3 на ST не проблема.
    Вложения Вложения
    Последний раз редактировалось kondor3000; 27.03.2026 в 15:12.

  5. #5

    По умолчанию

    Screenshot_2026-03-27-19-37-26-402_ru.oneme.app.jpg
    Вот что получается.
    Счётчик считает и через визуализацию выводит в таблицу, но только одно.
    А, что бы сохранять предыдущие значения этой переменной в таблице по строкам, а не удалять, так возможно? Как это реализовать?
    Большое спасибо
    Последний раз редактировалось Rs219; 27.03.2026 в 19:45.

  6. #6

    По умолчанию

    Цитата Сообщение от Rs219 Посмотреть сообщение
    Вот что получается.
    Счётчик считает и через визуализацию выводит в таблицу, но только одно.
    А, что бы сохранять предыдущие значения этой переменной в таблице по строкам, а не удалять, так возможно? Как это реализовать?
    Большое спасибо
    Выше написал, что можно сохранять что угодно и сколько угодно раз, вот пример с массивами на CFC, сохраняет 5 раз до 5 нажатий в Массиве 1
    и на ST массив на 10 переменных, до 10 нажатий Массив 2 (кол-во сохранений зависит от глобальной константы N=10, можно изменить). Массив обрабатывается в цикле FOR.
    В эмуляции нажимайте в конфигурации In1 быстро и после паузы в массиве увидите сохранённые значения, а на выходах будут включаться 5 бит Out1- Out5 схема на CFC.
    Пример на старом ПЛК110-60М.
    Вложения Вложения
    Последний раз редактировалось kondor3000; 27.03.2026 в 20:21.

Похожие темы

  1. Ответов: 1
    Последнее сообщение: 28.12.2025, 10:52
  2. Подтверждение нажатия
    от Carter в разделе Master SCADA 3
    Ответов: 11
    Последнее сообщение: 29.05.2025, 10:18
  3. Подсчет количества импульсов за единицу времени.
    от Вячеслав@ в разделе Среда программирования OWEN Logic
    Ответов: 15
    Последнее сообщение: 29.03.2023, 16:13
  4. Подсчет количества тегов
    от klg в разделе Master SCADA 3
    Ответов: 18
    Последнее сообщение: 24.01.2019, 15:23
  5. Имитация нажатия горячей клавиши для СПК 207
    от Finik33 в разделе СПК2xx (архив)
    Ответов: 5
    Последнее сообщение: 24.07.2017, 12:08

Ваши права

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