Добрый день.
Очень интересная тема.
У меня станок плазменной резки 2500х1250мм самодельный. Механику почти доделал, а стойку уже собрал и начал настройку МАЧА. Попробовал щиткам и пронест. С щиткамом вроде разобрался (виртуально). Вроде все интуитивно понятно, но нет раскроя. С пронестом сложнее - родной постпроцессор BurnySWA выдает в листинге ж-коды которые не воспринимает МАЧ. На форуме прочитал, что эти коды удаляют поиском и заменой на пробелы. Но это как-то не правильно. Хочется получить g-код без последующего редактирования.
Отсюда и вопросы-
- где находиться постпроцессор в ПРОНЕСТЕ?
- какой постпроцессор выбрать и как править постпроцессор. Может кто поделиться готовым МАЧ-ПРОНЕСТ
- к Eugene если не жалко поделитесь со мной Вашими настройками
- где находиться настройка ширины реза?
- как сделать бантики при резки углов как в щиткаме?
Может еще подскажите - нужна возможность резки деталей с общей линией.
Вопрос по постпроцессору для ProNest
Автор
prn21
, 02 Фев 2013 01:09
постпроцессор плазморез Постпроцессор для плазмореза постпроцессор ProNest
Сообщений в теме: 99
#1 OFFLINE
Отправлено 02 Февраль 2013 - 01:09
#2 OFFLINE
Отправлено 04 Февраль 2013 - 17:11
1. Постпроцессоры в пронесте находятся по адресу:
C:\Program Files\MTC\CFF
Открывать и редактировать с помощью "Блокнота"
2.Постпроцессор для MACH в приложении (два варианта - я использую "no Z")
3.Отправил. Этой разархивированной папкой надо заменить папку Reports находящейся по адресу C:\Program Files\MTC\ProNest 8\Program
В отчётах ставить галочку на "Диаграмма раскроя" и "Особенности детали"
ВАЖНО: Обращай внимание где длинна реза общая, а где только на конкретном листе
4.Настройка ширины реза находится в меню Задание-Настройки-Оборудование-Cut-Параметры процесса
5.Выбор постпроцессора
Задание-Настройки-Оборудование-Добавить или удалить процессы
6.Коррекция пути на толщину реза
Задание-Настройки-Выдача УП-Опции-Включить коорекцию в код УП(поставить галочку)
7.Рез по общей линии включается при указании деталей учавствующих в порезке (поищите)
C:\Program Files\MTC\CFF
Открывать и редактировать с помощью "Блокнота"
2.Постпроцессор для MACH в приложении (два варианта - я использую "no Z")
3.Отправил. Этой разархивированной папкой надо заменить папку Reports находящейся по адресу C:\Program Files\MTC\ProNest 8\Program
В отчётах ставить галочку на "Диаграмма раскроя" и "Особенности детали"
ВАЖНО: Обращай внимание где длинна реза общая, а где только на конкретном листе
4.Настройка ширины реза находится в меню Задание-Настройки-Оборудование-Cut-Параметры процесса
5.Выбор постпроцессора
Задание-Настройки-Оборудование-Добавить или удалить процессы
6.Коррекция пути на толщину реза
Задание-Настройки-Выдача УП-Опции-Включить коорекцию в код УП(поставить галочку)
7.Рез по общей линии включается при указании деталей учавствующих в порезке (поищите)
#3 OFFLINE
Отправлено 05 Февраль 2013 - 05:34
Спасибо за ответ. Мне очень помог урок, разобрался. Программа конечно он сложнее щиткама но зато больший функционал.
Мне интересно мнение практиков. Как лучше организовать макрос зануления горелки и прокола (я так думаю дописать в м3). Горелку при проколе(поджеге горелки) лучше опускать или поднимать(подскакивать) от металла.
Посоветуйте мне пожалуйста где почитать как из под мача управлять ЛПТ портом (на прием и передачу)
Хочу организовать макрос управлением щупа высоты и обнуления по нему оси Z. Щуп находиться сзади от горелки.
алгоритм такой:
-щуп подходит к месту прокола и дается команда с lpt порт? на его опускание (например лог1)
-потом начинает опускаться Z , щуп касается металла и начинает подниматься до срабатывания индукционного датчика и дается команда на lpt порт? . В этом месте ось Z примет значение Zгорелки-Zщупа
- щуп поднимается - дается команда с lpt порт? на его поднимание (например лог0)
После всего этого горелка переезжает на координаты где стоял щуп и опускается на высоту прокола - поджиг– пауза выдержка прожога - высота реза – далее контроль зазора через ТНС.
Мне интересно мнение практиков. Как лучше организовать макрос зануления горелки и прокола (я так думаю дописать в м3). Горелку при проколе(поджеге горелки) лучше опускать или поднимать(подскакивать) от металла.
Посоветуйте мне пожалуйста где почитать как из под мача управлять ЛПТ портом (на прием и передачу)
Хочу организовать макрос управлением щупа высоты и обнуления по нему оси Z. Щуп находиться сзади от горелки.
алгоритм такой:
-щуп подходит к месту прокола и дается команда с lpt порт? на его опускание (например лог1)
-потом начинает опускаться Z , щуп касается металла и начинает подниматься до срабатывания индукционного датчика и дается команда на lpt порт? . В этом месте ось Z примет значение Zгорелки-Zщупа
- щуп поднимается - дается команда с lpt порт? на его поднимание (например лог0)
После всего этого горелка переезжает на координаты где стоял щуп и опускается на высоту прокола - поджиг– пауза выдержка прожога - высота реза – далее контроль зазора через ТНС.
#4 OFFLINE
Отправлено 07 Февраль 2013 - 00:30
Поискав в инете - вот что получилоь:
в М3 вводим
Code "G00 Z 20" 'отводим горелку вверх
ActivateSignal(Output2) 'подаем 1 на выход 2 ЛПТ опускаем датчик
Code "G31 Z -100" 'ищем поверхность до срабатывания датчика digitize
Code "G92 Z 0.0" 'сбрасываем координату Z в 0 (принимаем поверхность металла за 0 высоту)
DeactivateSignal(Output2) ' подаем 0 на выход 2 ЛПТ поднимаем датчик
Code "G00 X-50 Z 4.6" 'отводим горелку на высоту прокола и назад на 50мм
While ismoving() 'ждем окончания операций
Wend
DoSpinCW() ' плазму
Code "G04 P0.500" 'пауза 0.5 сек (если в настройках Mach3 параметр Dwell задан в "секунды")
Code "G00 Z 3.175" 'опускаем на высоту реза
While ismoving() 'ждем окончания операций
Wend
В m5 вписуем
DoSpinStop() 'выключаем плазму
Code "G00 Z 100" 'отводим горелку
While ismoving()
Wend
Может кто нибудь проверит код на реальном станке? Буду благодарен.
в М3 вводим
Code "G00 Z 20" 'отводим горелку вверх
ActivateSignal(Output2) 'подаем 1 на выход 2 ЛПТ опускаем датчик
Code "G31 Z -100" 'ищем поверхность до срабатывания датчика digitize
Code "G92 Z 0.0" 'сбрасываем координату Z в 0 (принимаем поверхность металла за 0 высоту)
DeactivateSignal(Output2) ' подаем 0 на выход 2 ЛПТ поднимаем датчик
Code "G00 X-50 Z 4.6" 'отводим горелку на высоту прокола и назад на 50мм
While ismoving() 'ждем окончания операций
Wend
DoSpinCW() ' плазму
Code "G04 P0.500" 'пауза 0.5 сек (если в настройках Mach3 параметр Dwell задан в "секунды")
Code "G00 Z 3.175" 'опускаем на высоту реза
While ismoving() 'ждем окончания операций
Wend
В m5 вписуем
DoSpinStop() 'выключаем плазму
Code "G00 Z 100" 'отводим горелку
While ismoving()
Wend
Может кто нибудь проверит код на реальном станке? Буду благодарен.
#5 OFFLINE
Отправлено 13 Июль 2013 - 14:48
вопрос знатокам:
что дописать в пост штоб делил circle по 180 градусов?
что дописать в пост штоб делил circle по 180 градусов?
#6 OFFLINE
Отправлено 15 Июль 2013 - 17:36
Не совсем понятно что хотите - конкретизируйте вопрос.вопрос знатокам:
что дописать в пост штоб делил circle по 180 градусов?
Если просто хотите резать полкруга (или четверти, сегменты и т.д.), то ковырять постпроцессор нет нужды - используйте вкладку VSP в окне "Редактировать перечень деталей" и всё.
#7 OFFLINE
Отправлено 20 Июль 2013 - 23:45
есть: G02X0.Y0.I0.J50.
надо:G03X10.Y60.I-50.J0.
G03X110.Y60.I50.J0.
нужно чтобы постпроцессор делил окружность на две дуги
надо:G03X10.Y60.I-50.J0.
G03X110.Y60.I50.J0.
нужно чтобы постпроцессор делил окружность на две дуги
#8 OFFLINE
Отправлено 21 Июль 2013 - 01:22
По моему мнению его (постпроцессор) невозможно заставить делать такое. Хотя я могу и ошибаться.
А зачем это вам?
А зачем это вам?
#9 OFFLINE
Отправлено 21 Июль 2013 - 01:44
Что мешает сделать это до КАМ?
Знаю технику безопасности как свои три пальца.Эксперт - это существо, которое перестало мыслить, ибо оно знает!В мире еще много граблей, на которые не ступала нога человека.
Пожалуйста! Исправляйте мои глупые ошибки (но оставьте мои умные ошибки)!
Пожалуйста! Исправляйте мои глупые ошибки (но оставьте мои умные ошибки)!
#10 OFFLINE
Отправлено 21 Июль 2013 - 03:24
насколько понимаю, если он сделает это до пронеста, то пронест потом всё равно распознает два сегмента как одну окружность и в УП пропишет как одну окружность. Может как-то и можно помучатся, но сильно утомительно - вопрос - какова цель? Зачем вам нужна УП с окружностью из двух сегментов? Объясните ещё подробнее, может существует решение в другом направлении.
#11 OFFLINE
Отправлено 21 Июль 2013 - 17:57
стойка Dynatorch,и на окружностьях иногда слетает.если делить-всё нормально.пронест-ну очень удобная,а поправить пост не умею.вот в чём вопрос.
#12 OFFLINE
Отправлено 22 Июль 2013 - 01:46
у меня на мач3 иногда слетал при обработке окружности - но это очень редко было... на мой взгляд проблема тупиковая - т.е. постпроцессор не будет делить окружность - ну только заплатить какому-то программисту кучу зелёных денег и он что-то сварганит...
#13 OFFLINE
Отправлено 27 Январь 2014 - 01:47
Подскажите пожалуйста,можно-ли добавить в Pronest постпроцессор от Sharp,генерирующий ISO файлы,образец УП,сгенерированной в Шарп,фланец с нар.диаметром 50,внутр.30
N0001 D0 N0002 G00 X200 Y300 N0004 M81 N0005 G01 X-50 Y0 N0006 G41 G03 X0 Y0 I150 J0 N0008 M83 N0009 G40 G01 X50 Y0 N0012 G00 X102 Y-300 N0014 M81 N0015 G01 X0 Y50 N0016 G41 G02 X0 Y0 I-1 J250 N0018 M83 N0019 G40 G01 X0 Y-50 N0022 G00 X-302 Y550 N0024 M02
#14 OFFLINE
Отправлено 29 Январь 2014 - 19:27
Ну в принципе, если свободное время будет, могу написать вам постпроцессор
Точнее, подстроить существующий под вашу установку
#15 OFFLINE
Отправлено 30 Январь 2014 - 01:56
Я поковырял имеющиеся в Пронест ПП,сходный с требуемым подкоректировал,но есть пару обстоятельств:
1.Дискрета станка равняеться 0,1 мм,ПП-же(BUNNYSWA) кодирует в мм(дискрета=1 мм)Я нашел Настройки размерности,где было указано,что при дюймовой системе units=1.00,иначе units=25.4.Сместив запятую на один знак я получил координаты в требуемой размерности,но теперь и скорость F приобрела доп. 0(Вместо 800-8000).Также столкнулся с проблемой точности координат,не могу пока разобраться.Мне необходима точность в 0,1мм,а получаеться сотки,и это при нормальной точности в параметрах выдачи УП(В самом Пронест)
2.Существеут необходимость прописать снижение скорости на отверстиях,поставив ее п прямопропорциональную зависимость от F подачи и диаметра отверстия.
Если сталкивались с подобными вопросами и знаете решение-подскажите пожалуйста,а то у нас в конторе сисадмины в этом вообще не рубят (
1.Дискрета станка равняеться 0,1 мм,ПП-же(BUNNYSWA) кодирует в мм(дискрета=1 мм)Я нашел Настройки размерности,где было указано,что при дюймовой системе units=1.00,иначе units=25.4.Сместив запятую на один знак я получил координаты в требуемой размерности,но теперь и скорость F приобрела доп. 0(Вместо 800-8000).Также столкнулся с проблемой точности координат,не могу пока разобраться.Мне необходима точность в 0,1мм,а получаеться сотки,и это при нормальной точности в параметрах выдачи УП(В самом Пронест)
2.Существеут необходимость прописать снижение скорости на отверстиях,поставив ее п прямопропорциональную зависимость от F подачи и диаметра отверстия.
Если сталкивались с подобными вопросами и знаете решение-подскажите пожалуйста,а то у нас в конторе сисадмины в этом вообще не рубят (
#16 OFFLINE
Отправлено 30 Январь 2014 - 09:58
Фактор конверсии с дюймовой в метрическую 25,4, верните как было
Надо менять форматирование параметров XYIJ
Почти в самом конце ПП, идет описание переменных, и настройки формата, в данном случае для дискретности 0,1 мм
Надо выставить такой формат :
[XY FORMAT]
%+1.0lf
[IJ FORMAT]
%+1.0lf
Надо менять форматирование параметров XYIJ
Почти в самом конце ПП, идет описание переменных, и настройки формата, в данном случае для дискретности 0,1 мм
Надо выставить такой формат :
[XY FORMAT]
%+1.0lf
[IJ FORMAT]
%+1.0lf
#17 OFFLINE
Отправлено 30 Январь 2014 - 19:28
Попробовал,количество знакрв после запятой возросло......В моем случае стойка ЧПУ не воспринимает запятую в координатах вообще.Корректировал сдесь
[FORMAT PART OF THE CFF]
[INITPTX]
ARGUMENT=($INITPTX - $INITPTX) * $CONVERSION
FORMAT=X%1.2lf
[INITPTY]
ARGUMENT=($INITPTY - $INITPTY) * $CONVERSION
FORMAT=Y%1.2lf
[CONVERSION]
IF $UNITS=INCH
1.00
ELSE
25.40
END
[RETURNINITPTX]
IF $MODE=ABSOLUTE
ARGUMENT=($INITPTX-$INITPTX) * $CONVERSION * $XYIJDECIMALSHIFT
ELSE
ARGUMENT=($INITPTX - $X) * $CONVERSION * $XYIJDECIMALSHIFT
END
FORMAT=X{XY FORMAT}
[RETURNINITPTY]
IF $MODE=ABSOLUTE
ARGUMENT=($INITPTY-$INITPTY) * $CONVERSION * $XYIJDECIMALSHIFT
ELSE
ARGUMENT=($INITPTY - $Y) * $CONVERSION * $XYIJDECIMALSHIFT
END
FORMAT=Y{XY FORMAT}
[NWORD]
FORMAT=N%01d
ARGUMENT=$LINENUMBER
[NUMTORCHES]
ARGUMENT=$NUMTORCHES
FORMAT=%d
[TORCHSPACING]
ARGUMENT=$TORCHSPACING * $CONVERSION
FORMAT=%1.3lf
[TORCHUNITS]
IF $UNITS = INCH
in
ELSE
mm
END
[XY FORMAT]
IF $PRECISION=NORMAL
%+1.of *место коррекции
ELSE
%+1.of * место коррекции
END
[IJ FORMAT]
IF $PRECISION=NORMAL
%+1.of *место коррекции
ELSE
%+1.of *место коррекции
END
[FEEDRATE FORMAT]
IF $UNITS=INCH
%1.1lf
ELSE
%1.0lf
END
[DWELL FORMAT]
%1.2lf
[XYIJ DECIMAL SHIFT]
1
[FEEDRATE DECIMAL SHIFT]
1
[KERF DECIMAL SHIFT]
1
[DWELL DECIMAL SHIFT]
1
[ANGLE DECIMAL SHIFT]
0
[CURRENTX]
MODAL_ARGUMENT=$X
IF $MODE=ABSOLUTE
ARGUMENT=($X - $INITPTX) * $CONVERSION * $XYIJDECIMALSHIFT
ELSE
ARGUMENT=($X - $LASTX) * $CONVERSION * $XYIJDECIMALSHIFT
END
FORMAT=X{XY FORMAT}
[CURRENTY]
MODAL_ARGUMENT=$Y
IF $MODE=ABSOLUTE
ARGUMENT=($Y - $INITPTY) * $CONVERSION * $XYIJDECIMALSHIFT
ELSE
ARGUMENT=($Y - $LASTY) * $CONVERSION * $XYIJDECIMALSHIFT
END
FORMAT=Y{XY FORMAT}
[CURRENTI]
IF $MODE=ABSOLUTE
ARGUMENT=($I - $INITPTX) * $CONVERSION * $XYIJDECIMALSHIFT
ELSE
ARGUMENT=($I - $LASTX) * $CONVERSION * $XYIJDECIMALSHIFT
END
FORMAT=I{IJ FORMAT}
[CURRENTJ]
IF $MODE=ABSOLUTE
ARGUMENT=($J - $INITPTY) * $CONVERSION * $XYIJDECIMALSHIFT
ELSE
ARGUMENT=($J - $LASTY) * $CONVERSION * $XYIJDECIMALSHIFT
END
FORMAT=J{IJ FORMAT}
[FEEDRATE]
MODAL_ARGUMENT=$FEEDRATE
ARGUMENT=$FEEDRATE * $CONVERSION * $FEEDRATEDECIMALSHIFT
FORMAT=F{FEEDRATE FORMAT}
[KERF VALUE]
MODAL_ARGUMENT=$KERF
ARGUMENT=$KERF * $CONVERSION * $KERFDECIMALSHIFT
FORMAT=K%1.3f
[OUTPUT DWELL]
ARGUMENT=$DWELL * $DWELLDECIMALSHIFT
FORMAT={LINENO :M}G04F{DWELL FORMAT}
если веритьпереводчику-эти строки и являються настройками точности,
[FORMAT PART OF THE CFF]
[INITPTX]
ARGUMENT=($INITPTX - $INITPTX) * $CONVERSION
FORMAT=X%1.2lf
[INITPTY]
ARGUMENT=($INITPTY - $INITPTY) * $CONVERSION
FORMAT=Y%1.2lf
[CONVERSION]
IF $UNITS=INCH
1.00
ELSE
25.40
END
[RETURNINITPTX]
IF $MODE=ABSOLUTE
ARGUMENT=($INITPTX-$INITPTX) * $CONVERSION * $XYIJDECIMALSHIFT
ELSE
ARGUMENT=($INITPTX - $X) * $CONVERSION * $XYIJDECIMALSHIFT
END
FORMAT=X{XY FORMAT}
[RETURNINITPTY]
IF $MODE=ABSOLUTE
ARGUMENT=($INITPTY-$INITPTY) * $CONVERSION * $XYIJDECIMALSHIFT
ELSE
ARGUMENT=($INITPTY - $Y) * $CONVERSION * $XYIJDECIMALSHIFT
END
FORMAT=Y{XY FORMAT}
[NWORD]
FORMAT=N%01d
ARGUMENT=$LINENUMBER
[NUMTORCHES]
ARGUMENT=$NUMTORCHES
FORMAT=%d
[TORCHSPACING]
ARGUMENT=$TORCHSPACING * $CONVERSION
FORMAT=%1.3lf
[TORCHUNITS]
IF $UNITS = INCH
in
ELSE
mm
END
[XY FORMAT]
IF $PRECISION=NORMAL
%+1.of *место коррекции
ELSE
%+1.of * место коррекции
END
[IJ FORMAT]
IF $PRECISION=NORMAL
%+1.of *место коррекции
ELSE
%+1.of *место коррекции
END
[FEEDRATE FORMAT]
IF $UNITS=INCH
%1.1lf
ELSE
%1.0lf
END
[DWELL FORMAT]
%1.2lf
[XYIJ DECIMAL SHIFT]
1
[FEEDRATE DECIMAL SHIFT]
1
[KERF DECIMAL SHIFT]
1
[DWELL DECIMAL SHIFT]
1
[ANGLE DECIMAL SHIFT]
0
[CURRENTX]
MODAL_ARGUMENT=$X
IF $MODE=ABSOLUTE
ARGUMENT=($X - $INITPTX) * $CONVERSION * $XYIJDECIMALSHIFT
ELSE
ARGUMENT=($X - $LASTX) * $CONVERSION * $XYIJDECIMALSHIFT
END
FORMAT=X{XY FORMAT}
[CURRENTY]
MODAL_ARGUMENT=$Y
IF $MODE=ABSOLUTE
ARGUMENT=($Y - $INITPTY) * $CONVERSION * $XYIJDECIMALSHIFT
ELSE
ARGUMENT=($Y - $LASTY) * $CONVERSION * $XYIJDECIMALSHIFT
END
FORMAT=Y{XY FORMAT}
[CURRENTI]
IF $MODE=ABSOLUTE
ARGUMENT=($I - $INITPTX) * $CONVERSION * $XYIJDECIMALSHIFT
ELSE
ARGUMENT=($I - $LASTX) * $CONVERSION * $XYIJDECIMALSHIFT
END
FORMAT=I{IJ FORMAT}
[CURRENTJ]
IF $MODE=ABSOLUTE
ARGUMENT=($J - $INITPTY) * $CONVERSION * $XYIJDECIMALSHIFT
ELSE
ARGUMENT=($J - $LASTY) * $CONVERSION * $XYIJDECIMALSHIFT
END
FORMAT=J{IJ FORMAT}
[FEEDRATE]
MODAL_ARGUMENT=$FEEDRATE
ARGUMENT=$FEEDRATE * $CONVERSION * $FEEDRATEDECIMALSHIFT
FORMAT=F{FEEDRATE FORMAT}
[KERF VALUE]
MODAL_ARGUMENT=$KERF
ARGUMENT=$KERF * $CONVERSION * $KERFDECIMALSHIFT
FORMAT=K%1.3f
[OUTPUT DWELL]
ARGUMENT=$DWELL * $DWELLDECIMALSHIFT
FORMAT={LINENO :M}G04F{DWELL FORMAT}
если веритьпереводчику-эти строки и являються настройками точности,
#18 OFFLINE
Отправлено 30 Январь 2014 - 19:42
В этом формате к примеру 10 мм буде 100 если нужно значение после запятой то вместо "0" подставить не обходимое количество знаков после запятой к примеру:
[XY FORMAT]
%+1.2lf
10mm = "100.00"
Да я забыл просто еще про [INITPT...] format написать там тоже надо поставить %+1.0lf
Это не суть, главное с форматированием, вам все понятно?
[XY FORMAT]
%+1.2lf
10mm = "100.00"
Да я забыл просто еще про [INITPT...] format написать там тоже надо поставить %+1.0lf
Это не суть, главное с форматированием, вам все понятно?
#19 OFFLINE
Отправлено 31 Январь 2014 - 03:33
Огромное человеческое спасибо Вам,совет дельный,размерность выходит нужная А со снижением скорости на отверстиях вариантов нет?Я пробовал вписать в описание круговой интерполяции скорость(в смысле тупо к G02 дописал 0,3F-не прошла такая наглость,надеялся,что он автоматом будет при команде G02/G03 скорость подачи умножать на 0,3,потом можно было бы обратиться к алгебре,подставить формулу какую)Но насколько я понял,необходимо дописывать доп.условие типа If motion G02-F*0.2 к примеру
#20 OFFLINE
Отправлено 31 Январь 2014 - 05:29
В параметрах процесса динамические таблицы с настройками "*.xls" порядок обхода внутренних и внешних профилей, настройки скорости, врезки итд, попадалась мне таблица с настройками от Vision-PC, там прописано в зависимости от диаметра понижение скорости в %, как это привязать к постпроцессору, честно говоря не занимался, над поковырять разобратся
Темы с аналогичным тегами постпроцессор, плазморез, Постпроцессор для плазмореза, постпроцессор ProNest
Количество пользователей, читающих эту тему: 3
1 пользователей, 1 гостей, 0 анонимных
-
Bing (1), Бахромжон