Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 28

Тема: Спидометр из плк110[М02] и инкрементального энкодера.

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

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

    По умолчанию

    нужно как то посчитать количество обращений с частотой 1 раз в 20 мксек к быстым входам между импульсами?
    Можно считать не только количество импульсов, но и количество циклов таймера. В таймере сделать еще один счетчик - циклов. Суммарное количество зафиксированных импульсов выдавать например раз в две тысячи циклов, одновременно обнуляя счетчик циклов.
    Последний раз редактировалось Sulfur; 07.10.2020 в 11:10.

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

    По умолчанию

    Как тогда реализуют визуализацию инженеры форда, тойоты, и проч?
    Какое отношение к визуализации имеет точность посчета импульсов?
    И, кстати, этим инженерам ничего не стоит применить специально заточенный под это дело узел. Например в виде отдельной микросхемы\процессора реального времени на плате. Кстати, в ПЛК110М02 есть такой, но штатный программный функционал весьма скудный, и поставленной задачей не справится.
    висят на одном и том же суку.
    Это да. Задающий генератор один. Однако момент снятия показаний может плавать в зависимости от толщины кода. Я играл с энкодерами на ПЛК110 и старой и новой модификации. Нормального результата добился только на М02 и только с помощью HardellaIDE.

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

    По умолчанию

    Переменные:
    Вход - физический быстрый вход ПЛК
    Циклы - счетчик циклов таймера.
    Импульсы - счетчик зафиксированных импульсов.
    Выход - посчитанное количество импульсов. (глобальная)

    Программа для таймера:

    Циклы:=Циклы+1;
    Если передний фронт Вход то
    Импульсы:=Импульсы+1;
    конец_если;

    Если Циклы=50000 то
    Циклы:=0;
    Выход:=Импульсы;
    конец_если;
    ------
    В результате в глобальной переменной Выход получаем количество импульсов за 50000 циклов таймера.
    Дальнейшая математика выполняется в теле основной программы ПЛК.

  4. #4
    Пользователь
    Регистрация
    05.06.2017
    Адрес
    Егорьевск
    Сообщений
    50

    По умолчанию

    Цитата Сообщение от Sulfur Посмотреть сообщение
    В результате в глобальной переменной Выход получаем количество импульсов за 50000 циклов таймера.
    Дальнейшая математика выполняется в теле основной программы ПЛК.
    Попробовал так. Та же картина. Считаю такты подпрограммы обработки быстрых входов. На 200000 тактах фиксирую посчитанные импульсы. Те же 4-5% прыжки. Значит дело в механике?

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

    По умолчанию

    Значит дело в механике?
    Дабы исключить гадания, можно попробовать погонять от внешнего генератора. В качестве генератора можно использовать другой ПЛК, если есть такая возможность. Если стабильность будет, то дело в механике.

  6. #6
    Пользователь
    Регистрация
    05.06.2017
    Адрес
    Егорьевск
    Сообщений
    50

    По умолчанию

    Цитата Сообщение от Sulfur Посмотреть сообщение
    Дабы исключить гадания, можно попробовать погонять от внешнего генератора. В качестве генератора можно использовать другой ПЛК, если есть такая возможность. Если стабильность будет, то дело в механике.
    Протестировать плк может и сам себя. Тот же ФБ Blink. И можно считать импульсы. Я уже что-то подобное делал, и даже тема об этом была сравнительно недавно... Насколько я помню, сам себя плк считает неплохо.

  7. #7
    Пользователь
    Регистрация
    05.06.2017
    Адрес
    Егорьевск
    Сообщений
    50

    По умолчанию

    Прошло 2 недели. Форуму порадовать меня очевидно нечем. Ни плохими, ни хорошими вестями. Странно, я думал и продолжаю думать, что тема измерения разных физических величин энкодером и плк очень популярная - не побоюсь сказать, базисная. Отсюда пляшут и всякого рода синхронизации чего-то с чем-то и еще кое что...
    Ну ладно, будем спасать себя сами. Раздобыл генератор импульсов. Глючный немного - ниже 70 Гц начитает вырубаться. Но все, что выше 80 Гц и до 2 кГц за 1 секунду плк отсчитал с точностью до 1 импульса, как мне и нужно. Обработку быстрых входов, естессно, немного подшаманил под 1 быстрый вход, убрал все лишнее (хотя оно на результат не влияло).
    Вывод - программа работает как нужно. Таймер в плк считает время достаточно точно для моей задачи.
    Пока вывод такой - или моторредуктор крутит не равномерно, или энкодер дает импульсы с зазубренными фронтами. У кого какие есть мысли, буду рад прочитать.
    Последний раз редактировалось sanatolich; 22.10.2020 в 17:45.

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

    По умолчанию

    sanatolich
    Модель энкодера огласите пожалуйста.
    Механическое соединение жесткое или демпфированное?
    Осциллограф имеется в наличии\доступе?
    Последний раз редактировалось Sulfur; 22.10.2020 в 18:50.

  9. #9
    Пользователь
    Регистрация
    05.06.2017
    Адрес
    Егорьевск
    Сообщений
    50

    По умолчанию

    Цитата Сообщение от Sulfur Посмотреть сообщение
    sanatolich
    Модель энкодера огласите пожалуйста.
    Механическое соединение жесткое или демпфированное?
    Осциллограф имеется в наличии\доступе?
    E6B2CWZ6C OMRON Покупался на известной инет площадке.
    Соединение гибкой муфтой.
    Осциллографа нет, но будет.

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

    По умолчанию

    sanatolich
    Если в программе подсчет импульсов идет только по фронтам, то из за вибрации механики могут быть ложные (дополнительные) срабатывания счетчика. Отсюда и погрешность. Энкодер хороший, работал с такими, проблем не было.
    Для повышения надежности счета можно попробовать сделать быстрые входа ПЛК сконфигурировать как высокоскоростной энкодер (AB, не ABZ), а в программе высчитывать дельту между отсчетами через интервал.

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

Похожие темы

  1. ПЛК110 (М02) подключение энкодера как счетчика
    от denkrauss в разделе ПЛК1хх [М02]
    Ответов: 2
    Последнее сообщение: 02.06.2020, 13:33
  2. Ответов: 5
    Последнее сообщение: 11.03.2019, 16:13
  3. Подключение инкрементального энкодера к ПЛК150
    от канавал в разделе Помощь Разработчикам
    Ответов: 9
    Последнее сообщение: 21.10.2016, 16:18
  4. Подключение инкрементального энкодера
    от alek.yum в разделе СПК2xx (архив)
    Ответов: 10
    Последнее сообщение: 13.11.2014, 18:45
  5. Настройки энкодера в ПЛК110
    от aserr в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 01.04.2012, 22:30

Ваши права

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