Формат программы

Одна и та же управляющая программа может выглядеть по-разному. В качестве примера этого явления приведем фрагмент все той же программы обработки паза:


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

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

  1. код пропуска кадра (/);
  2. номер кадра (N);
  3. подготовительные функции (G-коды);
  4. адреса осевых перемещений (X, Y, Z, I, J, К, А, В, С);
  5. команда подачи (F);
  6. команда числа оборотов (S);
  7. вспомогательные функции (М-коды).

После номера кадра N обычно следует G-код. Это как глагол в предложении – G-коды говорят нам, какую функцию несет каждый кадр. Далее следуют адреса и координаты позиций осевых перемещений. М-коды обычно ставятся в конец кадра. Это правило действует, когда в кадре присутствует G-код. Тем не менее если в кад ре нет G-кода, то многие программисты предпочитают ставить М-код в начало:


N40 M03 S1000
N50 G00 X3 Y8

В УП не допускаются пробелы между адресом (буквой) и числом или внутри G- и М-кодов. В приведенном кадре есть несколько ошибок, и СЧПУ станка обязательно будет на них «ругаться»:

N50 G 00 X 3Y 8

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

  1. N50 G00 ХЗ Y8
  2. 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). Несмотря на то что второй вариант УП имеет меньший размер (экономия программной памяти системы ЧПУ), его гораздо труднее читать.

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

Таблица 5.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 Z0.5
N120 G91 G28 X0 Y0 Z0
N130 M05
N140 M30
%
%
O0001 (PAZ)
G21G40G49G54G80G90
M6T1
G43H1
M3S1000
G0X3Y8
Z.5
G1Z-1F25
X3Y3
X7
Y8
Z.5
G91G28X0Y0Z0
M5
M30
%