Хочу перейти с Artcam 7 (в котором работал 5 лет) на Artcam 2008. Станок Masterwood, управляется собственной программой MW310. Постпроцесор для 7 арткама дали при продаже станка.
Проблема в том, что 2008 арткам создает файл УП в котором на 25% больше строк, при том что исходные данные идентичны (в графе "точность" стоит 0,03). По логике на выходе должны быть почти одинаковые по длине файлы. В итоге при обработке 3d, станок не успевает обрабатывать строки и помещать их в буфер после чего стает с ошибкой "interpolator error".
Почему в 2008 уп дробится на большее количество строк?
Количество строк УП в разных версиях Artcam
Сообщений 1 страница 40 из 40
Поделиться121-01-2013 14:20:56
Поделиться221-01-2013 18:12:15
А станок понимает команды G2/G3?
Если да, то явно стоит сохранять уп так, чтобы криволинейные участки записывались дуговыми сегментами.
Для этого можно или постпроцессор исправить, или использовать другой (если есть готовый).
Поделиться321-01-2013 18:36:22
Станок понимает, только у него это 102 и 103. Но постпроцессор не поддерживает круговую интерполяцию. Другого постпроцессора в сети не найти. Еще мне на cnczone сказали, что арткам изначально имеет пост для Мастервуда, мол обратитесь к Вашему поставщику арткама...
Там же прочитал что в июне 2008 появился пост с круговой интерполяцией.
Посмотрите кто-нибудь в 2010 версии, нет ли поста "Masterwood" или "MW310" с расширением .prg
Поделиться421-01-2013 18:39:24
если дашь свой постпроцессор (или через фалообменник, или на почту мне) - допишу туда круговую интерполяцию,
только напиши пример строки, как это должно выглядеть, а то я про 102 и 103 не очень понимаю.
Поделиться521-01-2013 19:25:23
два скрина для примера. Заготовка 100х100х25. Круг радиусом 25. Обработка инструментом 41\5. Сама программа позиционируется как параметрическая, видимо поэтому она везде применяет переменные. Но если создать ручками уп: кодом 101 подвести в нужную точку, а кодом 102 заставить сделать дугу, то все работает, я проверял.
сейчас сделаю сканы из мануала станка
Поделиться721-01-2013 19:32:21
А, все-таки команда выглядит, как "G102" (G102 X118.0609 Y-71.0590 I6.5307 J-0.0000"),
а не просто "102".
Попытался поправить постпроцессор, но там черт ногу сломит, предыдущий автор явно эксперементировал.
Возможно - не рабочий, но все вот, для проверки: http://yadi.sk/d/137LKqXc20nPe
Отредактировано michael-yurov (21-01-2013 20:26:47)
Поделиться821-01-2013 22:53:13
в общем попробовал, пока есть 2 проблемы
1 Скорость обработки задается вместо 2 - 2000.0000, но эта проблема решилась установкой скорости 0,002
2 Дуга не выполняется, станок ругается
вот так
там в мануале пишется что арка может быть построена двумя способами
1. Начальная тчк, конечная тчк и радиус
2. Нач. тчк, конечная тчк и центр окружности (причем центр задается параметрами "i" и "j", что они значат я не смог понять)
Сейчас постпроцессор по видимому создает уп вторым способом и чтото не так с координатами центра радиуса
первым способом я создал вот это
Поделиться921-01-2013 23:43:17
Пытался разобраться, но не смог,
все же проще попробовать.
Вообще эти I и J задаются или в абсолютных или в относительных (относительно последней точки вроде бы) координатах.
вероятно, что проблема в этом.
Как правильно изменить - не знаю.
Попробуйте заменить в исправленном постпроцессоре G102 на G105
а G103 на G106
в конце файла в 4 местах, может повезет и все заработает?
А про скорость подачи - не знаю? может быть вы в арткаме выбрали не мм/мин, а м/мин, или в вашей программе управления
а количество нулей можно изменить в строке
; Feed Rate
FORMAT = [F|@|F|1.4]
здесь четверка в конце - это количество нулей после запятой.
Еще хотел спросить - то что Z вверх ногами выводится, это нормально?
Отредактировано michael-yurov (21-01-2013 23:55:38)
Поделиться1022-01-2013 00:01:51
Да я выбирал м\мин как в родной программе, с этим разберемся
feed rate сделал 1,0 теперь скорость скармливается нормально
ось Z вверхногами нормально, в родной проге ноль идет по верху заготовки, и когда углубляешься - идешь в плюс. А холостые перемещения в минусе.
Попробовал, заменить что вы писали - станок не ругается но и круг тоже не вышел, розочка получилась
Вот еслиб мне удалось вручную хоть одну дугу создать способом №2, тогда бы можно было понять в чем ошибается пост. Или же заставить его делать способом №1, где прописывается радиус...
Отредактировано Bukata (22-01-2013 00:02:39)
Поделиться1122-01-2013 00:07:35
Да, я если честно, не знаю, как правильно можно написать файл постпроцессора,
большинство программ просто понимают эти коды без каких либо хитростей,
а как понимать абсолютные или относительные координаты часто можно переключить в самой программе управления станком
попробуйте в строках
FORMAT = [I|@|I|1.2]
FORMAT = [J|@|J|1.2]
заменить "@" на "#"
т.е. написать
FORMAT = [I|#|I|1.2]
FORMAT = [J|#|J|1.2]
Отредактировано michael-yurov (22-01-2013 00:12:27)
Поделиться1222-01-2013 00:17:02
В любом случае, спасибо за помощь, теперь у меня есть возможность задавать скорость вхождения и обработки по-человечески
"Для I и К, используются инкрементные значения со знаками независимо от G90 или G91."
нашел здесь . Попробую исходя из этого чтото понять
Поделиться1322-01-2013 00:21:15
В любом случае, спасибо за помощь, теперь у меня есть возможность задавать скорость вхождения и обработки по-человечески
т.е. вы поняли, примерно, как что можно исправлять в постпроцессоре.
по идее можно в исправленном мной файле закоментировать в конце строки про круговую интерполяцию (поставить перед 4 строками ";").
Тут на форуме точно есть специалисты по ArtCam и его постпроцессорам, может быть помогут.
Я надеялся, что проблема решится просто, но мне помочь не удалось.
Отредактировано michael-yurov (22-01-2013 00:37:04)
Поделиться1422-01-2013 00:34:28
удалил
Отредактировано michael-yurov (22-01-2013 00:35:50)
Поделиться1522-01-2013 00:38:26
вы правы, проблема в этом наверняка
"Задание дуги окружности определяется векторами IJK (выражающими координаты центра окружности), или радиусом дуги R. Вектора IJK определены производителем стойки и могут быть, как в приращениях, так и в абсолютных величинах.
Формат: G2(G3) I J (I K, J K,R) и G2(G3) R
Пример:
... ... ...
N30 G1 X100. Y200. F60
N31 G2 X120. Y220. R20. F50
N32 G1 X120. Y300. F60
... ... ...
Внимание!
Обязательно узнайте, как построена на ЧПУ система векторов IJK.
Например в FMS- 3000 способ задания векторов можно предопределить в параметрах стойки, по умолчанию инкрементный.
Что такое инкрементный?
Поделиться1622-01-2013 00:42:56
Что такое инкрементный?
инкрементный значит - в приращениях,
а второй вариант задания I J K (обычно не используется) - в обычных рабочих координатах.
Поделиться1722-01-2013 01:48:01
а второй вариант задания I J K (обычно не используется) - в обычных рабочих координатах.
Наконец-то удалось нарисовать в станочном редакторе дугу с помощью g103!
Оказалось что для указания i и j (x и y) центральной точки применяются рабочие координаты (отсчет от нуля заготовки) Кто-нибудь знает как переключить в постпроцессоре координаты для этих двух команд?
Отредактировано Bukata (22-01-2013 01:52:25)
Поделиться1822-01-2013 01:54:31
Пробовал поставить # вместо @ ?
FORMAT = [I|#|I|1.2]
FORMAT = [J|#|J|1.2]
И все таки может быть можно в программе управления переключить координаты на инкрементные?
Отредактировано michael-yurov (22-01-2013 01:56:16)
Поделиться1922-01-2013 01:55:50
нет, все то же. Буду искать в инете
нет возможности переключить, стойка редкая, софт весь фирменный, это может сделать только знающий специалист.
Я вот что думаю: раз пост полюбому пишет в приращениях, то может заставить его в каждой строке касающейся круг. интерполяции ставить G91?
Отредактировано Bukata (22-01-2013 02:12:38)
Поделиться2022-01-2013 02:36:32
Лучше дождаться знающих людей, или найти информацию где-то еще
Поделиться2122-01-2013 02:55:04
кажется нашел - вот так записывается формат в приращениях
; Tool moves in x,y and z
FORMAT = [XI|#|X|1.3]
FORMAT = [YI|#|Y|1.3]
FORMAT = [ZI|#|Z|1.3]
а вот так, по всей видимости - наоборот:
FORMAT = [IA|@|I|1.2]
FORMAT = [JA|@|J|1.2]
...
...
...
FIRST_CW_ARC_MOVE = "G105 [X] [Y] [IA] [JA] [F]"
CW_ARC_MOVE = "G105 [X] [Y] [Z] [IA] [JA]"
FIRST_CCW_ARC_MOVE = "G106 [X] [Y] [IA] [JA] [F]"
CCW_ARC_MOVE = "G106 [X] [Y] [Z] [IA] [JA]"
проверяй: http://yadi.sk/d/UUBpvYx321Mph
у меня арткама нет, так что сам проверить не могу.
Отредактировано michael-yurov (22-01-2013 02:56:12)
Поделиться2222-01-2013 03:21:22
Уже близко! 105 и 106 не работают, но положенные 102 и 103 работают. Только меняет местами где нужно 102 делает 103 и наоборот, несколько раз проверил. Когда руками правлю - получается то что должно быть..
Поделиться2322-01-2013 03:36:32
Я так понял, что сам в постпроцессоре заменишь то что нужно
в четырех строчках в конце?
Поделиться2422-01-2013 11:14:02
Поменял местами 102 и 103. Работает! дома во всяком случае.. Прежде чем устраивать народные гуляния по этому поводу, все же испытаю на станке.
Поделиться2522-01-2013 11:43:57
Поменял в четырех строчках, надеюсь:
FIRST_CW_ARC_MOVE
CW_ARC_MOVE
FIRST_CCW_ARC_MOVE
CCW_ARC_MOVE
Теперь важно обратить внимание, чтобы не было проблем с первыми и последующими строками перемещений,
т.е. в постпроцессоре почему-то написано так, что скорость шпинделя и номер инструмента задается при первом быстром перемещении.
FIRST_RAPID_RATE_MOVE = "G172 [X|@|X|1.2] [Y|@|Y|1.2] [Z|@|Z|1.2] [S|@|S|1.0] T41/[T]"
а вдруг этого перемещения не будет? вдруг УП как раз начнется из нулевой точки?
Нужно еще проверить, что будет, если уп начнется с дугового сегмента, а не с линейного и т.п.
еще в конце постпроцессора какая-то непонятная скобка в строке
TOOLCHANGE = "(G172 T41/[T]"
можно еще изменить количество знаков после запятой,
сейчас значения выводятся с точностью до сотых (2 знака)
FORMAT = [X|#|X|1.2]
но можно увеличить или уменьшить. Обычно сохраняют 3 или 4 знака, хотя, это немного увеличит размер программы.
FORMAT = [X|#|X|1.3]
Отредактировано michael-yurov (22-01-2013 11:47:31)
Поделиться2622-01-2013 12:36:22
Да поменял в тех четырех строчках
Вот создал уп чтоб начиналась с дуги
Вроде все правильно
Знаков после запятых оставил 2 т.к. в родном софте используется тоже 2, а мне размер программы очень важен.
Тут еще другой вопрос возник: арткам при 3д обработке наверное не использует круговую интерполяцию?
И похоже при гравировке по средней линии. Там наверно дуга должна строится не в одной плоскости а сразу в трех.
Сейчас проверю просто гравировку....
..При простой гравировке используется и круговая интерполяция
Отредактировано Bukata (22-01-2013 12:45:42)
Поделиться2722-01-2013 12:45:18
Тут еще другой вопрос возник: арткам при 3д обработке наверное не использует круговую интерполяцию?
Я об этом не сразу задумался, но боюсь, что это действительно так, т.к. нигде в постпроцессоре нет намека на переключение на вертикальные плоскости круговой интерполяции.
Т.е, видимо, арткам использует круговую интерполяцию только в плоскости X Y.
Может быть все же сейчас будет меньше проблем со скоростью "съедания" файла, после того, как вы сможете задать нужную скорость обработки?
P.S. Можно еще добавить строку
RAPID_RATE_MOVE = "G172 [X] [Y] [Z]"
после
FIRST_RAPID_RATE_MOVE = "G172 [X|@|X|1.2] [Y|@|Y|1.2] [Z|@|Z|1.2] [S|@|S|1.0] T41/[T]"
чтобы лишняя информация не повторялась в каждой строке быстрых перемещений.
Отредактировано michael-yurov (22-01-2013 12:50:03)
Поделиться2822-01-2013 12:52:20
Наверняка! В обед попробую круглую розетку сделать. В основном проблемы были именно на них, когда фрезерую смещением. Получается что станок успевал разогнаться физически, но не успевал обрабатывать тисячи строк в секунду, вот и вылетал. На сложных рельефах он успевает прорабатывать строки т.к. не может сильно разогнатся. По логике при фрезеровании круглых розеток смещением, в тех местах где круги обработки лежат в одной плоскости, будет прописана круговая интерполяция. После обеда отпишусь...
... Создал УП, с круглой розеткой. В местах, где по идее фреза должна отрабатывать круги в одной плоскости, значение Z колеблется в 2 сотых, соответственно идет отрезками а не дугами..
... В общем, я сделал вывод, что Арткам вообще не создает круговых интерполяций при 3d обработке. Или же создает, но их понимает только очень навороченный постпроцессор, создающий дуги в трех плоскостях. Но это наверное уже лишнее. Проще тогда использовать обычную линейную интерполяцию и более производительный контроллер чем у меня. Мне остается попробовать облегчить строчки, так как ты советуешь. Попробую разобраться.
Отредактировано Bukata (22-01-2013 14:11:32)
Поделиться2923-01-2013 22:14:18
Посмотри вот Это: (только поменяй в станке с дюймов на см) Это для кама:
;
; Masterwood configuration file - Code Configuration File
;
; bmd 08/17/05 Changed to Metric for UK
;
DESCRIPTION = "Masterwood cn-12 inch (*.prg)"
;
FILE_EXTENSION = "prg"
;
UNITS = INCH
;
; Cariage return - line feed at end of each line
;
END_OF_LINE = "[13][10]"
;
; Set Rapid Rate For Machine
;
;
; Block numbering
;
LINE_NUM_START = 0
LINE_NUM_INCREMENT = 10
LINE_NUM_MAXIMUM = 999999
;
; Set up default formating for variables
;
; Line numbering
FORMAT = [N|@|N|1.0]
; Spindle Speed
FORMAT = [S|@|S|1.0|0.001]
; Feed Rate
FORMAT = [F|#|F|1.0]
; Tool moves in x,y and z
FORMAT = [X|#|X|1.3]
FORMAT = [Y|#|Y|1.3]
FORMAT = [Z|#|Z|1.3|-1]
; Home tool positions
FORMAT = [XH|@|X|1.3]
FORMAT = [YH|@|Y|1.3]
FORMAT = [ZH|@|Z|1.3|-1]
;
;
;
;
; Arc Centre Cordinates
FORMAT = [Radius|@| R|1.3]
;
; Set up program header
;
;
START = "%"
START = "|1 [FILENAME]"
START = "|2 0"
START = "|3 1"
START = "|4 [XSIZE]"
START = "|5 [ZMATERIAL]"
START = "|6 [YSIZE]"
START = "|7 0 0 0 0"
START = "|8 1"
START = "|9"
START = "|10"
START = "|11 0"
START = "|12"
START = "|13"
START = "|14"
START = ":[FILENAME]"
START = "G120 K1 "
START = "G152"
;
;
;
; Program moves
;
RAPID_RATE_MOVE = "G172 [X] [Y] [Z] [S] E[FR] T41/[T]"
FIRST_FEED_RATE_MOVE = "G101 [X] [Y] [Z] [F]"
FEED_RATE_MOVE = "G101 [X] [Y] [Z] [F]"
;
;
FIRST_CW_ARC_MOVE = "G102 [X] [Y] [Radius]"
CW_ARC_MOVE = "G102 [X] [Y] [Radius]"
;
FIRST_CCW_ARC_MOVE = "G103 [X] [Y] [Radius]"
CCW_ARC_MOVE = "G103 [X] [Y] [Radius]"
;
; Toolchange moves (only output for 2nd and later tools)
;
TOOLCHANGE = "(Tool: [TOOLDESC])"
TOOLCHANGE = "(Tool Number: [T])"
TOOLCHANGE = "[13][10]"
TOOLCHANGE ="G172 [X] [Y] [Z] [S] E[FR] T41/[T]"
;
; End of file
;
END = "%"
Просто я не знаю какой код на твоем станке для выдачи в мм.
;
Поделиться3023-01-2013 23:20:34
Очень похоже на то, что нужно.
Поделиться3124-01-2013 00:17:39
В станке поменять на ММ нет возможности. За это отвечает какая-то строка в постпроцессоре?
Поделиться3224-01-2013 00:39:10
Скорее всего достаточно поменять только единицы вывода в постпроцессоре.
;
; Masterwood configuration file - Code Configuration File
;
; bmd 08/17/05 Changed to Metric for UK
;
DESCRIPTION = "Masterwood mm (*.prg)"
;
FILE_EXTENSION = "prg"
;
UNITS = MM
;
А заголовок УП здесь выводится такой же, как и с твоим постпроцессором (который дорабатывали).
Скорее всего единицы жестко заданы где-то в настройках программы станка.
Полагаю, что за это отвечает код
START = "G120 K1",
и, возможно, его лучше заменить на START = "G121 K1",
но нужно посмотреть в инструкции, что это за G121 и G120
Раньше у тебя и с кодом G120 работало, хотя, вроде бы это должно переключать систему в дюймы.
Поделиться3324-01-2013 01:03:17
Поменял на мм в Descrition и Units, как и следовало ожидать - не помогло. В арткаме заготовка 120х120 а он выдает 3048х3048. Еще в родной проге светится индикатор inch. Как то еще он определяет..
Код G120 вроде отношения не имеет к этому. Пишется что это функция выбора стороны обработки (передняя задняя верхняя) и применяется только с соответствующими переменными k1 k2 k3 итп.
а за что отвечают строки
START = "|7 0 0 0 0"
START = "|8 1"
START = "|9"
START = "|10"
START = "|11 0"
START = "|12"
START = "|13"
START = "|14"
они больше всего отличаются от моих
; Set up program header
;
START = "%"
START = "|1"
START = "|2 0"
START = "|3 1"
START = "|4 [XSIZE]"
START = "|5 [ZMATERIAL]"
START = "|6 [YSIZE]"
START = "|7 0 0 0 0"
START = "|8 0"
START = "|9"
START = "|10"
START = "|11 0"
START = "|12"
START = "|13"
START = "|14"
START = "|30 0 1"
START = "|31 83.50 135 0 464.02 0"
START = "|32 240.50 135 0 472.02 0"
START = "|33 685 80 0 254.03 0"
START = "|34 800 80 0 220.05 0"
START = "|35 1090 80 0 220.05 0"
START = "|36 1250 80 0 220.05 0"
START = "|37"
START = "|38"
START = "|39"
START = "|40"
START = "|41"
START = "|42"
START = ":1"
START = "G120 K1"
START = "G90"
START = "G152"
;START = "G172 [XH] [YH] [ZH] T41/7"
Отредактировано Bukata (24-01-2013 01:11:29)
Поделиться3424-01-2013 01:11:09
Тогда замени целиком заголовок и твоего постпроцессора скопируй в новый.
; Set up program header
;
START = "%"
START = "|1"
START = "|2 0"
START = "|3 1"
START = "|4 [XSIZE]"
START = "|5 [ZMATERIAL]"
START = "|6 [YSIZE]"
START = "|7 0 0 0 0"
START = "|8 0"
START = "|9"
START = "|10"
START = "|11 0"
START = "|12"
START = "|13"
START = "|14"
START = "|30 0 1"
START = "|31 83.50 135 0 464.02 0"
START = "|32 240.50 135 0 472.02 0"
START = "|33 685 80 0 254.03 0"
START = "|34 800 80 0 220.05 0"
START = "|35 1090 80 0 220.05 0"
START = "|36 1250 80 0 220.05 0"
START = "|37"
START = "|38"
START = "|39"
START = "|40"
START = "|41"
START = "|42"
START = ":1"
START = "G120 K1"
START = "G90"
START = "G152"
Что это все означает - не ясно, но попробовать стоит.
Отредактировано michael-yurov (24-01-2013 01:11:45)
Поделиться3524-01-2013 01:13:22
Помогло, только нужно опять поменять g102 и g103. Как считаешь, есть какая-то инструкция в сети для написания поста арткама, где будет растолковано назначение тех непонятных строк?
p.s. При гравировке по средней линии Арткам применяет круговую интерполяцию в подходящих местах (в одной плоскости) а в 3д обработке не применяет даже если фрезеровать плоскую круглую площадку.
Отредактировано Bukata (24-01-2013 01:28:08)
Поделиться3624-01-2013 01:40:30
В арткаме, впринципе, с фрезеровкой по поверхности рельефа все очень печально,
особенно, когда речь о фрезеровке по рельефу вдоль векторов.
Все в один голос твердят, что нормальная обработка получается только в 2D по вектору.
Полагаю, что все 2D стратегии могут сохранять траекторию с дугами.
У меня, вот, например такая проблема была:
Инструкция где-то есть, вроде бы даже в комплекте с программой бывает,
только она очень скудная и в ней далеко не все описано.
Отредактировано michael-yurov (24-01-2013 01:45:32)
Поделиться3724-01-2013 02:04:23
Нашел причину!
; Set up program header
;
;
START = "%"
START = "|1 [FILENAME]"
START = "|2 0"
START = "|3 1"
START = "|4 [XSIZE]"
START = "|5 [ZMATERIAL]"
START = "|6 [YSIZE]"
START = "|7 0 0 0 0"
START = "|8 1"
START = "|9"
START = "|10"
START = "|11 0"
START = "|12"
START = "|13"
START = "|14"
START = ":[FILENAME]"
START = "G120 K1 "
START = "G152"
Единица дает дюймы, заменил на ноль стали миллиметры! В общем применил эту главу из нового поста, только цифру заменил.
Еще из этого поста узнал как решить проблему скорости подачи
; Spindle Speed
FORMAT = [S|@|S|1.0|0.001]
; Feed Rate
FORMAT = [F|#|F|1.0]
Для скорости вращения шпинделя применен коэффициент 0,001. Тоже самое поставил и для Feed Rate. Теперь скорость в каме задаю по-человечески в метрах с минуту
На что влияет эта глава?
Block numbering
;
LINE_NUM_START = 0
LINE_NUM_INCREMENT = 10
LINE_NUM_MAXIMUM = 999999
в особенности средняя строка?
Отредактировано Bukata (24-01-2013 02:05:28)
Поделиться3824-01-2013 02:08:19
на нумерацию строк,
при чем нумерация, с увеличением номера на 10 в каждой строке,
полагаю, можно нумерацию вообще убрать,
т.е. удалить эти три строки:
LINE_NUM_START = 0
LINE_NUM_INCREMENT = 10
LINE_NUM_MAXIMUM = 999999
и еще эту:
FORMAT = [N|@|N|1.0]
Поделиться3924-01-2013 02:47:14
Ну что ж, совместными усилиями нам удалось создать на 100% полноценный постпроцессор, за что я от всей души благодарен участникам этого действа. Если кому понадобится - обращайтесь.
Поделиться4027-01-2013 01:08:50
Привет Всем. Извиняюсь за долгое отсутствие.
Круговая интерполяция зависит от выбора плоскости - это если стойка работает на g-коде.
Что касается доки на посты для кама - то вот она: Дока на посты для кама
Вот дока на 2009 кам :Artcam 2009 manual rus
Вот Сам кам 2009 :ArtCam 2009 Sp2
У меня есть практически все версии. Попробовал даже 2011.(правда с оф сайта),
но лучше 2009 ничего не нашел.
Что касается рельефа то попробуй перейти на рино или mill.