Страница 1 из 4 123 ... ПоследняяПоследняя
Показано с 1 по 10 из 35

Тема: И снова ПЛК 110-32 + энкодер

  1. #1
    Пользователь
    Регистрация
    13.04.2010
    Адрес
    Йошкар-Ола
    Сообщений
    12

    По умолчанию И снова ПЛК 110-32 + энкодер

    Доброго времени суток. Очень надеюсь на помощь или хотя бы свежую мысль.
    Судя по поиску, эта тема уже весьма замылена, но решения своей проблемы я там так и не нашел.

    Итак. Имеем связку: ПЛК 110-32, ПЧВ Дельта, мотор+редуктор (асинхронник на 1500 об/мин + понижающий редуктор 1/40), энкодер инкрементальный 360 имп/об (опять же от Дельты), который закреплен на валу редуктора через металлическую муфту.
    Мотор-редуктор приводит в действие цепную передачу с "неким", жестко закрепленным на цепи, предметом.

    При выполнении программы предмет опускается вниз (до датчика индуктивности "ноль"), обнуляется значение энкодера, задаются пределы движения "предмета" (верхняя и нижняя уставки, к примеру 500 и 100) и "предмет" начинает движение туда-обратно по этим уставкам.

    Проблема. При 30-50 проходов туда-обратно фактический проход "предмета" осуществляется уже по значениям ~470 и 70. То есть уставки как будто "съехали" на одинаковую величину. Причем значения на входе модуля энкодера продолжают меняться в изначально заданных пределах.

    Уже не знаю на что думать. Цепь натянута жестко, люфта практически нет, можно даже сказать, что совсем нет, но не буду так категоричен. В своей программе ошибки исключил, так как смотрел в первую очередь на показания, приходящие на вход модуля. Судя по заданным условиям не должно быть пропусков импульсов.

    В общем-то задача состоит не в очень точном позиционировании конечного элемента, а поддержании заданных уставок с допустимой погрешностью (несколько миллиметров вполне сойдет) в течении нескольких десятков циклов прохода "туда-обратно" без повторного обнуления энкодера в процессе работы. (циклов через 60-70 обнулится уже будет можно).
    Вот вроде бы и все. Заранее прошу прощения, если имеются ошибки в оформлении темы. Буду рад любым ответам.
    С уважением, Александр.

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

    По умолчанию

    как импульсы считаете? как организована область входов?

  3. #3
    Пользователь
    Регистрация
    13.04.2010
    Адрес
    Йошкар-Ола
    Сообщений
    12

    По умолчанию

    Два быстрых входа заменены на модуль "Fast Encoder". Подсчет импульсов реализован программно через функциональный блок с обработкой прохода через 0.
    Вот собственно код:
    in_prev := in_now;
    in_now := enc_in;
    jump := enc_imp / 2;
    delta := in_now - in_prev;
    IF delta > 0 OR delta < 0 THEN
    IF delta > -1 * jump AND delta < jump THEN
    acc := acc + delta;
    ELSE
    IF delta > 0 THEN
    acc := acc - enc_imp + delta;
    ELSE
    acc := acc + enc_imp + delta;
    END_IF
    END_IF
    END_IF
    IF reset THEN
    acc := 0;
    END_IF
    enc_out := acc;
    Реализовывал по примеру , выложенному на форуме.
    В качестве "enc_in" служит %IW0.0
    Последний раз редактировалось Sinys; 04.02.2014 в 23:18.

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

    По умолчанию

    я не понял, зачем Вам переход через 0?
    поставьте к примеру не 0, а 100(или 1000)
    и считайте только положительные значения, без всяких наворотов.
    Вы же влазите в размер 0-65535.
    если нет, то преобразуйте в Dword
    программу напишите так:
    C:dword;
    оттуда, M:word;

    C:=C + ((оттуда - M) and 65535);
    M:=оттуда;
    в программе работайте только с переменной С.
    обнуление или присвоение какого либо др. значения этой переменной на значение в энкодере(оттуда) не влияет.

  5. #5
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,346

    По умолчанию

    Что это :-"IF delta > -1 * jump AND delta < jump THEN" , зачем это ???

    Код какой-то мутноватый , выкиньте лишнюю муру , вот типа это :-"jump := enc_imp / 2".

    Примеры примерами но и свои мозги иметь надо .

  6. #6
    Пользователь
    Регистрация
    13.04.2010
    Адрес
    Йошкар-Ола
    Сообщений
    12

    По умолчанию

    Да, вполне себе влезаю в диапазон до 65535. Скорее всего так и буду делать. Данный пример использовал для теста работы. Но хотелось бы, перед критикой данной обработки, обратить внимание на следующий момент. Даже если уйти от всех программных подсчетов импульсов и работать сугубо с входом модуля энкодера(вводил отдельную переменную, в которую писал текущее значение энкодера при индексировании) имеем абсолютно идентичную картину. Для примера: уставки 100 и 200, значения на входе "Fast Encoder" примерно 98 и 203, "объект" физически перемещается +/- также 98-203. Проходит 30-50 циклов работы. Картина следующая: уставки 100-200 (разумеется не менялись), значения на входе "Fast Encoder" 98-203, "объект" физически катается ~65-175. Потому и задумался в первую очередь о люфте механики...

    Скорее всего я что-то пропускаю, но люфт ведь, как правило, будет обоюдный. В обе стороны. А на деле постепенно смещаемся вниз, и все тут.

  7. #7
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,346

    По умолчанию

    ~65-175 откуда эти значения берете? Линейкой меряете ?

    Обычно , когда вход энкодер пропускает имульсы , наоборот в большую сторону погрешность , а у вас все наоборот .
    Что-то не то...

  8. #8

    По умолчанию

    делал что то подобное но с использованием энкодера и счетчика СИ30.
    http://www.owen.ru/forum/showthread.php?t=12261
    Устранения описанной Вами проблеммы добился только уменьшением скорости механизма. Все таки ИМХО вопрос пропускания импульсов скорее всего при большой частоте.

  9. #9
    Пользователь
    Регистрация
    13.04.2010
    Адрес
    Йошкар-Ола
    Сообщений
    12

    По умолчанию

    По сути да. Ставил метки на металлической раме в концевых точках движения "объекта" (один импульс примерно равняется 1 миллиметру. 1 имп * 0.962 = 1 мм). Вот и думаю, что если даже и были бы пропуски импульсов, то опять же в обе стороны. И наблюдали бы мы своего рода рода "расширяющийся конус" в обрабатываемой зоне.
    Расскажу сразу какие еще были наблюдения. 1) Пробовал плюсовать поправку к верхней уставке, которая при каждом подъеме инкрементируется. Картина интересная. Верхнее значение постепенно растет и в показаниях энкодера и в физическом плане, а вот нижнее значение оставалось абсолютно таким же ( те же 98 импульсов в нижней точке) и механизм доезжал ровно так же. И в принципе такое решение хоть и кривое, но устроило бы, если не одно "но". При изменении скорости движения механизма все летит к чертям (что было ожидаемо). 2) пробовал отказаться от рабочей программы, обрезав вообще все, что только можно и играть только с энкодером и двигателем. Механизм катался точно, но к сожалению проверял только на маленьком диапазоне (в пределах 100 импульсов). Так что сегодня опробую этот вариант, но с большим интервалом движения.

    leonVL. Вот отказываюсь верить что в данном случае - слишком большая скорость движения. Даже по приблизительным расчетам, максимальная частота импульсов на вход ПЛК составляет около 200 Гц.
    И еще момент, в моем случае механизм может двигаться с 5 заданными скоростями (через ПЧ), от 10 до 50 Гц. И на каждой эта ерунда имеет место быть в той или иной степени.
    Последний раз редактировалось Sinys; 05.02.2014 в 08:28.

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

    По умолчанию

    пробуйте без пересчетов.
    Модуль энкодера до 1000гц-1500Гц работает без пропусков.
    Проверено.
    У Вас частота совсем маленькая. Должно работать.

Страница 1 из 4 123 ... ПоследняяПоследняя

Похожие темы

  1. Снова энкодер ПЛК110
    от Алексей Дмитриев в разделе ПЛК1хх
    Ответов: 58
    Последнее сообщение: 25.01.2015, 16:41
  2. СПК 110 + ПЛК 110.32
    от oweron в разделе СПК1хх
    Ответов: 2
    Последнее сообщение: 29.01.2014, 16:36
  3. плк 110 и ABZ-энкодер
    от Александр Ушаков в разделе ПЛК1хх
    Ответов: 25
    Последнее сообщение: 18.11.2013, 14:50
  4. плк 110-32
    от Абдумалик в разделе ПЛК1хх
    Ответов: 8
    Последнее сообщение: 06.04.2011, 19:37

Ваши права

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