Перейти к публикации

Редактирование постов SolidCAM


CNC_SKILL

Рекомендованные сообщения

Добрый день

Прошу помощи по такому вопросу

Токарный постпроцессор при выводе G кода не выдает переменную скорости вращения шпинделя, при нарезании резьбы метчиком

Можно ли это дело поправить?

 

Изменено пользователем nikolai1
Ссылка на сообщение
Поделиться на других сайтах


Всем доброго времени суток!

Пытаюсь подружить SC с датчиком Renishaw для привязке детали. Инструкция лежит вот тут. Вроде все банально и просто. Но возникает проблема при генерации УП. В файле 00212_P_3X_Renishaw_Fanuc_inc.gpp в строке 396 переменная prb_Mm не определена. Так же эта переменная встречается и дальше по файлу.  Кто-нибудь может определить эту переменную?))) ну или дать пару советов.

00212_P_3X_Renishaw_Fanuc_inc.gpp

Ссылка на сообщение
Поделиться на других сайтах

Всем Камрадам привет!

Помогите разобраться, не могу найти этот параметр, в посте.

При спиральной врезке в отверстие по контуру УП выдает код через G1 а нужно чтобы выводил через G2/G3

Ткните носом где и что поправить, заранее благодарен!)

Ссылка на сообщение
Поделиться на других сайтах

Ответ нашел сам, дело было в параметре станrа в файле vmid

Изменено пользователем Niyazkh
Ссылка на сообщение
Поделиться на других сайтах

Продолжаю ковырять пост gMill_3x. У меня Fanuc32i не понимает код, если в конце каждого кадра не стоит точка с запятой. Не могу найти параметр в посте, куда ее добавить. Не подскажет кто?

Ссылка на сообщение
Поделиться на других сайтах
Только что, Metalfrezer сказал:

Продолжаю ковырять пост gMill_3x. У меня Fanuc32i не понимает код, если в конце каждого кадра не стоит точка с запятой. Не могу найти параметр в посте, куда ее добавить. Не подскажет кто?

А в стойке разве нет такого параметра который сам автоматом ставит ; ?

Поищите должен быть, к примеру у меня на HAAS он есть ! 

На сколько мне известно Fanuc 32i довольно таки заряженная стойка в отличии от Fanuc 0i !

 

Ссылка на сообщение
Поделиться на других сайтах
Только что, Frezer_PU сказал:

А в стойке разве нет такого параметра который сам автоматом ставит ; ?

Поищите должен быть, к примеру у меня на HAAS он есть ! 

На сколько мне известно Fanuc 32i довольно таки заряженная стойка в отличии от Fanuc 0i !

 

То есть, это функция стойки, а не поста? Попробую, ладно!

Ссылка на сообщение
Поделиться на других сайтах
Только что, Metalfrezer сказал:

То есть, это функция стойки, а не поста?

должна быть ДА! По крайней мере на ХААСЕ он не только ставит ; в конце каждого кадра но и ставит точку . в конце каждого слова координат XYZ целого числа если они не заложены в программе ! 

Ссылка на сообщение
Поделиться на других сайтах
42 минуты назад, Frezer_PU сказал:

должна быть ДА! По крайней мере на ХААСЕ он не только ставит ; в конце каждого кадра но и ставит точку . в конце каждого слова координат XYZ целого числа если они не заложены в программе ! 

А, вот этот параметр с точкой знаю на Фануке! значит, и с точкой с запятой в конце кадра тоже должен быть параметр! Поищу, спасибо.

Ссылка на сообщение
Поделиться на других сайтах
Только что, Metalfrezer сказал:

А, вот этот параметр с точкой знаю на Фануке! значит, и с точкой с запятой в конце кадра тоже должен быть параметр! Поищу, спасибо.

По идее если включить параметр с точкой то и ; он должен сразу  ставить автоматом, возможно это одна и та же телега! 

Ссылка на сообщение
Поделиться на других сайтах
  • 4 недели спустя...

Господа-товарищи! Бился, бился - пока не решил проблему.

Если в параметрах перехода в SC на вкладке "Дополнительно" менять значение bStopM00 на Да, то в конце перехода в УП выводится М00 вместо М01. Но есть неприятный довесок, в виде дублирования строк. Пример :

.......

G03 X62. Y-1.8 I0. J1.8
G01 Y-5.8
G03 X62. Y-5.8 I0. J5.8
G00 Z25.
M09
M05
G00 G28 G91 Z0
G00 G28 G91 Y0.
M00
M09
G00 G28 G91 Z0
G00 G28 G91 Y0.
M05
M01

 

 

N2
G00 G28 G91 Z0
G00 G90 G94 G17 G40 G49 G80
T2 M06 (End mill D6 Chist)
T1
(Otv D20 Chist.)
G00 G54 G90 X62. Y-3.4 S6000 M03
G43 H5 D5 Z25. M08
Z25.

.........

 

Здесь фрагмент кода, окончание работы одного инструмента, с выходом в референт по Z и Y, и М00, потом смена инструмента на Т2 и обработка дальше. В конце видно дублирование строк и еще зачем-то М01. Редактировал стандартный пост gMill_Haas_3x.

Методом проб, тыка и немного головы :-) установил, что задействованы три процедуры (при работе разными инструментами, как в моем случае)

 

@end_of_job
    ; Handle what happens at end of operation(job)
    ; If using Subs we do not make tool change in @start_of_job
    if bStopM00
        if tool_number eq next_job_tool_number
            call @usr_StopM00_sametool
        else
            call @usr_StopM00_difftool      
        endif
    endif
    bSkipxyrapid = false
    bStopM00difftool = false
    iPworkoffset = iWorkoffset
endp

 

Здесь, в общем, понятно и вопросов нет. В моем случае. ссылка идет на процедуру @usr_StopM00_difftool    

 

@usr_StopM00_difftool
    ; Handle output for forced stopM00 between operations using different tools
    if bCoolExist
        iCoolantM1      = iCoolantM1OFF
        iCoolantM2      = iCoolantM2OFF
        iCoolantM3      = iCoolantM3OFF
        iCoolantM4      = iCoolantM4OFF
        iCoolantM5      = iCoolantM5OFF
        iCoolantM6      = iCoolantM6OFF
        iCoolantM7      = iCoolantM7OFF
        iCoolantM8      = iCoolantM8OFF
        ;call @usr_coolant_output
    endif
    {nb}
    {'M09'}
    iSpindleDir = 5
    {nb}
    call @usr_spindle_mcode_output
    if sHomestrstpdiff ne ''
        sHomestr = sHomestrstpdiff
        call @usr_prep_home_axis
    endif
    call @usr_forcedstop
    ;sUsrmsg = sStopMessage
    ;call @usr_message
    ;bStopM00difftool = true
endp

 

Я ее подрихтовал уже, и кое-что ненужное из УП убрал, но дублирование осталось! Затем нашлась и третья процедура, что отвечает за вывод конца блока, и заодно шапки следующего:

 

@usr_ct_before_notfirsttool
    ; Handle output before the next tool change
    ; This is not called before the first tool change
    if !bStopM00difftool
        if bCoolofftc and bCoolExist
            iCoolantM1      = iCoolantM1OFF
            iCoolantM2      = iCoolantM2OFF
            iCoolantM3      = iCoolantM3OFF
            iCoolantM4      = iCoolantM4OFF
            iCoolantM5      = iCoolantM5OFF
            iCoolantM6      = iCoolantM6OFF
            iCoolantM7      = iCoolantM7OFF
            iCoolantM8      = iCoolantM8OFF
            ;call @usr_coolant_output    
        endif
        if sHomestrtc ne ''
        {nb}
        {'M09'}
            sHomestr = sHomestrtc
            call @usr_prep_home_axis
        endif
        if bSpinofftc
         iSpindleDir = 5
            {nb}
            call @usr_spindle_mcode_output
        endif
        if bOptstptc
            call @usr_optionalstop
        endif
    endif
    if bTcseperation
        {nl}
    endif
    if !bSimpleformat
        bSafetyprep = true
        call @usr_ct_init_gmstates
    endif
    if bNnumtc                                           ; С этого кадра начинается новый блок инструмента N2, N3  и т.д.
        {nl,'N'iTcnumber' '}
    else
        {nb}
    endif
    if !bSimpleformat
    sHomestr = sHomestrbegin
        call @usr_prep_home_axis
        {nb}
     {'G00 '}
        call @usr_abs_inc_output
    {'G94 '}
        call @usr_mp_output
        call @usr_compensation_output
    {'G49 '}
        skipline = false
        call @end_drill
       
    endif
endp

 

В ней я тоже немного подправил, что сумел понять, потому фрагмент УП в начале имеет данный вид... Но не могу убрать дублирование строк при М00 ! Если выводить с М01, то все корректно, как надо. Может кто подсказать, что еще подшаманить-то??

Изменено пользователем Metalfrezer
Ссылка на сообщение
Поделиться на других сайтах
Только что, Metalfrezer сказал:

В ней я тоже немного подправил, что сумел понять, потому фрагмент УП в начале имеет данный вид... Но не могу убрать дублирование строк при М00 ! Если выводить с М0, то все корректно, как надо. Может кто подсказать, что еще подшаманить-то??

Я тоже пытался это сделать но при различных комбинация вывода УП нужного результата я не достиг и пришел к такому выводу, что проще, быстрее и практичнее дописать М00 руками в нужном месте чем тратить  время ковыряя постом, так как данная функция используется  лично мной очень редко! 

Изменено пользователем Frezer_PU
Ссылка на сообщение
Поделиться на других сайтах
Только что, Frezer_PU сказал:

Я тоже пытался это сделать но при различных комбинация вывода УП нужного результата я не достиг и пришел к такому выводу, что проще, быстрее и практичнее дописать М00 руками в нужном месте чем тратить  время ковыряя постом, так как данная функция используется  лично мной очень редко! 

Спасибо! Отличные видео по редактирование постов и по SC кстати! Все смотрю, и здорово помогает в освоении SC! Заодно вопрос: вы два поста используете? На три оси один пост, на 4 оси - другой? И заодно, было б здорово сделать видео по нюансам редактирования поста с 4 осью!

Ссылка на сообщение
Поделиться на других сайтах
Только что, Metalfrezer сказал:

Спасибо! Отличные видео по редактирование постов и по SC кстати! Все смотрю, и здорово помогает в освоении SC!

Вы меня с кем-то  наверное путаете :biggrin:!

(Шутка)

Только что, Metalfrezer сказал:

Заодно вопрос: вы два поста используете? На три оси один пост, на 4 оси - другой?

Да! Практика показывает что так  правильнее и практичнее ! 

Только что, Metalfrezer сказал:

И заодно, было б здорово сделать видео по нюансам редактирования поста с 4 осью!

Видео делать не буду так как правка 4х осевого поста по аналогии такая же как и для 3х осевого не каких особенностей  только с добавлением  адреса А (4й оси) и процедур отвечающих за ее функционал! 

 

Ссылка на сообщение
Поделиться на других сайтах
58 минут назад, Metalfrezer сказал:

Господа-товарищи! Бился, бился - пока не решил проблему.

Если в параметрах перехода в SC на вкладке "Дополнительно" менять значение bStopM00 на Да, то в конце перехода в УП выводится М00 вместо М01. Но есть неприятный довесок, в виде дублирования строк. Пример :

.......

G03 X62. Y-1.8 I0. J1.8
G01 Y-5.8
G03 X62. Y-5.8 I0. J5.8
G00 Z25.
M09
M05
G00 G28 G91 Z0
G00 G28 G91 Y0.
M00
M09
G00 G28 G91 Z0
G00 G28 G91 Y0.
M05
M01

 

 

N2
G00 G28 G91 Z0
G00 G90 G94 G17 G40 G49 G80
T2 M06 (End mill D6 Chist)
T1
(Otv D20 Chist.)
G00 G54 G90 X62. Y-3.4 S6000 M03
G43 H5 D5 Z25. M08
Z25.

.........

 

Здесь фрагмент кода, окончание работы одного инструмента, с выходом в референт по Z и Y, и М00, потом смена инструмента на Т2 и обработка дальше. В конце видно дублирование строк и еще зачем-то М01. Редактировал стандартный пост gMill_Haas_3x.

Методом проб, тыка и немного головы :-) установил, что задействованы три процедуры (при работе разными инструментами, как в моем случае)

 

@end_of_job
    ; Handle what happens at end of operation(job)
    ; If using Subs we do not make tool change in @start_of_job
    if bStopM00
        if tool_number eq next_job_tool_number
            call @usr_StopM00_sametool
        else
            call @usr_StopM00_difftool      
        endif
    endif
    bSkipxyrapid = false
    bStopM00difftool = false
    iPworkoffset = iWorkoffset
endp

 

Здесь, в общем, понятно и вопросов нет. В моем случае. ссылка идет на процедуру @usr_StopM00_difftool    

 

@usr_StopM00_difftool
    ; Handle output for forced stopM00 between operations using different tools
    if bCoolExist
        iCoolantM1      = iCoolantM1OFF
        iCoolantM2      = iCoolantM2OFF
        iCoolantM3      = iCoolantM3OFF
        iCoolantM4      = iCoolantM4OFF
        iCoolantM5      = iCoolantM5OFF
        iCoolantM6      = iCoolantM6OFF
        iCoolantM7      = iCoolantM7OFF
        iCoolantM8      = iCoolantM8OFF
        ;call @usr_coolant_output
    endif
    {nb}
    {'M09'}
    iSpindleDir = 5
    {nb}
    call @usr_spindle_mcode_output
    if sHomestrstpdiff ne ''
        sHomestr = sHomestrstpdiff
        call @usr_prep_home_axis
    endif
    call @usr_forcedstop
    ;sUsrmsg = sStopMessage
    ;call @usr_message
    ;bStopM00difftool = true
endp

 

Я ее подрихтовал уже, и кое-что ненужное из УП убрал, но дублирование осталось! Затем нашлась и третья процедура, что отвечает за вывод конца блока, и заодно шапки следующего:

 

@usr_ct_before_notfirsttool
    ; Handle output before the next tool change
    ; This is not called before the first tool change
    if !bStopM00difftool
        if bCoolofftc and bCoolExist
            iCoolantM1      = iCoolantM1OFF
            iCoolantM2      = iCoolantM2OFF
            iCoolantM3      = iCoolantM3OFF
            iCoolantM4      = iCoolantM4OFF
            iCoolantM5      = iCoolantM5OFF
            iCoolantM6      = iCoolantM6OFF
            iCoolantM7      = iCoolantM7OFF
            iCoolantM8      = iCoolantM8OFF
            ;call @usr_coolant_output    
        endif
        if sHomestrtc ne ''
        {nb}
        {'M09'}
            sHomestr = sHomestrtc
            call @usr_prep_home_axis
        endif
        if bSpinofftc
         iSpindleDir = 5
            {nb}
            call @usr_spindle_mcode_output
        endif
        if bOptstptc
            call @usr_optionalstop
        endif
    endif
    if bTcseperation
        {nl}
    endif
    if !bSimpleformat
        bSafetyprep = true
        call @usr_ct_init_gmstates
    endif
    if bNnumtc                                           ; С этого кадра начинается новый блок инструмента N2, N3  и т.д.
        {nl,'N'iTcnumber' '}
    else
        {nb}
    endif
    if !bSimpleformat
    sHomestr = sHomestrbegin
        call @usr_prep_home_axis
        {nb}
     {'G00 '}
        call @usr_abs_inc_output
    {'G94 '}
        call @usr_mp_output
        call @usr_compensation_output
    {'G49 '}
        skipline = false
        call @end_drill
       
    endif
endp

 

В ней я тоже немного подправил, что сумел понять, потому фрагмент УП в начале имеет данный вид... Но не могу убрать дублирование строк при М00 ! Если выводить с М01, то все корректно, как надо. Может кто подсказать, что еще подшаманить-то??

Здравствуйте как я понял вы хотите прийти к такому виде программного кода если выбран опциональный стоп?


G64
G40 G90 G94
G54
TT2
S3500 M03
G00 G54 X73.011 Y-6.6 A0.
Z25.
G00 Z2.
G01 Z-2. F300
G01 X69.411 F1000
G02 X73.011 Y-3. I3.6 J0.
G01 X103.103
G03 X106.103 Y0. I0. J3.
G01 Y63.407
G03 X103.103 Y66.407 I-3. J0.
G01 X0.
G03 X-3. Y63.407 I0. J-3.
G01 Y0.
G03 X0. Y-3. I3. J0.
G01 X30.092
G03 X32.738 Y-1.413 I0. J3.
G02 X70.365 Y-1.413 I18.8132 J-10.0431
G03 X73.011 Y-3. I2.6465 J1.4128
G02 X76.611 Y-6.6 I0. J-3.6
G01 X73.011
G00 Z25.
M05
M00
()
G90

G54
TT1
S3500 M03
G00 X61.367 Y-6.216 A0.
Z25.
G00 Z2.
G01 Z-8. F300
G01 X64.757 Y-12.568 F1000
G03 X67.718 Y-2.826 I-3.3907 J6.3516
G03 X35.385 Y-2.826 I-16.1667 J-8.6303
G03 X38.346 Y-12.568 I6.3516 J-3.3907
G01 X41.736 Y-6.216
G00 Z25.
OFF
M30

Ссылка на сообщение
Поделиться на других сайтах
Только что, Povar1 сказал:

Здравствуйте как я понял вы хотите прийти к такому виде программного кода если выбран опциональный стоп?

А какой у вас станок и стойка?

Впервые вижу вызов инструмента через ТТ! 

А как у вас выводит М00  если вставить его между траекторий  делая обработку одним и тем же инструментам  ? 

Ссылка на сообщение
Поделиться на других сайтах
Только что, Povar1 сказал:

 

Не совсем. Я хотел бы получить такой вид:

.......

G03 X62. Y-1.8 I0. J1.8
G01 Y-5.8
G03 X62. Y-5.8 I0. J5.8
G00 Z25.
M09
M05
G00 G28 G91 Z0
G00 G28 G91 Y0.
M00

 

N2
G00 G28 G91 Z0
G00 G90 G94 G17 G40 G49 G80
T2 M06 (End mill D6 Chist)
T1
(Otv D20 Chist.)
G00 G54 G90 X62. Y-3.4 S6000 M03
G43 H5 D5 Z25. M08
Z25.

.........

Т.е. убрать дублирование строк в конце блока кода для предыдущего инструмента, и непонятный М01 в конце, когда перед ним уже стоит М00. В принципе, все остальное меня устраивает.

Изменено пользователем Metalfrezer
Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, Frezer_PU сказал:

А какой у вас станок и стойка?

Впервые вижу вызов инструмента через ТТ! 

А как у вас выводит М00  если вставить его между траекторий  делая обработку одним и тем же инструментам  ? 

Стойка синумерик переписанная мной в усмерть чтоб мне было удобней работать

Ссылка на сообщение
Поделиться на других сайтах
Только что, Povar1 сказал:

Стойка синумерик переписанная мной в усмерть чтоб мне было удобней работать

Стойка или пост?

И снова мой вопрос 

Только что, Frezer_PU сказал:

А как у вас выводит М00  если вставить его между траекторий  делая обработку одним и тем же инструментам  ? 

 

Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, Metalfrezer сказал:

Не совсем. Я хотел бы получить такой вид:

.......

G03 X62. Y-1.8 I0. J1.8
G01 Y-5.8
G03 X62. Y-5.8 I0. J5.8
G00 Z25.
M09
M05
G00 G28 G91 Z0
G00 G28 G91 Y0.
M00

 

N2
G00 G28 G91 Z0
G00 G90 G94 G17 G40 G49 G80
T2 M06 (End mill D6 Chist)
T1
(Otv D20 Chist.)
G00 G54 G90 X62. Y-3.4 S6000 M03
G43 H5 D5 Z25. M08
Z25.

.........

Т.е. убрать дублирование строк в конце блока кода для предыдущего инструмента, и непонятный М01 в конце, когда перед ним уже стоит М00. В принципе, все остальное меня устраивает.

Смотрите сегодня мне некогда расписовать код с пояснениями в течении недели если будет актуально распишу и здесь один принцып не в порядке кадров а логике нужен вам м01 или нет т к если нет нужен его несложно удалить из процедуры если без м00 вам нужно чтоб выводилась м01 то потребуется дописывать логическую ветку.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




×
×
  • Создать...