Показано с 1 по 10 из 69

Тема: ПЛК110-32 позиционирование с энкодером

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

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

    По умолчанию

    У Вас больше 65000 бывает?
    если да, то лучше использовать к примеру:
    Суммирование значения счетчика из регистра счета:
    C:dword;
    оттуда, M:word;

    C:=C + ((оттуда - M) and 65535);
    M:=оттуда;

    C:=C + (abs(word_to_int(оттуда - M)) mod 16#10000); - для энкодера

    Если нет, то ваш фб вам избыточен.
    Не забывайте, что в ПЛК Овен нет прерываний и остановить мотор в цикле он может только с большой задержкой.
    Для быстрой остановки используйте переход на низкую скорость и быстрые выходы и обработку энкодера и выходов таймером 20 мкс.
    Примеры есть в ИЭ на контроллер.
    Понаблюдайте за изменениями значений энкодера при вибрации. Возможно проблема в энкодере.

  2. #2

    По умолчанию

    Да, первая версия. То есть пока копать только в сторону ложных импульсов от вибраций? Других очевидных причин нет?

  3. #3

    По умолчанию

    Цитата Сообщение от lara197a Посмотреть сообщение
    У Вас больше 65000 бывает?
    Кстати, интересный вопрос.
    В приложенном проекте 134334 .pro в настройках fast encoder'а указано "range of encoder 1" == "65000".

    По-моему, так делать не стоит. По-хорошему, там должно быть 16#FFFF.

    Если указывать "range 65000", то обрабатывать переход через 65000 гораздо сложнее.

    shvadronov, значение энкодера прямо никогда-никогда не заходит в "отрицательную область"? И прямо никогда-никогда не доходит до 65000?
    Я бы всё-таки советовал поправить range и выставить там 16#FFFF (ну или 65535)

  4. #4

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Кстати, интересный вопрос.
    В приложенном проекте 134334 .pro в настройках fast encoder'а указано "range of encoder 1" == "65000".

    По-моему, так делать не стоит. По-хорошему, там должно быть 16#FFFF.

    Если указывать "range 65000", то обрабатывать переход через 65000 гораздо сложнее.

    shvadronov, значение энкодера прямо никогда-никогда не заходит в "отрицательную область"? И прямо никогда-никогда не доходит до 65000?
    Я бы всё-таки советовал поправить range и выставить там 16#FFFF (ну или 65535)
    Сейчас там уже стоит 65535, ситуацию это не меняет. Больше 65000 показания никогда не переваливают, а вот в минус уходят, если после запуска контроллера приходится размер менять в меньшую сторону.

  5. #5

    По умолчанию

    Цитата Сообщение от shvadronov Посмотреть сообщение
    Сейчас там уже стоит 65535, ситуацию это не меняет. Больше 65000 показания никогда не переваливают, а вот в минус уходят, если после запуска контроллера приходится размер менять в меньшую сторону.
    Т.е. даже когда range of encoder указано 65535, то при превышении 65000 сбрасывается в ноль?
    Тогда это звучит как баг в ПЛК

  6. #6

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Т.е. даже когда range of encoder указано 65535, то при превышении 65000 сбрасывается в ноль?
    Тогда это звучит как баг в ПЛК
    Я наверное Вас неправильно понял. CurrentCounterValue бывает меньше нуля, а RangeCounter никогда не сбрасывается в ноль.

Похожие темы

  1. Ответов: 24
    Последнее сообщение: 27.08.2021, 15:34
  2. Счетчик СИ8 не работает с энкодером.
    от Алексей Дмитриев в разделе Эксплуатация
    Ответов: 2
    Последнее сообщение: 26.03.2016, 13:59
  3. Работа с энкодером в ПЛК110
    от Velldio в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 12.11.2015, 09:45
  4. ПЛК110 - Отмер длины энкодером.
    от olc в разделе ПЛК1хх
    Ответов: 56
    Последнее сообщение: 04.12.2011, 00:33

Ваши права

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