Страница 11 из 12 ПерваяПервая ... 9101112 ПоследняяПоследняя
Показано с 101 по 110 из 149

Тема: ПЛК110.60[М2] + энкодер + счетчик.

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

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

    По умолчанию

    Владимир Ситников
    Наконец-то появилось время сесть на мой проект. Начал разбираться с PRU. Появились грабли.
    Сделал простенький проект чисто для отработки моей темы, и при добавлении библиотеки pru_cutter.lib при компиляции практически пустого проекта получаю ошибку:
    PRU_Error.png
    Причем при неиспользовании FB PRU в проекте.

    Так же не совсем понятно, как конфигурировать Fast Discrete Input и Fast Discrete Output в конфигурации ПЛК. Ставить Direct Control?

    Насколько я понял, выходная переменная VALUE FB PRU_ABZ имеет тип WORD. В моей задаче используется энкодер 360имп\об, причем в работе установки есть ситуация, когда показания энкодера могут иметь отрицательные значения. Хотелось бы иметь тип этой переменной INT, что бы не заморачиваться с лишними преобразованиями.
    Последний раз редактировалось Sulfur; 10.11.2016 в 14:41.

  2. #2

    По умолчанию

    Цитата Сообщение от Sulfur Посмотреть сообщение
    Владимир Ситников
    Наконец-то появилось время сесть на мой проект. Начал разбираться с PRU. Появились грабли.
    Сделал простенький проект чисто для отработки моей темы, и при добавлении библиотеки pru_cutter.lib при компиляции практически пустого проекта получаю ошибку:
    PRU_Error.png
    Причем при неиспользовании FB PRU в проекте.
    Ошибки "PRU_FB_GETPARAMETER" означают, что нужно добавить библиотеку pruaccesslib.lib
    Сама библиотека находится тут: http://www.owen.ru/forum/showthread.php?t=22169 (pack1.zip)

    Цитата Сообщение от Sulfur Посмотреть сообщение
    Так же не совсем понятно, как конфигурировать Fast Discrete Input и Fast Discrete Output в конфигурации ПЛК. Ставить Direct Control?
    Без разницы как. Всё равно конфигуратор с этими выходами работать не будет. Вернее, через конфигуратор будут работать только fast out1 и fast out2.

    out3 out4 же будут работать только через PRU0 (т.е. через программу)

    Цитата Сообщение от Sulfur Посмотреть сообщение
    Насколько я понял, выходная переменная VALUE FB PRU_ABZ имеет тип WORD. В моей задаче используется энкодер 360имп\об, причем в работе установки есть ситуация, когда показания энкодера могут иметь отрицательные значения. Хотелось бы иметь тип этой переменной INT, что бы не заморачиваться с лишними преобразованиями.
    Пока WORD.

    За время пути, PRU программирование успело подрасти, и можно всю программу для управления быстрыми входами-выходами написать в Hardella (ну, это на случай, если логика управления изменится)

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

    По умолчанию

    Владимир Ситников

    Залил все нужные библиотеки во все нужные места, загрузил программу, записал файл PRU0.PRG в ПЛК, разобрался с INT\WORD. Заработало.
    Однако не так как ожидалось. Итак, проблемы:
    1. Энкодер считает все импульсы по всем фронтам. В результате я имею показания -1440...1440. Решил банальным делением на 4 с отбрасыванием дробной части (TRUNC).
    2. Счетчик считает по входу FDI1, т.е. с одного из входов энкодера. А должен считать со входа FDI4 (FDI1=A, FDI2=B, FDI3=Z энкодера).
    3. После снятия сигнала enable со входа FB PRU_CUTTER выход FDO3 остается активным. Хотелось бы, что бы этот вход имел FALSE при enable = FALSE в любой ситуации. А так же, чтобы PRU_CUTTER не считал при enable=FALSE.
    ----------------
    По поводу видео - пока еще не готово, но задумал собрать эмулятор сервопривода на шаговом движке, жду комплектующие.
    Последний раз редактировалось Sulfur; 22.11.2016 в 12:28.

  4. #4

    По умолчанию

    Цитата Сообщение от Sulfur Посмотреть сообщение
    Итак, проблемы:
    1. Энкодер считает все импульсы по всем фронтам. В результате я имею показания -1440...1440. Решил банальным делением на 4 с отбрасыванием дробной части (TRUNC).
    Ну, можно пообсуждать бага это или фича.
    А в целом обработка энкодера устраивает?

    Цитата Сообщение от Sulfur Посмотреть сообщение
    2. Счетчик считает по входу FDI1, т.е. с одного из входов энкодера. А должен считать со входа FDI4 (FDI1=A, FDI2=B, FDI3=Z энкодера).
    Т.е. счётный вход совсем отдельно?
    Я почему-то решил, что считать энкодер нужно.

    Считать нужно передние фронты?

    Цитата Сообщение от Sulfur Посмотреть сообщение
    3. После снятия сигнала enable со входа FB PRU_CUTTER выход FDO3 остается активным. Хотелось бы, что бы этот вход имел FALSE при enable = FALSE в любой ситуации. А так же, чтобы PRU_CUTTER не считал при enable=FALSE.
    Да, режим "аварийной остановки" не был предусмотрен.
    В коде это видно: http://www.owen.ru/forum/showthread....l=1#post223074 (см. последнюю картинку -- блок PRU_CUTTER)

    Оттуда же следует и обходной вариант: если изменить runLength в 0, то блок остановится.
    Но, да, логичнее будет, если оно и по сбросу enable будет останавливаться.


    Я понемногу делаю сайт с документацией для среды -- можно пример использовать как "стандартный пример", если не возражаете.
    Ну, с фотографией установки и т.п. По-моему, хороший пример. А "реальность" объекта сильно улучшит качество самого примера.

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

    По умолчанию

    Сделал эмулятор сервопривода на автономном контроллере шагового двигателя (нонейм) + драйвер ТВ6600 + ШД Nema23 56mm + энкодер Baumer 500имп\об.
    В виду невысоких скоростных параметров контроллера не получилось добиться максимальных оборотов ШД. Ориентировочная скорость вращения ШД получилась около 750 об\мин. Срывов счета не наблюдалось. Однако наблюдается переезд после снятия команды работы с контроллера ШД. Переезд примерно 4-6% от заданных параметров.
    Во вложении файлы проекта и подправленный проект PRU.
    Счет счетчика по входу FDI4 не останавливается после снятия команды enable, сброс происходит по переднему фронту enable.
    Выходы FDO2..4 используются для управления приводом (частотником) транспорта. Выход FDO1 может при необходимости использоваться из хост-программы как обычный выход.
    Вложения Вложения

  6. #6

    По умолчанию

    Цитата Сообщение от Sulfur Посмотреть сообщение
    В виду невысоких скоростных параметров контроллера не получилось добиться максимальных оборотов ШД. Ориентировочная скорость вращения ШД получилась около 750 об\мин.
    Шаг надо сильнее дробить, частоту повышать и все будет чики-пики.

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

    По умолчанию

    Цитата Сообщение от Newcomer Посмотреть сообщение
    Шаг надо сильнее дробить, частоту повышать и все будет чики-пики.
    Автономный контроллер генерирует Степ в диапазоне 0-20000Гц. Шибко не разгонишься. Городить на ПЛК или ПК нет особого желания, да и не в этом стоит задача.
    Контроллер:
    Последний раз редактировалось Sulfur; 24.01.2017 в 10:20.

  8. #8

    По умолчанию

    Доброго времени суток!!!
    У меня ПЛК 110-60 К.М. (старый)и два энкодера подключенных на быстрые входа как Fast encoder. Один из энкодеров стоит на вибростоле через амартизирующие проставки и на самом энкодере нет вибрации, а на вал куда крепиться энкодер прикручен механизм подачи бетона и сам вал имеет возможность перемещения вперед-назад (от вибрации и "кривой" конструкции) на какие-то 1-2мм. Энкодер на 10000 имп/об. весь ход 960 имп вперед и назад до 0 имп. При выключеном вибростоле счет идет ровно и правильно, все работает а при включеном начинает бегать хаотично(из-за "кривой" конструкции) хотя сам механизм стоит на месте. Так вот вопрос: подскажите или направьте в правильном направлении, как обработать word который приходит с входов энкодера для игнорирования лишних движений вала??? Пробовал сделать retain переменную в которую по остановке писал положение энкодера, но тогда когда показания прыгали от 960-0 мне выдавало 65535 в этой переменной(максимальное word), а мне надо всего 960???

  9. #9

    По умолчанию

    никто разобраться помочь не желает?
    ГУРУ вы где?

  10. #10
    Пользователь Аватар для murdemon
    Регистрация
    03.02.2014
    Адрес
    Санкт-Петербург
    Сообщений
    848

    По умолчанию

    Энкодеры на А и В подключены? Есть муфты как пружины гибкие... Они помогут.
    Dmitriy Murashov
    SPS Software Engineer Automation Engineering RUS

Страница 11 из 12 ПерваяПервая ... 9101112 ПоследняяПоследняя

Похожие темы

  1. Ответов: 1
    Последнее сообщение: 01.12.2015, 11:55
  2. ПЛК110 счетчик моточасов
    от NIKO007 в разделе ПЛК1хх
    Ответов: 10
    Последнее сообщение: 29.11.2015, 10:19
  3. Снова энкодер ПЛК110
    от Алексей Дмитриев в разделе ПЛК1хх
    Ответов: 58
    Последнее сообщение: 25.01.2015, 16:41
  4. ПЛК110-220.32 и энкодер
    от DKFLBVBH в разделе ПЛК1хх
    Ответов: 11
    Последнее сообщение: 15.01.2015, 10:49
  5. ПЛК110-32 и энкодер
    от nestor в разделе Эксплуатация
    Ответов: 3
    Последнее сообщение: 23.03.2012, 07:38

Ваши права

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