SolidCAM
The Solid Platform for Manufacturing
4252
Follower:innenPP-Anpassung für Tiefbohren
18.12.2019, 21:28 Uhr
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
Kann mir da jemand weiterhelfen??
Vielen Dank
Gruß Stefan
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
Kann mir da jemand weiterhelfen??
Vielen Dank
Gruß Stefan
18.12.2019, 21:44 Uhr
Hallo, was steht denn bei Ihnen im @drill_point drin?
Mit besten Grüßen
Mit besten Grüßen
--------------------
19.12.2019, 07:31 Uhr
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
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
19.12.2019, 08:00 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.
Andreas.
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
if meintiefloch false
Hier bleibt drin was drinsteht
Else
Mach was ich will oder nichts
Endif
Hier mal ganz rudimentär
--------------------
19.12.2019, 08:36 Uhr
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
Der Beitrag wurde von SW bearbeitet: 19.12.2019, 08:37 Uhr
@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
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
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
27.05.2020, 09:29 Uhr
versuchs mal so:
@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
endif
if drill_type eq Einlipp241
if first_drill
{nb,'L X',xpos,' Y',ypos,' R0 FMAX M99 M13'}
endif
endif
@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
endif
if drill_type eq Einlipp241
if first_drill
{nb,'L X',xpos,' Y',ypos,' R0 FMAX M99 M13'}
endif
endif
27.05.2020, 09:38 Uhr
Die Routine @drill_point kannst du folgendermaßen "überspringen".
@drill_point
if drill_type eq Einlipp241
Exit
endif
…
…
…
endp
@drill_point
if drill_type eq Einlipp241
Exit
endif
…
…
…
endp
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: