Hello Guest it is April 19, 2024, 05:23:17 AM

Author Topic: Bauteil ausrichten  (Read 21154 times)

0 Members and 1 Guest are viewing this topic.

Re: Bauteil ausrichten
« Reply #20 on: July 09, 2019, 02:55:02 PM »
Danke,
da ich von der Programmierung keine Ahnung habe wird es wohl schwierig sein den Code zu verstehen.
Ist der Code so lauffähig, wenn ich ihn in Mach3 z.b zum Testen auf einen vorh. Button lege und aufrufe oder muss noch zusätzlich etwas installiert werden.
Es kommt öfters bei mir vor, dass ich ein vorhandenes Brett auflege von dem ich nicht weiß ob es rechtwinklig ist.
Funktioniert der Code auch wenn das Werkstück nicht rechtwinklig ist?
Mach3 Version R3.043.062 mit ESS
Re: Bauteil ausrichten
« Reply #21 on: July 09, 2019, 03:22:06 PM »
Hallo,
wo bekomme ich die UserDRO her, z.B.:
1051, 1053 - 1055
bzw. was verbirgt sich dahinter?
Mach3 Version R3.043.062 mit ESS

Offline TPS

*
  •  2,505 2,505
    • View Profile
Re: Bauteil ausrichten
« Reply #22 on: July 10, 2019, 02:24:42 AM »
Hallo,
auf die Schnelle habe ich jetzt folgende OEMDRO'S gesehen:
(1055) 'delta der X-Punkte
(1056) 'delta der Y-Punkte
(1027) 'Durchmesser des Messtasters

Bedeutung siehe angehängtes Bild. Diese können natürlich auch durch feste Werte ersetzt werden.

Der Code ist so sicher nicht 1 zu 1 lauffähig, da ich einen CSMIO Controller habe, welche eine spezielle Routine für
da antasten benutzt.

Im Prinzip müssten folgende Funktionsaufrufe ersetzt bzw spezifisch für deine Hardware ersetzt werden:

Im Code wird mehrfach die Funktion Probe aufgerufen, ein Aufruf

Probe 100,0,0

macht ein Antasten in X für 100mm in positiver Richtung.

Probe 0,100,0 dann für Y

hinter dieser Funktion verbirgt sich vereinfacht gesagt ein G31 X100 F200, aber die Funktion mach auch
gleichzeitig ein zweifaches Antasten mit unterschiedlichen Geschwindigkeiten, um die Genauigkeit zu erhöhen.

Es ist natürlich immer die Frage, was, und vor allem wie genau (0.1 , 0.01 , 0.001) will ich antasten.
Ich taste mit einem Messtaster an, da ich mit meiner Maschine (Tongil TNV40 3,5t schwer) nicht mal eben
mit einem Fräser gegen das Werkstück fahren kann und will.

Die zweite Funktion welche im Code verwendet wird ist WaitForMove.

hier die Funktion:
Code: [Select]
'Bewegung abwarten
Sub WaitForMove (Check as Boolean)
While IsMoving()
'prüfen ob wir gegen das Bauteil fahren
If ((GetOEMLed(825) = True) and (Check = True)) Then
MSGBox "Probe während Positionierfahrt aktiv",vbOK + vbCritical ,"Fehler !"
DoButton(21)
End
End If
Sleep(5)
Wend
End Sub

die wartet im Prinzip nur bis die ausgelöste Bewegung beendet ist.
Man kann mit Übergabe True/False noch bestimmen, ob während der Bewegung der Probe Eingang geprüft wird,
um auf eine Kollision zu reagieren.

Der Code wird für eine nicht rechtwinkliges Teil nicht funktionieren.






anything is possible, just try to do it.
if you find some mistakes, in my bad bavarian english,they are yours.
Re: Bauteil ausrichten
« Reply #23 on: July 10, 2019, 02:47:30 AM »
O.K., danke für die ausführliche Antwort.
Ich verwende den ESS mit Mach3.
Jetzt versuche ich mich mal in den Code reinzulesen. Ob es klappt weiß ich noch nicht.
Gruß
Mach3 Version R3.043.062 mit ESS

Offline TPS

*
  •  2,505 2,505
    • View Profile
Re: Bauteil ausrichten
« Reply #24 on: July 10, 2019, 02:41:21 PM »
ok ich habe die Funktion Probe mal allgemeingültig umgeschrieben:

Code: [Select]
'Antastfunktion
Public Function Probe(X as Double, Y as Double , Z as Double)
Dim axisreverse,axisprobe,probedist

'prüfen ob Probe bereits aktiv
If GetOEMLed(825) Then
MSGBox "Probe aktiv",vbOK + vbCritical ,"Fehler !"
DoButton(21)
End
End If
'Antasten immer mit Konturdrehung 0 Grad
Code "G69"


'Softwarelimits ggf. ausschalten
Dim SoftLimitswhereon As Boolean
If GetOEMLed(23) Then
DoOEMButton(119)
SoftLimitswhereon = True
Sleep(250)
End If


'Meldungen ausgeben
IF X > 0 Then
Message("Probe X+")
axisprobe = "X+"
axisreverse = "X-"
probedist = X
End if
IF X < 0 Then
Message("Probe X-")
axisprobe = "X-"
axisreverse = "X+"
probedist = X
End if
IF Y > 0 Then
Message("Probe Y+")
axisprobe = "Y+"
axisreverse = "Y-"
probedist = Y
End if
IF Y < 0 Then
Message("Probe Y-")
axisprobe = "Y-"
axisreverse = "Y+"
probedist = Y
End if
IF Z > 0 Then
Message("Probe Z+")
axisprobe = "Z+"
axisreverse = "Z-"
probedist = Z
End if
IF Z < 0 Then
Message("Probe Z-")
axisprobe = "Z-"
axisreverse = "Z+"
probedist = Z
End if
Sleep(200)


'1.Versuch
Message "1. Antastung"
Code "G31 " & axisprobe  & probedist & " F200"

While IsMoving()'warten bis Probe fertig
Sleep(20)
Wend

Message "Probe 1.Kontakt bei: " &GetVar(2000) &"," &GetVar(2001) &"," &GetVar(2002) &"," &GetOemDro(83) &"," &GetOemDro(84) &"," &GetOemDro(85)
Sleep(200)

'Probe freifahren
Message "Probe freifahren"
While GetOEMLed(825)
Code "G91 G01 " &axisreverse &"0.1 F600"
While IsMoving()'warten bis Probe fertig
Sleep(20)
Wend
Wend
Code "G90"

'2.Versuch
Message "2. Antastung"
Code "G31 " & axisprobe  & probedist & " F2"

While IsMoving()'warten bis Probe fertig
Sleep(20)
Wend

Message "Probe 2.Kontakt bei: " &GetVar(2000) &"," &GetVar(2001) &"," &GetVar(2002) &"," &GetOemDro(83) &"," &GetOemDro(84) &"," &GetOemDro(85)
Sleep(200)

'Softlimits ggf. wieder einschalten
If ((Not GetOEMLed(23)) And (SoftLimitswhereon = True)) Then
Sleep(500)
DoOEMButton(119)
End If

Message "Probe " &Left(axisprobe,1) &" erfolgreich."

End Function


aber bitte vorsichtig testen, da ich das nur runtergeschrieben habe, ohne (mangels Möglichkeit) es zu testen.
anything is possible, just try to do it.
if you find some mistakes, in my bad bavarian english,they are yours.

Offline TPS

*
  •  2,505 2,505
    • View Profile
Re: Bauteil ausrichten
« Reply #25 on: July 10, 2019, 02:49:42 PM »
Du kannst Dir alle diese Funktionen einfach in ein file in c:\mach3\macros\dein profilname kopieren.

sagen wir mal das file heisst: ProbeFunktionen.M1S

dann machst Du einen Button mit VB Script.

hier wäre der Code für ein einfaches Antasten X+ 100mm

Code: [Select]
Sub Main()

Probe 100,0,0
end sub

#Expand <\..\..\macros\Dein Profilname\ProbeFunktionen>

der Vorteil der #Expand Anweisung liegt darin, das Du deine Funktionen "bündeln" kannst, um diese immer
wieder aus unterschiedlichen Situationen heraus aufrufen kannst, und, wenn Du einen Fehler behebst, ist dieser
für alle Aufrufe behoben.

OK momentan ist das alles vielleicht ein bisschen viel, aber im Laufe der Zeit wird es immer einfacher, und der
Vorteil der Bündelung von Funktionen wird deutlich klarer.

Gruß Tom


anything is possible, just try to do it.
if you find some mistakes, in my bad bavarian english,they are yours.
Re: Bauteil ausrichten
« Reply #26 on: July 11, 2019, 10:14:03 AM »
Hallo Tom,
danke für die Arbeit, die du dir damit machst.
Ich habe mir alles runtergeladen und versuche da mal durchzusteigen.
ich habe noch ein Problem mit dem Screenset. Ich verwende den von Immo Winckler und der ist nicht editierbar.
Ich muss erst einen anderen suchen und laden.
« Last Edit: July 11, 2019, 10:16:38 AM by LazyBee »
Mach3 Version R3.043.062 mit ESS

Offline TPS

*
  •  2,505 2,505
    • View Profile
Re: Bauteil ausrichten
« Reply #27 on: July 11, 2019, 10:28:48 AM »
schau mal hier:

https://einfach-cnc.de/mach3-fraesen-beschreibung/

ist in etwa das gleiche.
anything is possible, just try to do it.
if you find some mistakes, in my bad bavarian english,they are yours.
Re: Bauteil ausrichten
« Reply #28 on: July 11, 2019, 10:33:21 AM »
Danke, den hatte ich mir gerade installiert.
Mach3 Version R3.043.062 mit ESS
Re: Bauteil ausrichten
« Reply #29 on: July 11, 2019, 12:27:30 PM »
So, den Button habe ich eingerichtet und die beiden Makros reinkopiert.
Mit der Maschine ergibt sich folgendes:
Nach Betätigung des Buttons verfährt die X-Achse bis zum DRO 100 mm und bleibt stehen.
Wenn ich den TouchProbe betätige bleibt die Maschine stehen und fährt dann langsamer weiter. Betätige ich den TouchProbe nochmals dann bleibt die Maschine stehen. Wenn ich den TouchProbe nicht ein 2. Mal betätige, dann fährt die Maschine bis DRO 100 mm und bleibt dann stehen.
Mach3 Version R3.043.062 mit ESS