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

Программирование обработки на станках с ЧПУ осуществляется на языке, который обычно называют языком ISO 7 бит или языком G и M кодов. Язык G и М кодов основывается на положениях Международной организации по стандартизации (ISO) и Ассоциации электронной промышленности (EIA).

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

Японские системы ЧПУ FANUC (FANUC CORPORATION) были одними из первых, адаптированных под работу с G и М кодами и использующими этот стандарт наиболее полно. В настоящее время стойки FANUC являются наиболее распространенными как за рубежом, так и в России.

Системы ЧПУ других известных производителей, например SINUMERIK (SIEMENS AG) и HEIDENHAIN, также имеют возможности по работе с G и М кодами, однако некоторые специфические коды могут отличаться. О разнице в программировании специфических функций можно узнать из документации к конкретной системе ЧПУ.

Существует три метода программирования обработки для станков с ЧПУ :

  • Ручное программирование.

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

  • Программирование на пульте УЧПУ.

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

  • Программирование при помощи CAD/CAM системы.

Программирование при помощи CAD/САМ системы позволяет "поднять" процесс написания программ обработки на более высокий уровень. Работая с CAD/CAM системой, технолог-программист избавляет себя от трудоемких математических расчетов и получает инструменты, значительно повышающие скорость написания управляющих программ.

Cовокупность команд на языке программирования, соответствующая алгоритму функционирования станка по обработке конкретной заготовки называется управляющая программа (УП) .

Управляющая программа состоит из последовательности кадров и обычно начинается с символа начало программы (%) и заканчивается М02 или М30.

Каждый кадр программы представляет собой один шаг обработки и (в зависимости от УЧПУ) может начинаться с номера кадра (N1...N10 и т.д.), а заканчиваться символом конец кадра (;).

Кадр управляющей программы состоит из операторов в форме слов (G91, M30, X10. и т.д.). Слово состоит из символа (адреса) и цифры, представляющее арифметическое значение.

Адреса X, Y, Z, U, V, W, P, Q, R, A, B, C, D, E являются размерными перемещениям, используют для обозначения координатных осей, вдоль которых осуществляются перемещения.

Слова, описывающие перемещения, могут иметь знак (+) или (-). При отсутствии знака перемещение считается положительным.

Адреса I, J, K означают параметры интерполяции.

G - подготовительная функция.

M - вспомогательная функция.

S - функция главного движения.

F - функция подачи.

T, D, H - функции инструмента.

Символы могут принимать другие значения в зависимости от конкретного УЧПУ.

G коды для ЧПУ

G00 - быстрое позиционирование.

Функция G00 используется для выполнения ускоренного перемещения режущего инструмента к позиции обработки или к безопасной позиции. Ускоренное перемещение никогда не используется для выполнения обработки, так как скорость движения исполнительного органа станка очень высока. Код G00 отменяется кодами: G01, G02, G03.

G01 - линейная интерполяция.

Функция G01 используется для выполнения прямолинейных перемещений с заданной скоростью (F) . При программировании задаются координаты конечной точки в абсолютных значениях (G90) или приращениях (G91) с соответственными адресами перемещений (например X, Y, Z). Код G01 отменяется кодами: G00, G02, G03.

G02 - круговая интерполяция по часовой стрелке.

Функция G02 предназначена для выполнения перемещения инструмента по дуге (окружности) в направлении часовой стрелки с заданной скоростью (F). При программировании задаются координаты конечной точки в абсолютных значениях (G90) или приращениях (G91) с соответственными адресами перемещений (например X, Y, Z).

Код G02 отменяется кодами: G00, G01, G03.

G03 - круговая интерполяция против часовой стрелки.

Функция G03 предназначена для выполнения перемещения инструмента по дуге (окружности) в направлении против часовой стрелки с заданной скоростью (F). При программировании задаются координаты конечной точки в абсолютных значениях (G90) или приращениях (G91) с соответственными адресами перемещений (например X, Y, Z).

Параметры интерполяции I, J, K, которые определяют координаты центра дуги окружности в выбранной плоскости, программируются в приращениях от начальной точки к центру окружности, в направлениях, параллельных осям X, Y, Z соответственно.

Код G03 отменяется кодами: G00, G01, G02.

G04 - пауза.

Функция G04 - команда на выполнение выдержки с заданным временем. Этот код программируется вместе с X или Р адресом, который указывает длительность времени выдержки. Обычно, это время составляет от 0.001 до 99999.999 секунд. Например G04 X2.5 - пауза 2.5 секунды, G04 Р1000 - пауза 1 секунда.

G17 - выбор плоскости XY.

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

G18 - выбор плоскости XZ.

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

G19 - выбор плоскости YZ.

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

G40 - отмена коррекции на радиус инструмента.

Функция G40 отменяет действие автоматической коррекции на радиус инструмента G41 и G42.

G41 - левая коррекция на радиус инструмента.

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

G42 - правая коррекция на радиус инструмента.

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

G43 - коррекция на положение инструмента.

Функция G43 применяется для компенсации длинны инструмента. Программируется вместе с функцией инструмента (H).

G54 - G59 - заданное смещение.

Смещение рабочей системы координат детали относительно системы координат станка.

G70 - ввод дюймовых данных.

Функция G70 активизирует режим работы с дюймовыми данными.

G71 - ввод метрических данных.

Функция G71 активизирует режим работы с метрическими данными.

G80 - отмена постоянного цикла.

Функция, которая отменяет любой постоянный цикл.

G81 - стандартный цикл сверления.

Цикл G81 предназначен для зацентровки и сверления отверстий. Движение в процессе обработки происходит на рабочей подаче. Движение в исходное положение после обработки идет на ускоренной подаче.

G82 - сверление с выдержкой.

Цикл G82 предназначен для сверления и зенкования отверстий. Движение в процессе обработки происходит на рабочей подаче с паузой в конце. Движение в исходное положение после обработки идет на ускоренной подаче.

G83 - цикл прерывистого сверления.

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

G84 - цикл нарезания резьбы.

Цикл G84 предназначен для нарезания резьбы метчиком. Движение в процессе обработки происходит на рабочей подаче, шпиндель вращается в заданном направлении. Движение в исходное положение после обработки идет на рабочей подаче с обратным вращением шпинделя.

G85 - стандартный цикл растачивания.

Цикл G85 предназначен для развертывания и растачивания отверстий. Движение в процессе обработки происходит на рабочей подаче. Движение в исходное положение после обработки идет на рабочей подаче.

G86 - цикл растачивания с остановкой вращения шпинделя.

Цикл G86 предназначен для растачивания отверстий. Движение в процессе обработки происходит на рабочей подаче. В конце обработки происходит остановка шпинделя. Движение в исходное положение после обработки идет на ускоренной подаче.

G87 - цикл растачивания с отводом вручную.

Цикл G87 предназначен для растачивания отверстий. Движение в процессе обработки происходит на рабочей подаче. В конце обработки происходит остановка шпинделя. Движение в исходное положение после обработки идет вручную.

G90 - режим абсолютного позиционирования.

В режиме абсолютного позиционирования G90 перемещения исполнительных органов производятся относительно нулевой точки рабочей системы координат G54-G59 (программируется, куда должен двигаться инструмент). Код G90 отменяется при помощи кода относительного позиционирования G91.

G91 - режим относительного позиционирования.

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

G94 - скорость подачи в дюймах/миллиметрах в минуту.

При помощи функции G94 указанная скорость подачи устанавливается в дюймах или в миллиметрах за 1 минуту. Программируется вместе с функцией подачи (F). Код G94 отменяется кодом G95.

G95 - скорость подачи в дюймах/миллиметрах на оборот.

При помощи функции G95 указанная скорость подачи устанавливается в дюймах или в миллиметрах на 1 оборот шпинделя. Т.е. скорость подачи F синхронизируется со скоростью вращения шпинделя S. Код G95 отменяется кодом G94.

M коды для ЧПУ

М00 - программируемый останов.

Когда СЧПУ исполняет команду М00, то происходит останов. Все осевые перемещения останавливаются, при этом шпиндель (у большинства станков) продолжает вращаться. Работа по программе возобновляется со следующего кадра после нажатия кнопки "Старт".

М01 - останов с подтверждением.

Код М01 действует аналогично М00, но выполняется только после подтверждения с пульта управления станка. Если клавиша подтверждения нажата, то при чтении кадра с М01 происходит останов. Если же клавиша не нажата, то кадр М01 пропускается и выполнение УП не прерывается.

М02 - завершение программы.

Код М02 указывает на завершение программы и приводит к останову шпинделя, подачи и выключению охлаждения.

М0З - вращение шпинделя по часовой стрелке.

При помощи кода М0З включается прямое вращение шпинделя с запрограммированным числом оборотов (S) . Код М0З действует до тех пор, пока он не будет отменен с помощью М04 или М05.

М04 - вращение шпинделя против часовой стрелки.

При помощи кода М04 включается обратное вращение шпинделя с запрограммированным числом оборотов (S). Код М04 действует до тех пор, пока он не будет отменен с помощью М03 или М05.

М05 - останов шпинделя.

Код М05 останавливает вращение шпинделя, но не останавливает осевые перемещения.

М06 - смена инструмента.

При помощи кода М06 инструмент, закрепленный в шпинделе, меняется на инструмент, находящийся в положении готовности в магазине инструментов.

М07 - включение охлаждения №2.

Код М07 включает подачу СОЖ в зону обработки в распыленном виде, если станок обладает такой возможностью.

М08 - включение охлаждения №1.

Код М08 включает подачу СОЖ в зону обработки в виде струи.

М09 - отключение охлаждения.

Код М09 выключает подачу СОЖ и отменяет команды М07 и М08.

М10 - зажим.

Код М10 относиться к работе с зажимным приспособлением подвижных органов станка.

М11 - разжим.

Код М11 относиться к работе с зажимным приспособлением подвижных органов станка.

МЗ0 - конец информации.

Код МЗ0 информирует СЧПУ о завершении программы, приводит к останову шпинделя, подачи и выключению охлаждения.

Дополнительные функции и символы при программировании станков с ЧПУ

X, Y, Z - команды осевого перемещения.

А, В, С - команды кругового перемещения вокруг осей X, Y, Z соответственно.

I, J, К - параметры круговой интерполяции параллельные осям X, Y, Z соответственно.

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

D - значение коррекции на радиус инструмента.

Н - значение компенсации длины инструмента.

F - функция подачи.

S - функция главного движения.

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

N - нумерация кадров УП.

/ - пропуск кадра.

(...) - комментарии в УП.

2.1 Структура и содержание программы ЧПУ

Указание

Руководством по разработке программы обработки деталей является DIN 66025.

Программа (ЧПУ/обработки деталей) состоит из последовательности кадров ЧПУ (см. следующую таблицу). Каждый кадр представляет собой один шаг обработки. В кадре записываются операторы в форме слов. Последний кадр в последовательности выполнения содержит специальное слово для конца программы: M2, M17 или M30.

;комментарий

;1-ый кадр

;2-ой кадр

;конец программы (последний кадр)

Имена программ

Каждая программы имеет собственное имя, которое свободно выбирается при создании программы с соблюдением следующих условий (кроме формата перфоленты):

первыми двумя символами должны быть буквы (также и буква с символом подчеркивания)

прочие буквы, цифры

MPF100 или WELLE или

На ЧПУ показываются только первые 24 знака идентификатора программы.

Формат перфоленты

Имена файлов:

Имена файлов могут включать знаки

0...9, A...Z, a...z или _ и иметь максимальную длину в 24 знака.

Имена файлов должны иметь 3-х буквенное расширение (_xxx).

Данные в формате перфоленты могут создаваться отдельно или обрабатываться в редакторе. Имя файла, сохраненного в памяти ЧПУ, начинается с "_N_ ".

Файл в формате перфоленты вводится % <имя>, "% " должен стоять в первой графе первой строки.

%_N_WELLE123_MPF = программа обработки детали WELLE123 или

%Flansch3_MPF = программа обработки детали Flansch3

Прочую информацию по передаче, созданию и сохранению программ обработки деталей можно найти в:

/BAD/, /BEM/ Руководство по эксплуатации HMI Advanced, HMI Embedded глава "Область управления Программа"/"Область управления Службы"

2.2 Языковые элементы языка программирования

Языковые элементы языка программирования определяются

набором символов с прописными/строчными буквами и цифрами

словами с адресом и последовательностью цифр

кадрами и структурой кадров

длиной кадра с макс. возможным количеством знаков

последовательностью слов в кадре с таблицей адресов и их значением

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

номером кадра

адресами с таблицей для важных адресов и объяснениями

адресами, действующими модально или в кадре

адресами с осевым расширением с таблицей расширенного написания адреса

фиксированными адресами с таблицей и данными по значению для стандартной установки

фиксированными адресами с осевым расширением с таблицей и указанием значения для стандартной установки

устанавливаемыми адресами с указанием устанавливаемых букв адреса

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

идентификаторами, к примеру, переменными, подпрограммами, кодовыми словами, адресами DIN и метками перехода

Руководство по программированию, выпуск 10.2004, 6FC5 298-7AB00-0PP1

Основы программирования ЧПУ 2.2 Языковые элементы языка программирования

Набор символов

Для создания программ ЧПУ имеются следующие символы:

Прописные буквы

A, B, C, D, E, F, G, H, I, J, K, L, M, N,(O),P, Q, R, S, T, U, V, W, X, Y, Z

При этом учитывать:

Не путать букву "O" с числом "0".

Строчные буквы

a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z

Указание Прописные и строчные буквы не различаются.

1, 2, 3, 4, 5, 6, 7, 8, 9

Специальные символы

% Символ начала программы (только для создания программы на внешнем PC)

< меньше

> больше

: Главный кадр, конец метки, связывающий оператор

= Присвоение, часть равенства

/ Деление, пропуск кадра

* Умножение

Сложение

- Вычитание, отрицательный знак

" Кавычки, идентификация для цепочки символов

" Апостроф, идентификация для специальных числовых данных: шестнадцатеричные, двоичные

? Зарезервировано

! Зарезервировано

Основы программирования ЧПУ 2.2 Языковые элементы языка программирования

Указание Скрытые специальные символы обрабатываются как символы пробела.

Программы ЧПУ состоят из кадров; кадры в свою очередь состоят из слов.

Слово "Языка ЧПУ" состоит из символа адреса и цифры или последовательности цифр, представляющей арифметическое значение.

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

Кадры и структура кадров

Программа ЧПУ состоит из отдельных кадров, кадр – из (нескольких) слов.

Кадр должен включать в себя все данные для выполнения рабочей операции, и заканчивается символом "LF " (LINE FEED = новая строка).

Руководство по программированию, выпуск 10.2004, 6FC5 298-7AB00-0PP1

Основы программирования ЧПУ 2.2 Языковые элементы языка программирования

Указание

Символ "LF " не записывается; он создается автоматически при переключении строк.

Длина кадра

Кадр может состоять макс. из 512 символов (включая комментарий и символ конца кадра

"LF ").

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

66 символов каждый. Комментарии также показываются. Сообщения показываются в отдельном окне сообщений.

Последовательность слов в кадре

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

N10 G… X… Y… Z… F… S… T… D… M… H…

Значение

Адрес номера кадра

Номер кадра

Функция перемещения

Путевая информация

Число оборотов

Инструмент

Номер коррекции инструмента

Дополнительная функция

Вспомогательная функция

Указание Некоторые адреса могут использоваться многократно в одном кадре (к примеру, G…, M…, H…)

Руководство по программированию, выпуск 10.2004, 6FC5 298-7AB00-0PP1

Основы программирования ЧПУ 2.2 Языковые элементы языка программирования

Главный/вспомогательный кадр

Различаются два вида кадров:

главные кадры и

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

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

Указание Главные кадры могут находиться как в главной, так и в подпрограммах. СЧПУ не

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

Номер кадра

Главные кадры обозначаются номером главного кадра. Номер главного кадра состоит из символа ":" и положительного целого числа (номер кадра). Номер кадра всегда стоит в начале кадра.

Указание Номера главных кадров внутри программы должны быть уникальными, чтобы получить

однозначный результат при поиске.

:10 D2 F200 S900 M3

Вспомогательные кадры обозначаются номером вспомогательного кадра. Номер вспомогательного кадра состоит из символа "N" и положительного целого числа (номер кадра). Номер кадра всегда стоит в начале кадра.

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

получить однозначный результат при поиске.

Последовательность номеров кадров может быть любой, но рекомендуется растущая последовательность номеров кадров. Можно программировать кадры ЧПУ и без номеров кадров.

Основы Руководство по программированию, выпуск 10.2004, 6FC5 298-7AB00-0PP1

Основы программирования ЧПУ 2.2 Языковые элементы языка программирования

Адреса это фиксированные или устанавливаемые идентификаторы для осей (X, Y, ...) числа оборотов шпинделя (S), подачи (F), радиуса окружности (CR) и т.д.

Пример: N10 X100

Важные адреса

Примечание

Круговая ось

ливаемый

Интервал перешлифовки для траекторных функций

фиксированный

Круговая ось

ливаемый

Круговая ось

ливаемый

Снятие фасок угла контура

фиксированный

Номер режущей кромки

фиксированный

фиксированный

FA[ось ]=... или

Осевая подача

фиксирован-

FA[шпиндель ]=... или

(только если номер шпинделя задается через переменную)

Функция перемещения

фиксированный

Вспомогательная функция

фиксирован-

Вспом. функция без остановки чтения

Параметр интерполяции

устанавливаемый

Параметр интерполяции

устанавливаемый

Параметр интерполяции

устанавливаемый

Вызов подпрограммы

фиксированный

Доп. функция

фиксирован-

Доп. функция без остановки чтения

Вспомогательный кадр

фиксированный

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

фиксированный

Кол-во прогонов программы

фиксированный

Позиционирующая ось

фиксированный

POSА[ось]=…

фиксированный

Позиция шпинделя

фиксирован-

Позиция шпинделя за границу кадра

фиксирован-

устанавливаемый

R0=... до Rn=...

R-параметр, n может устанавливаться через MD

фиксирован-

(стандарт 0 - 99)

устанавливаемый

Руководство по программированию, выпуск 10.2004, 6FC5 298-7AB00-0PP1

Основы программирования ЧПУ 2.2 Языковые элементы языка программирования

Закругление угла контура

фиксированный

Закругление угла контура (модально)

фиксированный

Число оборотов шпинделя

фиксированный

Номер инструмента

фиксированный

устанавливаемый

устанавливаемый

устанавливаемый

устанавливаемый

" абсолютный

" инкрементальный

устанавливаемый

устанавливаемый

Апертурный угол

устанавливаемый

Полярный угол

устанавливаемый

Радиус окружности

устанавливаемый

Полярный радиус

фиксированный

Главный кадр

устанавливаемый

"фиксированный"

Этот идентификатор адреса доступен для определенной функции. Изготовитель станка

"устанавливаемый"

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

Адреса, действующие модально/покадрово

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

Основы программирования ЧПУ 2.2 Языковые элементы языка программирования

Расширенные адреса

Расширенное написание адресов позволяет систематизировать большее количество осей и шпинделей. Расширенный адрес состоит из цифрового расширения или из записанного в квадратных скобках идентификатора переменных и присвоенного с помощью символа "=" арифметического выражения.

Расширенное написание адреса допускается только для следующих простых адресов:

Значение

Адреса осей

Параметры интерполяции

Число оборотов шпинделя

Позиция шпинделя

Дополнительные функции

Вспомогательные функции

Номер инструмента

Число (индекс) при расширенном написании адреса для адресов M, H, S, а также для SPOS и SPOSA может заменяться переменной. При этом идентификатор переменных стоит в квадратных скобках.

Руководство по программированию, выпуск 10.2004, 6FC5 298-7AB00-0PP1

Основы программирования ЧПУ 2.2 Языковые элементы языка программирования

Фиксированные адреса

Следующие адреса установлены фиксировано:

Значение (стандартная установка)

Номер режущей кромки

Функция перемещения

Вспомогательная функция

Вызов подпрограммы

Дополнительная функция

Вспомогательный кадр

Число прогонов программы

R-параметр

Число оборотов шпинделя

Номер инструмента

: Главный кадр

Пример для программирования: N10 G54 T9 D2

Фиксированные адреса с осевым расширением

Значение (стандартная установка)

Осевое значение (переменное программирование оси)

Осевое ускорение

Осевая подача

Осевая подача для наложения маховичка

Осевое ограничение подачи

Параметры интерполяции (переменное программирование оси)

Осевая процентовка

Полиномиальный коэффициент

Позиционирующая ось

Позиционирующая ось через границу кадра

Объяснение:

При программировании с осевым расширением перемещаемая ось стоит в квадратных скобках.

Полный список всех фиксировано установленных адресов можно найти в приложении.

Руководство по программированию, выпуск 10.2004, 6FC5 298-7AB00-0PP1

Основы программирования ЧПУ 2.2 Языковые элементы языка программирования

Устанавливаемые адреса

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

Указание Устанавливаемые адреса должны быть однозначными внутри СЧПУ, т.е. один и тот

же идентификатор адреса не может использоваться для различных типов адресов.

В качестве типов адресов при этом различаются:

осевые значения и конечные точки

параметры интерполяции

подачи

критерии перешлифовки

измерение

поведение осей и шпинделей

Устанавливаемыми буквами адреса являются: A, B, C, E, I, J, K, Q, U, V, W, X, Y, Z

Указание Имена устанавливаемых адресов могут изменяться пользователем через машинные данные.

X1, Y30, U2, I25, E25, E1=90, …

Цифровое расширение имеет одну или две позиции и всегда является положительным. Идентификатор адреса:

Написание адреса может дополняться добавлением других букв. Пример:

Сложение

Вычитание

Умножение

Внимание: (тип INT )/ (типINT )= (типREAL ); к примеру, 3/4 = 0.75

Деление, для типа переменных INT и REAL

Внимание: (тип INT )DIV (типINT )= (типINT ); к примеру, 3 DIV 4 = 0

Выделение дробной части (только для типа INT) дает остаток деления

INT, к примеру, 3 MOD 4=3

: Связывающий оператор (у фрейм-переменных)

Арксинус

Арккосинус

Арктангенс2

Квадратный корень

Значение

2-ая степень (квадрат)

Целочисленная часть

Округление до целого

Натуральный логарифм

Показательная функция

Операторы сравнения и логические операторы

Операторы сравнения и

Значение

логические операторы

больше или равно

меньше или равно

отрицание

исключающее "ИЛИ"

Руководство по программированию, выпуск 10.2004, 6FC5 298-7AB00-0PP1

Основы программирования ЧПУ 2.2 Языковые элементы языка программирования

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

Присвоения значений Адресам могут присваиваться значения. Присвоение значений осуществляется

различными способами в зависимости от вида идентификатора адреса.

Символ "=" должен быть записан между идентификатором адреса и значением, если

идентификатор адреса состоит более чем из одной буквы,

значение состоит более чем из одной постоянной.

Символ "=" не нужен, если идентификатором адреса является одна единственная буква и значение состоит только из одной постоянной. Знаки разрешаются, допускается символ разделения после букв адреса.

Пример присвоения значений

;присвоение значения (10)

адресу X, "=" не требуется

;присвоение значения (10)

адресу (X) с;цифровым

расширением (1), "=" требуется

;имена осей из параметров передачи

;имя оси как индекс при обращении к данным осей

;косвенное программирование осей

X=10*(5+SIN(37.5))

;присвоение значения через цифровое выражение, "=" требуется

Указание За цифровым расширением всегда должен следовать специальный символ "=", "(", "[", ")",

"]", "," или оператор, чтобы отличать идентификатор адреса с цифровым расширением от букв адреса со значением.

Идентификатор Слова (по DIN 66025) дополняются идентификаторами (именами). Эти расширения имеют внутри кадра ЧПУ то же значение, что и слова. Идентификаторы должны быть однозначными. Один и тот же идентификатор не может использоваться для различных объектов.

Идентификаторы могут записываться для:

переменной

системной переменной

переменной пользователя

подпрограммы

Руководство по программированию, выпуск 10.2004, 6FC5 298-7AB00-0PP1

Основы программирования ЧПУ

кодовых слов

адресов DIN с несколькими буквами

меток перехода

Структура

Идентификатор состоит максимум из 32 символов. В качестве символов могут использоваться:

буквы

символов подчеркивания

цифры

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

Пример: CMIRROR, CDON

Указание Зарезервированные кодовые слова не могут использоваться в качестве

идентификаторов. Разделительные символы между отдельными символами запрещены.

Указание Количество символов для отдельных идентификаторов

имена программ: 24 символа

идентификатор оси: 8 символов

идентификатор переменных: 31 символ

Правила присвоения имен идентификаторов

Во избежание совпадения имен используются следующие правила:

Все идентификаторы, начинающиеся с "CYCLE” или "_”, зарезервированы для циклов

Все идентификаторы, начинающиеся с "CCS”, зарезервированы для циклов, компилируемых SIEMENS.

Пользовательские компилируемые циклы начинаются с "CC”.

Другие резервирования

Идентификатор "RL" зарезервирован для обычных токарных станков.

Руководство по программированию, выпуск 10.2004, 6FC5 298-7AB00-0PP1

Основы программирования ЧПУ

2.2 Языковые элементы языка программирования

Идентификаторы, начинающиеся с "E_ ", зарезервированы для программирования

Идентификаторы переменных

У переменных, используемых системой, первая буква заменяется символом "$". Этот символ не может использоваться для переменных, определяемых пользователем.

Примеры (см. "Список системных переменных"): $P_IFRAME, $P_F

У переменных с цифровым расширением вводные нули не имеют значения (R01 соответствует R1). Перед цифровым расширением разрешаются разделительные символы.

Идентификаторы массива

Для идентификаторов массива действуют те же правила, что и для элементарных переменных. Адресация R-переменных в качестве массива возможна.

Пример: R=…

Типы данных

За переменной может быть скрыто числовое значение (или несколько) или символ (или несколько), к примеру, буква адреса.

Какой тип данных допускается для соответствующей переменной, устанавливается при определении переменных. Для системных переменных и заранее определенных переменных тип установлен. Элементарными типами переменных/типами данных являются:

Значение

Диапазон значений

Целочисленные (целые)

величины со знаком

Действительные числа (дробные

±(10-300 … 10+300)

числа с десятичной точкой, LONG

Значения истинности: TRUE (1)

Символ ASCII, в соответствии с кодом 0 … 255

Цепочка символов, число символов

Последовательность значений

в […], макс. 200 символов

только имена осей (адреса осе)

все имеющиеся в канале

идентификаторы осей

Геометрические данные для

смещения, вращения,

масштабирования, отражения

Эти же элементарные типы могут составляться в массивы. Как максимум возможны двухмерные массивы.

Руководство по программированию, выпуск 10.2004, 6FC5 298-7AB00-0PP1

Основы программирования ЧПУ 2.2 Языковые элементы языка программирования

Постоянные

Целые постоянные (Integer)

Целочисленная величина с или без знака, к примеру, как присвоение значения адресу Примеры:

; присвоение значения +10.25 адресу X

; присвоение значения -10.25 адресу X

; присвоение значения +0.25

; присвоение значения +0.25

адресу X, без вводного "0"

; присвоение значения –0.1*10-3 адресу X

Указание Если для адреса с допустимым вводом десятичной точки после десятичной точки

записано больше мест, чем предусмотрено для этого адреса, то он округляется до предусмотренного числа мест.

X0 не может заменяться на X.

G01 X0 не может заменяться на G01 X! Шестнадцатеричные постоянные

Возможны и постоянные, имеющие шестнадцатеричную интерпретацию. При этом буквы "A" до "F" служат шестнадцатеричными цифрами от 10 до 15.

Шестнадцатеричные постоянные заключаются между двумя апострофами и начинаются с буквы "H" с последующим шестнадцатеричным значением. Разрешаются разделительные символы между буквами и цифрами.

$MC_TOOL_MANAGEMENT_MASK="H3C7F" ;присвоение шестнадцатеричных чисел

машинным данным

Максимальное количество символов ограничивается диапазоном значений целочисленного типа данных.

Двоичные постоянные Возможны и постоянные, которые интерпретируются двоично. При этом используются только цифры "0" и "1".

Двоичные постоянные заключаются между апострофами и начинаются с буквы "B" с последующим двоичным значением. Разделительные символы между цифрами разрешаются.

Руководство по программированию, выпуск 10.2004, 6FC5 298-7AB00-0PP1

Основы программирования ЧПУ 2.2 Языковые элементы языка программирования

Пример машинных данных (см. также “Расширенное программирование ”):

Сегмент программы

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

:10 D2 F200 S900 M3 N20 G1 X14 Y35

Пропуск кадров

Кадры, которые исполняются не при каждом выполнении программы (к примеру, отладка программы), могут быть пропущены.

Кадры, которые должны быть пропущены, обозначаются символом "/" (косая черта) перед номером кадра. Могут пропускаться и несколько последовательных кадров. Операторы в пропущенных кадрах не исполняются, программа продолжается на соответствующем следующем, не пропущенном кадре.

Руководство по программированию, выпуск 10.2004, 6FC5 298-7AB00-0PP1

Основы программирования ЧПУ 2.2 Языковые элементы языка программирования

Пример пропуска кадров

;выполняется

;пропущен

;выполняется

;пропущен

;выполняется

Может быть запрограммировано до 10 уровней пропуска. На один кадр программы

обработки деталей может быть указан только 1 уровень пропуска:

;кадр пропускается (1-ый уровень пропуска)

;кадр пропускается (2-ой уровень пропуска)

;кадр пропускается (3-ий уровень пропуска)

;кадр пропускается (8-ой уровень пропуска)

;кадр пропускается (9-ый уровень пропуска)

;кадр пропускается (10-ый уровень пропуска)

Изготовитель станка Количество уровней пропуска, которые могут использоваться, зависит от машинных

данных индикации. Пропуск кадров уровней пропуска /0 до /9 активируется через панель оператора в области управления "Станок" (см. /BAD, BEM/ Руководство по эксплуатации HMI Advanced/Embedded), в меню "Управление программой" или "Адаптивное управление".

Указание Изменяемые выполнения программы могут создаваться и посредством использования

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

Цели перехода (метки)

Посредством определения целей перехода (меток) можно запрограммировать ответвления внутри программы.

Имена меток задаются минимум с 2-мя и максимум с 32 знаками (буквы, цифры, символ подчеркивания). Первыми двумя знаками должны быть буквы или символы подчеркивания. После имени метки следует двоеточие (":").

Прочую информацию см.

Литература: /PGА/, Руководство по программированию "Расширенное программирование"

Руководство по программированию, выпуск 10.2004, 6FC5 298-7AB00-0PP1

Основы программирования ЧПУ 2.2 Языковые элементы языка программирования

Указание Метки должны быть уникальными в пределах программы.

Метки всегда стоят в начале кадра. Если имеется номер программы, то метка стоит непосредственно после номера кадра.

Прогресс микроэлектроники параллельно с повышением требований к качеству обработки, гибкости перенастройки производства вытесняют станки с ручным управлением в сферу ремонта, малого бизнеса и хобби. Программирование станков с ЧПУ – важнейшая часть технологического обеспечения на современных предприятиях.

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

Способы программирования

Процесс программирования можно выполнять:

  • Вручную. Технолог составляет программу на удалённом ПК в текстовом редакторе. Затем переносит её в память СЧПУ посредством USB-накопителя, оптического диска, дискеты или через интерфейсные порты, соединенные с ПК кабелем.
  • На пульте (стойке) УЧПУ. Команды вводятся с клавиатуры и отображаются на экране. Набор пиктограмм соответствует перечню постоянных циклов, которые можно назначить, сокращая объем записи. Ряд систем ( , ) поддерживают диалоговый интуитивный интерфейс, где оператор путем последовательного выбора формирует программу обработки.
  • Автоматизировано в интегрированных /CAM/CAE системах. Передовой способ, требующий внедрения единой электронной системы на всех этапах производственного цикла.

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

Программирование с пульта позволяет выполнять всё вышеперечисленное, а при диалоговом языке ввода и более сложные переходы 2,5 и 3-х координатной обработки. Оптимальный вариант для корректировки существующих или создания программ групповой обработки по «шаблону».

Работа в CAM системах, например: MasterCAM, SprutCam, ADEM предполагает получение эскиза, модели из CAD, диалоговый выбор станка, пределов перемещений, приспособлений, инструментов (РИ), режимов, переходов и стратегии обработки, задания корректоров. На основании указанного постпроцессор преобразует траекторию движения РИ в управляющую программу (УП). Виртуальную отработку можно просмотреть на мониторе, исключая явные ошибки (зарезы, неснятый припуск, соударения с оснасткой), оптимизируя траекторию.

Порядок написания программ

Написание программ ЧПУ состоит из последовательности действия, одинаковых для любого способа, выполняемых технологом или автоматически. На подготовительном этапе выполняют:

  • Задание параметров заготовки. В САМ системах: габариты, материал, твердость.
  • Задание системы координат и нулевых точек.
  • Выбор обрабатываемых поверхностей, расчет числа проходов для снимаемого припуска и глубины резания (в САМ предлагаются варианты разбивки).

  • Выбор РИ.
  • Задание режимов резания: подачи, скорости (числа оборотов) и скоростей ускоренных ходов. САМ системы реализуют автоматический подбор оптимальных, в дальнейшем записываемых в кадрах посредством функций F, S.
  • В САМ программах выбирают станок, СЧПУ.

На основном этапе рассчитывается траектория движения центра инструмента, управляющая программа описывает рабочие и холостые перемещения этой точки. При ручном способе технолог рассчитывает координаты всех опорных точек обрабатываемого контура, в которых изменяется направление обхода. Перемещение РИ описывает последовательность кадров, содержащих подготовительную функцию G, устанавливающую вид движения и размерные слова (Х,Y, Z, A, B, C, прочие), задающие перемещения по координатам.

Методы программирования систем ЧПУ

Существует три основных способа разработки управляющих программ:

· ручное программирование (manual programming techniques);

· программирование на стойке ЧПУ (shop-floor);

· программирование при помощи CAM-систем.

До настоящего момента мы использовали исключительно ручное программирование на уровне G-кодов, чтобы проще было понять основы ЧПУ. Далее мы рассмотрим другие методы создания управляющих программ и покажем на реальных примерах использование каждого метода для того, что бы вы решили – который из них является лучшим. Следует уяснить себе различия в этих трех способах программирования и помнить, что ни один из них не является панацеей для любого из производств. Каждый метод имеет свою нишу в машиностроительной отрасли.

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

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

Что может быть лучше, чем ручное программирование? Все еще остается немало производств, в которых применяют исключительно ручное программирование для станков с ЧПУ. Действительно, если используется несколько станков с ЧПУ, а изготавливаемые детали достаточно просты, то грамотный технолог-программист с великолепной техникой ручного программирования будет способен превзойти по производительности труда мощного программиста-технолога, использующего CAM-систему. Или используются станки для выполнения ограниченной номенклатуры изделий. Как только обработка таких изделий запрограммирована, она вряд ли будет изменена когда-либо в будущем.

В этом случае ручное программирование для ЧПУ наиболее экономически эффективно.

Наконец, даже в случае применения CAM-системы нередко возникает потребность коррекции кадров УП вследствие обнаружения ошибок на этапе отработки. Также, общепринятой является коррекция кадров УП после ряда первых пробных прогонов на станке с ЧПУ. Если для выполнения этих, часто элементарных, корректировок программист должен опять использовать CAM-систему, то это неоправданно удлинит процесс подготовки производства.

Программирование на пульте системы ЧПУ (оперативные системы). Этот метод программирования стал весьма популярен в последние годы. Программы создаются и вводятся непосредственно на стойке системы ЧПУ, используя клавиатуру, дисплей, а также систему графических пиктограмм и меню.

Программист может немедленно проверить кадры УП путем графической имитации обработки на экране стойки.

Системы диалогово-графического проектирования существенно различаются между собой. В большинстве случаев, любая из них является одноцелевой системой, предназначенной для автоматизации программирования определенного типа обработки на определенном оборудовании. Мало того, некоторые модели, особенно уже снятые с производства, были рассчитаны только на ручной ввод управляющей программы и тем самым не могли обеспечить технологию удаленного программирования при помощи CAM-системы. Однако более современные модели могут работать как в диалоговом режиме, так и имеют устройства для ввода G-кодов, которые сгенерированы другими CAM-системами. Имеются проблемы, связанные с программированием на пульте системы СПУ. Некоторые программисты используют исключительно метод программирования на стойке ЧПУ. Другие рассматривают такой метод экономически неэффективным, даже расточительным. Неудивительно, что каждая из сторон в споре имеет свои аргументы "за и против".

Предприятия, которые используют ограниченное число рабочих и выпускает широкий ассортимент деталей, склонны использовать метод программирования непосредственно у станка с ЧПУ. Здесь один работник может использоваться для выполнения разнообразных задач, связанных с обслуживанием станков с ЧПУ. Например, оператор станка с ЧПУ занимается установкой заготовки, ее закреплением, вводом УП, проверкой и оптимизацией УП и следит за обработкой. В этом случае метод программирования "у стойки с ЧПУ" весьма оправдан и более эффективен, чем оплата услуг некого "удаленного" программиста-технолога.

В условиях крупного производства основная цель состоит в максимальной загрузке станка с ЧПУ. Тогда используется уже целый штат сотрудников, поддерживающих максимальную загрузку станков и бесперебойное изготовление деталей на каждом станке. Независимо от причины, время простоя станка будет воспринято руководством как потеря времени и денег. Один человек может устанавливать инструменты для изготовления следующей детали в то время как обрабатывается текущая деталь (готовит переналадку станка заранее). Остальные работники в этот момент загружают УП и отлаживают их. В этом случае оператор станка только устанавливает заготовки и снимает готовые детали. Штат поддержки минимизирует потери времени, связанные с установкой и наладкой, а также разгрузкой станка, выполняя главную задачу – минимизировать время, в течение которого станок простаивает. Можно легко понять, что руководство не будет заинтересовано в разработке УП непосредственно у станка, поскольку это приведет к колоссальным затратам машинного времени.

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

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

Программирование при помощи САМ-систем. САМ-системы позволяют "поднять" программирование для станков с ЧПУ на более высокий уровень по сравнению с рутинным ручным программированием. САМ-системы постоянно привлекают на свою сторону все большее число сторонников. Обобщая, можно сказать, что САМ-системы облегчают труд технолога-программиста в трех главных направлениях:

· избавляют технолога-программиста от необходимости делать математические вычисления вручную;

· позволяют создавать на одном базовом языке управляющие программы для различного оборудования с ЧПУ;

· обеспечивают технолога типовыми функциями, автоматизирующими ту или иную обработку.

Для использования САМ-системы, технолог-программист применяет персональный компьютер или рабочую станцию. Компьютерная программа автоматически генерирует управляющую программу(G-код). Затем управляющая программа передается тем или иным способом в память стойки станка с ЧПУ.

САМ-системы можно разделить на две категории – с языковым и графическим способом ввода информации. Используя первые, технолог обязан использовать язык программирования, подобный БЕЙСИКУ или С (си). Эти САМ-системы требуют программирования и некоторые из САМ-систем в силу этого весьма сложны для освоения.

На другом полюсе располагаются САМ-системы, где каждый шаг обработки задается интерактивно в графическом режиме. Программист имеет зрительную обратную связь в течение каждого шага задачи программирования. Поэтому в общем случае такие системы более просты в изучении и работе.

Последовательность процедур в САМ-программировании. Несмотря на то, что возможности и "внешний вид" САМ-систем отличаются друг от друга, все же есть нечто общее, что их объединяет – это методология их использования. Сначала, программист должен ввести некую общую информацию. Во-вторых, описать параметры заготовки, а также рабочего места (зажимного приспособления и инструмента). Необходимо также определить последовательность обработки.

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

Определение и уравновешивание геометрии (2 шаг). Используя ряд методов определения разобщенной геометрии, программист постепенно описывает форму обрабатываемой детали. В САМ-системах с графическим вводом программист к тому же увидит на экране каждый элемент геометрии. Программист имеет возможность выбора наиболее подходящего способа для построения разобщенной геометрии, служащей задаче описания формы обрабатываемой детали.

Как только геометрия определена, большинство САМ-систем предполагает проведение процедуры уравновешивания геометрии (the geometry be trimmed) для того, чтобы геометрия соответствовала фактической форме обрабатываемой детали, которую нужно получить. Например, линия, выходящая за пределы экрана, ограничивается до отрезка. Уравновешиванию подвергается и каждая дуга окружности.

Формирование строки обхода. Большинство САМ-систем допускает импортирование геометрии детали, спроектированной в CAD-системе. Это особенно полезно в случае деталей сложной формы, ведь технологу не нужно тратить усилия на повторное описание сложной геометрии. Однако имеются четыре немаловажных замечания, которые "портят" идеалистическую картину "сквозного проектирования-изготовления".

Во-первых, все элементы чертежа, созданного в САD-системе, должны быть выполнены строго в одном масштабе. Нам хорошо известна практика подгонки отдельных размеров конструктором только для того, что бы сделать качественную прорисовку чертежа или просто ускорить черчение. Например, выбран уменьшающий масштаб, при котором мелкие детали чертежа будут не видны на прорисовке. Значит надо изобразить мелкий элемент увеличенным, а размер поставить который требуется. В результате у технолога возникнет масса неприятностей и на поиск и коррекцию ошибочного элемента.

Во-вторых, из чертежа детали, сделанного конструктором, технологу нужно совсем немного информации. Если в САМ-систему импортируется полный чертеж, то технолог потратит немало времени на то, чтобы удалить лишние элементы геометрии, размеры, штриховки и т. п. До тех пор, пока CAD-системы не оснастят простыми, удобными и мощными средствами фильтрации геометрии, технолог по-прежнему будет терять драгоценное время на "чистку".

Третье замечание. Важно уже в процессе проектирования соблюсти соглашение о местонахождении нулевой точки чертежа. Начало координат чертежа желательно расположить в нижнем левом углу чертежа. В этом случае процесс импортирования чертежа в CAM-систему пройдет без запинки. В противном случае, технологу опять потребуется время для устранения проблем.

Четвертое замечание. В большинстве САМ-систем предполагается, что геометрия детали будет описана в некотором формате, наиболее подходящем для программирования обработки. Яркий пример – токарная обработка. Вам знакомы размерные цепи. В большинстве своем, конструкторы редко задумываются об этом. В результате технолог повторно рассчитывает весь контур детали вручную.

Именно поэтому, многие пользователи САМ-систем часто приходят к выводу, что проще заново переопределить чертеж в САМ-системе (для простых обрабатываемых деталей), чем импортировать рисунки из CAD-систем. Поскольку обрабатываемые детали становятся все более сложными и весьма трудно переопределить элементы чертежа, способность импортировать геометрию из CAD системы в CAM-систему становится очень важной проблемой.

Определение процедуры обработки (3-й шаг). На третьем шаге программист задает в САМ-системе способ обработки детали. Ему предоставляяется немалое количество готовых решений. Многие САМ-системы включают интерактивные меню для задания параметров конкретного вида обработки. Программисту остается только ввести параметры, а САМ-система сама рассчитает траекторию обработки. На этом шаге САМ-система визуализирует траекторию инструмента, предоставляя программисту возможность визуального анализа того, что может произойти на станке. Эта способность визуализировать УП прежде, чем она реально исполниться на станке, является одним из преимуществ САМ-систем. В конце концов, программист может ввести команду для выработки управляющей программы в виде G-кодов.

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

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

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

Все современные системы с ЧПУ типа CNC укомплектованы RS-232-C портом. Все современные персональные компьютеры также оборудованы RS-232-C портом. Подключая кабелем перечисленные выше два порта, пользователь может управлять процессом передачи данных от компьютера в ОЗУ системы с ЧПУ.

Безусловно, для этого требуется специализированная программа, которая может как загружать, так и выгружать УП из стойки ЧПУ. Большинство современных САМ-систем включают в свой состав программы для загрузки УП. Более того, имеется масса независимых поставщиков, они специализируются не только на передаче УП, но и на прямом управлении станков ЧПУ от компьютеров. В этих случаях стойка с ЧПУ уже практически не нужна. Подобные системы сокращенно именуют DNC.

2. ТИПЫ СТАНКОВ С ЧПУ

Одним из самых интересных и эффективных методов программирования обработки является параметрическое программирование. Удивительно, но большинство технологов-программистов хоть и слышали об этом методе, но совершенно не умеют его использовать. В этом разделе вы познакомитесь с теорией параметрического программирования и коснетесь основ макроязыка системы ЧПУ современного станка.

Большинство станочных систем ЧПУ имеют в своем распоряжении специальный язык для параметрического программирования (макропрограммирования). Например, в СЧПУ Fanuc этот язык называется Macro В. Если вы хоть немного знакомы с языком программирования Бейсик (Basic), то вы без труда разберетесь и с Macro В. Команды и функции именно этого языка мы рассмотрим подробно. В обычной управляющей программе вы указываете различные G-коды, а также направления и величины перемещений при помощи числовых значений. Например, G10 или Х100. Однако СЧПУ станка может делать то же самое при помощи переменных.

Символом переменной в Macro В является знак #. Например, в программе можно указать следующие выражения:


#1=100
#2=200
#3=#1+#2

Это означает, что переменной #1 присваивается значение 100, а переменной #2 – значение 200. Переменная #3 будет являться результатом суммы переменной #1 и переменной #2. С таким же успехом можно записать и G-код:


#25=1
G#25

Переменной #1 присвоено значение 1. Тогда вторая строка по своей сути будет обозначать код линейной интерполяции G1. С переменными можно производить различные арифметические и логические операции, что позволяет создавать «умные» программы обработки или различные станочные циклы.

В памяти системы ЧПУ существует область, в которой хранятся значения переменных. Вы можете заглянуть в эту область, если найдете раздел памяти СЧПУ, который обычно называется MACRO или VARIABLES. Присваивать значения переменным можно не только внутри программы, но и непосредственно – вводя значения в регистры этой памяти. Приведу несколько примеров. Можно составить такую программу:

#1=25
#2=30
#3=#2+#1

В этом случае значения присваиваются переменным внутри программы. Чтобы в будущем изменить числовые значения переменных #1 и #2, придется отредактировать программу.

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

Как видите, переменным #1 и #2 в программе не присвоено никаких значений. Оператор станка может войти в область переменных MACRO и ввести любое числовое значение для любой переменной.

Все переменные системы ЧПУ можно условно разделить на 4 типа:

  • нулевые;
  • локальные;
  • общие;
  • системные.

Локальные переменные могут быть использованы внутри макросов для хранения данных. При выключении электропитания локальные переменные обнуляются. У большинства станков с СЧПУ Fanuc нулевой серии локальными являются переменные с номерами от 1 до 33.

Общие переменные могут работать внутри различных параметрических программ и макросов. При выключении электропитания некоторые общие переменные обнуляются, а некоторые сохраняют свои значения. У большинства станков с СЧПУ Fanuc нулевой серии общими являются переменные с номерами от 100 до 999.

Системные переменные используются для чтения и записи различной системной информации – данных о позиции инструмента, величинах компенсации, времени и др. Номера системных переменных для Fanuc нулевой серии начинаются с 1000.

Нулевые переменные всегда равны нулю.

Для выполнения арифметических и логических операций язык Macro В предоставляет набор команд и операторов.

Таблица 10.1. Основные арифметические и логические команды

Для управления переменными и для выполнения различных логических операций служат макрокоманды. Макрокоманды языка Macro В похожи на команды Бейсика.

Команда безусловного перехода GOTO предназначена для передачи управления определенному кадру программы. Формат команды следующий:

  • GOTO N – безусловный переход к кадру N;
  • GOTO #A – безусловный переход к кадру, установленному переменной #A.

Пример:

N10 G01 X100
N20 G01 X-100
N30 GOTO 10

После выполнения кадра N30 система ЧПУ переходит к кадру N10. Затем снова работает с кадрами N20 и N30 – получается бесконечный цикл.

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

Формат команды следующий:

IF [#a GT #b] GOTO N

Пример:

#1=100
#2=80
N10 G01 X200
N20 IF [#1 GT #2] GOTO 40
N30 G01 X300
N40 M30

В начале программного примера переменным #1 и #2 присваиваются значения 100 и 80 соответственно. В кадре N20 происходит проверка условия. Если значение переменной #1 больше значения переменной #2, то выполняется команда перехода GOTO к кадру окончания программы N40. В нашем случае выражение считается справедливым, так как 100 больше, чем 80. В результате после выполнения кадра N10 происходит переход к кадру N40, то есть кадр N30 не выполняется.

В этой же программе можно изменить значения переменных:

#1=100
#2=120
N10 G01 Х200
N20 IF [#1 GT #2] GOTO 40
N30 G01 Х300
N40M30

Во втором случае условие в кадре N20 не будет справедливым, так как 100 не больше, чем 120. В результате после выполнения кадра N10 не происходит переход к кадру N40, то есть кадр N30 выполняется как обычно.

В выражении [#1 GT #2] используются операторы сравнения. В табл. 10.2 сведены операторы для сравнения переменных языка Macro В.

Таблица 10.2. Операторы сравнения

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

% О1000 #1=0 #2=1 WHILE [#2 LE 10] DO 1; #1=#1+#2 #2=#2+1 END 1 M30 %

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

Команда G65 предназначена для немодального вызова макропрограммы. Формат для этой команды следующий:

где G65 – команда вызова макропрограммы; Р_ – номер вызываемой макропрограммы; L_ – число повторений макропрограммы; А_ и В_ – адреса и значения локальных переменных.

G65 Р9010 L2 А121 В303 – макропрограмма 9010 вызывается 2 раза, соответствующим локальным переменным присваиваются значения 121 и 303.

Необходимо знать, какой локальной переменной присваивается значение с помощью того или иного адреса. Например, для СЧПУ Fanuc 0-MD будут справедливы следующие зависимости:

Таблица 10.3. Соответствие адресов локальным переменным

Адрес Переменная
A
B
C
D
E
F
H
I
J
K
M
Q
R
S
T
U
V
W
X
Y
Z
#1
#2
#3
#7
#8
#9
#11
#4
#5
#6
#13
#17
#18
#19
#20
#21
#22
#23
#24
#25
#26

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

Для сверления отверстий будем использовать стандартный цикл G81. Угол, на котором находятся отверстия, отсчитывается от оси X против часовой стрелки (положительный угол).

Необходимо задать:

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

Все эти данные должны быть представлены в параметрическом виде, то есть при помощи переменных.

Пусть
#100= радиус окружности, на которой находятся отверстия;
#101= начальный угол;
#102= относительный угол;
#103= общее количество отверстий.

Рис. 10.7. Создадим параметрическую программу для обработки детали с неизвестными размерами

Для того чтобы создать параметрическую программу, необходимо придумать алгоритм, позволяющий изменять поведение программы обработки в зависимости от значений указанных переменных. В нашем случае основой УП является стандартный цикл сверления G81. Остается найти закон, по которому описываются координаты центров отверстий при любых первоначальных значениях радиуса, углов и произвольном количестве отверстий.

%
О2000
N10 G21 G90 G80 G54 G40 G49 G00
N20 G17

Первые кадры программы будут стандартными. Это номер программы, строка безопасности и код G17 выбора плоскости XY.

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

N40 Т1 М6
N45 G43 HI Z100
N50 S1000 M03
#120=0

В кадр N60 поставим цикл сверления G81 и координаты центра первого отверстия. Как вы помните, в случае работы с полярными координатами X обозначает радиус, a Y определяет угол. Значения радиуса и начального угла известны, они устанавливаются переменными #100 (радиус) и #101 (начальный угол). Вводится некоторая переменная #120 с нулевым значением. Эта переменная представляет собой счетчик. Чуть позже вы поймете назначение данной переменной.

N60 G98 G81 Х#100 Y#101 Z-5 R0.5 F50

Переменная #103 отвечает за общее количество отверстий. Так как первое отверстие мы уже просверлили, то уменьшим #103 на 1. Таким образом, кадр N70 обеспечивает подсчет оставшихся отверстий. А кадр N75 увеличивает значение переменной #120 на 1.

N70 #103=#103-1
N75 #120=#120+1

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

N80 IF [#103 EQ 0] GOTO 120

В кадре N80 происходит сравнение значения переменной #103 с нулем. Если переменная #103 равна нулю, то управление передается кадру N120 в конце программы. Если же переменная #103 не равна нулю, то выполняется следующий кадр.

N90 #130=#102*#120
N95#110=#101+#130

Кадр N90 предназначен для определения углового приращения. Новая переменная #110 является суммой #101 (начального угла) и #130 (углового приращения). Кадр N95 обеспечивает расчет угла последующего отверстия.

Затем указывается новый угол для сверления, и управление передается кадру N70.

N100 Y#110
N110 GOTO 70

При помощи кадра N70 образуется замкнутый цикл, который обеспечивает расчет координат центров отверстий и сверление до тех пор, пока значение переменной #103 не будет равно нулю. Если значение #103 станет равным нулю, то управление будет передано кадру N120.

N120 G80
N125 М05
N130 G15
N140 М30
%

Заключительные кадры программы предназначены для отмены постоянного цикла (G80), выключения оборотов шпинделя (М05), выключения режима полярных координат (G15) и завершения программы (М30).

% О2000 N10 G21 G90 G80 G54 G40 G49 G00 N20 G17 N30 G16 N40 T1 M6 N45 G43 H1 Z100 N50 S1000 M03 #120=0 N60 G98 G81 X#100 Y#101 Z-5 R0.5 F50 N70 #103=#103-1 N75 #120=#120+1 N80 IF [#103 EQ 0] GOTO 120 N90 #130=#102*#120 N95 #110=#101+#130 N100 Y#110 N110 GOTO 70 N120 G80 N125 M05 N130 G15 N140 M30 %

Любая параметрическая программа должна быть тщательно проверена, прежде чем она попадет на станок. Скорее всего, у вас не получится проверить такую программу при помощи редактора УП и бэкплота, так как в ней присутствуют переменные. Самая надежная проверка в данном случае – это подстановка значений для входных переменных и «раскручивание» алгоритма уже с конкретными числами.

Предположим, что оператор станка получил чертеж детали (рис. 10.8) для обработки отверстий. Он должен установить нулевую точку G54 в центр детали, замерить длину сверла и установить его в шпиндель. Затем следует войти в область переменных MACRO и ввести следующие числовые значения:

№ переменной Значение

100
101
102
103
104
105

12.5
45
20
4
0
0

Рис. 10.8. Вместо переменных на чертеже стоят конкретные размеры и известно количество отверстий

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

Эту же программу можно записать и в привычном виде:

% О2000 N10 G21 G90 G80 G54 G40 G49 G00 N20 G17 N30 G16 N40 T1 M6 N45 G43 H1 Z100 N50 S1000 M03 N60 G98 G81 X12.5 Y45 Z-5 R0.5 F50 N100 Y65 N100 Y85 N100 Y105 N120 G80 N125 M05 N130 G15 N140 M30 %

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

G65 P9010 I12.5 A45 B20 H4

При этом наша параметрическая программа (с новым номером О9010) уже должна находиться в памяти СЧПУ. Как правило, макропрограммы имеют номера с 9000 и выше, недоступны для свободного редактирования. Команда G65 предназначена для немодального вызова макропрограммы. При этом адреса I, А, В, Н в кадре с G65 передают свои числовые значения определенным локальным переменным. Для нахождения соответствия адресов локальным переменным можно воспользоваться табл. 10.3.

Можно подстроить переменные в нашей программе, вставив следующие строки в программу:

#100=#4
#101=#1
#102=#2
#103=#11

В результате получаем макропрограмму:

% О9010 #100=#4 #101=#1 #102=#2 #103=#11 N10 G21 G90 G80 G54 G40 G49 G00 N20 G17 N30 G16 N40 T1 M6 N45 G43 H1 Z100 N50 S1000 M03 #120=0 N60 G98 G81 X#100 Y#101 Z-5 R0.5 F50 N70 #103=#103-1 N75 #120=#120+1 N80 IF [#103 EQ 0] GOTO 120 N90 #130=#102*#120 N95 #110=#101+#130 N100 Y#110 N110 GOTO 70 N120 G80 N125 M05 N130 G15 N140 M30 %

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



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: