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

Тема: Увеличение значение по нажатию кнопки на клавиатуре ПЛК 73

  1. #1

    По умолчанию Увеличение значение по нажатию кнопки на клавиатуре ПЛК 73

    Доброго времени суток всем! Недавно начал осваивать ПЛК. Конкретно - ПЛК 73. Знаком с программированием микроконтроллеров на Си. При освоении столкнулся с небольшой проблемкой. Необходимо вывести на экран ПЛК значение переменной и по нажатию одной кнопки (например, F2) увеличивать это значение, а по нажатию другой (например, F3) это значение уменьшать. Суть вопроса:
    Сейчас у меня получается, что при нажатии на кнопку F2, значение переменной увеличивается очень быстро, этого не замечаешь и это не отображается на экране. При программировании на Си я просто добавляю задержку между нажатием кнопки и увеличением значения. А тут я делаю задержку, программа отрабатывает ее после нажатия кнопки, а потом все равно увеличивает значение до максимума без задержки. Пока не понимаю, как сделать так, чтобы нажал кнопку - увеличилось значение на 1, нажал второй раз - значение увеличилось еще на 1 (стало 2), и т.д. И, соответственно, таким же образом работало уменьшение значения. Подскажите, пожалуйста, решение. Или толкните в правильном направлении. Прикрепляю скриншот и саму программу.
    Изображения Изображения
    Вложения Вложения

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

    По умолчанию

    по фронту нажатия (через R_TRIG)

  3. #3

    По умолчанию

    Если бы Вы посмотрели прикрепленные мной файлы, Вы бы увидели, что нажатие на кнопку обрабатывается как раз через этот триггер R_TRIG. Программа видит одиночное нажатие, а увеличивает значение сразу до максимального.

  4. #4
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    в 4 строке не рабочая инструкция.
    пытаетесь сделать задержку включения от переменной активной 1 цикл плк

  5. #5
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    во 2 и 9 строках используете одну и туже функцию с разными условиями.
    так нельзя.
    объявите к примеру
    front1 и front2

  6. #6

    По умолчанию

    1. Если переменная активна один цикл, значит после одного цикла она снова сбрасывается? Или же надо принудительно ее сбросить после прибавления 1 к нужной переменной?
    Я делаю по аналогии с микроконтроллерами. Вот так:
    а) Проверяем кнопку. Кнопка нажата?
    б) Да.
    в) Ждем какое-то время (например, 10 мс) для защиты от дребезга.
    г) Снова проверяем нажата ли кнопка. Если да, то обрабатываем нажатие. Если нет, то считаем это дребезгом и игнорируем.
    2. Про разные условия понял, спасибо, попробую разные переменные.

  7. #7

    По умолчанию

    Сделал разные переменные для обработки кнопок. Вроде получилось) Пока в эмуляции, под рукой нет ПЛК. Посмотрите, пожалуйста, правильно ли я понял: Даже наверно задержку включения TON можно убрать
    Изображения Изображения

  8. #8
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    в ПЛК не нужно проверять кнопку.
    Дребезг настраивается в конфигураторе.
    можно сразу написать к примеру так
    front1(cIk:=klava=64);

  9. #9

    По умолчанию

    Это я понял. Просто сначала у меня при нажатии на кнопку в переменной появлялись какие-то случайные значения. Я подумал, что это от того, что за одно нажатие кнопки переменная увеличивается сразу до 40, до 57, проходит максимум (задан 100) и начинает с нуля. Поэтому я решил, что надо сделать задержку обработки нажатия. А теперь понял, что на самом деле получалось, что при нажатии кнопки значение то увеличивалось, то уменьшалось. Спасибо!
    PS: Проверил на ПЛК - все работает, только еще ошибка была в выводе переменной на экран. Надо в формате вывода написать f вместо d. В общем, поправил, работает, благодарю за быструю помощь!
    Последний раз редактировалось Serega_80; 05.07.2016 в 20:31.

Похожие темы

  1. Ответов: 2
    Последнее сообщение: 07.05.2016, 21:21
  2. Ответов: 3
    Последнее сообщение: 27.11.2015, 10:49
  3. увеличение быстродействия трм12
    от canicas в разделе Эксплуатация
    Ответов: 21
    Последнее сообщение: 12.03.2013, 22:45
  4. Програмное увеличение входов выходов
    от nemo_1977 в разделе ПЛК1хх
    Ответов: 39
    Последнее сообщение: 06.03.2012, 15:50
  5. Ответов: 2
    Последнее сообщение: 27.03.2011, 11:13

Ваши права

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