На форуме обязательно:
  1. Заполнить свой профиль на Русском языке. См. Правила, п.2.d.
  2. Не писать свой вопрос в первую попавшуюся тему, а вместо этого создать свою. См. Правила, п.3.a.

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


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

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

Сообщение vladimirsitnikov » 30 окт 2016, 11:04

Добрый день,

Периодически возникает вопрос "как покрутить ШД", и сейчас стал доступен вариант на ОВЕНе.
В двух словах, можно составлять 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
здесь недавно
здесь недавно
Сообщения: 5
Зарегистрирован: 30 окт 2016, 10:22
Имя: Ситников Владимир Валентинович
Поблагодарили: 1 раз

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

Сообщение vladimirsitnikov » 31 окт 2016, 11:14

vladimirsitnikov писал(а):Источник цитаты отключить мотор по достижению нужного количества импульсов энкодера

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

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

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


Михайло
почётный участник форума
почётный участник форума
Сообщения: 2400
Зарегистрирован: 10 ноя 2009, 04:58
Имя: Толмачев Михаил Алексеевич
Благодарил (а): 1 раз
Поблагодарили: 54 раза
Контактная информация:

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

Сообщение Михайло » 31 окт 2016, 11:28

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


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

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

Сообщение vladimirsitnikov » 31 окт 2016, 11:46

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

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

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

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


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

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

Сообщение Ryzhij » 31 окт 2016, 12:37

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

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


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

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

Сообщение Voldemus » 31 окт 2016, 12:48

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


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

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

Сообщение Voldemus » 31 окт 2016, 12:57

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

Кроме того, есть прорва механизмов, в которых позиционируемый узел периодически "отправляется в свободный полет" внешним усилием.
К моменту подхвата перемещения двигателем не вредно знать-таки координаты узла.


Речь о ШД. Если не снимать сигнал MF со входа драйвера ЩД, то вал не будет свободно крутиться от внешнего усилия.


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

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

Сообщение Ryzhij » 31 окт 2016, 15:33

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


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

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

Сообщение Ryzhij » 31 окт 2016, 15:41

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


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

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

Сообщение vladimirsitnikov » 31 окт 2016, 16:17

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

Так оно и так в виде ФБ =)

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

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

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

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


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

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

Сообщение Voldemus » 31 окт 2016, 16:54

Ryzhij писал(а):Ну, не совсем "напрямую"...


Что значит не совсем ? Именно напрямую может управлять драйвером ШД.


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

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

Сообщение Voldemus » 31 окт 2016, 16:57

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


Это из области фантастики. :ges_clap2:


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

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

Сообщение Ryzhij » 31 окт 2016, 18:51

Voldemus писал(а):Источник цитаты
Ryzhij писал(а):Ну, не совсем "напрямую"...


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


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

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

Сообщение vladimirsitnikov » 19 дек 2016, 16:31

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

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


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



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость