Кому это нужно и зачем мы здесь?

   Зачем нужны макросы, спросите вы, и зачем мы тут все собрались?

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

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

   В моей практике был случай, когда код, сгенерированный в CAM-системе для обработки одной детали, занимал 81 тысячу строк. Естественно, такой объем кода отредактировать на стойке не представляется возможным — единственный способ это заново перегенерировать код в той же CAM-системе. Пока перегенерируешь, пока передашь на станок — время уходит колоссальное.

   Именно в тот момент и произошло мое знакомство с макросами.

   Обладая некоторыми базовыми знаниями в программировании, а именно концептами переменных и различных циклов из школьной программы, оказалось достаточно, чтобы быстро разобраться в работе макросов. Мне потребовалось буквально пара смен, чтобы написать программу, которая делает абсолютно то же самое, что и CAM-программа на 81 500 строк, но занимала она уже всего лишь около 30 блоков кода.

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

  Именно об этом учебник - о том, как превратить огромные программы в компактный, понятный и гибкий код с использованием макросов. 


Какие преимущества мы получаем при использовании макросов?

Давайте постараемся выделить основные пункты, которые мы получаем при использовании макросов:

1. Сжатие кода в сотни и тысячи раз
Как вы уже поняли из моего примера, программа может уменьшиться с 80 000 строк до 30. Это значит, что она занимает меньше памяти, быстрее читается контроллером (станок не тормозит на "мелкой" ломаной траектории) и ее проще анализировать.

2. Возможность редактирования программы прямо у стойки
Это ключевое преимущество. Вам больше не нужно бежать в офис к CAM-программисту, чтобы поправить глубину резания на 0.2 мм или сместить контур. Вы просто меняете пару чисел в самом начале программы (переменных), и макрос перестраивает всю траекторию.

3. Обработка семейств деталей (Гибкость)
Написали один макрос для вала. Меняем длину в переменной #1, меняем диаметр в #2 — и этот же макрос обрабатывает совершенно другую деталь. Не нужно хранить в архиве 50 разных программ — достаточно одной.

4. Автоматизация логики и защита от дурака
Макросы умеют принимать решения. Например: "Если температура масла превысила норму — остановить станок" или "Если размер на контроле вышел за допуск — запустить чистовой проход повторно". Обычный G-код этого не умеет обрабатывать сложную логику(что будет, если...). Он действует прямолинейно: "Делай что написано и ничего больше".

5. Единая логика управления (Универсальность)
И тут кроется важный плюс. Принципы работы макросов (переменные, циклы, условия) практически одинаковы для стоек даже разных производителей. Если вы освоили Fanuc — вы легко перейдете на Siemens или Heidenhain, нужно будет лишь выучить "буквы" (синтаксис), а "грамматика" (логика) останется той же.

 

 

2. О чем этот мануал? Вперед →