Страница 22 из 117 ПерваяПервая ... 1220212223243272 ... ПоследняяПоследняя
Показано с 211 по 220 из 1349

Тема: Hardella IDE

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Цитата Сообщение от Александр Бакин Посмотреть сообщение
    Вот у ускорением не очень разобрался.

    Min_speed:=0,
    max_speed:=7000,
    accel и deccel - если значение больше 2000, то 100000 имп выробатывается менее 1 сек., если менее 2000, то резгон и торможение нормальное.
    Приводите, пожалуйста, конкретные значения параметров и конкретный наблюдаемый эффект.
    Проверил в симуляторе
    min_speed=0
    max_speed=7000
    quantity=100000
    accel_ramp=3000
    decel_ramp=3000

    Разгон длится чуть более двух секунд (по горизонтали секунды, по вертикали герцы, цвет -- режим работы разгон/ход, на графике чуть более 13'000 точек).
    Снимок экрана 2016-12-04 в 13.31.50.png
    Последний раз редактировалось Владимир Ситников; 04.12.2016 в 17:56.

  2. #2

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Приводите, пожалуйста, конкретные значения параметров и конкретный наблюдаемый эффект.
    Проверил в симуляторе
    min_speed=0
    max_speed=7000
    quantity=100000
    accel_ramp=3000
    decel_ramp=3000

    Разгон длится чуть более двух секунд (по горизонтали секунды, по вертикали герцы, цвет -- режим работы разгон/ход, на графике чуть более 13'000 точек).
    Снимок экрана 2016-12-04 в 13.31.50.png

    Хочу продолжить эту тему.

    Честно говоря не выполнил вашу просьбу - сделать видеозахват работы программы при accel_ramp>2500.

    Сейчас хочу задать вопрос по работе вашей программы PRU_STEPPER.

    1. Можно-ли из программы ПЛК управлять быстрыми выходами? , или pru0.prg берет управление этими выходами на себя и блокирует обращение к ним.
    2. как приделать аварийную остановку к вашей программе? т.е. во время генерации импульсов происходит срабатывание аварийной сигнализации - как остановить генерацию? Сейчас для этого нужно несколько циклов программы. т.е. сначала ставим на вход eneble:=false? затем на вход quantity:=0, затем снова на вход enable:=true. для этой операции нужна как минимум 3 цикла контроллера, за это время двигатель при частоте 5000 кГц пройдет несколько оборотов - что делать?

  3. #3

    По умолчанию

    Цитата Сообщение от Александр Бакин Посмотреть сообщение
    Хочу продолжить эту тему.

    Честно говоря не выполнил вашу просьбу - сделать видеозахват работы программы при accel_ramp>2500.

    Сейчас хочу задать вопрос по работе вашей программы PRU_STEPPER.
    Цитата Сообщение от Александр Бакин Посмотреть сообщение
    1. Можно-ли из программы ПЛК управлять быстрыми выходами? , или pru0.prg берет управление этими выходами на себя и блокирует обращение к ним.
    Как нужно?

    Я готовлю очередную версию Hardella IDE.
    Есть такие примеры.
    Пример "моргаем двумя выходами" (запись в быстрые выходы):
    Снимок экрана 2016-12-06 в 17.10.27.png

    Настройка "PRU цикла" (PRU0 100мс, PRU1 200мс)
    Снимок экрана 2016-12-06 в 17.16.17.png

    Пример "делаем быстрый счётчик" (==чтение быстрых входов):
    Снимок экрана 2016-12-06 в 17.15.38.png

    Можно сделать и пример, когда BOOL значение из КДС просто записывается в fast out.
    Это будет так:
    Код:
    @Export()
      val : BOOL;
    ...
    FAST_OUTPUTS(out3 := val);
    Цитата Сообщение от Александр Бакин Посмотреть сообщение
    2. как приделать аварийную остановку к вашей программе? т.е. во время генерации импульсов происходит срабатывание аварийной сигнализации - как остановить генерацию? Сейчас для этого нужно несколько циклов программы. т.е. сначала ставим на вход eneble:=false? затем на вход quantity:=0, затем снова на вход enable:=true. для этой операции нужна как минимум 3 цикла контроллера, за это время двигатель при частоте 5000 кГц пройдет несколько оборотов - что делать?
    Тут два варианта:
    2.1) enable:=false и quantity:=0 можно менять одновременно. Да, потребуется цикл ПЛК + ещё время от того, как ПЛК осознает значение "аварии".

    2.2) При составлении программы в Hardella можно напрямую читать быстрые входы, вообще без "основного цикла ПЛК". Если аварийный сигнал завести на один из быстрых входов, то можно останавливать блок ШД "прямо сразу"

    Например, так (считаем, что в случае аварии сигнал на in1 пропадает, и импульсы нужно прекращать):
    Снимок экрана 2016-12-06 в 17.22.05.png

    Тут интервал от появления аварии до реакции будет порядка микросекунд (зависит от того, какой настроить цикл PRU)

  4. #4

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Как нужно?
    Мне нужно выходы поставить в true, при отсутствии генерации. Просто назначить переменную DO1 на выход №1 и установка ее в true результатов не дает. Т.к. я наблюдаю наводки на проводе между ПЛК и приводом, А в ПЛК транзистор на выходе соединяет выход с минусом. (провод использую экранированный).

    Цитата Сообщение от
    Я готовлю очередную версию Hardella IDE.
    Есть такие примеры.
    Пример "моргаем двумя выходами" (запись в быстрые выходы):
    [ATTACH=CONFIG
    27986[/ATTACH]

    Настройка "PRU цикла" (PRU0 100мс, PRU1 200мс)
    Снимок экрана 2016-12-06 в 17.16.17.png

    Пример "делаем быстрый счётчик" (==чтение быстрых входов):
    Снимок экрана 2016-12-06 в 17.15.38.png

    Можно сделать и пример, когда BOOL значение из КДС просто записывается в fast out.
    Это будет так:
    Код:
    @Export()
      val : BOOL;
    ...
    FAST_OUTPUTS(out3 := val);

    Тут два варианта:
    2.1) enable:=false и quantity:=0 можно менять одновременно. Да, потребуется цикл ПЛК + ещё время от того, как ПЛК осознает значение "аварии".

    2.2) При составлении программы в Hardella можно напрямую читать быстрые входы, вообще без "основного цикла ПЛК". Если аварийный сигнал завести на один из быстрых входов, то можно останавливать блок ШД "прямо сразу"

    Например, так (считаем, что в случае аварии сигнал на in1 пропадает, и импульсы нужно прекращать):
    Снимок экрана 2016-12-06 в 17.22.05.png

    Тут интервал от появления аварии до реакции будет порядка микросекунд (зависит от того, какой настроить цикл PRU)
    На pru0 v12 можно-ли настраивать циклы? или это не относиться к версии 12?

  5. #5

    По умолчанию

    Вообще хотелось-бы видеть на ПЛК транзисторные выходы в виде полумостов. Так все-равно выходные транзисторы на наприяжение не более 30в, при этом минусы объединены. Ну до кучи нужно и плюсы объединить через второй транзистор. При наличии таких выходов ( в виде полумостов) снимается сразу много проблем:
    1. нет наводок и помех от проводов ( к.т. выходной провод всегда будет подключен к + или - питания,
    2. можно подключать двигатели постоянного тока с реверсивным включением,
    3. нет геморроя при подключении к станку в существующую схему т.к. не будет разницы к какому проводу питания подключена нагрузка.

  6. #6
    Banned
    Регистрация
    03.02.2014
    Адрес
    Санкт-Петербург
    Сообщений
    848

    По умолчанию

    Как там обстоят с делами.. управления серводвигателей ? На какой частоте могут работать ваши блоки и сколько возможно серводвигателей подключить ? (В pru возможно засунуть сигналы от энкодера с быстрых входов?) Спасибо

  7. #7

    По умолчанию

    Цитата Сообщение от murdemon Посмотреть сообщение
    Как там обстоят с делами.. управления серводвигателей ? На какой частоте могут работать ваши блоки и сколько возможно серводвигателей подключить ? (В pru возможно засунуть сигналы от энкодера с быстрых входов?) Спасибо
    Имеющийся подход http://www.owen.ru/forum/showthread....per#post221928 позволяет управлять 4-мя ШД (по 2 штуки одновременно).
    Быстрые входы там работать не будут.
    Проверяли частоту до 500кГц.

    Сейчас в разработке версия Hardella 1.6.0, в которой будут те же 4 ШД (по 2 одновременно) и будут работать быстрые входы (хоть энкодер, хоть два, хоть просто как входы).
    Какая будет частота -- сказать не возьмусь. Надо будет тестировать.
    Последний раз редактировалось Владимир Ситников; 12.12.2016 в 17:30.

  8. #8
    Banned
    Регистрация
    03.02.2014
    Адрес
    Санкт-Петербург
    Сообщений
    848

    По умолчанию

    Есть какие-либо реализованы в жизни промышленные примеры использования? (или пока все только на уровне тестов) ? (какой интерфейс для пользователя, есть ли интерфейс для пусконаладки и проверки серводвигателей.) И есть ли в планах задачи прикрутить библиотеку подобную PLCOpen, которая используется во всех Motion контроллера http://www.plcopen.org/pages/tc2_motion_control/ ?

  9. #9

    По умолчанию

    Цитата Сообщение от murdemon Посмотреть сообщение
    Есть какие-либо реализованы в жизни промышленные примеры использования? (или пока все только на уровне тестов) ?
    Недавно (30 ноября) был такой отзыв:
    Цитата Сообщение от приборист
    А я на старом степпере уже запускаю портальную мойку
    Работает круче чем на дельте
    Особенно разгон и торможение
    Просто бомба
    Ни одного удара
    Цитата Сообщение от Владимир Ситников
    здорово
    Т.е. плавно трогается и тормозит, без ударов?
    Цитата Сообщение от приборист
    Да
    Видео спрошу у парней


    Цитата Сообщение от murdemon Посмотреть сообщение
    (какой интерфейс для пользователя, есть ли интерфейс для пусконаладки и проверки серводвигателей.)
    Не пойму вопрос. Интерфейс -- КДС библиотека. Вызываешь программу -- ШД управляется.

    Попробую так вопрос задать: "какой интерфейс для пользователя, есть ли интерфейс для пусконаладки и проверки обычных входов-выходов?"


    Цитата Сообщение от murdemon Посмотреть сообщение
    И есть ли в планах задачи прикрутить библиотеку подобную PLCOpen, которая используется во всех Motion контроллера http://www.plcopen.org/pages/tc2_motion_control/
    ?

    Тут думать нужно. Как-никак, а конкретные программы могут отличаться. Кому-то нужно 4 ШД, а кому-то достаточно одного и остальное как простые выходы.
    Изображения Изображения
    Последний раз редактировалось Владимир Ситников; 12.12.2016 в 18:37.

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

    По умолчанию

    на счет интерфейса (примерно как тут https://www.youtube.com/watch?v=Ve8YcLyyq4s на 6й минуте, подобный есть у всех ПЛК с Motion)... по PLCOpen... я имею ввиду некую абстракцию мы забили настройки ШД или Серво в режим степ дир, (такие как сколько мм движение 1 шаг и тд) А потом через абстракцию говорим разогнать двигатель, с ускорением 0.1 м/c^2 до 3м .. или если позиционирование, то подвинуть на позицию 2 метра со скоростью разгона 0.1 м/c^2 и тд. Там также в бибке реализована абстракция (позиция 1 двигателя - "оси" от другой "оси" в виде 2D графика) и много еще чего. + кинематика вроде есть (для дельта робота например) задаем 3 оси (двигателя, длины плеча дельта робота и тд ) и говорим уже в координатах 3д подвинуть руку в позицию X Y Z. + CNC в PLC Open уже добавлен. Те перемещения можно задавать как некий стандартный CNC код.

Страница 22 из 117 ПерваяПервая ... 1220212223243272 ... ПоследняяПоследняя

Ваши права

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