QUOTE (werty1975 @ 15.01.2021, 17:48 Uhr)
Wie bekommt man das hin. Geht bestimmt auch ?
Kommt drauf an ob "Mann" das kann.
Das DPP-Tool ist die bevorzugte Schnittstelle für sowas, ich mache darüber quasi eine CSV-Datei die ich mit Excel verarbeite und das ist dann mein Einrichtblatt. Da steht alles drauf was mein Bediener zu wissen braucht.
Das DPP ist ähnlich einem PP, die Sprache ist die gleiche wie im PP. Ich kopier mal ein Stück von meinem als Beispiel. Ich rechne da z.B. die Zeiten für die Eilgang und Vorschubwege selber aus.
Andreas.
@turn_change_tool
if trace_level > 0
{nl}
{nl, '@turn_change_tool'}
endif
call @CSVReset
call @MyClassifyTool
call @CSVi(('TNr'), tool_number)
call @CSVS(('IdNr'), tool_id_string)
call @CSVS(('Bezeichnung'), tool_message)
if Typ eq 'D'
call @CSVb(('G97'), (spin_unit eq RPM))
else
;Bohr-/Fräswerkzeuge haben immer eine konstante
Drehzahl, auch wenn in SolidCAM Vc eingestellt ist!
call @CSVb(('G97'), (true))
endif
call @CSVb(('G94'), (feed_unit eq MM_MIN))
if Typ eq 'D'
;call @CSVn(('KragX'), tool_tip_x)
;call @CSVn(('KragY'), tool_tip_y)
;call @CSVn(('KragZ'), tool_tip_z)
call @CSVn(('KragX'), Tool_holder_mount_x)
call @CSVn(('KragY'), Tool_holder_mount_y)
call @CSVn(('KragZ'), Tool_holder_mount_z)
else
call @CSVn(('Durchm'), tool_A)
call @CSVn(('KragX'), (tool_A / 2))
call @CSVn(('KragY'), (tool_A / 2))
call @CSVn(('KragZ'), tool_tip_z)
endif
x = xtool
y = ytool
z = ztool
call @MySetTZeitThis
endp
@MyLinear_5x(Numeric ToX, Numeric ToY, Numeric ToZ, Numeric ToA, Numeric ToB, Logical Eilgang)
local numeric R
if rot_axis_type eq AXIS4_RADIAL
if machine_plane eq XY
{nl,'@line_5x machine_plane eq XY'}
R = sqrt(ToX^2 + ToY^2)
elseif machine_plane eq YZ
R = sqrt(ToX^2 + ToY^2)
else
{nl,'@line_5x machine_plane eq ZX'}
R = sqrt(ToX^2 + ToZ^2)
endif
else
R = sqrt(ToX^2 + ToY^2 + ToZ^2)
endif
;Bogenlänge eines Kreisabschnitts
Distanz = Pi * R * abs(A - ToA) / 180
if Eilgang
G0 = G0 + Distanz
else
G1 = G1 + Distanz
endif
call @MyPos(ToX, ToY, ToZ)
A = ToA
B = ToB
endp