Научная статья на тему 'Архитектурная и алгоритмическая модель контроллера движения в системах ЧПУ намоточно-выкладочных станков'

Архитектурная и алгоритмическая модель контроллера движения в системах ЧПУ намоточно-выкладочных станков Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
246
44
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СИСТЕМА ЧПУ / ПОСТРОЕНИЕ ПРОФИЛЯ СКОРОСТИ / АЛГОРИТМ ОПЕРЕЖАЮЩЕГО ПРОСМОТРА / CNC SYSTEM / SPEED PROFILE CONSTRUCTION / LOOK-AHEAD ALGORITHM

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Семенченко Иван Гаврилович, Шишков Иван Вячеславович, Сидоренко Андрей Андреевич

Предложен алгоритм опережающего просмотра кадров с целью построения профиля скорости для координатных перемещений намоточно-выкладочных станков, позволяющий избежать рывков на стыке кадров при смене направления движения и гарантированно выполнить остановку через заданное количество кадров. Представлены архитектурная и программная модель контроллера движения, а также результаты практического применения разработанной модели на реальных управляющих программах.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ARCHITECTURAL AND ALGORITHMIC MODEL OF THE MOTION CONTROLLER IN CNC SYSTEMS OF WINDING AND LAYING MACHINES

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.

Текст научной работы на тему «Архитектурная и алгоритмическая модель контроллера движения в системах ЧПУ намоточно-выкладочных станков»

ISSN0321-2653 IZVESTIYA VUZOV. SEVERO-KAVKAZSKIIREGION.

TECHNICAL SCIENCE. 2017. № 2

УДК 681.3

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: [email protected]

Шишков Иван Вячеславович - инженер 1 категории, ЮжноРоссийский государственный политехнический университет (НПИ) имени М.И. Платова, г. Новочеркасск, Россия. E-mail: [email protected].

Сидоренко Андрей Андреевич - инженер-программист, Южно-Российский государственный политехнический университет (НПИ) имени М.И. Платова, г. Новочеркасск, Россия. E-mail: [email protected].

Semenchenko Ivan Gavrilovich - assistant professor, department «Software Computer Engineering», Platov South-Russian State Polytechnic University (NPI), Novocherkassk, Russia. E-mail: [email protected]

Shishkov Ivan Vyacheslavovich - 1st category engineer, Platov South-Russian State Polytechnic University (NPI), Novocherkassk, Russia. E-mail: [email protected].

Sidorenko Andrej Andreevich - Software engeener, Platov South-Russian State Polytechnic University (NPI), Novocherkassk, Russia. E-mail: [email protected].

Предложен алгоритм опережающего просмотра кадров с целью построения профиля скорости для координатных перемещений намоточно-выкладочных станков, позволяющий избежать рывков на стыке кадров при смене направления движения и гарантированно выполнить остановку через заданное количество кадров. Представлены архитектурная и программная модель контроллера движения, а также результаты практического применения разработанной модели на реальных управляющих программах.

Ключевые слова: система ЧПУ; построение профиля скорости; алгоритм опережающего просмотра.

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], освещены еще недостаточно.

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

ISSN 0321-2653 IZVESTIYA VUZOV. SEVERO-KAVKAZSKIIREGION.

TECHNICAL SCIENCE. 2017. № 2

обеспечивающую максимальную производительность станка [4], приводят к максимальным динамическим воздействиям на оборудование, а также ошибкам в воспроизведении траекторий.

В связи с этим актуальной является задача, связанная с разработкой контроллера движения системы управления процессом намотки, интегрирующего функции интерпретации управляющей программы, построения профиля скорости и интерполяции.

Для решения поставленной задачи используется алгоритм опережающего просмотра кадров, позволяющий для каждого кадра управляющей программы найти такую конечную скорость, которая позволит пройти участок максимально быстро, ограничить рывок на стыке кадров при смене направления движения и гарантированно выполнить остановку через заданное количество кадров. Для того чтобы выполнялись эти требования, необходимо внести ряд ограничений, применяемых к конечной скорости:

1. Конечная скорость /-го кадра должна

быть достижима из конечной скорости следующего за ним кадра ^ +1 , при движении с максимальным ускорением а.

2. При изменении направления движения на угол а/ для избегания рывков вводится ограничение на изменение скорости между кадрами, рассмотренное подробнее в [5].

3. Конечная скорость в кадре не должна превышать заданную программно скорость в данном кадре.

4. Конечная скорость в кадре не должна превышать заданную программно скорость в следующем кадре.

Описанные ограничения можно выразить формулой

К =min

f

i ^

Ki + 2aL+1м

(aT )2

Л

2(1 - cos(a;))

'F' Ffi+1

где Ре - конечная скорость в /-м кадре; ^ - заданная программно скорость в /-м кадре; Ь/ - расстояние, проходимое в /-м кадре; Т - время работы одного такта интерполятора.

В качестве алгоритма нахождения ограничения скорости при изменении направления движения (см. п. 2) можно использовать способ, предложенный в [6], который основан на проверке, что рывок по каждой из осей на стыке соседних кадров не превышает максимально заданного значения. В качестве исходных

данных, помимо тех, которые указаны выше, используются перемещения по каждой из осей в /-м кадре (ДХ, • • •, ДД) и в кадре /+1(ДХ/+1,...,

дад.

Изменение подачи для каждой из осей на границе соседних кадров определяется по формуле

Л^ = Ffi

= Ffi

л^

L,

AZ,

- F

АХ,

fi+i

i+1

L

i+1

(1)

-F

AZ,

i+1

f+1

L

где ДУтх,^,ДУтг - максимальные изменения скорости между двумя кадрами по каждой из осей.

Коэффициент Q находим по формуле

Q = min

ЛУт

Л У„

. А^ А]

Если Q > 1, то ограничение (1) не рассматривается. В противном случае по одной либо по нескольким осям происходит превышение максимально допустимого изменения скорости между двумя соседними кадрами. Тогда конечная скорость /-го кадра находится по формуле

р = Q ■ р , а начальная скорость (/ + 1)-го кадра

Р+1 по формуле = < ■ р/м .

При использовании алгоритма опережающего просмотра необходимо знать число просматриваемых кадров N. В [7] предлагается определить фиксированное количество просматриваемых кадров, заранее определяя максимально необходимое количество кадров. Однако в данной статье предлагается находить число просматриваемых кадров при каждом вызове алгоритма, зная длину тормозного пути, проходимого во время снижения скорости до нуля, которую можно определить из заданного начального значения подачи и длины кадра:

N

F2

L

'0,

¿=1 2а

где р - начальная скорость в текущем кадре; Ь0 - расстояние, проходимое в текущем кадре.

Используя описанные выше способы нахождения скорости между кадрами и количества просматриваемых кадров, отличающиеся от алгоритмов с фиксированным количеством кадров более высокой скоростью выполнения за счет уменьшения количества необходимых расчетов (рис. 1).

ISSN0321-2653 IZVESTIYA VUZOV. SEVERO-KAVKAZSKIIREGION.

TECHNICAL SCIENCE. 2017. № 2

Lstop - Длина тормозного пути I Lsum - Сумма расстояний просматриваемых кадров | Fend - Максимальная конечная скорость для текущего кадра

Для хранения просматриваемых Наперед кадров используется стек

Lstop = (Fs*Fs) / (2*A*L) Lsum = 0 Fend = 0

Li - Расстояние, проходимое в I просматриваемом наперед i-м кадре

Извлечение из стека кадра CURR и считывание кадра PREV

Alf = 0

i = 0... Кол -во осей - 1

Alf = Alf + Dcurr[i] * Dprev[i]

_I

Alf = Alf / (Lcurr * Lprev) FBFcurr = (T*T*A*A)/(2*(1-alf)) FBFcurr = min (FBFcurr,Fcurr,Fprev)

Fend = Fend*Fend + 2*A*L Fend = Минимум (FBFcurr, Fend)

Г

| Кадр СОКЕ считывается с головы стека и выталкивается из него Кадр РИБУ считывается с головы стека

I

г

FBFcurr находится для кадра только при

первом его использовании в алгоритме | опережающего просмотра

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Alf - косинус угла, на который J изменяется направление | движения

Бсшт[1] - расстояние, проходимое I в кадре СиКИ по ьй оси | Бргеу[1] - расстояние, проходимое в кадре РИБУ по ьй оси

'"ъсшт - расстояние, проходимое в кадре С! I Ьргеу - расстояние, проходимое в кадре РЕ | Есшт - подача кадра СОКЕ, заданная в управляющей программе I Ергеу - подача кадра РИБУ, заданная в управляющей программе

Рис 1. Блок-схема алгоритма опережающего просмотра / Fig. 1. Flowchart of the look-ahead algorithm

Полученная максимально допустимая в конце кадра скорость передается планировщику траектории. Основной задачей планировщика является построение профиля скорости, т.е. определение количества циклов интерполяции, в течение которых будет выполняться разгон, торможение и движение с постоянной скоростью. В [8, 9] указанную информацию предлагается записывать в специальные структуры данных, называемые блоками, и передавать на исполнение интерполятору. Исходными данными, получаемыми планировщиком о кадре, являются четыре величины: проходимое в кадре расстояние L, подача в начале кадра Fs , заданная в управляющей программе подача для кадра Ff, подача в конце кадра Fe (полученная при помощи алгоритма опережающего просмотра). Помимо этих исходных данных, планировщику известны время выполнения одного цикла интерполяции и максимальное ускорение.

Первым шагом при построении профиля скорости является определение типа конструируемого блока. В разработанном планировщике траекторий выделяется три типа блоков, каждый из которых подробно описан в табл. 1. В зависимости от типа блока по соответствующим формулам определяются значения пяти величин:

времени замедления Tr, времени ускорения Ta , времени движения с постоянной скоростью Tc, времени торможения Td и максимальной скорости Fm.

После построения профиля скорости необходимо подготовить его к обработке интерполятором. На выходе планировщик траектории выдает количество циклов интерполяции N на каждом из этапов (ускорение, постоянная скорость, торможение), выраженное целым неотрицательным числом:

( \

—этапа

T„,

цикла интерполяции

Так как условие кратности не учитывается при построении профиля скорости и на каждом из участков могут присутствовать фрагменты, время выполнения которых меньше времени выполнения одного цикла интерполяции, необходимо подготавливать блоки к интерполяции.

На рис. 2 рассмотрен пример подготовки нормального блока к интерполяции. Для части расстояния Lb выделяется дополнительный цикл интерполяции с постоянной скоростью, если Lb > T•Fm, остальная часть этого расстояния разбивается поровну между всеми циклами интерполяции блока.

ISSN 0321-2653 IZVESTIYA VUZOV. SEVERO-KAVKAZSKIIREGION.

TECHNICAL SCIENCE. 2017. № 2

Таблица 1 / Table 1

Используемые в интерполяторе типы блоков / Types of blocks used in the interpolator

Тип блока

Расчетные формулы

Общий вид

Замедляемый

(Ff < F)

Если

- ^2 2a

< L

т _F—L-t Ff -F- T L-Lr -Ld

Ff

Иначе

F„

-4FT-

2 aL;

F - F

rTi _ s e

T r —

Ts»T,

Тс Та Те В, мин

Ьг - расстояние, проходимое во время замедления I Ьс - расстояние, проходимое с постоянно й скоростью 1Ь„ - расстояние, проходимое во время торможения

Нормальный

L >

(Ff 2 - Fs2 ) + (Ff 2 - Fe2 )

2a

T —-

Td —

Ff - Fs, a

Ff - Fe . a

L - L - L,,

F,

f

F мм/мин А

Fm=Ff

Fs F„

T^-t ■ ►!■<—T-—т,—^iT- .

Ts 1 a Tc 1 d le t, МиН

La - расстояние, проходимое во время ускорения I Lc - рас стояние, проходимое c постоянной скоростью I Ld - расстояние, проходимое в о время торможения

......т'"' T

Короткий

F2 - F'

Leq— min

Если Lon < L

eq

Fm(L - Leq )a + (max{Fs, Fe})2 F - F F - F

_ m_s.'T _ m_e

Ta — ; Td —

Иначе

Рмм/мин

A

Fmd1—F.

-F +\IF,2 + 2aL Fs -^F,2 - 2aL

л

e i.MHH

^H Leq - расстояние, которое необходимо пройти, чтобы уравнять начальную скорость c конечной

F мм/мин

F мм/мин

t, мин

"T

1 ea

~Tec+Tb ■

t, мин

Рис. 2. Нормальный бло к до и после подготовки к интерполяции: Le - расстояние, умещающееся в

целое количество циклов интерполяции;_Ld - расстояние, не умещающееся в целое количество циклов

интерполяции / Fig. 2. Normal block before and after preparation for interpolation: Le - 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

a

a

a

a

a

a

ISSN0321-2653 IZVESTIYA VUZOV. SEVERO-KAVKAZSKIIREGION.

TECHNICAL SCIENCE. 2017. № 2

Описанные выше алгоритмы были использованы при создании контроллера движения, работающего под управлением операционной системы Linux с ядром реального времени Linux Debian SMP PREEMPT RT, обеспечивающим режим жесткого реального времени. Общая структура контроллера представлена на рис. 3.

I

Кадр ISO-7 bit

_±_

Интерпретатор

- 1

Информация о кадре

}

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Поток интерпретации

Условная переменная

Информация о кадре

_*_

Опережающий просмотр

I

Информация о кадре и макс. допустимая конечная скорость

_л!_

Разгон / торможение Информация о кадре и профиль скорости

Интерполяция

-1-

Общее перемещение за такт интерполяции

_*_

Отображение перемещения на каждую ось

Перемещение по каждой оси за такт интерполяции

Поток интерполяции

Перемещение по каждой оси за такт интерполяции

Контроллер позиции

-1-

Управление приводами +

}

Поток контроллера позиции

политики планирования (Round-Robin) на ядрах 2 и 3, обмениваясь информацией между собой при помощи разделяемой памяти. Оба потока используют таймер высокого расширения и выполняют запуск один раз в две миллисекунды, со смещением по времени запуска относительно друг друга на одну миллисекунду. Это позволяет значительно уменьшить конкурирование потоков за доступ к процессору.

Результаты работы алгоритма Look Ahead, планировщика траектории и интерполятора представлены в табл. 2.

Таблица 2 / Table 2 Результаты отработки управляющей программы / Testing results of the control program

Режим работы

Без

предварительного просмотра кадров

С предварительным просмотром одного кадра

Рис. 3. Схема работы потоков контроллера движения / Fig. 3. Flow diagram of motion controller threads

Как и в [10], задачи, выполняемые контроллером движения, разбиты на потоки, исполняемые с разными приоритетами и политиками планирования. Однако в данной работе помимо этого для каждого потока явно указан номер ядра процессора, на котором он должен исполняться. Поток интерпретации и поток графического интерфейса пользователя работают под управлением стандартного планировщика Linux, без использования реального времени на ядре номер 1. Интерпретатор выполняет покадровый разбор управляющей программы, помещая результат разбора в кольцевой буфер, который используется им совместно с потоком интерполяции. Как только буфер полностью заполняется, поток «засыпает» до тех пор, пока в буфере не появится свободное место. Потоки интерполяции и контроллера позиции работают в режиме реального времени c использованием циклической

Результат

С предварительным просмотром произвольного

количества кадров, определяемого по формуле (1)

12000 8000 4000 0

-4000 -8000 -12000

12000 8000 4000 0

-4000

-8000 -8000

-12000

7000 10500 14000 17500 21000 24500

7000 10500 14000 17500 21000 24500

12000

7000 10500 14000 17500 21000 24500

Примечание: по горизонтальной оси - время, мс; по горизонтальной оси - подача, м/мин; - подача, заданная в управляющей программе; - реальная подача

Как видно из данного примера, применение алгоритма опережающего просмотра при отработке программ, состоящих из кадров с малым перемещением, существенно увеличивает скорость выполнения управляющей программы без потери точности позиционирования.

ISSN 0321-2653 IZVESTIYA VUZOV. SEVERO-KAVKAZSKIIREGION.

Литература

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-

TECHNICAL SCIENCE. 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 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.

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 tekhnologicheskimiprotsessami: 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

i Надоели баннеры? Вы всегда можете отключить рекламу.