513.003 aktive Mitglieder
2.374 Besucher online
Kostenfrei registrieren
Einloggen Registrieren
SolidCAM GmbH Forum

PP-Anpassung für Tiefbohren

Beitrag 18.12.2019, 21:28 Uhr
SW
SW
Level 4 = IndustryArena-Meister
****
Gruppe: Mitglied
Mitglied seit: 13.05.2010
Beiträge: 486

Hallo Freunde,

ich habe ein kleines Problem mit meinem PP. Ich habe eine HH430 und möchte im SC2016 ein paar Tieflöcher bohren. Ich habe mir denn PP soweit angepasst das er mir die Werte auch richtig ausgibt. Anscheinend ruft er nach "@drill" automatisch "@drill_point" auf und das brauche ich nicht. Leider habe ich es nicht geschafft das auszuschalten und hänge da nun schon seit Stunden fest wacko.gif

Kann mir da jemand weiterhelfen??

Vielen Dank

Gruß Stefan
TOP    
Beitrag 18.12.2019, 21:44 Uhr
mstockmann
mstockmann
Level 2 = IndustryArena-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 03.09.2003
Beiträge: 84

Hallo, was steht denn bei Ihnen im @drill_point drin?
Mit besten Grüßen


--------------------
Mit freundlichen Grüßen

M. Stockmann
SolidCAM Customer Experience Program
SolidCAM GmbH
Direktkontakt
TOP    
Beitrag 19.12.2019, 07:31 Uhr
SW
SW
Level 4 = IndustryArena-Meister
****
Gruppe: Mitglied
Mitglied seit: 13.05.2010
Beiträge: 486

Guten Morgen,

das steht drin:
@drill_point

;-----Start----09.09.2012

; if drill_type eq bohr200 or reib201 or ausd202 or bohr203 or bohr205 or gew207 or bohr208 or gew209 or RECHTECK_251 or KREIS_252 or NUT_253
if first_drill eq true
{nb,''}
call @start_tool
call @start_cooling
{nb,'L X',xpos,' Y',ypos,' Z',drill_clearance_z,' R0 FMAX'}
{nb,'L X',xpos,' Y',ypos,' R0 FMAX M99'}
else
{nb,'L X',xpos,' Y',ypos,' R0 FMAX M99'}
endif

if drill_type eq Einlipp241
if first_drill
; {nb,'L X',xpos,' Y',ypos,' R0 FMAX M99 M13'}
endif
endif

; if drill_type eq RECHTECK_251
; if first_drill
; call @rapid_move
; {nb,'L X',xpos,' Y',ypos,' R0 FMAX M99 M13'}
; endif
; if not first_drill
; {nb,'L X',xpos,' Y',ypos,' R0 FMAX M99'}
; endif
; endif
;endif
;-----Start----09.09.2012
; call @rapid_move2
; if job_type eq 'drill_hr' or job_type eq '3-d drill'
; {nb,'L X',xpos,' Y',ypos,' R0',' FMAX',' M99',' M13'}
; {nb 'L'[' X'xpos],[' Y'ypos],' R0',' FMAX',' M99',' M13'}
; {nb,'L',' Z'drill_clearance_z:zpos_f}
; endif
; if first_drill
; {nb,'L X',xpos,' Y',ypos,' R0 FMAX M99 M13'}
; endif
; if not first_drill
; {nb,'L X',xpos,' Y',ypos,' R0 FMAX M99'}
; endif


endp


@end_drill
TOP    
Beitrag 19.12.2019, 08:00 Uhr
Andreas1964
Andreas1964
Level 2 = IndustryArena-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 14.11.2003
Beiträge: 121

ZITAT(SW @ 18.12.2019, 22:28 Uhr) *
Anscheinend ruft er nach "@drill" automatisch "@drill_point" auf und das brauche ich nicht. Leider habe ich es nicht geschafft das auszuschalten und

Ist ganz einfach: Ausschalten kannst Du es nicht.

Ein PP ist ruft immer alle Routinen auf, von der Idee her ist ein SolidCAM-PP immer universell für alle Maschinen.
Man kann aber ganz leicht einfach die Ausgabe ins CNC-Programm unterdrücken... das kann man programmieren.

Der PP läuft immer so

@drill
@drill_point
[@drill_point]
[...]
@end_drill

Desweiteren gibt es eine vordefinierte Variable first_drill die kann man in @drill_point benutzen um den ersten Punkt an dem gebohrt werden soll speziell zu behandeln, z.B. für Heidenhain gibt man da einfach ein M99 aus:

@drill_point
if first_drill
{nb,'L M99'}
else
{nb,'L ',[xpos],[ypos],'R0 FMAX M99'}
endif
endp

Und weil es ja auch Steuerungen gibt bei denen der Aufruf des Zyklus bereits bohrt darf bei der ersten Bohrung nichts kommen. Also

@drill_point
if first_drill
else
{nb,'L ',[xpos],[ypos],'R0 FMAX M99'}
endif
endp

Bzw. man fragt "wenn NICHT erster Bohrpunkt" (das ! ist ein NOT in der Programmiersprache des PP):

@drill_point
if !first_drill
{nb,'L ',[xpos],[ypos],'R0 FMAX M99'}
endif
endp

Und damit sind wir gleich bei der nächsten Frage: Wie schreibe ich einen PP der für alle meine Maschinen funktioniert?

@drill_point
if Steuerung eq 'Heidenhain'
if first_drill
{nb,'L M99'}
else
{nb,'L ',[xpos],[ypos],'R0 FMAX M99'}
endif
endif
if Steuerung eq 'Fanuc'
if !first_drill
{nb,[' X'xpos], [' Y'ypos], [' Z'zpos]}
endif
endif
endp

Und die Variable Steuerung kann man z.B. in die VMID reintun unter "Benutzerdefinierte Parameter" \ Maschinenoptionen
(Rechts-Klick \ Parameter hinzufügen)

Bei mir sieht das allerdings ein wenig anders aus, ich habe an der Stelle einen "Maschine" Parameter in die ich meine Maschinennummer eingebe.
Im PP in @init_post werte ich diese dann aus und setze dann dort eine Variable Steuerung auf "Heidenhain" oder "Fanuc" oder ...

Je nach Kombination aus Steuerung und Maschine gebe ich dann im PP maschinenspezifisch den NC-Code so oder so aus.

Klingt kompliziert, ist es auch ein wenig, hat aber einen riesigen Vorteil: Alle meine Programme sind von der Struktur her gleich, was es für die Bediener sehr einfach macht wenn Sie mal an der einen oder anderen Maschine arbeiten müssen.

Und wenn sich ein Fehler oder Optimierung ergibt, dann brauche ich nur einen PP anpassen und das Problem ist gleich für ALLE Maschinen erledigt. Kann man cool finden oder für Blödsinn halten, das überlasse ich Dir. tounge.gif

Andreas.
TOP    
Beitrag 19.12.2019, 08:03 Uhr
mstockmann
mstockmann
Level 2 = IndustryArena-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 03.09.2003
Beiträge: 84

Guten morgen, ich gehe mal davon aus, das sie das nur für einen bestimmte Situation übergehen wollen. Hier wüde ich einen Jobparameter definieren, der die Ausgabe bei bedarf übergeht

if meintiefloch false
Hier bleibt drin was drinsteht
Else
Mach was ich will oder nichts
Endif

Hier mal ganz rudimentär



--------------------
Mit freundlichen Grüßen

M. Stockmann
SolidCAM Customer Experience Program
SolidCAM GmbH
Direktkontakt
TOP    
Beitrag 19.12.2019, 08:36 Uhr
SW
SW
Level 4 = IndustryArena-Meister
****
Gruppe: Mitglied
Mitglied seit: 13.05.2010
Beiträge: 486

Das habe ich versucht. Ich habe den Einlipp241 eingefügt. Kann es sein das das dann nicht in den drill_point gehört?? Da es nicht funktioniert hat, habe ich es wieder ausgeblendet.

@drill_point

;-----Start----09.09.2012

; if drill_type eq bohr200 or reib201 or ausd202 or bohr203 or bohr205 or gew207 or bohr208 or gew209 or RECHTECK_251 or KREIS_252 or NUT_253
if first_drill eq true
{nb,''}
call @start_tool
call @start_cooling
{nb,'L X',xpos,' Y',ypos,' Z',drill_clearance_z,' R0 FMAX'}
{nb,'L X',xpos,' Y',ypos,' R0 FMAX M99'}
else
{nb,'L X',xpos,' Y',ypos,' R0 FMAX M99'}
endif

; if drill_type eq Einlipp241
; if first_drill
; {nb,'L X',xpos,' Y',ypos,' R0 FMAX M99 M13'}
; endif
; endif


ZITAT(mstockmann @ 19.12.2019, 08:03 Uhr) *
Guten morgen, ich gehe mal davon aus, das sie das nur für einen bestimmte Situation übergehen wollen. Hier wüde ich einen Jobparameter definieren, der die Ausgabe bei bedarf übergeht

if meintiefloch false
Hier bleibt drin was drinsteht
Else
Mach was ich will oder nichts
Endif

Hier mal ganz rudimentär


Der Beitrag wurde von SW bearbeitet: 19.12.2019, 08:37 Uhr
TOP    



1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: