qweqweqe123123

Язык APT

Языков высокого уровня, предназначенных для программирования станков с ЧПУ, было институте (МIT) в 1956 г. В дальнейшем программа развивалась совместными усилиями 21 компании, причем финансировались эти разработки Ассоциацией аэрокосмической промышленности (Aerospace Industries Association — AIA). В результате в 1958 г. была создана система APT II, а в 1961 г. ее сменила более эффективная APT III. Институт технологических исследований штата Иллинойс (Illinois Institute of I echnology Re search Institute - IITRI) стал направлять дальнейшее развитие программы. Возможности APT непрерывно расширялись. Современные версии этого языка могут управлять станками, имеющими до пяти степеней свободы. За долгие годы своего существования язык APT породил множество разработано великое множество, но наиболее удобным и широко используемым оказался язык APT (Automatically Programmed Tool - Автоматически программируемый инструмент). Первый прототип системы APT был разработан в Массачусетском Технологическом производных языков.

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

В последующих разделах мы расскажем о геометрических операторах и операторах перемещений и приведем соответствующие примеры. Мы также рассмотрим важные операторы других типов и изучим программирование макросов на APT.

 

Геометрические операторы

Общая форма геометрического оператора выглядит следующим образом:

символ - геометрия / описание

Символ — это название геометрического элемента, играющее ту же роль, что и имя переменной в других языках высокого уровня. Название может быть длиной до 6 знаков и должно начинаться с буквы. Геометрия — слово, характеризующее тип объекта (точка, отрезок, плоскость, окружность, конус, сфера, линейчатая поверхность, табулированный цилиндр). Описание — численные данные, определяющие данный объект. Эти данные могут ссылаться на названия других объектов или включать слова низших уровней (в нижеследующем примере — INTOF), которые указывают тип геометрического определения. В приведенном коде показано, какими способами определяются типичные геометрические слова. В этом и последующих примерах будут использоваться только точки, отрезки, окружности и плоскости. Полное описание геометрических операторов можно найти в работе [ 15].

Существует много способов определить точку (рис. 11.13). В приведенном ниже коде комментарии даются после точки с запятой; в реальных программах на APT они не используются.

Р1 = POINT/X. Y. 2

Р2 = P0INT/L1. L2; точка пересечения ранее определенных отрезков РЗ « POINT/CENTER. С1: центр окружности

Р4 = POINT/YLARGE. INTOF. L1. С1: точка пересечения пряной и окружности (выбирается точка с большей координатой у)

Р5 = POINT/XLARGE. INTOF, L1. Cl: точка пересечения пряной и окружности (выбирается точка с большей координатой х)

Р6 = POINT/YLARGE, INTOF. Cl. С2: точка пересечения двух окружностей (с большей координатой у)

Р7 = POINT/XLARGE, INTOF. Cl. С2: точка пересечения двух окружностей (с большей

координатой х)

Показанные на рис. 11.14 отрезки определяются следующим образом:

L1 - LINL/X1. Y1. 21. Х2. Y2. 22: отрезок, соединяющий точки (.X1. Y1. Z1) и (Х2. Y2. Z2) L2 = LINE/P1. Р2: отрезок между определенными ранее точками Р1 и Р2

 

Язык APT

 

Язык APT

 

Окружности на рис. 11.15 были получены следующими командами:

C1 = CIRCLE/X. Y. Z. R: окружность с центрои в точке (X. Y. Z) радиуса R С2 - CIRCLE/CENTER. PI. RADIUS. R: окружность с центром в Р1 радиуса R СЗ = CIRCLE/CENTER. PI. TANTO. L0: окружность с центром в Р1. касательная к L0 С4 = CIRCLE/P1. Р2. РЗ; окружность, проходящая через три заданные точки

L3 = IINE/P1 PARLEL. L0: отрезок, проходящий через точку Р1 и параллельный отрезку L0

L4 = LINE/P1 PERPTO. L0: отрезок, проходящий через точку Р2 и параллельный отрезку L0 L5 = LINE/P1 LEFT TANTO. Cl: отрезок, проходящий через точку Р1 и касательный к окружности С1 (проходит слева от центра окружности, если смотреть из Р1)

L6 = LINE/P1 RIGHT. TANTO. Cl; отрезок, проходящий через точку Р1 и касательный к окружности С1 (справа, если смотреть из Р1)                                      

L7 = line/LEFT. TANTO. Cl LEFT. TANTO C2: отрезок, касательный слева к окружности Cl и слева же к окружности С2. если смотреть от С1 к С2                             _

L8 = LINE/LEFT TANTO. Cl. RIGHT. TANTO. C2; отрезок, касательный слева к окружности С1 и справа к окружности С2. если смотреть от С1 к С2

L9 = LINE/RIGHT. TANTO. Cl. LEFT. TANTO. C2: отрезок, касательный справа к окружности С1 и слева к С2 если смотреть от С1 к С2

L10 = LINE/RIGHT. TANTO. Cl. RIGHT. TANTO. C2. отрезок, касательный справа к окружности Cl и справа же к С2. если смотреть от С1 к С2   

L11 = LINE/P1. ATANGL. Degree. L0: отрезок, проходящий через току Р1 и составляющий угол Degree с прямой L0. Угол отсчитывается против часовой стрелки

С5 = CIRCLE/{XSMALL>. Q. {XSMALL}. L2. RADIUS R XLARGE       

   xlarge

ysmall           ysmall

YLARGE         VLARGE

 
 

Язык APT

 
 

Последовательная команда позволяет построить одну из четырех окружностей С5, показанных на рис.11.15, в зависимости от того, какие именно модификаторы будут в ней испольэованы. Модификаторы определяют расположение центра окружности относительно касательной  к этой окружности. Например, окружности на рис.11.16 получаются следующими командами:

С6 = CIRCLE/YSMALL. LI. XLARGE. L2. RADIUS. 4.0 или

С6 = CIRCLE/YLARGE. LI. YLARGE. L2. RADIUS. 4 О1

С7 = CIRCLE/YSMALL. LI. YLARGE. L2. RADIUS. 3 О

C8 - CIRCLE/YLARGE. LI. YSMALL. L2. RADIUS. 2.0

Язык APT

Как и геометрические объекты, плоскости тоже могут определяться множеством способов. Мы приведем лишь два примера:

PL1 = PLANE/P1. Р2. РЗ ; три точки, не лежащие на одной пряной, определяют плоскость

PL2 = PLANE/PARLEL. PL0. {XLARGE}. D : плоскость, параллельная PL0 и лежащая

XSMALL на расстоянии D от нее; кодификатор

YLARGE позволяет выбрать одну из двух

YSHALL получающихся плоскостей

ZLARGE

ZSMALL

 

Операторы перемещений

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

В позиционном регулировании используются три оператора, позволяющих установить инструмент в заданную точку:

FROM/координаты точки

GOTO/координаты точки

GODLTA/Δх. Δу. Δг


Координаты точки могут задаваться непосредственно или через символ объекта, определенного ранее при помощи одного из геометрических операторов. Оператор FROM задает начальное положение, то есть точку, из которой начинается движение. Оператор GOTO осуществляет быстрое перемещение инструмента по прямой линии из его текущего положения в точку, координаты которой указываются в этом операторе. Оператор GODLTA смещает инструмент на заданные приращения относительно текущего положения. Этот оператор очень полезен для смещения инструмента вдоль одной из осей, что часто используется при сверлении.
 

 

Дополнительные операторы APT

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

Начнем с команд постпроцессора. Они передаются в CL-файл в неизменном виде и позднее обрабатываются постпроцессором.

  • MACHIN/

Оператор осуществляет выбор станка и соответствующего ему постпроцессора Например,

MACHIN/DRILL, 2

может обозначать второй сверлильный станок с ЧПУ в данном цехе.

  • COOLNT/

Оператор позволяет включать и отключать подачу охлаждающей жидкости Используется с модификаторами ON, OFF, FLOOD, MIST и TAPKUL Например:

COOLNT/MIST

COOLNT/FLOOD

COOLNT/OFF

  • FEDRAT/

Оператор задает скорость подачи режущего инструмента в дюймах в минуту Например:

FEDRAT/4.5

  • SPINDL/

Оператор включает шпиндель и позволяет указать скорость его вращения в оборотах в минуту. Например:

SPINDL/ON SPINDL/1250, CCLW

  • TOOLNO/

Оператор задает номер используемого инструмента.

TOOLNO/3572, 6

обозначает инструмент № 3572 длины 6 единиц.

  • TURRET/

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

  • END

Оператор останавливает станок, после чего персонал может произвести проверку или заменить инструмент.

Требования к допуску используются при аппроксимации криволинейного контурного движения последовательностями отрезков прямых. Допуск характеризуется двумя значениями: INTOL/ и OUTTOL/, соответствующими внутренней и внешней границам (рис. 11.24). Эти значения могут быть указаны, например, так:

INTOL/0.005 OUTTOL/O.003

 
 

Язык APT

 
 

Оператор CUTTER/ используется для задания диаметра режущего инструмента, который, в свою очередь, учитывается при компенсации. Например, команда CUTTER/0.6 означает, что диаметр резца составляет 0,6 единицы. Если же указать диаметр инструмента, отличающийся от настоящего, можно обработать поверхность с некоторым остатком материала. Это полезно для чернового прохода.

 

Прочие возможности APT

Подобно обычным языкам программирования высокого уровня, APT предусматривает средства для выполнения арифметических вычислений, организации циклов и вызова подпрограмм (которые в этом языке называются макросами). Повторяющиеся операции можно объединить в подпрограмму и вызывать ее из главной программы столько раз, сколько потребуется. Параметры подпрограммы могут быть обозначены как переменные, так что при вызове макроса им могут быть присвоены любые нужные значения. Идея та же, что и при использовании переменных аргументов в подпрограмме на языке FORTRAN. В качестве демонстрации возможностей макросов мы перепишем программу из примера 11.2:

РО = P01NI/0.0. 3.0. 0.1 F

ROM/Р0

CALI/DRILL. X = 1.0. Y = 1.0. Z - 0.1. DEPTH = 0.7

CALL/0R1LL. X = 2.0. Y * 1.0. Z = 0.1. DEPTH = 0.7

GOTO/PO

Здесь макрос DRILL определен следующим образом:

DRILL - MACRO/X. Y. Z. DEPTH

G0T0/X. Y. Z

GODLTA/0. 0. -DEPTH

G0DLTA/0. 0. DEPTH

TARMAC

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

 

1  Окружность С6 можно опредедлить еще двумя способами. Окружности С7 и С8 тоже мжно определить четырьмя способами каждую

Смотрите также