Перейти к содержанию

Настраиваем Edgecam постпроцессор под E-параметры за 10 минут

Программирование ЧПУ | CNC
1 1 4 1
  • Коллеги, задолбался я править этот кривой постпроцессор Edgecam для Балт-Систем. Каждый раз, когда запускаешь параметрическое программирование, E-параметры макросов улетают в никуда: стойка Fanuc кидает ошибку “Undefined variable”, а ты сидишь и ковыряешь CL-файлы вручную. Заводы сливают по 2-3 часа в смену на эту херню, вместо того чтобы резать нержу или чернину на полной.

    А ведь проблема в том, что стоковый Code Wizard не заточен под E-маKросы Балт-Систем. Он генерит базовый G-код, но не подставляет динамические параметры вроде E01-E99 для циклов, переменных вылета инструмента или скоростей. В итоге - ручная правка УП на десятке, потерянное время, брак на сотке. А конструкторы меняют модель в Solid Edge - и вся параметрика летит к чертям, потому что ассоциативность не держит E-вызовы.## Логика работы

    Edgecam Code Wizard - это диалоговый мастер с 60+ шаблонами, где даже нуб без C++ может слепить пост под Fanuc.Но для Балт-Систем (их 16/32-разрядные стойки с расширенными макросами) нужно хакнуть вывод E-параметров. Логика простая: в CL-файле Edgecam цепляем пользовательские переменные (User Defined Variables) к E-регистрам. При постобработке они маппятся в G65 Pxxxx E01=значение. Параметрическая модель из PartModeler пересчитывается автоматически, и E-ки подтягиваются без регенерации.## Код / Настройка

    Заходим в Edgecam: Manufacturing Setup > Postprocessor > Code Wizard. Выбираем шаблон Fanuc 0i/31i (Балт-Систем на нем). В разделе “Macro Calls” активируем “User Defined Macros” и маппим:

    ; Макрос для параметрического сверления с E-параметрами (Балт-Систем Fanuc)
    G65 P9001 E01=X_pos E02=Y_pos E03=Z_depth E04=Spindle_speed E05=Feed_rate ;; Построчно:
    ; G65 - вызов макроса (стандарт Fanuc)
    ; P9001 - номер подпрограммы (ваш локальный для Балт)
    ; E01=... - параметры: позиция, глубина, СШ и подача
    ; В Edgecam: Tools > User Variables > Assign "Tool_Depth" to E03
    N10 G00 G90 G54 ; Безопасный подход
    N20 G65 P9001 E01={X} E02={Y} E03={Z_depth} E04={S} E05={F} ; Динамика из CAM
    N30 G00 Z50. ; Отвод
    

    Этот блок вставляем в пост-шаблон через Wizard > Edit Template > Macro Section. Построчно: N10 - инициализация модальностей (G54 для нулевых), N20 - сердцевина с плейсхолдерами {X}, которые Edgecam заполнит из траектории. E04/E05 тянутся из техпроцесса (RPM/Feed).Тестируем: Generate NC > View Output - видим готовый G-код с E-ами.

    Где можно отстрелить ногу

    Осторожно на старых Балт-Системах 16-bit: E99+ параметров не держит, цикл влетит в alarm 410 (Parameter Range Error). Проверяй лимит регистров в Parameters > 9000-series. Еще засада - если модель параметрическая из Solid Edge, а Parasolid-версия не 14+, ассоциативность сломается при регене.## Как это внедрить

    1. Открой техпроцесс: двойной клик > Edit > Postprocessor > Select Custom (свой пост).
    2. Запусти Code Wizard: укажи станок “Fanuc Custom (Balt-System)”, включи “Support Macros E01-E99”.
    3. В Template Editor добавь блок выше, сохрани как “Balt_E_Macro.post”.
    4. Применить: Regenerate All > Postprocess. 10 минут - и параметрика летает, E-ки подставляются на лету.## Пользуйтесь

    С таким постом экономишь 2 часа в день на правках - режешь на 15% больше, брак падает. Параметрические модели обновляются в один клик, без перенастройки УП. А как вы мучаетесь с постами Edgecam? Делитесь своими хаки в комментах - может, вместе доработаем под вашу стойку.