ФСЛ ТехноФСЛ ТехноОборудование дляметаллообработки

Макропрограммы G65 в SZGH 1080MIC: переменные #1–#999, аргументы и операции H01–H34

23 октября 2026 г. · 7 мин чтения

Одна и та же деталь в пяти размерах, отверстия по окружности с любым числом — для таких задач в SZGH 1080MIC есть макропрограммы с переменными, вычислениями и переходами. Справка для тех, кто пишет параметрические программы.

Четвёртая ось (поворотный стол) SZGH PMC850

Макропрограмма — это подпрограмма с переменными

Группу команд, выполняющих определённую функцию, сохраняют в памяти как подпрограмму и вызывают одной командой. В макропрограмме можно использовать переменные, вычисления и переходы. Она начинается с номера программы (например, O9010) и заканчивается кодом M99.

Переменная записывается как # и номер: #5, #109, #1005. Значение приходит из основной программы, вводится вручную в режиме MDI или вычисляется в макропрограмме. Переменной можно заменять числовые значения адресов, например F#103 или G#130. Адреса O и N (номер программы и кадра) на переменные ссылаться не могут: O#100 и N#120 — ошибка.

Какие бывают переменные

НомераТипНазначение
#0ПустаяВсегда пустая, присвоить значение нельзя
#1–#50ЛокальныеТолько внутри макропрограммы; получают значения аргументов при вызове; очищаются при выключении питания, сбросе и конце программы (M30, M02)
#100–#199ОбщиеОдинаковы в основной программе и во всех макропрограммах; очищаются при выключении питания
#500–#999Общие, сохраняемыеКак #100–#199, но хранятся в файле и не теряются при выключении
#1000 и вышеСистемныеЧтение и запись данных ЧПУ

Среди системных: #1000–#1047 — входные сигналы интерфейса (чтение), #1100–#1147 — выходные (запись), #1500–#1755 — коррекция на длину, #1800–#2055 — износ по длине, #2100–#2355 и #2400–#2655 — коррекция и износ по радиусу, #3000 — авария (запись), #4000–#4030 — модальная информация (чтение), #5001–#5030 — координаты, #5201–#5235 — смещения нуля детали, #7001–#7250 — дополнительные системы координат.

Вызываем макрос и передаём аргументы

Формат: G65 P<номер> L<число вызовов> <аргументы>. L — от 1 до 9999 (по умолчанию 1). Если программы с номером P нет, выдаётся авария PS 078. Макропрограммы 90000–99999 — встроенные программы системы.

Аргументы задаются любыми буквами, кроме G, L, O, N, H, P (то есть 20 буквами), в любом порядке. Они записываются в локальные переменные:

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

Арифметика и переходы: G65 H

Формат: G65 H(m) P(#i) Q(#j) R(#k) — результат записывается в #i, #j и #k — операнды (константы пишутся без #). Углы задаются в градусах, а среднее время выполнения операции или перехода — 10 мс.

КодОперация
H01Присваивание #i = #j
H02 / H03Сложение / вычитание
H04 / H05Умножение / деление
H11 / H12 / H13Двоичные ИЛИ / И / исключающее ИЛИ
H21 / H22Квадратный корень / модуль
H23Остаток от деления
H27Корень из суммы квадратов
H31 / H32 / H33 / H34Синус / косинус / тангенс / арктангенс
H80Безусловный переход в кадр Nn
H81 / H82Переход, если #j = #k / если #j ≠ #k
H83 / H84Переход, если #j > #k / если #j < #k
H99Авария пользователя

В руководстве есть также коды H24–H26 (преобразования и умножение с делением) и H85, H86 (условные переходы); подробности по ним смотрите в оригинале. Номер кадра для перехода можно задать переменной: G65 H81 P#100 Q#101 R#102.

Номер аварии для H99 в руководстве указан по-разному: 3000 + n в таблице и 500 + n в тексте (P15 даёт аварию 515). Сверьтесь с экраном аварий своей системы.

Пример: отверстия по окружности

Руководство приводит макропрограмму O9010: на окружности радиуса R с центром (X0, Y0) обрабатывается N равномерно расположенных отверстий, начиная с угла A. Параметры хранятся в сохраняемых переменных #500–#505, счётчик отверстия — в #100, координаты вычисляются операциями H31, H32, переход к следующему отверстию — командой G65 H84. Знак N задаёт направление обхода: N > 0 — против часовой, N < 0 — по часовой. Вместо заглушки в тексте подставляют нужный цикл обработки отверстия.

Макросы доступны в системе 1080MIC на центрах SZGH PMC650, PMC540 и PMC850. Полный текст с примером — в «Технической документации».

Частые вопросы

Как вызвать макропрограмму в SZGH 1080MIC?+

Командой G65 P<номер> L<число вызовов> и аргументами. L можно не указывать (по умолчанию 1), максимум 9999.

Какие переменные сохраняются после выключения питания?+

Общие переменные #500–#999 хранятся в файле и не теряются. Переменные #100–#199 при выключении питания очищаются.

Какие буквы нельзя использовать как аргументы G65?+

G, L, O, N, H и P. Остальные 20 букв допустимы и подставляются в локальные переменные #1–#26 в соответствии с таблицей.

Что означает авария PS 078 при вызове G65?+

Так система сообщает, что макропрограммы с указанным номером P нет в памяти.

Нужна консультация по станкам SZGH?

Подскажем по обслуживанию, подберём модель под вашу деталь и подготовим коммерческое предложение.