|
|
|
|
|
Сообщение : Профиль : |
|
Проблем один - не обнуляется счетчк оборотов и положене #3.28 и #3.29, ето должно делатся помоему от #3.47 повторная инициализация енкодера. Но етот бит не установляется в 1 ,СТсофт говорит что бит управляется с другого источника !!!! как включит етот бит ?? |
|
Всего записей: 37 : Дата рег-ции: Июль 2010 : Отправлено: 14 Сентября, 2010 - 08:15:26 |
|
|
|
|
Сообщение : Профиль : |
|
Значит так ,если работаем с енкодер АБ , когд надо занулит #3.28 и #3.29 даем другой тип енкодер в #3.38 напр.АБ серво ,идет инициализация и обнуление привод инхибит,потом снова даем в #3.38 наш енкодер. Очен нужен русский мануал на SYPT PRO. |
|
Всего записей: 37 : Дата рег-ции: Июль 2010 : Отправлено: 27 Сентября, 2010 - 13:45:02 |
|
|
|
|
Сообщение : Профиль : |
|
Что-то не понимаю я вас никак. В документации ( SP_AUG_iss8_rus.pdf, стр. 69 ) четко написано, что параметры 3.28 и 3.29 только для чтения. А вы в них пытаетесь писать. Неправильно это. Надо переменную дополнительную заводить.
|
|
Всего записей: 187 : Дата рег-ции: Февр. 2007 : Отправлено: 17 Октября, 2010 - 14:27:04 |
|
|
|
|
Сообщение : Профиль : |
|
Вот задание - управляем асинхронньй двигател по положение, скажите пожалуйста какой режим подобрат чтоб получили самое хорошее позиционирование ,имеем в наличност: Unidrive SP , SM Aplication Lite ,либо SM Aplication, буду очен благодарен если дадите пример как настроит параметрам и какая програма сделат под SYPT PRO ,лучше в Quick ladder diagram .Если понадобится можно поставит енкодер и на вал двигателя и подвключим тогда енкодер на линию к SM Encoder plus. Вобщем мне нужен пример как настроит параметрам и подобрат управление для позиционирование для вариант показан на диаграм вверх .А что касает #3.28 и #3.29 , мне нужно каждьй цикл начинал с нуля , как сделат с другие переменьйе ?Спасибо ,буду радь если ответите скорее.
(Отредактировано автором: 20 Октября, 2010 - 09:13:57) |
|
Всего записей: 37 : Дата рег-ции: Июль 2010 : Отправлено: 20 Октября, 2010 - 09:04:21 |
|
|
|
|
Сообщение : Профиль : |
|
Ну, быстро не обещаю, как смогу...
мне нужно знать - что за материал? Толщина? - макс. линейная скорость перемещения - есть ли проскальзывание между материалом и валками Энкодер нужно ставить на двигатель, впрочем, такой как у вас, дополнительно, тоже не помешает.
|
|
Всего записей: 187 : Дата рег-ции: Февр. 2007 : Отправлено: 21 Октября, 2010 - 09:40:00 |
|
|
|
|
Сообщение : Профиль : |
|
Материал оцинкованая сталь (шрипс ) .Толщина - 0.55 мм ,(на разньйх профилей различно от 0.5 до 2 мм ) Скорост разная примерно на одна машина 5 м/мин на другая будет 12м/мин ,но до 20 м/мин. Проскальзьйвание есть , ето профилегибочньй станок ,здесь можно посмотрет принцип работа : http://www.zmmzlatograd.com/product_01.html Спасибо ,мне нужна помощ сделат проект под SYPT PRO для управление по заданая длина в диапазоне 100 -10000 мм .
(Добавление) Сейчас я работаю так : енкодер на линию 1000 имп/об ,мерное колесо ф159.15мм *пи=500 мм , 65536 / 500 = 131,072 импулса для 1 мм. задание длина примерно 2000 мм ( 2000 *131072 ) / 1000 = 262144 262144 / 65536 = 4 ,ето задание для #13.20 -оборотьй енкодера если ест остаток - 262144 / 65536 remainder - в #13.21 положение енкодера Меню 13 включаем #13.11=1 , задание по положение lokal = 13.04. обратная связ по положение = drive encoder 33.28 ,3.29 Стартируем при 3.28 и 3.29 = 0 на полная скорост Pr2 ,1.45 =1 , когда останет до размер 1.5 - 2 оборота на енкодер вь!ключаем полная скорост 1.45=0 и включаем управление по положение т.е.#13.10=1 .Привод останавливается на заданая позиция когда 3.28 = 13.20 и 3.29 = 13.21 с некоторая ошибка . Как оптимизироват привод ( в разомкнутой контур по етой диаграме - ето оптимальной вариант ) чтоб ошибка по положение бьйла минимальная ?
(Добавление) Как нулируем 3.28 и 3.29 ,когда привод остановлен идет резка когда гилотина режет даем на 3.38 (он имеет значение = 0 ) =3 т.е. меняем тип енкодера , идет инициализация енкодера 3.28 и 3.29=0 потом когда гилотина возвращается в изходном положение даем на 3.38 снова = 0 (наш енкодер Аб ). Ето нам прокунсултировали из Controltehniques
(Добавление) As long as the encoder is not an absolute encoder such as a EnDat of Hiperface encoder, then you can reset Pr 3.28 and Pr 3.29 by changing the encoder type in Pr 3.38 to a different value and then changing it back again. You may require an on board or SyptLite programming for this.
(Добавление) Я должен сказать что ето делаю на столе и двигатель без нагрузка , пока експериментирую ,все ето когда будет на машине и двигатель с нагрузка не знаю что получится когда разница между задание и обратная связ по положение становится маленкая т.е. и задание на скорост маловато -успеет ли привод крутит валками на низкая частота .Попробал на другая машина ,которая работает по другой схеме - значит до 3 Hz валками не крутится , с увеличивание частота над 3 Hz начинает вращение. |
|
Всего записей: 37 : Дата рег-ции: Июль 2010 : Отправлено: 21 Октября, 2010 - 10:23:54 |
|
|
|
|
Сообщение : Профиль : |
|
Цитата:Как оптимизироват привод ( в разомкнутой контур по етой диаграме - ето оптимальной вариант ) чтоб ошибка по положение бьйла минимальная ? |
Во первых, надо использовать замкнутый контур. Пытаться вести по позиции в разомкнутом контуре - нонсенс. Вообще, асинхронник - не лучший инструмент для этого. Серво не зря придумали. Во вторых, можно поиграться с коэффициентом контура позиционирования. Цитата:Спасибо ,мне нужна помощ сделат проект под SYPT PRO для управление по заданая длина в диапазоне 100 -10000 мм . |
Я посмотрю вечерком ваш проект, программку набросаю... Но без изысков - их сами добавлять будете.
|
|
Всего записей: 187 : Дата рег-ции: Февр. 2007 : Отправлено: 21 Октября, 2010 - 15:01:11 |
|
|
|
|
Сообщение : Профиль : |
|
Спасибо ,буду ждать
(Добавление) если в quick ladder diagram еще лучше |
|
Всего записей: 37 : Дата рег-ции: Июль 2010 : Отправлено: 21 Октября, 2010 - 16:46:53 |
|
|
|
|
Сообщение : Профиль : |
|
Вот как-то так Код: $AUTHOR My Name $COMPANY My Company $TITLE LITE1 $VERSION V1.0 $DRIVE UNISPLIT Alias{ // put your section code here $define State #18.10 $define Target #18.20 } //Alias Initial{ // put your section code here #06.30 = 0 // Stop Drive Enclines% = 4000 // Encoder counts (4*PPR) _Q8% = 0 // Reset Feedback On_Pos% = 0 // Reset flag // Profile Generator Position_Ref% = 0 // Reset Position Reference Position_Output% = 0 // Reset Position Output // Set Max Profile Velocity to 1000rpm in encoder counts Velocity_Ref% = (1000 * Enclines%)/ 60 // Set acceleration to 1 second ramp to Max speed Accel_Rate% = Velocity_Ref% // Jerk rate 1 second to max acceleration Jerk_rate% = Accel_Rate% Control% = 1 // Position Mode // Positon Loop Pterm% = 50000 // Drive Parameters #01.06 = 1100 // Max Speed #01.07 = 0 // Min Speed #01.10 = 1 // Bipolar reference enable #01.14 = 3 // Preset reference #01.15 = 1 // Preset 1 #02.02 = 0 // Disable ramps // Speed Reference #91.01 = 3 // Fast reference enable #91.05 = INT(#01.06) // Reference resolution State = 0 // Reset state machine } //Initial Clock{ // put your section code here // Position reference in 10ths of a Revolution Position_Ref% = (#18.11 * Enclines%) / 10 // Feedback Indication in 10ths of a Revolution #18.12 = (_Q8% * 10) / Enclines% // Stop the drive IF #6.30 IF (Error%<2) AND (Error%>-2) THEN Position_Ref% = Position_Output% #6.30 = 0 On_Pos% = 1 ENDIF ENDIF } //Clock Encoder{ // put your section code here (Done%, Position_Output%, Velocity_Output, Accel_Output, Stop_Distance) = SSRAMP(Position_Ref%, Position_Output%, Velocity_Ref%, Accel_Rate%, Jerk_Rate%, Control%) Vel_FFwd% = INT(Velocity_Output) (Speed_Ref%, Error%) = POSLOOP(_Q8%, Vel_FFwd%, Pterm%, 0, 1000, 10000, Enclines%, 0) #91.02 = Speed_Ref% } //Encoder Background{ top: IF State=0 THEN // 0 - initial state, waitin' for start command IF Start THEN // Start - some start condition, pressin' key or smth like that Position_ref% = Target // Load position ref from display #6.30 = 1 // start drive State = 1 // next state ENDIF ELSEIF State=1 THEN // waitin' arriving to dest. position IF On_Pos% THEN // we are at point, drive stop DELAY(2) // 200 mS delay State = 2 // next state ENDIF ELSEIF State=2 THEN // here must be subprogram to do cut DELAY(2) State = 3 // here we begin next move ELSEIF State = 3 THEN Position_ref% = Target // Load position ref from display _Q8% = 0 #6.30 = 1 // start drive On_Pos% = 0 State = 1 ELSE ENDIF goto top: // main background loop } //Background
|
|
|
Всего записей: 187 : Дата рег-ции: Февр. 2007 : Отправлено: 02 Ноября, 2010 - 09:50:52 |
|
|
|
|
Сообщение : Профиль : |
|
Спасибо ,ето на первий взгляд мне трудно разобраться , но посколько я понимаю пример для замкнутой контур .Буду изучат и експериментироват.
(Добавление) Скажите пожалуйста как сделат _Q8% (у меня #71.08 ) чтоб показьйвал позицию
(Отредактировано автором: 02 Ноября, 2010 - 17:34:03) |
|
Всего записей: 37 : Дата рег-ции: Июль 2010 : Отправлено: 02 Ноября, 2010 - 15:31:01 |
|
|
|