SOLIDCAM 2013 -SINUMERIK 810 D - DAM - DEGRESJA nie dziala


Autor tematu
szklanka21
Czytelnik forum poziom 2 (min. 20)
Czytelnik forum poziom 2 (min. 20)
Posty w temacie: 3
Posty: 28
Rejestracja: 19 kwie 2011, 11:48
Lokalizacja: opole

SOLIDCAM 2013 -SINUMERIK 810 D - DAM - DEGRESJA nie dziala

#1

Post napisał: szklanka21 » 27 mar 2015, 14:58

Witam :)

Może ktoś z użytkowników używa opcji "DAM" - (degresja) , albo miał z nią podobny problem ?

Pomimo włączenia w SCamie opcji "DEGRESJA" ( wartość degresji wg instrukcji to : >0 - degresja jako wartość bezwzględna ; <0 - współczynnik degresji; =0 - brak degresji ) w technologi G83 (wiercenie otworów głębokich) w G- kodzie nic się nie zmienia :/ pomimo wyboru opcji : UŻYJ CYKLU , albo BEZ UŻYCIA CYKLU

...teraz pytanie - CZEMU??? czy np cykl 83 z (z użyciem cyklu ) nie obsługuje podanej instrukcji ?? czy też np w cyklu 83 ( bez opcji użycia cyklu) SCam nie jest w stanie wygenerować takiego G-Kodu ??

(widok z ekranu dla lepszego zrozumienia tutaj :

https://drive.google.com/file/d/0Bw4eO3 ... sp=sharing )



Tagi:

Awatar użytkownika

djronin
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 3
Posty: 262
Rejestracja: 22 kwie 2011, 01:19
Lokalizacja: Jarocin

Re: SOLIDCAM 2013 -SINUMERIK 810 D - DAM - DEGRESJA nie dzia

#2

Post napisał: djronin » 28 mar 2015, 09:57

No to lecimy :)
szklanka21 pisze:czy też np w cyklu 83 ( bez opcji użycia cyklu) SCam nie jest w stanie wygenerować takiego G-Kodu ??
Po wprowadzeniu wartości Krok w Dół SC powinien wygenerować prawidłowy kod dla wiercenia przerywanego po odznaczeniu opcji "użyj cyklu".

Obrazek
szklanka21 pisze:...teraz pytanie - CZEMU??? czy np cykl 83 z (z użyciem cyklu ) nie obsługuje podanej instrukcji ??
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.
Teraz aby zaoszczędzić nam czasu wrzuć to co masz w ;Drill cycles (plik *.prp) oraz to co masz w @drill (plik *.gpp).
...Programowanie ma to do siebie, że urzeczywistnienie nawet najbardziej
oczywistego pomysłu jest znakomitą definicją słowa "frustracja"...


Autor tematu
szklanka21
Czytelnik forum poziom 2 (min. 20)
Czytelnik forum poziom 2 (min. 20)
Posty w temacie: 3
Posty: 28
Rejestracja: 19 kwie 2011, 11:48
Lokalizacja: opole

brak degresji

#3

Post napisał: szklanka21 » 30 mar 2015, 12:56

ok - w pliku kawałki postprocesora dotyczące cyklu 83

https://drive.google.com/file/d/0Bw4eO3 ... sp=sharing


a tu przykłady G-kodów z włączonym i wyłączonym cyklem 83


https://drive.google.com/file/d/0Bw4eO3 ... sp=sharing

...ps - dziwne rzeczy się dzieją :neutral:
Załączniki
brak degresji.txt
(3.95 KiB) Pobrany 316 razy

Awatar użytkownika

djronin
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 3
Posty: 262
Rejestracja: 22 kwie 2011, 01:19
Lokalizacja: Jarocin

#4

Post napisał: djronin » 01 kwie 2015, 19:39

Nie mały bałagan w tym postprocesorze :) przetestuj proszę to rozwiązanie ale proszę o zachowanie ostrożności bo podchodziłem do tego kilka dni i mogłem gdzieś popełnić błąd.

Jeśli zależy Ci na CYCLE88 to dodam.

Gdyby coś się działało nie tak poza cyklami to daj znać

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
...Programowanie ma to do siebie, że urzeczywistnienie nawet najbardziej
oczywistego pomysłu jest znakomitą definicją słowa "frustracja"...


Autor tematu
szklanka21
Czytelnik forum poziom 2 (min. 20)
Czytelnik forum poziom 2 (min. 20)
Posty w temacie: 3
Posty: 28
Rejestracja: 19 kwie 2011, 11:48
Lokalizacja: opole

#5

Post napisał: szklanka21 » 05 kwie 2015, 07:52

Witam Mariuszu.

Wygląda na to, że jesteś "wybawcą" moich problemów :D :D

Co prawda jeszcze nie testowałem, ale znając (czytając) Twoje inne posty - pewnie będzie wszystko ok - jednak po świątecznych testach dam znać co i jak, bo powiedziałem sobie, że przez święta nie siadam do technicznych spraw ;)

Póki co - życzę spokojnych, miłych, rodzinnych świąt i mokrego jajka ;)

pozdrawiam

Awatar użytkownika

djronin
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 3
Posty: 262
Rejestracja: 22 kwie 2011, 01:19
Lokalizacja: Jarocin

#6

Post napisał: djronin » 12 kwie 2015, 12:02

Małe info dla użytkowników SolidCam'a w wersji 2014 otóż sama zmiana pliku *.prp może nie przynieść efektu ponieważ wszystkie dotychczasowe informacje z tego pliku są zapisane w konfiguracji maszyny (plik*.vmid) dlatego po zmianie należy zaimportować plik *.prp.
Obrazek

Obrazek
...Programowanie ma to do siebie, że urzeczywistnienie nawet najbardziej
oczywistego pomysłu jest znakomitą definicją słowa "frustracja"...

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „SolidCAM”