Httpplanetacam rucollegelearn12 Основы числового программного управления Автоматическое управление
Скачать 4.32 Mb.
|
Структура управляющей программы G- и М-коды Программирование обработки на современных станках с ЧПУ осуществляется на языке, который обычно называют языком ИСО (ISO) 7 бит, или языком G- и М-кодов. Коды с адресом G, называемые подготовительными, определяют настройку СЧПУ на определенный вид работы. Коды с адресом М называются вспомогательными и предназначены для управления режимами работы станка. Например, если программист хочет, чтобы инструмент перемещался по прямой линии, он использует G01. А если необходимо произвести смену инструмента, то в программе обработки он указывает М06. Для управления многочисленными функциями станка с ЧПУ применяется довольно большое число различных кодов. Тем не менее, изучив набор основных G- и М-кодов, вы легко сможете создать управляющую программу. В табл. 5.1 приведен список базовых кодов, которые мы подробно рассмотрим в этой и последующих главах. А в главе «Справочник G- и М-кодов» вы найдете подробное описание всех стандартных кодов и примеры их использования. Таблица 5.1. Базовые коды программирования обработки
Структура программы Для знакомства со структурой УП давайте взглянем более пристально на уже созданную ранее программу обработки паза (см. главу 3): % O0001 (PAZ) N10 G21 G40 G49 G54 G80 G90 N20 M06 T01 (FREZA D1) N30 G43 H01 N40 M03 S1000 N50 G00 X3 Y8 N60 G00 Z0.5 N70 G01 Z-1 F25 N80 G01 X3 Y3 N90 G01 X7 Y3 N100 G01 X7 Y8 N110 G01 Z5 N120 M05 N130 M30 % Управляющая программа является упорядоченным набором команд, при помощи которых определяются перемещения исполнительных органов станка и различные вспомогательные функции. Любая программа обработки состоит из некоторого количества строк, которые называются кадрами УП. Кадр управляющей программы – составная часть УП, вводимая и отрабатываемая как единое целое и содержащая не менее одной команды. Система ЧПУ считывает и выполняет программу кадр за кадром. Очень часто программист назначает каждому кадру свой номер, который расположен в начале кадра и обозначен буквой N. В нашей программе вы можете увидеть номера кадров c N10 до N130. Большинство станков с ЧПУ позволяют спокойно работать без номеров кадров, которые используются исключительно для удобства зрительного восприятия программы и поиска в ней требуемой информации. Поэтому наша программа обработки может выглядеть и следующим образом: % O0001 (PAZ) G21 G40 G49 G54 G80 G90 M06 T01 (FREZA D1) G43 H01 M03 S1000 G00 X3 Y8 G00 Z0.5 G01 Z-1 F25 G01 X3 Y3 G01 X7 Y3 G01 X7 Y8 G01 Z5 M05 M30 % Программисту рекомендуется располагать номера кадров с интервалом в 5 или 10 номеров, чтобы при необходимости можно было вставить в программу дополнительные кадры. В самом начале УП обязательно должен находиться код начала программы % и номер программы (например, О0001). Два этих первых кадра не влияют на процесс обработки, тем не менее они необходимы для того, чтобы СЧПУ могла отделить в памяти одну программу от другой. Указание номеров для таких кадров не допускается. % О0001 (PAZ) Кадр № 10 настраивает систему ЧПУ на определенный режим работы с последующими кадрами УП. Например, G21 означает, что станок будет работать в метрической системе, то есть перемещения исполнительных органов программируются и выполняются в миллиметрах, а не в дюймах. Иногда такие кадры называют строками безопасности, так как они позволяют перейти системе в некоторый стандартный режим работы или отменить ненужные функции. N10 G21 G40 G49 G54 G80 G90 Следующие кадры говорят станку о необходимости подготовки к обработке. Для этого нужно поставить инструмент из магазина в шпиндель (кадр N20), активировать компенсацию длины инструмента (кадр N30) и заставить шпиндель вращаться в нужном направлении на указанной скорости (кадр N40). Также вы можете использовать символы комментариев. СЧПУ игнорирует любой текст, заключенный в круглые скобки, что позволяет, например, указать в кадре диаметр или наименование применяемой фрезы. N20 М06 Т01 (FREZA D1) N30 G43 Н01 N40 M03 S1000 Кадры с номерами от N50 до N110 непосредственно отвечают за обработку детали. В этой части УП содержатся коды, предназначенные для перемещения инструмента в указанные координаты. Например, кадр N80 перемещает инструмент в точку с координатами Х3, Y3 со скоростью подачи, равной 25 миллиметров в минуту. N50 G00 Х3 Y8 N60 G00 Z0.5 N70 G01 Z-l F25 N80 G01 Х3 Y3 N90 G01X7Y3 N100 G01 Х7 Y8 N110 G01 Z0.5 Заключительные кадры предназначены для останова шпинделя (кадр N120) и завершения программы (кадр N130): N120 М05 N130 М30 % Схематично любую УП можно представить в виде следующих областей: Слово данных, адрес и число Управляющая программа состоит из множества различных кадров. В свою очередь, каждый кадр УП состоит из слов данных. А слово данных строится из адреса (буквы) и относящегося к нему числа. Например, адрес Y относится к оси Y, а следующее за адресом число обозначает координаты вдоль этой оси. G01 X3 Y3 – кадр УП G – адрес 01 – число G01 – слово данных (G-код) X – адрес 3 – число X3 – слово данных Y – адрес 3 – число Y3 – слово данных Не обязательно, чтобы число, относящееся к G- или М-коду, имело ведущие нули (нули перед числом), например G01, G02, G03 и т. д. Можно писать просто G1, G2, G3. Тем не менее многие программисты в силу привычки предпочитают вариант с ведущими нулями. Учтите, что система ЧПУ работает далеко не со всеми адресами. Например, стойка Fanuc откажется воспринимать латинские буквы Е, U, V и W, если они не относятся к макропрограмме. Это не значит, что вы не сможете загрузить в память станка программу, содержащую перечисленные адреса. Загрузить ее можно, но при попытке выполнить такую программу система ЧПУ, скорее всего, выдаст сообщение об ошибке. Модальные и немодальные коды Все станочные коды можно условно разделить на два класса в зависимости от их способности сохраняться в памяти СЧПУ. Немодальные коды действуют только в том кадре, в котором они находятся. Модальные коды, напротив, могут действовать бесконечно долго, пока их не отменят другим кодом. Выделяют несколько групп кодов в зависимости от функции, которую они выполняют (табл. 5.2). Два модальных кода из одной группы не могут быть активными в одно и то же время. Например, G02 и G03 находятся в группе кодов осевых перемещений, и вы не можете применять оба этих кода сразу. Один из этих кодов обязательно отменит действие другого. Это как попытаться ехать на автомобиле одновременно и вправо, и влево. Однако вы можете одновременно использовать коды из разных функциональных групп. Например, в одном кадре можно написать G02 и G90. Таблица 5.2. Коды по группам
Особенностью модальных кодов является то, что не нужно вводить активный код в последующие кадры. Например, код G01 используется для перемещения инструмента по прямой линии. Если нам необходимо совершить множество прямых перемещений, то не обязательно в каждом последующем кадре писать G01. Для отмены кода G01 следует применить один из кодов той же самой функциональной группы (G00, G02 или G03). Большинство из G-кодов являются модальными. Программист должен знать, к какой группе и к какому классу принадлежит тот или иной код. Хотя М-коды обычно не делят на модальные и немодальные, однако этот термин все же можно применить и к ним. Например, можно выделить группу М-кодов, отвечающих за подачу охлаждающей жидкости (М07, М08, М09) или за вращение шпинделя (М03, М04, М05). Тем не менее большинство М-кодов нужно рассматривать как немодальные. Некоторые стойки ЧПУ допускают программирование только одного М-кода в кадре. Формат программы Одна и та же управляющая программа может выглядеть по-разному. В качестве примера этого явления приведем фрагмент все той же программы обработки паза: … N70 G01 Z-1 F25 N80 G01 X3 Y3 N90 G01 X7 Y3 N100 G01 X7 Y8 N110 G01 Z0.5 … Так как G01 является модальным кодом, то совсем не обязательно указывать этот код в каждом кадре линейных перемещений. Поэтому данный фрагмент УП может выглядеть следующим образом: … N70 G01 Z-1 F25 N80 X3 Y3 N90 X7 Y3 N100 X7 Y8 N110 Z0.5 … СЧПУ читает первый кадр, в котором задается линейное перемещение по оси Z на глубину 1 мм (Z-1). Затем считывается второй кадр, в котором присутствуют координаты, но нет другого G-кода. Так как G01 является модальным кодом, то он сохраняется в памяти и используется СЧПУ для работы с новыми координатами. Можно сказать, что адреса X и Y также являются модальными. То есть значения координат сохраняются в памяти, пока СЧПУ не заменит (обновит) их другими значениями координат. Таким образом, данный фрагмент УП можно переписать еще раз: … N70 G01 Z-1 F25 N80 X3 Y3 N90 X7 N100 Y8 N110 Z0.5 … Система ЧПУ читает программу обработки кадр за кадром. При этом в буфер памяти системы попадает один или несколько кадров целиком. Для современных систем ЧПУ не принципиально, в каком месте кадра находится тот или иной код (слово данных). Однако некоторые станки, имеющие старые системы ЧПУ, могут быть очень придирчивы к порядку слов данных в кадре и к пробелам между ними. Для современной стойки три приведенных ниже кадра будут иметь совершенно одинаковый эффект: N01 G55 G01 X30.45 Y2.35 M08 N02 M08 Y2.35 G55 X30.45 G01 N03 G01 X30.45 Y2.35 G55 M08 Для того чтобы программисту было легче создавать и читать УП, рекомендуется следующий порядок расположения слов данных и знаков программирования в кадре: код пропуска кадра (/); номер кадра (N); подготовительные функции (G-коды); адреса осевых перемещений (X, Y, Z, I, J, К, А, В, С); команда подачи (F); команда числа оборотов (S); вспомогательные функции (М-коды). После номера кадра N обычно следует G-код. Это как глагол в предложении – G-коды говорят нам, какую функцию несет каждый кадр. Далее следуют адреса и координаты позиций осевых перемещений. М-коды обычно ставятся в конец кадра. Это правило действует, когда в кадре присутствует G-код. Тем не менее если в кад ре нет G-кода, то многие программисты предпочитают ставить М-код в начало: … N40 M03 S1000 N50 G00 X3 Y8 … В УП не допускаются пробелы между адресом (буквой) и числом или внутри G- и М-кодов. В приведенном кадре есть несколько ошибок, и СЧПУ станка обязательно будет на них «ругаться»: N50 G 00 X 3Y 8 Большинство современных стоек прекрасно работает и без пробелов между словами данных. Удаление пробелов позволяет сократить размер управляющей программы. Однако человеку, в отличие от компьютера, будет непривычно читать УП в таком варианте. Сравните два варианта одного и того же кадра: N50 G00 ХЗ Y8 N50G00X3Y8 Первый вариант явно читается легче, что означает меньшую вероятность ошибки при написании или проверке программы обработки. Номера кадров для большинства современных СЧПУ не обязательны. Они используются для облегчения поиска требуемой информации в УП и для создания переходов к определенному кадру в некоторых особых случаях. Поэтому фрагмент программы, с которым мы работаем: … N70 G01 Z-1 F25 N80 X3 Y3 N90 X7 N100 Y8 N110 Z0.5 … перепишем следующим образом: … G01 Z-1 F25 X3 Y3 X7 Y8 Z0.5 … Необходимо уделить особое внимание числовому формату, с которым ваша стойка ЧПУ сможет работать. Обычно система ЧПУ работает с десятичным форматом и позволяет использовать несколько знаков до десятичной точки и несколько знаков после нее (например, 999.999). Возможны различные варианты употребления ведущих (перед десятичной точкой) и последующих (после десятичной точки) нулей. Сравните: Z0.1 Z.1 Z0.100 В некоторых случаях наличие десятичной точки в определенных словах данных обязательно, а в других случаях недопустимо. Поэтому внимательно ознакомьтесь с разделом документации станка с ЧПУ, в котором говорится о формате программирования. При работе с положительными числами не требуется вводить знак «+», так как СЧПУ исходит из положительного значения числа, если не введен никакой знак. Но при необходимости ввода отрицательного числового значения знак «–» должен быть запрограммирован обязательно. Теперь мы можем сравнить первоначальный вариант программы обработки паза и новый вариант, созданный в этой главе (табл. 5.3). Несмотря на то что второй вариант УП имеет меньший размер (экономия программной памяти системы ЧПУ), его гораздо труднее читать. Следовательно, при работе с «экономичной» версией УП появляется вероятность сделать ошибку или ее не заметить. Так как современные СЧПУ и компьютеры обладают достаточно большим объемом памяти, то нет смысла «экономить байты», убирая пробелы между словами данных, не ставя номеров кадров и забывая про комментарии. |