Там еще надо дрбавить для positionloop, обратную связь по позиции, а то сейчас из за джитера позиция 0, уползает, ну и 2D круги порисовать.
Вид для печати
Там еще надо дрбавить для positionloop, обратную связь по позиции, а то сейчас из за джитера позиция 0, уползает, ну и 2D круги порисовать.
А SoftMotion сам через быстрые выходы ПЛК драйвером ШД управлять не может ? В идеале нужно: разогнать ШД и далее не останавливая вращения вала менять частоту вращения. FB в Харделле выдает заданное количество импульсов, разгоняет и тормозит. Т.е. позволяет переместиться на заданное расстояние с последующим остановом. Если рассматривать токарный станок, то там 2 координаты, продольная и поперечная. По обеим координатам надо перемещаться синхронно и непрерывно. Если контур детали сложный, то у ШД, который управляет поперечным перемещением резца надо постоянно менять частоту и направление вращения вала.
SoftMotion раз в 3мс, говорит по интерполятору скорость для каждой оси и позицию где хочу чтобы был через 3мс. Скорость ШД через ПРУ берет от интерполятора с коэффициентом винта шага и тд. И блок из ПРУ отдает его реальную координату в отсчетах ... в идеале если разница между заданной и установленной координатой за шаг не изменяется, то ПРУ успевает и тд. Если разница изменяется надо корректировать скорость от интерполятора + разница изменений помноженное на коэфф еще. чтобы догоняла или притормаживал. тем самым делаем обратную связь
Чем это плохо? ШД крутится, деньги мутятся
Так оно и есть. Остановка только когда обратно по программе в 0 приезжает. Координаты абсолютные. Есть функция сброса позиции в 0 для самого PRU, и чтобы в 0 приезжал в PRU считает импулсы при dir положительном прибавляет при dir отрецательном вычитает. Если до 0 доехал, в минус дальше не едет, те кол степов при dir положительном и отрицательном одинаково, смотрит сам PRU. Но физицески с шагавиком все равно поз 0 , меняется , физически там пропуски по моменту или еще что-то. Для лоукост сойдет, а так по хорошему надо в 0 по датчику после каждого движения уезжать. Или ставить уже энкодер на ось.
сформулируй критерии в двух словах , что надо чтобы было удовлетворительное ?
https://youtu.be/2yKViaiHl-c. Можно разгон подобрать чтобы в 0 приходил четко.
https://youtu.be/BsjAzOGe0cI :)) должно не быть разрывов.
да я понимаю что такое пропуски и момент на валу и тд. просто ШД это не совсем пром. применение.
Вот можно уже продавать https://youtu.be/MZSV7PZbrV4
Программа GCODE с M ками и G01 G02 G03, В retain. Можно на флешку... можно с облака OwenCloud :)
ШД вполне промышлены. Просто с "обратной связью" как у вас описано, вы не узнаете о реальном положении оси. По моему отсюда все проблемы.
Необходимо строгое ограничение момента на двигателе и его контроль (понятно, что только опосредованно, установка энкодеров экономику в 0 приведет). Но может с резольвером получится?
Вопрос: реально ли штатными средствами в ПЛК110М2 получить на выходе программно заданный импульс с точностью до 1мс? Например 1427мс.
А что, таймер TP не подходит?
Задаёте длительность 1427 ms и получаете импульс нужной длительности +/- время цикла ПЛК.
Если цикл 1 ms, то будет 1427 ms +/- 1 ms. Вход, выход можно отловить R и F триггерами.
ТР это слишком просто и не очень надежно в плане точности. Сочиняю четырехкомпонетный дозатор, пара компонентов с малым процентом. Из за ограничения механики точность в +-цикл будет не очень. Имею под рукой подобный рабочий девайс, там на малых процентах время открытия заслонки 200-300мс, что с учетом времени работы собственно механики довольно мало. Плюс к этому, программа может менять алгоритм работы, и время цикла может плавать.
Видимо задание импульса придется писать на Харделле.
https://youtu.be/6Lv4qvIR1tw С джойстика выводим по позициям, сохраняем позиции, потом старт и в 2D вполне рабочее решение. Если кому интересно пишите, можно сделать резку материалов , нанесение клея и тд.
Там уже зажато все что можно. Дальнейшее сжатие вызывает нестабильный поток сырья (подвисание).Цитата:
зажмите выход дозатора
Механическую переделку секции на микродозирование вряд ли получится сделать силами предприятия.
Харделла позволит вырабатывать импульс, независимый от цикла ПЛК.
А вы серьезно считаете, что "механическое составляющее" вашего чудо-дозатора способно воспринять импульс менее длительности цикла ПЛК?
Длительность цикла ПЛК редко превышает 5ms, при этом полно эл-маг реле у которых впемя срабатывания больше.
З.Ы Если длительность цикла ПЛК превышает (не постоянно) 5ms, значит разработчика ПО на мыло.
Как это нет?
Для быстрых входов/выходов доступна работа по прерыванию, через библиотеку timer.lib
Можно раз в 20 мкс выполнять некоторый простой код.
Предположу, что это медленный танец с клавиатурой. ;)
Это ПЛК110 М02, управление STEP DIR , 2 шаговика. Управления по HID USB, с беспроводной клавиатуры. Сначала выводим в точки запоминаем, после чего отрабатывает программу в GCODE автоматически. Постпроцессор можно сглаживание в конечных точках и учет радиуса инструмента. Так демонстрация работы SoftMotion "импортированном" на ПЛК Овен, можно сделать синхронное движение , до 4х осей, энкодер, движение по "электронному кулачку" Cam и тд. Время реакции 3мкс. Выходы до 100кГц.
https://youtu.be/kzxYW7zl0NE
Вложение 58308
Вложение 58309
вал с ремнем , диаметр 1 см. 200 шагов на оборот и 1/32 микрошаг. 0.004859375 мм на отсчет, точность такая.
Должен, если есть на чем попробовать, можно скооперироваться.