

Wróć do „SOLIDCAM 2013 -SINUMERIK 810 D - DAM - DEGRESJA nie dziala”
Kod: Zaznacz cały
z pliku PRP:
;Drill cycles
drill_type = CYCLE81 Drilling Y
drill_type = CYCLE82 F_Drill Y Czas_M0_Dol
drill_type = CYCLE83 Peck Y Czas_M0_Dol Czas_M0_Gora Degresja Wsp_1_Posuwu Min_Krok
drill_type = CYCLE84 Tapping Y Krok_W_Dol Krok_Wycofania Czas_M0_Dol Poz_Startu_Wrzec Obr_Wyc_Procent
drill_type = CYCLE840 Tapping Y Czas_M0_Dol
drill_type = CYCLE85 Boring Y Czas_M0_Dol Posuw_Powrotu_Procent
drill_type = CYCLE86 F_Boring Y Czas_M0_Dol Odsun_X Odsun_Y Odsun_Z Pozycja_wrzeciona
___________________________________________________________________________________________________________________________________
z pliku GPP
@drill
tool_direction = CCW
if NP_Berechnung eq 0 then
{nb,'G0 G'save_home}
else
{nb,'G0'}
endif
; {' F'feed:gcode_f}
; call @start_tool
;if M07 ne 0 then
; {' M7'}
;endif
;if M08 ne 0 then
; {' M8'}
;endif
;if M50 ne 0 then
; {' M50'}
;endif
call @rapid_move
;-----------------------------
;---- Change by Artur P. -----
;-----------------------------
local numeric nRTP nRFP nSDIS nDP nDPR nDTB nFDEP nFDPR nDAM nDTS nFRF nFFR nRFF n_MDEP n_VRT n_DTD n_DIS1 nRPA nRPO nRPAP nPOSS nMPIT nPIT nSST nSST1
local integer iGMODE iDMODE iAMODE iVARI i_AXN iSDIR iSDAC iPITB iTECHNO iSDR iENC
numeric_def_f = '5.3(p)'
integer_def_f = '5.0(n)'
nRTP = drill_clearance_z
nRFP = drill_upper_z - safety
nSDIS = safety
nDP = drill_lower_z
nDPR = nRFP - drill_lower_z
{nb,"F",feed}
{nb,"MCALL "}
;Wiercenie, nakiełkowanie - CYCLE81
if drill_type eq CYCLE81 then
{"CYCLE81("nRTP","nRFP","nSDIS","nDP","nDPR")"}
endif
;Wiercenie, pogłębianie czołowe - CYCLE82
if drill_type eq CYCLE82 then
nDTB = Czas_M0_Dol
{"CYCLE82("nRTP","nRFP","nSDIS","nDP","nDPR","nDTB")"}
endif
;Wiercenie otworów głębokich
if drill_type eq CYCLE83 then
nFDEP = nRFP - down_step
nFDPR = down_step
nDAM = Degresja
nDTB = Czas_M0_Dol
nDTS = Czas_M0_Gora
if Wsp_1_Posuwu le 0 OR Wsp_1_Posuwu ge 100 then
nFRF = 1
else
if Wsp_1_Posuwu lt 1 then
nFRF = Wsp_1_Posuwu
else
nFRF = Wsp_1_Posuwu / 100
endif
endif
if release_type then
iVARI = 0
n_VRT = release_distance
else
iVARI = 1
n_VRT = 0
endif
i_AXN = 0
if Min_Krok eq 0 then
n_MDEP = 1
else
n_MDEP = abs(Min_Krok)
endif
n_DTD = 0
n_DIS1 = 0
{"CYCLE83("nRTP","nRFP","nSDIS","nDP","nDPR","nFDEP","nFDPR","nDAM","nDTB","nDTS","nFRF","iVARI","i_AXN","n_MDEP","n_VRT","n_DTD","n_DIS1")"}
endif
;Gwintowanie otworu bez oprawki wyrównawczej - CYCLE84
if drill_type eq CYCLE84
nDTB = Czas_M0_Dol
nMPIT = 0
iSDAC = 5
if spin_direction eq cw then
nPIT = abs(tool_drill_lead)
else
nPIT = -abs(tool_drill_lead)
endif
nPOSS = Poz_Startu_Wrzec
nSST = spin
if Obr_Wyc_Procent le 0 then
nSST1 = nSST
else
nSST1 = nSST * (Obr_Wyc_Procent/100)
endif
i_AXN = 0
iPITB = 0
iTECHNO = 0
n_VRT = 0
if Krok_W_Dol ne 0 then ;BUGFIX 02.04.2015
iVARI = 0
else
nDAM = abs(Krok_W_Dol)
if Krok_Wycofania ne 0 then ;BUGFIX 02.04.2015
iVARI = 1
n_VRT = abs(Krok_Wycofania)
else
iVARI = 2
endif
endif
{"CYCLE84("nRTP","nRFP","nSDIS","nDP","nDPR","nDTB","iSDAC","nMPIT","nPIT","nPOSS","nSST","nSST1","i_AXN","iPITB","iTECHNO","iVARI","nDAM","n_VRT")"}
endif
;Gwintowanie otworu z oprawką wyrównawczą - CYCLE840
if drill_type eq CYCLE840 then
nDTB = Czas_M0_Dol
iSDR = 0
nMPIT = 0
nPIT = abs(tool_drill_lead)
i_AXN = 0
if spin_direction eq cw then
iSDAC = 3
else
iSDAC = 4
nPIT = -nPIT
endif
iENC = 0
iPITB = 0
iTECHNO = 0
{"CYCLE840("nRTP","nRFP","nSDIS","nDP","nDPR","nDTB","iSDR","iSDAC","iENC","nMPIT","nPIT","i_AXN","iPITB","iTECHNO")"}
endif
;Rozwiercanie 1
if drill_type eq CYCLE85 then
nDTB = Czas_M0_Dol
nFFR = feed
nRFF = nFFR * (Posuw_powrotu_Procent/100)
{"CYCLE85("nRTP","nRFP","nSDIS","nDP","nDPR","nDTB","nFFR","nRFF")"}
endif
;Rozwiercanie 2
if drill_type eq CYCLE86 then
nDTB = Czas_M0_Dol
if spin_direction eq cw then
iSDIR = 3
else
iSDIR = 4
endif
nRPA = Odsun_X
nRPO = Odsun_Y
nRPAP = Odsun_Z
nPOSS = Poz_Startu_Wrzec
{"CYCLE86("nRTP","nRFP","nSDIS","nDP","nDPR","nDTB","iSDIR","nRPA","nRPO","nRPAP","nPOSS")"}
endif
endp
Po wprowadzeniu wartości Krok w Dół SC powinien wygenerować prawidłowy kod dla wiercenia przerywanego po odznaczeniu opcji "użyj cyklu".szklanka21 pisze:czy też np w cyklu 83 ( bez opcji użycia cyklu) SCam nie jest w stanie wygenerować takiego G-Kodu ??
Mógłbyś wrzucić kawałek kodu żeby pokazać co tak właściwie jest generowane wtedy naprawdę o wiele łatwiej będzie Ci pomóc.szklanka21 pisze:...teraz pytanie - CZEMU??? czy np cykl 83 z (z użyciem cyklu ) nie obsługuje podanej instrukcji ??