ВУЗ:
Составители:
 Circle.X1=0;  // Координата первой точки окружности по оси 
X, мкм 
 Circle.Y1=0;  // Координата первой точки окружности по оси 
Y, мкм 
 Circle.X2=0;  // Координата второй точки окружности по оси 
X, мкм 
 Circle.Y2=0;  // Координата первой точки окружности по оси 
Y, мкм 
 Circle.Plane=1;  // Плоскость интерполирования XY 
 Circle.a_c=1000; // Контурное ускорение, мкм/с2 
 Circle.V1=1000; // Начальная контурная скорость, мкм/с 
 Circle.V2=0;  // Начальная контурная скорость, мкм/с 
 Circle.Direction=0; // Направление движения по часовой стрелке 
Как  и  в  случае  с  линейной  интерполяцией  количество  тактов  в  общем 
случае определяется геометрией траектории движения, заданными контурными 
скоростями  и  ускорениями,  а  также  частотой  квантования  в  контуре  положе-
ния. 
Частота  вызова  функции  определяется  периодом  квантования  в  контуре 
положения.  При  первом  вызове  функции  производится  расчет  базовых  пара-
метров  интерполятора  и  выполняется  расчет  задания  по  положению  для  ука-
занных в структуре Circle осей. При дальнейшем вызове функции интерполято-
ра  выполняется  расчет  лишь  задания  по  положению.  Базовые  параметры  хра-
нятся в структуре Circle. 
Рис. 4.29. Круговая интерполяция (Line.X_out, Line.Y_out, Line.Z_out, Line.K_out – сигнал за-
дания на ЦАП либо на контур положения в зависимости от настроек сервомодуля) 
Помимо базовых параметров на каждом такте интерполяции используют-
ся  величины  заданий  полученные  на  предыдущем  такте  интерполяции.  Пере-
менные, хранящиеся в структуре Circle, описаны ниже. 
Структура кадра круговой интерполяции «Circle». 
typedef struct  
{ float Xc,Yc,Zc;   //Координаты центра окружности; 
148
Страницы
- « первая
 - ‹ предыдущая
 - …
 - 146
 - 147
 - 148
 - 149
 - 150
 - …
 - следующая ›
 - последняя »
 
