Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Equipment >> Промышленное оборудование

Эффективный вызов пользовательских макросов через модальные команды G65

Если вы программировали на пользовательских макросах, вероятно знаете, что один способ вызова — команда G65. Обычно вводят её в основной программе, указывая номер макроса (P-словом) и серию аргументов по буквенным адресам (переменных) для передачи в макрос.

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

N050 G65 P1000 X5.0 Y5.0 Z0 D0.5 R0.75 F5.0

X и Y — центр кармана. Z — поверхность, где делается карман. D — глубина, R — радиус кармана. F — подача обработки.

G65 не модальна. Для другого кармана в другом месте нужна другая полная G65 (с изменением аргументов). У FANUC есть два G-кода для модального вызова макроса: G66 и G66.1. После установки любого из них нужно использовать G67 для отмены.

G66

G66 сам по себе не вызывает макрос; только присваивает локальные переменные, соответствующие указанным аргументам. Рассмотрим команды:

.
N050 G66 P1000 Z0 D0.5 R0.75 T0.5 F5.0
N055 G00 X5.0 Y5.0
N060 X10.0
N065 Y10.0
N070 X5.0
N075 G67
.

Строка N050 устанавливает локальную переменную #26 = Z, #7 = D, #18 = R, #20 = T, #9 = F. Но эта строка не вызывает макрос O1000.

В следующей команде (N055), которая должна быть командой движения (обычно G00 или G01), ЧПУ перемещается в заданную позицию и тогда вызывает макрос O1000. Локальные переменные, заданные в G66, доступны в макросе, но обновить их после G66 нельзя. ЧПУ продолжит двигаться в позицию и вызывать макрос в последующих командах движения до G67 (N075).

Пример макроса круглого кармана для G66:

O1001 (Макрос, вызываемый G66)
#32=#5001 (Текущая абсолютная X позиция)
Z[#26+0.1] (Переход в позицию приближения)
G01 Z[#26-#7] F[#9/2] (Вплавление в карман)
G02 X[#32+#18-#20/2] R[[#18-#20/2]/2] F#9
I-[#18-#20/2]
X#32 R[[##18-#20/2]/2]
G00 Z[#26+0.1]
M99

G66.1

Как G66, G66.1 задаёт номер макроса и устанавливает локальные переменные. Также нужен G67 для отмены. Но в отличие от G66, G66.1 вызывает макрос. Рассмотрим:

.
N050 G66.1 P1001 X5.0 Y5.0 Z0 D0.5 R0.75 T0.5 F5.0
N055 X10.0
N060 Y10.0
N065 X5.0
N070 G67
.

Теперь строка N050 обработает первый карман. В каждой последующей команде, которая не является командой движения, ЧПУ сбросит локальные переменные и снова вызовет макрос. В строке N055 значение локальной переменной #24 (X) станет 10.0. Предполагая правильный макрос, команда движения в макросе переместит резак в эту позицию перед созданием кармана.

Преимущество G66.1 над G66 — любой из аргументов может меняться при любом вызове макроса. Если глубина кармана меняется для кармана N060, программист может включить адрес D в строку N060.

Создание макросов с G66.1 сложнее, чем с G66. Так как значения всех локальных переменных возвращаются к пустым при M99, завершающем макрос, пользователи должны хранить эти значения в общих переменных, не теряемых до выключения питания.

Пример макроса с G66.1:

O1001 (Макрос, вызываемый G66.1)
(Изменение значений для аргументов, включённых в команду вызова)
IF [#24 NE #0] THEN #100 = #24
IF [#25 NE #0] THEN #101 = #25
IF [#26 NE #0] THEN #102 = #26
IF [#7 NE #0] THEN #103 = #7
IF [#18 NE #0] THEN #104 = #18
IF [#20 NE #0] THEN #105 = #20
IF [#9 NE #0] THEN #106 = #9
G00 X#100 Y#101 (Переход в центр кармана)
Z[#102+0.1] (Позиция приближения)
G01 Z[#102-#103] F[#106/2] (Вплавление)
G02 X[#100+#104-#105/2] R[[#104-#105/2]/2] F#106
I-[#104-#105/2]
X#100 R[[#104-#105/2]/2]
G00 Z[#102+0.1]
M99

Какой лучше: G66 или G66.1?

Хотя требует больше программирования, G66.1 даёт больше гибкости. Программист может менять любой аргумент в любой команде между G66.1 и G67. В примере — X/Y позиция кармана, радиус, глубина, Z-поверхность, подача. В этом смысле макрос, вызываемый G66.1, ведёт себя почти как любой цикл заготовки отверстий, вроде G81.

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

Промышленное оборудование

  1. Пользовательские исключения в Python: практическое руководство
  2. Лидируй через слушание: как «Расскажи подробнее» строит доверие и дает инсайты
  3. Основные команды MATLAB для эффективных вычислений
  4. Точная фрезеровка на ЧПУ для 맞춤ных деталей: быстро, точно, индивидуально
  5. Новая серия токарных станков Alpha X с собственными системами управления для высшей производительности
  6. Топ-5 преимуществ кастомного металлообработки
  7. Точность и прибыль с индивидуальными решениями механической обработки
  8. Индивидуальная механическая обработка: когда и зачем она нужна
  9. Усиливайте бренд с персонализированными лазерно-гравированными новогодними подарками
  10. MarquipWardUnited приобрел кастомный тяжелый токарный станок Summit