Uploaded by Сергей Лавренюк

АРХИТЕКТУРНАЯ И АЛГОРИТМИЧЕСКАЯ МОДЕЛЬ КОНТРОЛЛЕРА ДВИЖЕНИЯ В СИСТЕМАХ ЧПУ

advertisement
ISSN 0321-2653 ИЗВЕСТИЯ ВУЗОВ. СЕВЕРО-КАВКАЗСКИЙ РЕГИОН.
ТЕХНИЧЕСКИЕ НАУКИ. 2017. № 2
ISSN 0321-2653
TECHNICAL SCIENCE.
IZVESTIYA VUZOV. SEVERO-KAVKAZSKII REGION.
УДК 681.3
2017. № 2
DOI: 10.17213/0321-2653-2017-2-18-23
АРХИТЕКТУРНАЯ И АЛГОРИТМИЧЕСКАЯ МОДЕЛЬ
КОНТРОЛЛЕРА ДВИЖЕНИЯ В СИСТЕМАХ ЧПУ
НАМОТОЧНО-ВЫКЛАДОЧНЫХ СТАНКОВ
 2017 г.
И.Г. Семенченко, А.А. Сидоренко, И.В. Шишков
Южно-Российский государственный политехнический университет (НПИ) имени М.И. Платова, г. Новочеркасск, Россия
ARCHITECTURAL AND ALGORITHMIC MODEL
OF THE MOTION CONTROLLER IN CNC SYSTEMS OF WINDING
AND LAYING MACHINES
I.G. Semenchenko, A.A. Sidorenko, I.V. Shishkov
Platov South-Russian State Polytechnic University (NPI), Novocherkassk, Russia
Семенченко Иван Гаврилович – доцент, кафедра «Программное обеспечение вычислительной техники», ЮжноРоссийский государственный политехнический университет
(НПИ) имени М.И. Платова, г. Новочеркасск, Россия.
E-mail: povt-igs@yandex.ru
Semenchenko Ivan Gavrilovich – assistant professor, department
«Software Computer Engineering», Platov South-Russian State
Polytechnic University (NPI), Novocherkassk, Russia. E-mail:
povt-igs@yandex.ru
Шишков Иван Вячеславович – инженер 1 категории, ЮжноРоссийский государственный политехнический университет
(НПИ) имени М.И. Платова, г. Новочеркасск, Россия.
E-mail: niivius@mail.ru.
Shishkov Ivan Vyacheslavovich – 1st category engineer, Platov
South-Russian State Polytechnic University (NPI), Novocherkassk, Russia. E-mail: niivius@mail.ru.
Сидоренко Андрей Андреевич – инженер-программист,
Южно-Российский государственный политехнический университет (НПИ) имени М.И. Платова, г. Новочеркасск,
Россия. E-mail: sidorenko_1993@icloud.com.
Sidorenko Andrej Andreevich – Software engeener, Platov
South-Russian State Polytechnic University (NPI), Novocherkassk, Russia. E-mail: sidorenko_1993@icloud.com.
Предложен алгоритм опережающего просмотра кадров с целью построения профиля скорости для
координатных перемещений намоточно-выкладочных станков, позволяющий избежать рывков на стыке кадров при смене направления движения и гарантированно выполнить остановку через заданное количество кадров. Представлены архитектурная и программная модель контроллера движения, а
также результаты практического применения разработанной модели на реальных управляющих программах.
Ключевые слова: система ЧПУ; построение профиля скорости; алгоритм опережающего просмотра.
The look-ahead algorithm used in constructing a velocity profile of winding and laying machines coordinate
movements is proposed. This algorithm makes it possible to avoid jerks at the borders of NC blocks when the
motion direction changing and to stop motion after a specified number of NC blocks. The architectural and
software model of the motion controller and the results of practical application of the developed model on real
NC programs are presented.
Keywords: CNC system; speed profile construction; look-ahead algorithm.
Изделия из композиционных материалов,
изготовленные на специально предназначенных
для этого намоточных станках, находят все более
широкое применение [1, 2]. Однако вопросы
проектирования системы управления процессом
намотки, учитывающие специфические требова-
ния кинематики, быстродействия, точности и
инерционности [3], освещены еще недостаточно.
Несовершенство
алгоритмов
расчета
законов движения управляемых координат намоточно-выкладочного оборудования, а также желание подготовить управляющую программу,
18
ISSN 0321-2653 ИЗВЕСТИЯ ВУЗОВ. СЕВЕРО-КАВКАЗСКИЙ РЕГИОН.
ТЕХНИЧЕСКИЕ НАУКИ. 2017. № 2
ISSN 0321-2653
TECHNICAL SCIENCE.
IZVESTIYA VUZOV. SEVERO-KAVKAZSKII REGION.
обеспечивающую максимальную производительность станка [4], приводят к максимальным
динамическим воздействиям на оборудование, а
также ошибкам в воспроизведении траекторий.
В связи с этим актуальной является задача,
связанная с разработкой контроллера движения
системы управления процессом намотки, интегрирующего функции интерпретации управляющей программы, построения профиля скорости и
интерполяции.
Для решения поставленной задачи используется алгоритм опережающего просмотра кадров, позволяющий для каждого кадра управляющей программы найти такую конечную скорость, которая позволит пройти участок максимально быстро, ограничить рывок на стыке кадров при смене направления движения и гарантированно выполнить остановку через заданное
количество кадров. Для того чтобы выполнялись
эти требования, необходимо внести ряд ограничений, применяемых к конечной скорости:
1. Конечная скорость i-го кадра Fe i должна
2017. № 2
данных, помимо тех, которые указаны выше,
используются перемещения по каждой из осей в
i-м кадре (ΔXi,…,ΔZi) и в кадре i+1(ΔXi+1,…,
ΔZi+1).
Изменение подачи для каждой из осей на
границе соседних кадров определяется по формуле
X i
X i 1

;
Vmx  F fi L  F fi 1 L
i
i

1


...

Zi
Zi 1
Vmz  F f
 F fi 1
,
i
Li
Li 1


(1)
где ΔVmx,…,ΔVmz – максимальные изменения
скорости между двумя кадрами по каждой из
осей.
Коэффициент Q находим по формуле
 V
V 
Q  min  mx ,..., mz .
Vz 
 Vx
Если Q ≥ 1, то ограничение (1) не рассматривается. В противном случае по одной либо по нескольким осям происходит превышение максимально допустимого изменения скорости между
двумя соседними кадрами. Тогда конечная скорость i-го кадра Fe i находится по формуле
быть достижима из конечной скорости следующего за ним кадра Fe i 1 , при движении с максимальным ускорением a.
2. При изменении направления движения
на угол αi для избегания рывков вводится ограничение на изменение скорости между кадрами,
рассмотренное подробнее в [5].
3. Конечная скорость в кадре не должна
превышать заданную программно скорость в
данном кадре.
4. Конечная скорость в кадре не должна
превышать заданную программно скорость в
следующем кадре.
Описанные ограничения можно выразить
формулой
Fei  Q  F fi , а начальная скорость (i + 1)-го кадра
Fsi 1 по формуле Fsi 1  Q  F fi 1 .
При использовании алгоритма опережающего просмотра необходимо знать число просматриваемых кадров N. В [7] предлагается определить фиксированное количество просматриваемых кадров, заранее определяя максимально
необходимое количество кадров. Однако в данной статье предлагается находить число просматриваемых кадров при каждом вызове алгоритма, зная длину тормозного пути, проходимого во время снижения скорости до нуля, которую
можно определить из заданного начального значения подачи и длины кадра:


(aT )2
Fe i  min  Fe2i 1  2aLi 1 ,
, F fi , F fi 1  ,


2(1  cos(αi ))


где Fe i – конечная скорость в i-м кадре; F fi – за-
N
F2
 Li  2sa  L0 ,
данная программно скорость в i-м кадре; Li – расстояние, проходимое в i-м кадре; T – время работы одного такта интерполятора.
В качестве алгоритма нахождения ограничения скорости при изменении направления
движения (см. п. 2) можно использовать способ,
предложенный в [6], который основан на проверке, что рывок по каждой из осей на стыке
соседних кадров не превышает максимально
заданного значения. В качестве исходных
i 1
где Fs – начальная скорость в текущем кадре;
L0 – расстояние, проходимое в текущем кадре.
Используя описанные выше способы нахождения скорости между кадрами и количества
просматриваемых кадров, отличающиеся от алгоритмов с фиксированным количеством кадров
более высокой скоростью выполнения за счет
уменьшения количества необходимых расчетов
(рис. 1).
19
ISSN 0321-2653 ИЗВЕСТИЯ ВУЗОВ. СЕВЕРО-КАВКАЗСКИЙ РЕГИОН.
ТЕХНИЧЕСКИЕ НАУКИ. 2017. № 2
ISSN 0321-2653
TECHNICAL SCIENCE.
IZVESTIYA VUZOV. SEVERO-KAVKAZSKII REGION.
Lstop – Длина тормозного пути
Lsum – Сумма расстояний
просматриваемых кадров
Fend – Максимальная конечная
скорость для текущего кадра
Для хранения
просматриваемых
Наперед кадров
используется стек
Начало
1
Lstop = (Fs*Fs) / (2*A*L)
Lsum = 0
Fend = 0
Извлечение из стека кадра
CURR и считывание кадра
PREV
Вставка текущего кадра в
стек
да
Кадр CURR ранее
просматривался?
2017. № 2
Кадр CURR считывается с головы стека
и выталкивается из него
Кадр PREV считывается с головы стека
FBFcurr находится для кадра только при
первом его использовании в алгоритме
опережающего просмотра
нет
Есть не просмотренные
кадры
нет
Alf = 0
Alf – косинус угла, на который
изменяется направление
движения
да
Lsum < Lstop
нет
i = 0… Кол-во осей - 1
да
Li – Расстояние, проходимое в
просматриваемом наперед i-м
кадре
Lsum = Lsum + Li
Alf = Alf + Dcurr[i] * Dprev[i]
Alf = Alf / (Lcurr * Lprev)
FBFcurr = (T*T*A*A)/(2*(1-alf))
FBFcurr = min
(FBFcurr,Fcurr,Fprev)
Вставка i-го кадра в стек
1
да
В стеке больше одного
кадра?
Fend = Fend*Fend + 2*A*L
Fend = Минимум (FBFcurr,
Fend)
нет
Dcurr[i] – расстояние, проходимое
в кадре CURR по i-й оси
Dprev[i] – расстояние, проходимое
в кадре PREV по i-й оси
Lcurr – расстояние, проходимое в кадре CURR
Lprev – расстояние, проходимое в кадре PREV
Fcurr – подача кадра CURR, заданная
в управляющей программе
Fprev – подача кадра PREV, заданная
в управляющей программе
Конец
Рис 1. Блок-схема алгоритма опережающего просмотра / Fig. 1. Flowchart of the look-ahead algorithm
Полученная максимально допустимая в
конце кадра скорость передается планировщику
траектории. Основной задачей планировщика
является построение профиля скорости, т.е. определение количества циклов интерполяции, в
течение которых будет выполняться разгон, торможение и движение с постоянной скоростью. В
[8, 9] указанную информацию предлагается записывать в специальные структуры данных, называемые блоками, и передавать на исполнение
интерполятору. Исходными данными, получаемыми планировщиком о кадре, являются четыре
величины: проходимое в кадре расстояние L,
подача в начале кадра Fs , заданная в управляющей программе подача для кадра Ff , подача в
конце кадра Fe (полученная при помощи алгоритма опережающего просмотра). Помимо этих
исходных данных, планировщику известны время выполнения одного цикла интерполяции и
максимальное ускорение.
Первым шагом при построении профиля
скорости является определение типа конструируемого блока. В разработанном планировщике
траекторий выделяется три типа блоков, каждый
из которых подробно описан в табл. 1. В зависимости от типа блока по соответствующим формулам определяются значения пяти величин:
времени замедления Tr, времени ускорения Ta ,
времени движения с постоянной скоростью Tc,
времени торможения Td и максимальной скорости Fm.
После построения профиля скорости необходимо подготовить его к обработке интерполятором. На выходе планировщик траектории выдает количество циклов интерполяции N на каждом из этапов (ускорение, постоянная скорость,
торможение), выраженное целым неотрицательным числом:


Tэтапа
N этапа  int 
.
 Tцикла интерполяции 


Так как условие кратности не учитывается
при построении профиля скорости и на каждом
из участков могут присутствовать фрагменты,
время выполнения которых меньше времени
выполнения одного цикла интерполяции, необходимо подготавливать блоки к интерполяции.
На рис. 2 рассмотрен пример подготовки
нормального блока к интерполяции. Для части
расстояния Lb выделяется дополнительный цикл
интерполяции с постоянной скоростью, если
Lb > T·Fm, остальная часть этого расстояния разбивается поровну между всеми циклами интерполяции блока.
20
ISSN 0321-2653 ИЗВЕСТИЯ ВУЗОВ. СЕВЕРО-КАВКАЗСКИЙ РЕГИОН.
ТЕХНИЧЕСКИЕ НАУКИ. 2017. № 2
ISSN 0321-2653
TECHNICAL SCIENCE.
IZVESTIYA VUZOV. SEVERO-KAVKAZSKII REGION.
2017. № 2
Таблица 1 / Table 1
Используемые в интерполяторе типы блоков / Types of blocks used in the interpolator
Тип блока
Замедляемый
(Ff < Fs)
Расчетные формулы
Если
Fs  F f
Tr 
a
Td 
;
Fs 2  F f 2
2a
F f  Fe
a
Общий вид
FСкорость
мм/мин
L
;
Tc 
FFs
s
L  Lr  Ld
Ff
FFff
FFee
Иначе
Tr
TTs
Tr
s
Fs  Fe
a
Tr 
Нормальный
F  F   F  F ;
2
L
Ta 
Td 
f
2
2
s
e
2a
F f  Fs
a
F f  Fe
a
;
;
TTs
s
Fe
F
e
 Fs  Fs  2aL
Ts
Ts
Fs  Fs  2aL
2
;
Td 
Ta
Ta
Ta
Ta
Te
Время
Te t,мин
Leq – расстояние, которое необходимо пройти,
чтобы уравнять начальную скорость c конечной
a
Leq – расстояние, которое необходимо
пройти, чтобы уровнять начальную
скорость с конечной
F Скорость
мм/мин
Tea
TTecec
Время
Te t,мин
Fmdl
Fss
Fmd1==F
Fm  Fe
a
Иначе
F мм/мин
Скорость
Tea
Te
FFff
Fm
Fm
Td 
2
a
Td
FСкорость
мм/мин
Fm  ( L  Leq )a  (max{Fs , Fe})2
Fm  Fs
;
a
TTaa
La – расстояние, проходимое во время ускорения
La – расстояние, проходимое во время ускорения
Lc – расстояние,
проходимое c постоянной скоростью
Lc – расстояние проходимое с постоянной скоростью
Ld – расстояние,
проходимое
торможения
Ld – расстояние,
проходимоевововремя
время торможения
Если Leq  L
Ta 
Td
Te
T
FFss
FFee
 Fs 2  Fe 2 


Leq  min 
, L
2
a


Ta 
TTcc
d
= Ff
FFm
m=Ff
L  La  Ld
Tc 
Ff
Короткий
Td
T
c
F мм/мин
2
f
Tc
T
Время
e t,мин
Lr – расстояние, проходимое во время замедления
Lr – расстояние,
проходимое
во время замедления
Lc – расстояние,
проходимое
c постоянной
скоростью
Lc – расстояние
проходимое
с постоянной
скоростью
Ld – расстояние,
проходимое
во время
торможения
Ld – расстояние, проходимое во время торможения
Fe  Fs 2  2aL ;
TTeded
TTeaea
t, мин
Le – расстояние, умещающееся в целое количество циклов интерполяции
+ Tb
TTec
ec+Tb
TTed
ed
t, Время
мин
Le – расстояние, умещающееся в целое количество циклов интерполяции
не умещающееся в целое количество циклов интерполяции
Lb – расстояние, не умещающееся в целое количество циклов интерполяции
Рис.Lb2.– расстояние,
Нормальный
блок до и после подготовки к интерполяции:
Le – расстояние, умещающееся в
целое количество циклов интерполяции;
Ld – расстояние, не умещающееся в целое количество циклов
интерполяции / Fig. 2. Normal block before and after preparation for interpolation:
Lе – distance, fits in an
integer number of cycles of the interpolation;
Ld – distance that will not fit in an integer number of cycles of
the interpolation
21
ISSN 0321-2653 ИЗВЕСТИЯ ВУЗОВ. СЕВЕРО-КАВКАЗСКИЙ РЕГИОН.
ТЕХНИЧЕСКИЕ НАУКИ. 2017. № 2
ISSN 0321-2653
TECHNICAL SCIENCE.
IZVESTIYA VUZOV. SEVERO-KAVKAZSKII REGION.
Описанные выше алгоритмы были использованы при создании контроллера движения,
работающего под управлением операционной
системы Linux с ядром реального времени Linux
Debian SMP PREEMPT RT, обеспечивающим
режим жесткого реального времени. Общая
структура контроллера представлена на рис. 3.
политики планирования (Round-Robin) на ядрах
2 и 3, обмениваясь информацией между собой
при помощи разделяемой памяти. Оба потока
используют таймер высокого расширения и выполняют запуск один раз в две миллисекунды, со
смещением по времени запуска относительно
друг друга на одну миллисекунду. Это позволяет
значительно уменьшить конкурирование потоков
за доступ к процессору.
Результаты работы алгоритма Look Ahead,
планировщика траектории и интерполятора
представлены в табл. 2.
Кадр ISO-7 bit
Интерпретатор
Поток
интерпретации
Просмотр информации
о следующий кадрах
Информация о кадре
Кольцевой
буфер
Таблица 2 / Table 2
Результаты отработки управляющей программы
/ Testing results of the control program
Условная переменная
Информация о кадре
Опережающий просмотр
Информация о кадре и макс. допустимая конечная скорость
Разгон / торможение
Информация о кадре и профиль скорости
Поток
интерполяции
Интерполяция
Режим
работы
Результат
Без
предварительного
просмотра
кадров
12000
8000
4000
0
Общее перемещение за такт интерполяции
Отображение перемещения на
каждую ось
Перемещение по каждой оси за такт интерполяции
2017. № 2
-4000
-8000
Мьютекс
-12000
7000 10500
Разделяемая
память
Перемещение по каждой оси за такт интерполяции
Контроллер позиции
14000 17500 21000 24500
С предвари- 12000
тельным
просмотром
8000
одного
кадра
Поток контроллера
позиции
4000
0
Управление приводами
-4000
Рис. 3. Схема работы потоков контроллера движения
/ Fig. 3. Flow diagram of motion controller threads
-8000
-12000
7000
Как и в [10], задачи, выполняемые контроллером движения, разбиты на потоки, исполняемые с разными приоритетами и политиками
планирования. Однако в данной работе помимо
этого для каждого потока явно указан номер
ядра процессора, на котором он должен исполняться. Поток интерпретации и поток графического интерфейса пользователя работают под
управлением стандартного планировщика Linux,
без использования реального времени на ядре
номер 1. Интерпретатор выполняет покадровый
разбор управляющей программы, помещая результат разбора в кольцевой буфер, который
используется им совместно с потоком интерполяции. Как только буфер полностью заполняется,
поток «засыпает» до тех пор, пока в буфере не
появится свободное место. Потоки интерполяции
и контроллера позиции работают в режиме реального времени c использованием циклической
10500 14000
17500 21000 24500
С предвари- 12000
тельным
просмотром 8000
произволь4000
ного
количества
0
кадров,
определяе-4000
мого по
формуле (1)
-8000
-12000
7000 10500
14000 17500
21000 24500
Примечание: по горизонтальной оси – время, мс; по горизонтальной оси – подача, м/мин;
– подача, заданная в управляющей программе;
– реальная подача
Как видно из данного примера, применение алгоритма опережающего просмотра при
отработке программ, состоящих из кадров с малым перемещением, существенно увеличивает
скорость выполнения управляющей программы
без потери точности позиционирования.
22
ISSN 0321-2653 ИЗВЕСТИЯ ВУЗОВ. СЕВЕРО-КАВКАЗСКИЙ РЕГИОН.
ТЕХНИЧЕСКИЕ НАУКИ. 2017. № 2
ISSN 0321-2653
TECHNICAL SCIENCE.
IZVESTIYA VUZOV. SEVERO-KAVKAZSKII REGION.
Литература
2017. № 2
chine of small line blocks with look-ahead. Springer-Verlag
London Limited 2006.
6. Suh, S.-H., Kang, S.K., Chung, D.-H., Stroud, I. Theory and
Design of CNC Systems. Springer-Verlag London Limited
2008.
7. Мартинов Г.М. Алгоритм опережающего просмотра
Look-ahead в современных системах ЧПУ и параметры
его настройки // Стружка. 2007. № 3. С. 52 – 54.
8. Lin Wang, Jianfu Cao. A look-ahead and adaptive speed
control algorithm for high-speed CNC equipment. The
International Journal of Advanced Manufacturing
Technology 2012.
9. Cheol-Soo Lee. Generation of Velocity Profiles with Speed
Limit of Each Axis for High-Speed Machining using LookAhead Buffer. International journal of precision engineering
and manufacturing. 2010.
10. Hua Ji, Yan Li, Jian Wang. A software oriented CNC system
based on Linux/RTLinux. The International Journal of Advanced Manufacturing Technology 2008.
1. Peters S.T. (2011) «Composite Filament Winding», Materials
Park, Ohio: ASM International, ISBN 1615037225, 167 p.
2. Koussios S. (2004) «Filament Winding: a Unified Approach»,
DUP Science, ISBN 90-407-2551-9, 400 p.
3. Шукшунов В.Е., Жуковский В.Г., Евченко А.И. и др. Автоматизированные системы управления намоточным
станком. М.: Машиностроение, 1985. 208 с.
4. Задача оптимизации законов движения органов станков с
программным управлением / В.В. Алексейчик, В.К. Ершов, А.Н. Иванченко, Я.Я. Чикильдин // Системы управления технологическими процессами: межвуз. сб. Новочеркасск, 1976. С. 51– 54.
5. Jun Hu Lingjian Xiao Yuhan Wang Zuyu Wu. An optimal
feedrate model and solution algorithm for a high-speed ma-
References
1. Peters S.T. Composite Filament Winding, Materials Park, Ohio: ASM International, ISBN 1615037225, 2011. 167 p.
2. Koussios S. Filament Winding: a Unified Approach, DUP Science, ISBN 90-407-2551-9, 2004. 400 p.
3. Shukshunov V.E., Zhukovskii V.G., Evchenko A.I. i dr. Avtomatizirovannye sistemy upravleniya namotochnym stankom [Automated control systems of a winding machine]. Moscow, Mashinostroenie Publ., 1985, 208 p.
4. Alekseichik V.V., Ershov V.K., Ivanchenko A.N., Chikil'din Ya.Ya. [The motion laws optimization problem]. Sistemy
upravleniya tekhnologicheskimi protsessami: Mezhvuz. sb. [Process control systems: Interuniversity collection]. Novocherkassk,
1976, pp. 51–54. [In Russ.]
5. Jun Hu, Lingjian Xiao, Yuhan Wang, Zuyu Wu. An optimal feedrate model and solution algorithm for a high-speed machine of
small line blocks with look-ahead. Springer-Verlag London Limited 2006.
6. Suh S.-H., Kang, S.K., Chung, D.-H., Stroud, I. Theory and Design of CNC Systems. Springer-Verlag London Limited, 2008.
7. Martinov G.M. Algoritm operezhayushchego prosmotra Look-ahead v sovremennykh sistemakh ChPU i parametry ego nastroiki
[Look-ahead algorithm in modern CNC systems, its parameters and configuration]. Struzhka, 2007, no. 3, pp. 52-54.
8. Lin Wang, Jianfu Cao. A look-ahead and adaptive speed control algorithm for high-speed CNC equipment. The International
Journal of Advanced Manufacturing Technology, 2012.
9. Cheol-Soo Lee. Generation of Velocity Profiles with Speed Limit of Each Axis for High-Speed Machining using Look-Ahead
Buffer. International journal of precision engineering and manufacturing. 2010.
10. Hua Ji, Yan Li, Jian Wang. A software oriented CNC system based on Linux/RTLinux. The International Journal of Advanced
Manufacturing Technology, 2008.
Поступила в редакцию / Received
30 марта 2017 г. / March 30, 2017
23
Download