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

Редактирование постов 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 пользователей

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




  • Сообщения

    • ID_Hacker
      Цель счётчика какая? Счётчик чего и как реализован? Опишите полностью задачу. Вам точно счётчик нужен, а не таймер? Просто поставьте задачу что хотите получать своими словами. Оттуда и будем исходить через что реализовывать.     Зависит от того в какой области памяти находится счётный регистр - память ПЛК, системная переменная, R параметр, GUD. А не проще Каунтер использовать? Вход счётчика сбрасывать по команде разжима/зажима + состояние разжато/зажато (например реле давления). Вот что он будет считать, это уже вопрос к автору.   Слишком сложно, можно же проще реализовать. Хотя каждому свой путь.   На 828й же доступны простые синхронные действия без опций даже в экспортном варианте.
    • Kiolis
      Прошу помочь. Пробую Конструкции из раздела Сварные детали. Создал 3д эскиз. С верхней рамкой справился, стойки тоже (пришлось каждую подрезать отдельной операцией). Нужно теперь снизу связать "ноги" снизу. Пытаюсь использовать инструмент "Отсечь/вытянуть", в итоге связку подрезает до ноги, но заодно и ногу подрезает, а это не нужно. Как врезать связки между ног?
    • Guhl
      М5 не сбрасывает режим? Служебные сигналы какие-нибудь указывают в каком текущем состоянии находится шпиндель?
    • Богоманшин Игорь
      Эта пластина не совсем походит для вашего чугуна, производитель пишет "для стали и нержавейки", чугун как опция, рекомендует для К25, а у вас К10 (перлитный). Посмотрите в том же магазине пластины, у которых диапазон применения К05-К30. Но не факт, что пойдут без задиров.  Придется нескольких производителей пробовать.
    • FAV83
      Кто может помочь по расчету полноконусной форсунки для воды, в трубопроводе? Расход  требуется 5,53 м3/ч, разница в давлении 0,434МПа. Требуется разработать чертеж под изготовление, если есть желающие - пишите в личку 
    • Zergus
      Выкладывайте сюда свои "чудеса", может по модели получится понять, что в ней не так. А если есть возможность писать в техподдержку - кидайте им свой файл, думаю разберутся.
    • FAV83
      Интересует аналогичная задача по расчету полноконусной форсунки для воды, но мне требуется разработать чертеж по опросному листу, если есть желающие - пишите в личку 
    • Богоманшин Игорь
      А есть подтверждение в каких либо нормативных документах? Или только из соображений "максимально минимальная себестоимость"?
    • ANT0N1DZE
      Это не поможет ответить на этот вопрос конкретными числами. Судя по всему, там металлические частички внутри материала. Подобные эластомеры существуют и применяются. 
    • gudstartup
      как перевести шпиндель снова первоначальный режим управления скоростью когда ему пофиг число импульсов на оборот? резьбу пока резать не будут а в подпрограмму смены можно что нить добавить или в реализацию m19  чтобы чпу из режима контроля позиционного кодера вышло?
×
×
  • Создать...