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

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


CNC_SKILL

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

  • 2 месяца спустя...


Здравствуйте коллеги. Хочу добавить высокоскоростную обработку (G05.1Q1) в свой пост. Поиск по форуму не дал результатов. Просто тупо новый блок в начале и в конце программы не подходит, так как известно, что G05.1 в циклах сверление нельзя использовать, и убирать потом из циклов сверления этот код так же тупо, как и писать его вручную. Поэтому нужно сделать так, чтобы исключить этот код в циклах сверления. Я прикинул несколько вариантов, хочу спросить у вас возможно ли это:

1. Добавить зависимость: Добавлять G5.1 если "цикл сверления" то не добавлять. (    if job_type not @drill then 
    {nb, 'G5.1Q1 '}    ) Так не получается, может неправильно что то делаю.

Вариант второй

Использовать процедуру @usr_HSM_mode

5147363127484297ff1950e223790540.png

Смог добиться добавления G05.1Q1 при изменение доп параметров в переходе, но реализовать выключение G05.1Q0 через эту процедуру даже не знаю как сделать. 

Буду рад любым подсказкам. Спасибо!

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

 

@drill
    ; Handle output for drill cycles
    local logical skipZpos
    skipZpos = false
    if job_type eq '3-d drill' and prev_command eq '@drill_point'
        skipZpos = true
    endif
    if !skipZpos
        {nb,cDrZp'Z'zpos' 'cDrZs}
    endif
    if drill_type eq G81
        iDrillmode = 81
            

     {nb, 'G5.1Q1 '}     

 

    {nb, cDr'G'iDrillmode ' X'xpos' Y'ypos' Z'drill_lower_z' R'drill_upper_z' F'feed ' 'cDrCys}
    endif
    if drill_type eq G82
        iDrillmode = 82
        {nb, cDr'G'iDrillmode ' X'xpos' Y'ypos' Z'drill_lower_z' R'drill_upper_z' P'P_Dwell' F'feed' 'cDrCys}
    endif
    if drill_type eq G83
        iDrillmode = 83
        if P_Dwell eq 0
            change(P_Dwell) = false
        endif
        if I_FirstPeck eq 0
            {nb, cDr'G'iDrillmode ' X'xpos' Y'ypos' Z'drill_lower_z' R'drill_upper_z' Q'Q_Peck,[' P'P_Dwell],' F'feed' 'cDrCys}
        else
            {nb, cDr'G'iDrillmode ' X'xpos' Y'ypos' Z'drill_lower_z' R'drill_upper_z' I'I_FirstPeck' J'J_ReduceAmount' K'K_MinimumDepth,[' P'P_Dwell],' F'feed' 'cDrCys}
        endif
    endif
    if drill_type eq G73
        iDrillmode = 73
        if P_Dwell eq 0
            change(P_Dwell) = false
        endif
        if I_FirstPeck eq 0
            {nb, cDr'G'iDrillmode ' X'xpos' Y'ypos' Z'drill_lower_z' R'drill_upper_z' Q'Q_Peck' K'K_MinimumDepth,[' P'P_Dwell],' F'feed' 'cDrCys}
        else
            {nb, cDr'G'iDrillmode ' X'xpos' Y'ypos' Z'drill_lower_z' R'drill_upper_z' I'I_FirstPeck' J'J_ReduceAmount' K'K_MinimumDepth,[' P'P_Dwell],' F'feed' 'cDrCys}
        endif
    endif
    if drill_type eq G84
        iDrillmode = 84
        if cG84p ne ''
           {nb,cG84p}
        endif
        if bG84spin
            change(spin) = true
        else
            change(spin) = false
        endif
        if iG84feed eq 1
            nG84feed = tool_drill_lead*spin
        endif
        if iG84feed eq 2
            nG84feed = tool_drill_lead
        endif
        {nb, cDr,cG84 ' X'xpos' Y'ypos' Z'drill_lower_z' R'drill_upper_z,[' S'spin:fG84spin],' F'nG84feed ' 'cDrCys}
    endif
    if drill_type eq G84_Peck
        iDrillmode = 84
        if cG84p ne ''
           {nb,cG84p}
        endif
        if bG84spin
            change(spin) = true
        else
            change(spin) = false
        endif
        if iG84feed eq 1
            nG84feed = tool_drill_lead*spin
        endif
        if iG84feed eq 2
            nG84feed = tool_drill_lead
        endif
        {nb, cDr,cG84 ' Z'drill_lower_z' R'drill_upper_z' 'cCycs,['S'spin:fG84spin' '],'F'nG84feed ' 'cDrCys}
    endif
    if drill_type eq G85
        if P_Dwell eq 0
            iDrillmode = 85
            {nb, cDr'G'iDrillmode ' X'xpos' Y'ypos' Z'drill_lower_z' R'drill_upper_z' F'feed ' 'cDrCys}
        else
            iDrillmode = 89
            {nb, cDr'G'iDrillmode ' X'xpos' Y'ypos' Z'drill_lower_z' R'drill_upper_z' P'P_Dwell' F'feed' 'cDrCys}
        endif
    endif
    if drill_type eq G86
        iDrillmode = 86
        {nb, cDr'G'iDrillmode ' X'xpos' Y'ypos' Z'drill_lower_z' R'drill_upper_z' F'feed ' 'cDrCys}
    endif
    if drill_type eq G87
        if P_Dwell eq 0
            iDrillmode = 87
            {nb, cDr'G'iDrillmode ' X'xpos' Y'ypos' Z'drill_lower_z' R'drill_upper_z' F'feed ' 'cDrCys}
        else
            iDrillmode = 88
            {nb, cDr'G'iDrillmode ' X'xpos' Y'ypos' Z'drill_lower_z' R'drill_upper_z' P'P_Dwell' F'feed' 'cDrCys}
        endif
    endif
endp

;-------------------

@drill_point
    ; Handle output for drill positions
    local integer i
    if drill_type eq G84_Peck
        iNumpecks = (drill_depth/Q_Peck)+1.
        nCorrectedpeck = drill_depth/iNumpecks
        i = 1
        while i <= iNumpecks
            {nb,'X'xpos ' ', 'Y'ypos ' ', 'Z'(drill_upper_z-(nCorrectedpeck*i))' 'cDrPts}
            i = i + 1
        endw
    else
        if !first_drill then
            {nb,['X'xpos ' '], ['Y'ypos ' '], ['Z'zpos ' ']cDrPts}
        endif
    endif
endp


;-------------------

@end_drill
    ; Handle output to cancel drill cycles 
    iDrillmode = 80
    if change(iDrillmode)
        {nb, 'G'iDrillmode' '}
    endif
    if (cG84endl ne '') and (drill_type eq G84_Peck or drill_type eq G84)
        {nb,cG84endl}
    endif

 

    {nb, 'G5.1Q1 '}  

 

endp

 

 

 

так же можно добавить условие при использовании G05 ставить G5.1q1 

через файл настройки станка добавьте свою переменную и используйте её в своём условии..

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

 

@drill
    ; Handle output for drill cycles
    local logical skipZpos
    skipZpos = false
    if job_type eq '3-d drill' and prev_command eq '@drill_point'
        skipZpos = true
    endif
    if !skipZpos
        {nb,cDrZp'Z'zpos' 'cDrZs}
    endif
    if drill_type eq G81
        iDrillmode = 81
            

     {nb, 'G5.1Q1 '}     

 

    {nb, cDr'G'iDrillmode ' X'xpos' Y'ypos' Z'drill_lower_z' R'drill_upper_z' F'feed ' 'cDrCys}
    endif
    if drill_type eq G82
        iDrillmode = 82
        {nb, cDr'G'iDrillmode ' X'xpos' Y'ypos' Z'drill_lower_z' R'drill_upper_z' P'P_Dwell' F'feed' 'cDrCys}
    endif
    if drill_type eq G83
        iDrillmode = 83
        if P_Dwell eq 0
            change(P_Dwell) = false
        endif
        if I_FirstPeck eq 0
            {nb, cDr'G'iDrillmode ' X'xpos' Y'ypos' Z'drill_lower_z' R'drill_upper_z' Q'Q_Peck,[' P'P_Dwell],' F'feed' 'cDrCys}
        else
            {nb, cDr'G'iDrillmode ' X'xpos' Y'ypos' Z'drill_lower_z' R'drill_upper_z' I'I_FirstPeck' J'J_ReduceAmount' K'K_MinimumDepth,[' P'P_Dwell],' F'feed' 'cDrCys}
        endif
    endif
    if drill_type eq G73
        iDrillmode = 73
        if P_Dwell eq 0
            change(P_Dwell) = false
        endif
        if I_FirstPeck eq 0
            {nb, cDr'G'iDrillmode ' X'xpos' Y'ypos' Z'drill_lower_z' R'drill_upper_z' Q'Q_Peck' K'K_MinimumDepth,[' P'P_Dwell],' F'feed' 'cDrCys}
        else
            {nb, cDr'G'iDrillmode ' X'xpos' Y'ypos' Z'drill_lower_z' R'drill_upper_z' I'I_FirstPeck' J'J_ReduceAmount' K'K_MinimumDepth,[' P'P_Dwell],' F'feed' 'cDrCys}
        endif
    endif
    if drill_type eq G84
        iDrillmode = 84
        if cG84p ne ''
           {nb,cG84p}
        endif
        if bG84spin
            change(spin) = true
        else
            change(spin) = false
        endif
        if iG84feed eq 1
            nG84feed = tool_drill_lead*spin
        endif
        if iG84feed eq 2
            nG84feed = tool_drill_lead
        endif
        {nb, cDr,cG84 ' X'xpos' Y'ypos' Z'drill_lower_z' R'drill_upper_z,[' S'spin:fG84spin],' F'nG84feed ' 'cDrCys}
    endif
    if drill_type eq G84_Peck
        iDrillmode = 84
        if cG84p ne ''
           {nb,cG84p}
        endif
        if bG84spin
            change(spin) = true
        else
            change(spin) = false
        endif
        if iG84feed eq 1
            nG84feed = tool_drill_lead*spin
        endif
        if iG84feed eq 2
            nG84feed = tool_drill_lead
        endif
        {nb, cDr,cG84 ' Z'drill_lower_z' R'drill_upper_z' 'cCycs,['S'spin:fG84spin' '],'F'nG84feed ' 'cDrCys}
    endif
    if drill_type eq G85
        if P_Dwell eq 0
            iDrillmode = 85
            {nb, cDr'G'iDrillmode ' X'xpos' Y'ypos' Z'drill_lower_z' R'drill_upper_z' F'feed ' 'cDrCys}
        else
            iDrillmode = 89
            {nb, cDr'G'iDrillmode ' X'xpos' Y'ypos' Z'drill_lower_z' R'drill_upper_z' P'P_Dwell' F'feed' 'cDrCys}
        endif
    endif
    if drill_type eq G86
        iDrillmode = 86
        {nb, cDr'G'iDrillmode ' X'xpos' Y'ypos' Z'drill_lower_z' R'drill_upper_z' F'feed ' 'cDrCys}
    endif
    if drill_type eq G87
        if P_Dwell eq 0
            iDrillmode = 87
            {nb, cDr'G'iDrillmode ' X'xpos' Y'ypos' Z'drill_lower_z' R'drill_upper_z' F'feed ' 'cDrCys}
        else
            iDrillmode = 88
            {nb, cDr'G'iDrillmode ' X'xpos' Y'ypos' Z'drill_lower_z' R'drill_upper_z' P'P_Dwell' F'feed' 'cDrCys}
        endif
    endif
endp

;-------------------

@drill_point
    ; Handle output for drill positions
    local integer i
    if drill_type eq G84_Peck
        iNumpecks = (drill_depth/Q_Peck)+1.
        nCorrectedpeck = drill_depth/iNumpecks
        i = 1
        while i <= iNumpecks
            {nb,'X'xpos ' ', 'Y'ypos ' ', 'Z'(drill_upper_z-(nCorrectedpeck*i))' 'cDrPts}
            i = i + 1
        endw
    else
        if !first_drill then
            {nb,['X'xpos ' '], ['Y'ypos ' '], ['Z'zpos ' ']cDrPts}
        endif
    endif
endp


;-------------------

@end_drill
    ; Handle output to cancel drill cycles 
    iDrillmode = 80
    if change(iDrillmode)
        {nb, 'G'iDrillmode' '}
    endif
    if (cG84endl ne '') and (drill_type eq G84_Peck or drill_type eq G84)
        {nb,cG84endl}
    endif

 

    {nb, 'G5.1Q1 '}  

 

endp

 

 

Мне кажется или при таком раскладе G5.1 будет выводиться в цикле сверления, что не нужно. Да еще в конце будет G5.1 Q1 вместо G5.1Q0?

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

я вам показа где поставить команды и выше написал добавьте IF

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

я вам показа где поставить команды и выше написал добавьте IF

Не могли бы вы сделать пример на стандартном посте g_milling3x и файле станка. Не понимаю, какой доп параметр создавать, LOGICAL, INTEGER, NUMERIC? Созданный параметр нужно описать в посте? Как это сделать? Заранее благодарю.

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

 

Спасибо, больше не нужно. Все сделал красиво)))

 

Теперь колись! 

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

я вам показа где поставить команды и выше написал добавьте IF

Уважуха! Держи +! 

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

Ну чтож. К сожалению на этом форуме развернутые ответы дают единицы, я постараюсь дать развернутый ответ чтобы всем было понятно потому что понимаю как это сложно, когда не шариш нихрена, а хочется. Эту всю затею я посвящаю пользователю данного форума Игорю Макаренко, который послал меня править пост ручками мол это было на форуме иди учи и тд. и т.п., когда я у Израильского коллеги попросил постпроцессор в котором была реализована эта функция G05.1 , может не так конечно, но все же.

 Как я писал выше в своем посте-вопросе у меня было 2 варианта с первым вообще ничего не получалось, но теперь разобравшись со вторым думаю удастся и первый, хотя этот лучше, можно легко включить или отключить функцию непосредственно в переходе.

 Для начала создаем доп. параметр в файле станка( показано на картинке)

1. GUI имя - любое

2. Имя GPP (b)любое название, пример bName

3. Тип - LOGICAL

Вот тут остановлюсь поподробнее, почему я выбрал LOGICAL. Так как нужная функция у меня не меняется, ее нужно только включить или выключить поэтому я подумал, что подойдет тип LOGICAL - Истина или лож. Истина - вкл. Лож- выкл. Позже когда я разбирался методом научного тыка я понял что если выбрал тип LOGICAL то имя GPP должно начинаться с буквы b иначе пост не видит эту переменную. В постпроцессоре, в процедуре @init_post можно заметить, что все переменные начинаются с определенной буквы logical - b, string - s, integer - i, numeric - n.

Далее нужно редактировать постпроцессор.

 Находим процедуру @init_post и в любой строчке global logical добавляем переменную в таком виде bName_gpp

Скрытый текст

@init_post

    global string sUS_date sUS_time sUsrmsg sHomestr sHomestrbegin sHomestrtc sHomestrend sHomestrstpdiff sHomestrstpsame sHomeline
    global string sCamfilepath sSubspath cWo cPb cPe cG84 cG84p cCycs cHomep cTCcodep cTCcodes fG84spin cDr cCb cCe cDrZp cDrZs
    global string cDrCys cDrPts cG84endl cPn cHoffset
    global logical bStartFile bTlchg bSkipxyrapid bWorkoffsettc
    global logical bSubs bTlseperation bTcseperation bDateTimeOutput bStopM00difftool bToolPreselect bToolChangeAtEnd
    global logical bFromendprogram bFrombeginchangetool bFromendchangetool bFromendoffile bMultiplefixtures
    global logical bSafetyprep bSyncdrapid bFeedoutput bNnumtc 
    global logical bOptstpbegin bOptstptc bOptstpend bUseprognum bUseprogname bCoolspinaftertc bCoolAfterHeightComp bVSOFanuc_gpp
    global logical bCoolExist bCoolofftc bSpinofftc bCooloffend bSpinoffend bG84spin bTest bHeightComp bHeightCompOffset
    global logical bHeightCompZsameLine bTCSplit bSpinOnlyUseS bDiameterCompOutputD bCompTypeOutput bPostRevOutput bUseFileName
    global logical bOutputToolList bOutputToolMessage bOutputUserMessages bSimpleformat
    global integer iMplane iAbsincmode iWorkoffset iHeightcomp iStopmode iMotionmode
    global integer iDiametercomp iDrillmode iTcnumber iNumpecks iPworkoffset iSpindleDir
    global integer iSlength_g_file_name iSlength_full_g_file_name iSlengthcampartpath iDiameteroffset iArcmode iG84feed
    global integer iHomingmode iWorkOffsetmode iProgendmode iG187_P_gpp iSplit_ProgName_Num iNumSeparationLines iOperationMessage
    global integer iCoolantM1 iCoolantM2 iCoolantM3 iCoolantM4 iCoolantM5 iCoolantM6 iCoolantM7 iCoolantM8
    global integer iCoolantM1ON iCoolantM2ON iCoolantM3ON iCoolantM4ON iCoolantM5ON iCoolantM6ON iCoolantM7ON iCoolantM8ON
    global integer iCoolantM1OFF iCoolantM2OFF iCoolantM3OFF iCoolantM4OFF iCoolantM5OFF iCoolantM6OFF iCoolantM7OFF iCoolantM8OFF
    global numeric nTcXnext nTcYnext nTcZnext nTcCnext nCorrectedpeck nRapidfeed nG187_E_gpp nHeightCompcode nG84feed
 

 

 Далее нужно создать процедуру, но я взял процедуру @usr_HSM_mode удалил из нее все, так как она мне на Фануке не нужна и привел ее к такому виду:

;--------------------

@usr_HSM_mode
    ; Handle output of HSM code
    if bVSOFanuc eq true then
    {nb, 'G49'}
    {nb, 'G05.1Q1'}
    endif
endp

;--------------------

 

Далее нужно создать процедуру, тут я уже создал новую, назвал ее так, чтоб не запутаться: @usr_hsm_mode_off. 

И привел ее к такому виду:

@usr_hsm_mode_off
    if bVSOFanuc eq true then
    {nb, 'G05.1Q0'}
    endif
endp

 

Далее нужно указать место где вызывать эти процедуры начнем с первой.

Так как нам нужно вставить G49 и G05.1Q1 не вначале программы, а в начале перехода то логично, что нам нужно вызвать процедуру в процедуре @start_of_job, но нет, если вставим там, то нужные коды появятся до вызова инструмента, а нам нужно после. В процедуре @start_of_job есть вызов процедуры @usr_ct_toolchange она и отвечает за вызов инструмента там и вставляем нашу первую процедуру @usr_HSM_mode, я сделал вот так:

@usr_ct_toolchange
    ; Handle G/M code output to make tool change
    if bTCSplit
        {nb,cTCcodep'T'tool_number}
        if bOutputToolMessage
            {' 'cCb,tool_message,cCe}
        endif
        {nb,cTCcodes}
    else
        {nb,cTCcodep'T'tool_number' 'cTCcodes}
        if bOutputToolMessage
            {cCb,tool_message,cCe}
        endif   
    endif
    if bToolPreselect
        if !last_tool
            {nb,'T'next_tool_number}
        else
            if !bToolChangeAtEnd
                {nb,'T'next_tool_number}
            endif
        endif
    endif
    call @usr_HSM_mode
endp

 

Далее нужно добавить нашу созданную процедуру, которая отвечает за G05.1Q0 в процедуру @end_of_job но не все оказалось так просто, если вставить ее просто так, то при обработке двух переходов без смены инструмента между переходами в УП появится G05.1Q0, что нам не нужно. Нужно добавить зависимость, что мол если номер инструмента не такой как в следующем переходе вот тогда и вызываем нашу процедуру. Вот так:

@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
    if tool_number ne next_job_tool_number
    call @usr_hsm_mode_off
    endif

    bSkipxyrapid = false
    bStopM00difftool = false
    iPworkoffset = iWorkoffset
endp

 

Вот и все. Прошу проверить это все дело кому интересно на работоспособность. Данный способ дает много возможностей, не только с ВСО Fanuc поэтому если данный способ будет работать без ошибок предлагаю создать отдельную тему, для облегчения поиска из поисковых систем. Надеюсь я все очень понятно описал, если у кого будут вопросы я готов помочь.  

5da0fe1671028cdc7197007265eb4fd3.png

 

 

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

Эту всю затею я посвящаю пользователю данного форума Игорю Макаренко, который послал меня править пост ручками мол это было на форуме иди учи и тд. и т.п., когда я у Израильского коллеги попросил постпроцессор в котором была реализована эта функция G05.1 , может не так конечно, но все же.

Ну вот видишь наоборот он помог тебе не подсматривать у кого то а самостоятельно разобраться в посте да еще и на таком уровне чтоб дописывать процедуры ! А если бы ты просто содрал с другого поста то не было бы такого эффекта и голова не заботилась бы о том как решить этот вопрос! 

Так что скажем так это был волшебный пендаль :biggrin: и теперь ты понимаешь на сколько это не просто делается без определенных знаний!

А вот теперь представь что когда ты потратив огромное  количество времени  на правку поста просто по первому запросу кому то его отдашь, так просто, при том что человек и палец о палец не ударил чтоб что-то сделать самостоятельно и в дальнейшем делать не будет!

Я тоже у себя на канале оказался ...уевым потому что не поделился постом по первому запросу, если интересно можешь почитать коменты 

Скрытый текст

 

 

И поверь если ты будешь и дальше делать такой упор самостоятельно то твой пост будет намного лучше чем у того израильского коллеги который тебе даже и не ответил и врятли ответит ! 

 

 

 

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

спасибо LessNICKoff  и sudomex2016 !

а благодарность должна быть не за пинок и прочие укоры и злорадства, а за наставления... когда отец учит примером и наставляет, тогда знания даются легче чем от от воспитательного вида типа "сам должен знать", "сам что-ли не можешь догадаться", "голова твоя бестолковая" и прочее...  видимо кто-то рос без отца... но это уже совсем другая история.

 

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

@sudomex2016

Вы в цикле сверление смогли реализовать отключение HSM ? Вопрос у вас звучал так. А по вашему развёрнутому ответу вы совсем в другом месте изменили пост. И задача у вас оказалась другая.

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

В NC210 есть подобные режимы включается через G27- замедление на углах. G28-сохранять скорость G29- от точки к точке происходит останов. 

Я в настройках ввёл переменную STRING(не сразу пришёл к такому решению), где я выбираю режим при настройки операции G27 G28 и в начале циклов и конце операции, смена инструмента стоит {nb,'G29'}. без всяких IF.

Если переменная определена в файле станка её не обязательно объявлять в глобальных переменных.

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

@sudomex2016

Вы в цикле сверление смогли реализовать отключение HSM ? Вопрос у вас звучал так. А по вашему развёрнутому ответу вы совсем в другом месте изменили пост. И задача у вас оказалась другая.

это был ваш так сказать "пинок", а дальше @sudomex2016 просто взлетел в умении редактировать пост))) по ходу утирая носы некоторым участникам форума ))..

1433840059_217606508.gif

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

по ходу утирая носы некоторым участникам форума ))..

знаешь такую пословицу :

Плох тот ученик который не превзошел своего учителя и плох тот учитель ученик которого не превзошел его!

 

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

знаешь такую пословицу :

Плох тот ученик который не превзошел своего учителя и плох тот учитель ученик которого не превзошел его!

 

конечно знаем)))... согласен если учитель уже стар, и было бы удивительно если бы молодой и сильный ученик не превзошел его...))))

 

klichko_54009919_orig_.png

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

конечно знаем)))... согласен если учитель уже стар, и было бы удивительно если бы молодой и сильный ученик не превзошел его...))))

а в наше время таких учеников которые могут превзойти к сожалению единицы и встречаются очень редко, ну очень редко! 

 

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

а в наше время таких учеников которые могут превзойти к сожалению единицы и встречаются очень редко, ну очень редко! 

 

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

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

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

методы обучения в наше время  уже не те (не кто не хочет тратить свое время на кого то за спасибо) это в общих понятиях хотя и есть те кто помогают безвозмездно , по этому  надо учится рассчитывать только на себя и свои силы так как рано или поздно наступит тот момент когда тебе не кто не поможет как бы ты не просил и не искал помощи! 

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Viktor2004
      Импортозамещение  
    • vad0000
      Нет, просто отключаете, и забываете о ней   Не надо ничего делать   Откуда приходит сигнал 24 вольта на 7 вход сервоусилителя? Фото другой страницы схемы
    • maxx2000
    • vladimir.songin
      То есть отключаю аналоговую обратную связь от аналогового входа, и подключаю вместо энкодера? Так не делал но сомнения у меня: Вход энкодера может  быть 12 или 5 вольт. У нас 12. Два пина питание, два пина Каналы A B соответственно, один пин REF (непонятно что он означает и как работает). Остальные соеденены вместе. На какие из них подавать аналаговый вход обратной связи дефлектора.  сигналы от энкодера приходят, проверял осцилографом на самом разьёме непосредственно на входе DM02, и некое значение уже могло бы отобразиться в поле энкодера при отключенном аналаговом входе.  Если отключить аналоговый вход, то видим единичку в обоих полях, но уже писал об этом.  
    • Алексей 1977
      Кто знает подскажите как отключить этот ненужный набор букв и символов в готовой УП? Я так думаю надо редактировать постпроцессор? Заранее спасибо ( Общая длина: 130.0) ( Заготовка:) ( MIN X: -10.970) ( MIN Y: -10.970) ( MIN Z: -6.500) ( MAX X: 10.970) ( MAX Y: 10.970) ( MAX Z: 0.000) ( COORDINATE SYSTEM: Глобальная СК) ( Кончик инструмента:) (   X: -0.000) (   Y: 0.000) (   Z: 10.000) ( Рекомендованная длина: 50.000) ( Количество кромок: 4) ( Инструмент:   Концевая фреза) ( DIAMETER: 10.000) ( Безопасность:) ( Рабочие ходы инструмента: Безопасная БЕЗ зарезов) ( Подводы инструмента: Безопасная БЕЗ зарезов) ( Переходы инструмента: Безопасная БЕЗ зарезов) ( Рабочие ходы патрона: Столкновения НЕ проверялись) ( Подводы патрона: Столкновения НЕ проверялись) ( Переходы патрона: Столкновения НЕ проверялись) ( Траектория: Шаблон) ( STEPOVER: 5.000) ( ДОПУСК:0.100) ( THICKNESS:0.000) ( Статистика:) ( LENGTH: 95.318)( LIFTS: ( TIME: 0/00/05) 1) G0X0Y0 G43Z10.H13 X4.75Y-8.227 Z5. G1Z0F500 X9.5Y-5.485F1000 Y5.485 X0Y10.97 X-9.5Y5.485 Y-5.485 X0Y-10.97 X4.75Y-8.227 G0Z10.
    • gudstartup
      считывание происходит при помощи вх\вых сигналов контроллера plc 
    • gudstartup
      @Maks Horhe так все таки скиньте бэкап эмулируем ваше чпу в cncguide и посмотрим куда поедет?  можете снять видео с фиксацией координатных позиций после каждого кадра. Выложу вашу программу пусть программисты посмотрят все ли в ней ок. %O0002 G40 G17 G94 G90 G49 G80 N1 G91 G28 Z0.0 N2 G91 G28 X0.0 Y0.0 N3 G91 G28 B0.0 C0.0 N4 M03 S200 N5 G90 G0 G53 B0.0 C0.0 N6 G54 N7 X0.0 Y0.0 N8 G90 G43 H01 N9 G90 G0 X0.0 Y0.0 N10 G90 G0 Z200.0 N11 G01 Z10.0 F1500. N12 M00 N13 G00 Z200.0 N14 G40 G49 G69 N15 G00 G53 Z0.0 N16 G00 G54 B0.0 C0.0 N17 G68.2 X0.0 Y0.0 Z0.0 1135. J39.2044 K-129.2315 N18 G53.1 N19 G01 X0.0 Y0.0 F1500 N20 G90 G43 H01 N21 G90 G01 X0.0 Y0.0 F1500 N22 G90 G01 Z200. F1500 N24 M00 N25 G00 Z200. N26 G40 G49 G69 N27 G91 G28 Z0.0 N28 G28 X0.0 Y0.0 N29 G91 G28 B0.0 C0.0 N30 M5 N31 M30
    • gudstartup
      @karlf 530 считывает ключ по специальному протоколу при помощи plc и получает его серийный номер а из него определяет возможные режимы доступа. там нет драйвера а есть plc модуль или несколько эти модули написаны на питоне  надпись smartkey исчезает с экрана при запуске чпу??
    • ДОБРЯК
      Для того, чтобы получить правильные высшие) формы при виртуальном эксперименте, нужно сделать грамотную КЭ модель. От разговора на эту тему вы постоянно уклоняетесь.  То нет компьютера под рукой, сделать простейший тест, то теряете интерес. :=) Сходимости энергии деформации при расчетах статики, недостаточно для точного определения высших собственных форм и частот.  Для того, чтобы грамотно использовать метод конечных элементов, нужно сделать много-много тестов в статике, динамике и ... Одной кнопки и двух конечных элементов в 3Д программе недостаточно для определения высших собственных форм...  У вас в качестве инструмента всего два конечных элемента, шести узловая несовместная оболочка Тимошенко и десяти узловой тетраэдр. И еще контакты при решении задачи на собственные числа. Вам ли говорить про правильность определения высших собственных форм для сложных изделий... :=)    
    • vad0000
      Покажите схему с разрешением на движение
×
×
  • Создать...