Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Запрос на прерывание о



«0» готовности управляющих

4 Преры - устройств приводов,

Вание принять задаваемые данные.

       
   
 
   


«1» А также проверка условий

5 окончания обработки отре-

Выдача задающих зка программой траектории,

Воздействий на задание данных в кадре

приводы управления программой.

           
     
 
 


Конец

Методы и алгоритмы интерполяции,

основанные на численном решении.

ДУ (1 группа).

Задача линейной интерполяции (постановка).

Y

К

Yкон

Yнач Н

0 Х

Хнач Хкон

Составим ДУ описывающее движение:

а) каноническое уравнение прямой.

Х – Хнач Y - Yнач

¾¾¾¾ = ¾¾¾¾¾¾

Хкон – Хнач Yкон – Yнач

б) Продифференцировав по у:

dy Хкон – Хнач dx dy A(Хкон - Хнач)

¾ = ¾¾¾¾¾¾ ¾ · ¾ = ¾¾¾¾¾¾¾ (1)

dy Yкон – Yнач dy dt A(Yкон – Yнач)

 
 


dy

¾ = А(Хкон – Хнач)

dx

(2)

dy

¾ = A(Yкон – Yнач)

dt

где А найдём из условия:

______________

Vk = Ö (dx/dt)2 + (dy/dt)2 А = Vk/DL

_______________________

Dl = Ö (Хкон – Хнач)2 + (Yкон – Yнач)2

г) Перейдём к приращениям dx ® Dх, dy ®Dy, dt®Tk.

 
 


DXт = ¾ (Xкон – Xнач) – Тк

DL

(3)

Vk

DYт = ¾ (Yкон – Yнач) - Tk

DL

где DХт, DYт – кодовые приращения координат за Тк.

(3) - алгоритм для CNC системы.

д) Для NC – системы (3) и (4) – для аппаратной реализации на

Ц. Д. А.

DL

Dtx = ¾¾¾¾¾¾ · DХт

Vk(Хкон – Хнач)

DL

Dty = ¾¾¾¾¾¾¾¾ ·DYт

Vk(Yкон – Yнач)

Программная реализация алгоритма линейной кодовой интерполяции (в форме 3).

1) На этапе подготовки данных в кадре УП рассчитывается приращение D Хт и D Yт с учётом циклического переноса начала отрезка (Xнач, Yнач) в начале координат, то есть

Хнач = 0, Yнач = 0.

Следовательно,

Vk × Xкон Yk × Yкон

DХт = ¾¾¾¾¾ · Tk, DYt = ¾¾¾¾

________ _______

ÖХк2 + Yk2 ÖXk2 + Yk2

2) В оперативной (основной) части периода дискретности вычисляется текущее значение координат на К – той шкале.

к

а) Х[к] = å DХт [i] Y[к] = å DYт [i]

i=1

где i ® t1 = i×Tк

к ® tк = к×Тк

б) Задающие воздействия на приводы.

 
 


X3[K] = int {X[k]}

, где int {... } – выделение целой части.

Y3[K] = int {Y[k]}

в) остатки (дробная часть) переносятся в (к+1)-й итог, то есть накапливаются.

Х [ k+1 ] = x3[k] + Dxт + {х [ k ] } д

Y [ k+1 ] = y3[k] + Dyт + {y [ k ] } д д – дробная часть.

г) Контроль остатков пути.

 
 


Хост = Хкон – Х [ к ]

Yост = Yкон – Y [ k ]

 
 


Он необходим, т. к. DХт, DYт могут не укладываться целое число раз DL.

int Ñ x(k), если ½Хост½> DХт

DX3[k] =

int ½Хост½, если ½Хост½£ DХт

 
 


int Ñ y [ k ], если ½Yост½ > DYт

DY3[ k ] =

int ½Yост½, если ½ Yост ½ £ DYт

где int Ñ х [k] = int х [к] – int х [k –1]

int Ñ y [ к ] = int y [ к ] – int y [ k – 1 ]

Обеспечивается отсутствие погрешности в задающих воздействиях на последнем итоге интерполяции России. Алгоритм линейной интерполяции называется базовым. Его особенностью является отсутствие длинных операций. Распределение целой и дробной части кодового представления операндов x [k] и y [k].

x [ k ] = int { x [ k ] + {x [ k ]} д

           
     


код целая дробная

Определяется требованиями ISO.

Например: при dz = 1 мкм = 10 -6 м

и Хmax = Ymax = 10 м = 107 мкм имеем

Хmax = 107 dz = 224 dz

Следовательно: nint = 24, кодов х [к], у [к].

Необходимая разность дробной части определяется на основе анализа погрешности интерполяции Þ nд = 24 (не меньше).

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

n = nint + nд = 24 + 24 = 48 разрядными кодами.

y

x [ k ]

y [ k ]

 
 


R x [ k + 1 ]

Dj y [ k + 1 ]

 
 


jr

х

х [k] = R cosj0

y [k] = R sinj0

при Vk = const

m0 за Tk – приращение угла.

Vk

Dj = wTk = ¾ Tk

R

X [ k + 1 ] = R cos (j0 + Dj)

Y [ k + 1 ] = R sin (j0 + Dj)

а) Базовый алгоритм круговой интерполяции. Его вывод:

х [ k +1 ] = R cos j0 cos Dj - R sin j0 sin Dj =

= (cos Dj) × x [ k ] – (sin Dj) × y [ k ]

y [ k +1 ] = R sin j0 cos j0 + R cos j0 sin Dj =

= (sin Dj) × y [ k ] + (cos Dj) × x [ k ]

или x[k+1]=a×x[k]-b×y[k]

y[k+1]=b×x[k]-a×y[k] (1)

где a=cos(Vk/R×Tk)=const

b=sin(Vk/R×Tk[А.М.1])=const

Таким образом, основным недостатком алгоритма (1) является:

- 4 операции умножения.

- Коэффициенты a, b – тригонометрические функции.

На практике применяют более простые модификации.

Классическая модификация алгоритма круговой

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

Каноническое уравнение окружности (х+х0)2+(у+у0)2=R2

где:

х0, у0 – координаты центра окружности.

После дифференцирования по х:

2(х+х0)+2(у+у0)dy/dx=0

Перейдём к системе ДУ:

dx/dy = -w(y+y0) dy/dt = w(x+x0) ] (*)

где w = Vk/R – круговая частота.

Решая (*) методом Эйлера получаем:

 
 


x[k+1] = x[k] - Vk/R Tk y[k]

(**)

y[k+1] = y[k] + Vk/R Tk x[k]

const

+ 1) только 2 операции *.

2) не требуется вычислять sin и cos.

По условиям точности данный алгоритм так же требует 48 разрядов представления операндов.

Метод (алгоритм) последовательного вычисления координат (другое модифицирование алгоритма круговой интерполяции), классический.

Из первого уравнения алгоритма (**).

x[k]=x[k+1]+Vk/RTky[k]

Подставив x[k] во 2-е уравнение получим:

x[k+1]=x[k]-Vk/RTky[k]

y[k+1]=y[k]-Vk/RTk{x[k+1]+Vk/RTky[k]}=

=y[k]+Vk/RTkx[k+1]

Так как (Vк/RTк)2y[k]=Dj2y[k] – мало Dj<<1





Дата публикования: 2014-11-28; Прочитано: 277 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.016 с)...