1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Управление 1мкс входами-выходами на ОВЕН ПЛК110 М02

Ответить

Автор темы
vladimirsitnikov
здесь недавно
здесь недавно
Сообщения: 6
Зарегистрирован: 30 окт 2016, 10:22
Имя: Ситников Владимир Валентинович
Страна: Россия
город/регион: Киров
Поблагодарили: 1 раз

Управление 1мкс входами-выходами на ОВЕН ПЛК110 М02

Сообщение vladimirsitnikov »

Добрый день,

Периодически возникает вопрос "как покрутить ШД", и сейчас стал доступен вариант на ОВЕНе.
В двух словах, можно составлять 1мкс программы по своему усмотрению. Энкодеры в любых вариациях, ШД всё подвластно и не ограничено пресловутой 1 миллисекундой основного цикла. Да, длительность цикла программы будет 1 микросекунда, т.е. в 1000 раз быстрее "основного цикла".

В модели ПЛК110 М02 (вышла более года назад) есть 2 свободно программируемых сопроцессора, которые могут управлять быстрыми входами/выходами.

Сопроцессоры (PRU) работают на частоте 200МГц, почти все команды выполняют за 1 такт, и, что хорошо, они не отвлекаются на лишние задачи.

Разумеется, в 1 такт всю программу не уложишь, но за 200 тактов можно многое сделать, т.е. "длительность цикла" порядка 1 мкс достигается без проблем.

Предел размера программы -- 1024 команды. Если учесть, что "быстрых" входов выходов не более 4 штук, то и этих 1024 команд вполне хватит для широкого спектра задач. Из команд доступна простая арифметика в 32bit int (без умножения/деления), условные переходы.

Для примера есть программа управления ШД: http://www.owen.ru/forum/showthread.php ... post221928
Программа генерирует указанное количество импульсов, и осуществляет плавный разгон/торможение.

Аналогично, можно читать значения быстрых входов и выполнять логику, которая требует быстрого реагирования.
Например, если нужно "отключить мотор по достижению нужного количества импульсов энкодера", то можно в "1мкс быстрой программе обсчитывать энкодер и управлять выходом".

Ещё раз повторюсь, программа выполняется на отдельном сопроцессоре, и она не влияет на основной цикл.

"Быстрые" программы составляются на языке ST в среде Hardella IDE. Разумеется, основная программа по-прежнему работает под управлением CoDeSys, и для взаимодействия (передачи значений) между основным циклом и "быстрой" программой Hardella генерирует "CoDeSys библиотеку".

Вот пример создания простого проекта http://recordit.co/beYcl4OfDO (то же самое в виде анимированного gif: http://g.recordit.co/beYcl4OfDO.gif но ссылкой, т.к. gif занимает 2.5 мегабайта)

Hardella IDE работает в Windows/macOS/Linux. Программа бесплатная, скачать можно тут: https://github.com/vlsi/ide61131/releases

Что в итоге?
Любой желающий бесплатно без SMS может покрутить ШД (как минимум 2 штуки) через ОВЕН ПЛК110 М02.

Были/есть задачи, где требуется быстрое управление? Скажем, <100мкс.

PS. Я не имею никакого отношения к ОВЕН.

Автор темы
vladimirsitnikov
здесь недавно
здесь недавно
Сообщения: 6
Зарегистрирован: 30 окт 2016, 10:22
Имя: Ситников Владимир Валентинович
Страна: Россия
город/регион: Киров
Поблагодарили: 1 раз

Управление 1мкс входами-выходами на ОВЕН ПЛК110 М02

Сообщение vladimirsitnikov »

vladimirsitnikov писал(а): отключить мотор по достижению нужного количества импульсов энкодера
Уточню: если мотор шаговый, то его перемещение контролировать излишне, ведь он и так передвигается на указанное количество шагов.

Но сама технология не ограничивает то, как составлять программу. Вполне может оказаться, что энкодер контролирует не двигатель, а ещё что-то.

Например, если в системе может возникать проскальзывание, то можно составить программу, которая будет корректировать "количество импульсов шагового двигателя" на основании фактического перемещения, зафиксированного энкодером.

Михайло
почётный участник форума
почётный участник форума
Сообщения: 3549
Зарегистрирован: 10 ноя 2009, 04:58
Имя: Толмачев Михаил Алексеевич
город/регион: г. Чехов, МО
Благодарил (а): 6 раз
Поблагодарили: 246 раз

Управление 1мкс входами-выходами на ОВЕН ПЛК110 М02

Сообщение Михайло »

Шаговый двигатель тоже может пропускать импульсы (проскальзывать) при превышении крутящего момента, так что энкодер не лишний.

Автор темы
vladimirsitnikov
здесь недавно
здесь недавно
Сообщения: 6
Зарегистрирован: 30 окт 2016, 10:22
Имя: Ситников Владимир Валентинович
Страна: Россия
город/регион: Киров
Поблагодарили: 1 раз

Управление 1мкс входами-выходами на ОВЕН ПЛК110 М02

Сообщение vladimirsitnikov »

Михайло писал(а): Шаговый двигатель тоже может пропускать импульсы (проскальзывать) при превышении крутящего момента, так что энкодер не лишний.
Зависит от используемой скорости. У шаговых крутящий момент падает с увеличением скорости, поэтому, если на макс скорости не проскальзывает, то и на меньших не будет.

Но, конечно, зависит от установки. В целом, "ШД+энкодер" в одном флаконе это серво, и тут возникает выбор:
1) Либо просто поставить серво (который сам будет компенсировать "пропуски"). Команды STEP/DIR по-прежнему можно выдавать из ПЛК110 М02
2) Либо поставить ШД, поставить энкодер, и в ПЛК110 обработать "пропуски импульсов"

У каждого варианта есть свои плюсы-минусы: цена, количество занятых входов-выходов и т.п.

Ryzhij
почётный участник форума
почётный участник форума
Сообщения: 5617
Зарегистрирован: 07 окт 2011, 09:12
Имя: Гаско Вячеслав Эриевич
Страна: Россия
город/регион: Рязань
Благодарил (а): 542 раза
Поблагодарили: 705 раз

Управление 1мкс входами-выходами на ОВЕН ПЛК110 М02

Сообщение Ryzhij »

Михайло писал(а): Шаговый двигатель тоже может пропускать импульсы (проскальзывать) при превышении крутящего момента, так что энкодер не лишний.
Кроме того, есть прорва механизмов, в которых позиционируемый узел периодически "отправляется в свободный полет" внешним усилием.
К моменту подхвата перемещения двигателем не вредно знать-таки координаты узла.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)

Voldemus
здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 17 авг 2016, 19:43
Имя: Ивонин В.М.
Поблагодарили: 1 раз

Управление 1мкс входами-выходами на ОВЕН ПЛК110 М02

Сообщение Voldemus »

Значит теперь и ПЛК фирмы "ОВЕН" может напрямую управлять ШД. Это очень хорошая весть.

Voldemus
здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 17 авг 2016, 19:43
Имя: Ивонин В.М.
Поблагодарили: 1 раз

Управление 1мкс входами-выходами на ОВЕН ПЛК110 М02

Сообщение Voldemus »

Ryzhij писал(а):
Михайло писал(а): Шаговый двигатель тоже может пропускать импульсы (проскальзывать) при превышении крутящего момента, так что энкодер не лишний.
Кроме того, есть прорва механизмов, в которых позиционируемый узел периодически "отправляется в свободный полет" внешним усилием.
К моменту подхвата перемещения двигателем не вредно знать-таки координаты узла.
Речь о ШД. Если не снимать сигнал MF со входа драйвера ЩД, то вал не будет свободно крутиться от внешнего усилия.

Ryzhij
почётный участник форума
почётный участник форума
Сообщения: 5617
Зарегистрирован: 07 окт 2011, 09:12
Имя: Гаско Вячеслав Эриевич
Страна: Россия
город/регион: Рязань
Благодарил (а): 542 раза
Поблагодарили: 705 раз

Управление 1мкс входами-выходами на ОВЕН ПЛК110 М02

Сообщение Ryzhij »

Voldemus писал(а):Речь о ШД. Если не снимать сигнал MF со входа драйвера ЩД, то вал не будет свободно крутиться от внешнего усилия.
Народ в курсе ;)
В том-то и дело, что приходится освобождать двигатель.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)

Ryzhij
почётный участник форума
почётный участник форума
Сообщения: 5617
Зарегистрирован: 07 окт 2011, 09:12
Имя: Гаско Вячеслав Эриевич
Страна: Россия
город/регион: Рязань
Благодарил (а): 542 раза
Поблагодарили: 705 раз

Управление 1мкс входами-выходами на ОВЕН ПЛК110 М02

Сообщение Ryzhij »

Voldemus писал(а): Значит теперь и ПЛК фирмы "ОВЕН" может напрямую управлять ШД. Это очень хорошая весть.
Ну, не совсем "напрямую"...
А так да, новость неплохая. Если бы "OWEN-овцы" ещё и оформили эту фичу в виде API, или хотя бы как ФБ :roll:
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)

Автор темы
vladimirsitnikov
здесь недавно
здесь недавно
Сообщения: 6
Зарегистрирован: 30 окт 2016, 10:22
Имя: Ситников Владимир Валентинович
Страна: Россия
город/регион: Киров
Поблагодарили: 1 раз

Управление 1мкс входами-выходами на ОВЕН ПЛК110 М02

Сообщение vladimirsitnikov »

Ryzhij писал(а): Если бы "OWEN-овцы" ещё и оформили эту фичу в виде API, или хотя бы как ФБ
Так оно и так в виде ФБ =)

Т.е. используется из КДС прямо как обычный ФБ.
Из-за ограниченности самого PRU сопроцессора, туда невозможно "заранее запихнуть все возможные программы".
Поэтому и есть Hardella, в которой настраивается какие входы-выходы к чему будут прицеплены, какая фильтрация будет на входах и т.п.

Например, в "классическом PLC Configuration", если выбрать "fast encoder", то оставшиеся входы уже невозможно использовать как простые DI.
В случае с PRU программами в Hardella, можно отдельно настраивать будет ли конкретный вход-выход фильтроваться, и будет ли он обрабатываться PRU программой или пойдёт напрямую в "основной цикл".

Более того, из-за особенностей самого КДС редактора (я про CoDeSys "PLC Configuration"), там либо невозможно, либо крайне сложно выразить ситуацию, когда "энкодер и ШД" (читай "входы и выходы") работают в рамках одной программы.

Будет ли 3S дорабатывать CoDeSys чтобы поддержать PRU программы -- без понятия. Но, честно говоря, сомневаюсь.

Voldemus
здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 17 авг 2016, 19:43
Имя: Ивонин В.М.
Поблагодарили: 1 раз

Управление 1мкс входами-выходами на ОВЕН ПЛК110 М02

Сообщение Voldemus »

Ryzhij писал(а):Ну, не совсем "напрямую"...
Что значит не совсем ? Именно напрямую может управлять драйвером ШД.

Voldemus
здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 17 авг 2016, 19:43
Имя: Ивонин В.М.
Поблагодарили: 1 раз

Управление 1мкс входами-выходами на ОВЕН ПЛК110 М02

Сообщение Voldemus »

vladimirsitnikov писал(а): Будет ли 3S дорабатывать CoDeSys чтобы поддержать PRU программы
Это из области фантастики. :ges_clap2:

Ryzhij
почётный участник форума
почётный участник форума
Сообщения: 5617
Зарегистрирован: 07 окт 2011, 09:12
Имя: Гаско Вячеслав Эриевич
Страна: Россия
город/регион: Рязань
Благодарил (а): 542 раза
Поблагодарили: 705 раз

Управление 1мкс входами-выходами на ОВЕН ПЛК110 М02

Сообщение Ryzhij »

Voldemus писал(а):
Ryzhij писал(а):Ну, не совсем "напрямую"...
Что значит не совсем ? Именно напрямую может управлять драйвером ШД.
Таки ДРАЙВЕРОМ, а не самим ШД, как Вы давеча нам писали ;)
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)

Автор темы
vladimirsitnikov
здесь недавно
здесь недавно
Сообщения: 6
Зарегистрирован: 30 окт 2016, 10:22
Имя: Ситников Владимир Валентинович
Страна: Россия
город/регион: Киров
Поблагодарили: 1 раз

Управление 1мкс входами-выходами на ОВЕН ПЛК110 М02

Сообщение vladimirsitnikov »

Выпустил обновление для среды Hardella IDE.

- Можно программировать оба PRU ядра, и полностью управлять 4 выходами и 2 входами (ранее программы можно было составлять только для PRU0, т.е. 2 выхода пропадали)
- Встроен блок ШД
- Запущен сайт: https://hardella.com
- Добавлена документация. В ней явно упомянут пример работы с ШД: https://hardella.com/docs/pru/examples/step-motor/

astafyev
Сообщения: 1
Зарегистрирован: 20 мар 2018, 15:13
Имя: Олег
Страна: Россия
город/регион: Москва

Управление 1мкс входами-выходами на ОВЕН ПЛК110 М02

Сообщение astafyev »

Владимир!
Очень нужна Ваша помощь в организации контроллера ШД с управляющими энкодерами с помощью ПЛК110 М02 ОВЕН. Могу описать задачу.

Автор темы
vladimirsitnikov
здесь недавно
здесь недавно
Сообщения: 6
Зарегистрирован: 30 окт 2016, 10:22
Имя: Ситников Владимир Валентинович
Страна: Россия
город/регион: Киров
Поблагодарили: 1 раз

Управление 1мкс входами-выходами на ОВЕН ПЛК110 М02

Сообщение vladimirsitnikov »

Описывайте.
Ответить

Вернуться в «ОВЕН»