Там еще надо дрбавить для positionloop, обратную связь по позиции, а то сейчас из за джитера позиция 0, уползает, ну и 2D круги порисовать.
Вид для печати
Там еще надо дрбавить для positionloop, обратную связь по позиции, а то сейчас из за джитера позиция 0, уползает, ну и 2D круги порисовать.
А SoftMotion сам через быстрые выходы ПЛК драйвером ШД управлять не может ? В идеале нужно: разогнать ШД и далее не останавливая вращения вала менять частоту вращения. FB в Харделле выдает заданное количество импульсов, разгоняет и тормозит. Т.е. позволяет переместиться на заданное расстояние с последующим остановом. Если рассматривать токарный станок, то там 2 координаты, продольная и поперечная. По обеим координатам надо перемещаться синхронно и непрерывно. Если контур детали сложный, то у ШД, который управляет поперечным перемещением резца надо постоянно менять частоту и направление вращения вала.
SoftMotion раз в 3мс, говорит по интерполятору скорость для каждой оси и позицию где хочу чтобы был через 3мс. Скорость ШД через ПРУ берет от интерполятора с коэффициентом винта шага и тд. И блок из ПРУ отдает его реальную координату в отсчетах ... в идеале если разница между заданной и установленной координатой за шаг не изменяется, то ПРУ успевает и тд. Если разница изменяется надо корректировать скорость от интерполятора + разница изменений помноженное на коэфф еще. чтобы догоняла или притормаживал. тем самым делаем обратную связь
Чем это плохо? ШД крутится, деньги мутятся
Так оно и есть. Остановка только когда обратно по программе в 0 приезжает. Координаты абсолютные. Есть функция сброса позиции в 0 для самого PRU, и чтобы в 0 приезжал в PRU считает импулсы при dir положительном прибавляет при dir отрецательном вычитает. Если до 0 доехал, в минус дальше не едет, те кол степов при dir положительном и отрицательном одинаково, смотрит сам PRU. Но физицески с шагавиком все равно поз 0 , меняется , физически там пропуски по моменту или еще что-то. Для лоукост сойдет, а так по хорошему надо в 0 по датчику после каждого движения уезжать. Или ставить уже энкодер на ось.