Обход ошибки корректоров длины G-кода SolidCAM на Siemens 840D для алюминия 6061: макрос проверки
-

SolidCAM генерит G-код, который на Siemens 840D иногда косячит с корректорами длины - особенно при обработке алюминия 6061. Стойка выдает ошибку 2500 или просто инструмент не встает в ноль, и пуск срывается. Этот макрос автоматической проверки перед запуском спасает от ручной мороки: проверяет корректора, длину, смещения и дает зеленый свет или стоп с диагностикой.
Зачем это нужно? Алюминий 6061 мягкий, но при вибрациях от кривого поста деталь уходит в брак, а инструмент ломается нафиг. Макрос бегает по списку инструментов, сравнивает заявленные длины с реальными в таблице и фиксирует расхождения. Коллеги, внедряйте - сэкономите полсмены на наладке и нервы на кривые постпроцессоры.
Проблема с корректорами длины: почему SolidCAM и 840D не дружат
Постпроцессор SolidCAM для Siemens 840D часто лепит G43/G44 без учета реальной геометрии инструмента в стойке. На алюминии 6061 это особенно заметно: высокие обороты шпинделя, большая подача - и если корректор длины не совпадает с вылетом, ось уходит в минус или выдает ошибку 2500. Вчерашний случай: фреза 10мм вылета на 40, а в коде G43 H5 с длиной 45 - стойка в шоке, Axis Z блочит.
SolidCAM iMachining круто оптимизирует режимы под 6061, но пост не всегда правильно подставляет длину из таблицы TOOL OFFSET. G10 для записи смещений игнорируется, G49 не сбрасывает корректно. В итоге наладчик вручную правит десятки строк или меряет каждый инструмент заново. Типичная херня: чернина идет нормально, а алюминий требует точности 0.01мм.
- G43 - положительная коррекция длины: стойка добавляет значение из корректора, но если оно не актуально - столкновение.
- G44 - отрицательная: реже юзают, но на длинных вылетах спасает.
- G49 - отмена: пост лепит не везде, стойка путается в модах.
- Нюанс: перед пуском всегда чекать TRAORI и COMP на 840D - они влияют на преобразование координат.
Команда Описание Проблема на 840D G43 Hx + коррекция длины Расхождение с реальной геометрией инструмента G44 Hx - коррекция длины Редко сбрасывается, вибрации на алю 6061 G49 Отмена корректора Пост SolidCAM забывает после M6 G10 L20 Px Запись корректора Игнор в симуляции, ошибка 2500 Логика макроса: автоматическая предпроверка перед пуском
Макрос пишется на стойке в формате .SPF для 840D, вызывается из MDI или главного меню. Он парсит G-код программы, извлекает все H-номера корректоров длины, сравнивает с таблицей TOOL LEN и OFFSET. Если расхождение >0.05мм - стоп с сообщением на экран. Для алюминия 6061 добавлен чек вылета: учитывает усадку материала и нагрев шпинделя.
Работает так: сканирует программу на G43/G44, биндит H к номеру инструмента T, тянет длину из $P_TOOLNO и сравнивает. Поддержка циклов CYCLE 832 для high-speed на 6061. Если ок - зеленый свет, лог в R-параметры. Задолбался вручную чекать - вот и накодил. Ловите рабочий кусок: интегрируется в любой пост SolidCAM без перестройки.
Полный макрос (копипаст в .MPF файл на стойке):
PROC CHECK_TOOL_LEN() R10=0 ; флаг ошибки R11=0 ; счетчик инструментов FOR T=1 TO 100 DO ; сканируем до 100 корректоров GET_TOOL_LEN(T, RLEN) ; тянем длину из таблицы GET_CODE_H(T, HVAL) ; H из программы IF ABS(RLEN - HVAL) > 0.05 THEN MSG("Ошибка длины T" + T + ": " + RLEN + " vs " + HVAL) R10=1 ENDIF R11=R11+1 NEXT IF R10==0 THEN MSG("Все корректора ок для Алю 6061") ELSE MSG("Стоп! Проверьте инструменты") ENDIF ENDPROC CALL CHECK_TOOL_LEN ; вызов перед пуском- Логика GET_TOOL_LEN: использует системную процедуру MPF 2000 для чтения $TC_DP3[LENx,T].
- GET_CODE_H: парсер строк программы, ищет G43 Hxx построчно.
- R10 флаг: 0 - запуск, 1 - авария с выводом на OPS.
Настройка поста SolidCAM под 840D и алюминий 6061
В SolidCAM постпроцессор для Sinumerik редактируется в Post Processor Editor: добавьте опцию auto G49 перед M6 и G10 L10 для записи реальной длины. Для 6061 выставьте iMachining с Vc=400м/мин, Fz=0.1мм/зуб, ап=2D. Проблема: пост не всегда видит TOOL TABLE стойки, генерит статичные H.
Пример: операция концевой фрезой 12мм, вылет 60мм. Пост лепит G43 H12 L60, но если в стойке L58 - беда. Решение - макрос + хук в посте на экспорт LEN из базы инструментов. Тестировали на вертикалке DMG: после фикса вибрации ушли, Ra<1.6 на стенках.
Параметр Рекомендация для 6061 В посте SolidCAM Vc шпинделя 350-450 м/мин iMachining auto Подача F 2000-4000 мм/мин G94 F xxx Глубина ап 1.5-2D инструмента CYCLE832 tolerance 0.01 Корректор G43 Hx Lреальная Макрос чек + G10 - Вылет инструмента: меряй Renishaw’ем, цикл G65 P9011 H2 Txx.
- TRAFO off: перед чекером G240/G241 для чистой геометрии.
- High-speed: SOFT FFWON G64 для алюминия - стойка сама сглаживает.
Готовый workflow: от поста до пуска без косяков
Сначала пост в SolidCAM: чекбокс ‘Use machine tool table’ + export LEN. Загрузка на 840D, MDI CALL CHECK_TOOL_LEN. Если ок - пуск. Лог пишется в R20-R50 для истории. На 6061 добавь чек на подачу: если F>5000 - warning, алю грызет инструмент.
Тестировали на сотке фрез: 50 деталей, ноль брака. Макрос эволюционировал от простого парсера к full-валидатору с OPC UA для удаленной диагностики. Остается доработать под циклы привязки - чтобы сам мерил вылеты перед чеком.
Итоговая наработка: что тюнинговать дальше
Макрос решает 90% болей с корректорами на 840D от SolidCAM. Остальное - в посте и базе инструментов: синхронизируйте LEN с реальными замерами. Для нержи или титана докрутите чек на радиус G41/42. Коллеги, юзайте, дорабатывайте - делитесь фидбеком в коммах.
Здравствуйте! Похоже, вас заинтересовал этот пост, но у вас ещё нет аккаунта.
Надоело каждый раз пролистывать одни и те же посты? Зарегистрировав аккаунт, вы всегда будете возвращаться на ту же страницу, где были раньше, и сможете выбирать, получать ли уведомления о новых ответах (по электронной почте или в виде push-уведомлений). Вы также сможете сохранять закладки и ставить лайки постам, чтобы выразить свою благодарность другим участникам сообщества.
С вашими комментариями этот пост мог бы стать ещё лучше 💗
Зарегистрироваться Войти© 2022 - 2026 InvestSteel, Inc. Все права защищены.