Hallo,
ich muss das Thema noch mal aufleben lassen.
Ich habe ein Problem bei der Ausführungen von Assistenten entdeckt.
Wenn ich z.B. den Assistenten "Surface" aufrufe und den "Post G Code"-Button drücke, dann ruft Mach3 anscheinend zuerst das Makro zum Starten des "Bauteil Ausrichten" auf. Bei mir heißt das "M1030.m1s mit folgenden Inhalt:
Sub Main()
TouchG
'Probe 100,0,0
end sub
#Expand <\..\..\macros\01_ESS-DualPort\ProbeFunktionen>
Das heißt, es beginnt die Maschine den ersten Punkt zu suchen, findet diesen natürlich nicht, da kein Taster angeschlossen ist.
Ausgelöst wird die Geschichte durch den letzten Befehl (Call LoadTeachFile) im Assistenz-Makro (Surface). Ich finde keine Möglichkeit den Start des "Bauteil ausrichten" zu verhindern.:
Sub Main()
DoOEMButton (169)
FeedRough = Abs(GetOEMDRO(1070))
FeedFinish = Abs(GetOEMDRO(1083))
ToolDia = Abs(GetOEMDRO(1071))
ToolRad = ToolDia / 2
StepOverPercent = Abs(GetOEMDRO(1096))
XPOS = GetOEMDRO(1072)
YPOS = GetOEMDRO(1073)
ZStart = GetOEMDRO(1084)
Tool_Offset_X = Abs(GetOEMDRO(1078))
Tool_Offset_Y = Abs(GetOEMDRO(1082))
SafeZ = Abs(GetOEMDRO(1079))
Length = Abs(GetOEMDRO(1080))
Width = Abs(GetOEMDRO(1081))
Depth = Abs(GetOEMDRO(1075))
StepDepth = Abs(GetOEMDRO(1076))
Clearance = StepDepth * 1.5
FinalCutDepth = Abs(GetOEMDRO(1095))
' test inputs
If FinalCutDepth = 0 Then
Code "(MSG,Final Cut Depth can't be zero)"
End If
If StepOverPercent = 0 Then
Code "(MSG,Tool Step Over Percentage can't be zero)"
End If
If StepOverPercent > 100 Then
Code "(MSG,Tool Step Over Percentage can't be > 100%)"
End If
If FinalCutDepth = StepDepth Then
Code "(MSG,Final Cut Depth can't be equal to Step Depth)"
End If
If FeedRough = 0 Then
Code "(MSG,Feed Rate can't be zero)"
End If
If StepDepth > Depth Then
StepDepth = Abs(Depth)
End If
If StepDepth = 0 Then
Code "(MSG,Step down can't be zero)"
End If
If Length = 0 Then
Code "(MSG,Length can't be zero)"
End If
If Depth = 0 Then
Code "(MSG,Depth can't be zero)"
End If
If Width = 0 Then
Code "(MSG,Width can't be zero)"
End If
If SafeZ <= ZStart Then
Code "(MSG,******** SafeZ <= ZStart *******)"
End If
If ToolDia = 0 Then
Code "(MSG,Tool Diameter can't be zero)"
End If
OpenTeachFile "FaceStockX.tap"
XStart = XPOS - Tool_Offset_X + ToolRad
YStart = YPOS - Tool_Offset_Y + ToolRad
XFinal = XPOS + Length + Tool_Offset_X - ToolRad
YFinal = YPOS + Width + Tool_Offset_Y - ToolRad
If Width < ToolDia Then
YStart = YPOS + ToolRad
YFinal = YStart
End If
XToolDown = XStart - Tool_Offset_X - ToolDia
YToolDown = YStart
Depth = Depth
StepDepth = StepDepth
StepOverPercent = StepOverPercent / 100
PassNumber = 1
Code "F" & FeedRough
DepthofPass = ZStart - PassNumber * StepDepth
If DepthofPass > ZStart - Depth + FinalCutDepth Then
Do
DepthofPass = ZStart - PassNumber * StepDepth
If DepthofPass <= (ZStart - Depth + FinalCutDepth) Or PassNumber > 2000 Then
Exit Do
End If
Code "G00 Z" & SafeZ
Code "G00 X" & XToolDown & " Y" & YToolDown
Code "G00 Z" & DepthofPass
PassType = 1
YpassNo = 0
Do
YofPass = YStart + (ToolDia * StepOverPercent * YpassNo)
If (YofPass >= YFinal) Then
Exit Do
End If
'Code "F" & FeedRough
Code "G01 Y" & YofPass
Code "G01 X" & XFinal
PassType = PassType * -1
YpassNo = YpassNo + 1
YofPass = YStart + (ToolDia * StepOverPercent * YpassNo)
If (YofPass >= YFinal) Then
Exit Do
End If
Code "G01 Y" & YofPass
Code "G01 X" & XStart
PassType = PassType * -1
YpassNo = YpassNo + 1
Loop
YofPass = YFinal
Code "G01 Y" & YofPass
If (PassType = 1) Then
Code "G01 X" & XFinal
Else
Code "G01 X" & XStart
End If
PassNumber = PassNumber + 1
Loop
End If
If FinalCutDepth <> 0 Then
PassType = 1
DepthofPass = ZStart - Depth + FinalCutDepth
Code "G00 Z" & SafeZ
Code "G00 X" & XToolDown & " Y" & YToolDown
Code "G00 Z" & DepthofPass
YpassNo = 0
Do
YofPass = YStart + (ToolDia * StepOverPercent * YpassNo)
If (YofPass >= YFinal) Then
Exit Do
End If
Code "G01 Y" & YofPass
Code "G01 X" & XFinal
PassType = PassType * -1
YpassNo = YpassNo + 1
YofPass = YStart + (ToolDia * StepOverPercent * YpassNo)
If (YofPass >= YFinal) Then
Exit Do
End If
Code "G01 Y" & YofPass
Code "G01 X" & XStart
PassType = PassType * -1
YpassNo = YpassNo + 1
Loop
YofPass = YFinal
Code "G01 Y" & YofPass
If (PassType = 1) Then
Code "G01 X" & XFinal
Else
Code "G01 X" & XStart
End If
End If
PassType = 1
DepthofPass = ZStart - Depth
Code "G00 Z" & SafeZ
Code "G00 X" & XToolDown & " Y" & YToolDown
Code "G00 Z" & DepthofPass
Code "F" & FeedFinish
YpassNo = 0
Do
YofPass = YStart + (ToolDia * StepOverPercent * YpassNo)
If (YofPass >= YFinal) Then
Exit Do
End If
Code "G01 Y" & YofPass
Code "G01 X" & XFinal
PassType = PassType * -1
YpassNo = YpassNo + 1
YofPass = YStart + (ToolDia * StepOverPercent * YpassNo)
If (YofPass >= YFinal) Then
Exit Do
End If
Code "G01 Y" & YofPass
Code "G01 X" & XStart
PassType = PassType * -1
YpassNo = YpassNo + 1
Loop
YofPass = YFinal
Code "G01 Y" & YofPass
If (PassType = 1) Then
Code "G01 X" & XFinal
Else
Code "G01 X" & XStart
End If
Code "G00 Z" & SafeZ
Code "G00 X" & XToolDown & " Y" & YToolDown
Code "M30"
CloseTeachFile
Call LoadTeachFile
End Sub
Main
Bei "Call LoadTeachFile" wird aus der "Surface"-Oberfläche in das Hauptfenster von Mach3 umgeschaltet.
Weiß jemand, was man da machen kann?
Gruß