Список форумов Автоматизация ТП в Карелии
Форум для общения всех, кто как-то связан с автоматикой, КИП, электроприводом
 

 

Автоматизация ТП в Карелии » » Control Techniques » Как обнулит счетчик оборотов и ­ положение енкодера в Unidrive SP [Страниц (4): « 1 [2] 3 4 » ]

| Новая тема | Ответить | | Поиск в теме |
| Версия для печати |
dinkata


Newbie

Сообщение : Профиль :

Проблем один - не обнуляется счетчк оборотов и положене #3.28 и #3.29,
ето должно делатся помоему от #3.47 повторная инициализация енкодера.
Но етот бит не установляется в 1 ,СТсофт говорит что бит управляется с другого источника !!!! как включит етот бит ??

Всего записей: 37 : Дата рег-ции: Июль 2010 : Отправлено: 14 Сентября, 2010 - 08:15:26
dinkata


Newbie

Сообщение : Профиль :

Значит так ,если работаем с енкодер АБ , когд надо занулит #3.28 и #3.29
даем другой тип енкодер в #3.38 напр.АБ серво ,идет инициализация и обнуление привод инхибит,потом снова даем в #3.38 наш енкодер.
Очен нужен русский мануал на SYPT PRO.

Всего записей: 37 : Дата рег-ции: Июль 2010 : Отправлено: 27 Сентября, 2010 - 13:45:02
esergeev


Администратор

Сообщение : Профиль :

Что-то не понимаю я вас никак.
В документации ( SP_AUG_iss8_rus.pdf, стр. 69 ) четко написано, что параметры 3.28 и 3.29 только для чтения. А вы в них пытаетесь писать.
Неправильно это.
Надо переменную дополнительную заводить.

Всего записей: 187 : Дата рег-ции: Февр. 2007 : Отправлено: 17 Октября, 2010 - 14:27:04
dinkata


Newbie

Сообщение : Профиль :


Вот задание - управляем асинхронньй двигател по положение, скажите пожалуйста какой режим подобрат чтоб получили самое хорошее позиционирование ,имеем в наличност: 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
esergeev


Администратор

Сообщение : Профиль :

Ну, быстро не обещаю, как смогу...

мне нужно знать
- что за материал? Толщина?
- макс. линейная скорость перемещения
- есть ли проскальзывание между материалом и валками

Энкодер нужно ставить на двигатель, впрочем, такой как у вас, дополнительно, тоже не помешает.

Всего записей: 187 : Дата рег-ции: Февр. 2007 : Отправлено: 21 Октября, 2010 - 09:40:00
dinkata


Newbie

Сообщение : Профиль :

Материал оцинкованая сталь (шрипс ) .Толщина - 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
esergeev


Администратор

Сообщение : Профиль :

Цитата:
Как оптимизироват привод ( в разомкнутой контур
по етой диаграме - ето оптимальной вариант ) чтоб ошибка по положение бьйла минимальная ?

Во первых, надо использовать замкнутый контур. Пытаться вести по позиции в разомкнутом контуре - нонсенс. Вообще, асинхронник - не лучший инструмент для этого. Серво не зря придумали.
Во вторых, можно поиграться с коэффициентом контура позиционирования.
Цитата:
Спасибо ,мне нужна помощ сделат проект под SYPT PRO для управление
по заданая длина в диапазоне 100 -10000 мм .

Я посмотрю вечерком ваш проект, программку набросаю... Но без изысков - их сами добавлять будете.

Всего записей: 187 : Дата рег-ции: Февр. 2007 : Отправлено: 21 Октября, 2010 - 15:01:11
dinkata


Newbie

Сообщение : Профиль :

Спасибо ,буду ждать

(Добавление)
если в quick ladder diagram еще лучше

Всего записей: 37 : Дата рег-ции: Июль 2010 : Отправлено: 21 Октября, 2010 - 16:46:53
esergeev


Администратор

Сообщение : Профиль :

Вот как-то так
Код:

$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
dinkata


Newbie

Сообщение : Профиль :

Спасибо ,ето на первий взгляд мне трудно разобраться , но посколько я понимаю пример для замкнутой контур .Буду изучат и експериментироват.

(Добавление)
Скажите пожалуйста как сделат _Q8% (у меня #71.08 ) чтоб показьйвал
позицию

(Отредактировано автором: 02 Ноября, 2010 - 17:34:03)

Всего записей: 37 : Дата рег-ции: Июль 2010 : Отправлено: 02 Ноября, 2010 - 15:31:01
| Версия для печати |
| Новая тема | Ответить | | Поиск в теме |

Автоматизация ТП в Карелии » » Control Techniques » Как обнулит счетчик оборотов и ­ положение енкодера в Unidrive SP [Страниц (4): « 1 [2] 3 4 » ]


Powered by ExBB 1.9.1
Original Style v1.5a2 created by Daemon.XP

[ Script Execution time: 0.04 ]   [ Gzip Disabled ]