Hello Guest it is November 17, 2019, 09:13:24 PM

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - TPS

61
German / Re: Bauteil ausrichten
« on: July 12, 2019, 03:17:53 PM »
hier noch mal ein Version der Funktion TouchG()

ACHTUNG Deltas und Durchmesser wieder entsprechend anpassen

Code: [Select]
'Antasten Werkstück (gedreht)
Public Function TouchG()
Message "Antasten schraeges Bauteil"

'Parameter holen
X = GetUserDro (1055) 'delta der X-Punkte
Y = GetUserDro (1056) 'delta der Y-Punkte
CurrentToolDiameter = GetUserDro (1027)

'Parameter prüfen
If X = 0 Then
MSGBox "Delta X zu klein!",vbOK + vbCritical ,"Fehler !"
Exit function
End If
If Y = 0 Then
MSGBox "Delta Y zu klein!",vbOK + vbCritical ,"Fehler !"
Exit function
End If

'PI vorbesetzen -----------------------------------------------
pi=4*Atn(1)

'Koordinatendrehung ausschalten
Code "G69"
Sleep(200)

'X / Y auf null setzen
    Call SetDro (0,0)
    Call SetDro (1,0)
Sleep(200)

'die Y Seite vermessen

'P1 antasten
Probe 100,0,0
'Koordinaten P2
    X1 = GetVar(2000)
    Y1=0

'Vorposition P2 anfahren
Message("Vorposition P2 anfahren")
    Y2 = Y
    Code "G91 G1 X-" &X & "F1800"
WaitForMove(False)
    Code "G91 G1 Y" &Y2
WaitForMove(True)

'P2 antasten
Probe 100,0,0
'Koordinaten P2
    X2 = GetVar(2000)

    'die X Seite vermessen -----------------------------------------------

'Vorposition P3 anfahren
Message("Vorposition P3 anfahren")
X3 = X1 + (CurrentToolDiameter/2) + 10
    Code "G91 G1 X-" &X & "F1800"
WaitForMove(False)
    Code "G90 G1 Y-30"
WaitForMove(True)
    Code "G90 G1 X" &X3
WaitForMove(True)

'P3 antasten
Probe 0,100,0
'Koordinaten P3
    Y3 = GetVar(2001) 

'Vorposition P4 anfahren
Message("Vorposition P4 anfahren")
    X4 = X3 + X
    Code "G91 G1 Y-20 F1800"
WaitForMove(False)
    Code "G90 G1 X" &X4
WaitForMove(True)

'P4 antasten
Probe 0,100,0
'Koordinaten P4
    Y4 = GetVar(2001) 'get the probe touch location

'Z auffahren
Code "G91 G01 Y-0.2 F1800"
WaitForMove(False)
    Code "G91 G1 Z20"
WaitForMove(True)

'Brechnung
t1= (X4-X3)*(Y1-Y3)-(Y4-Y3)*(X1-X3)
b1= (Y4-Y3)*(X2-X1)-(X4-X3)*(Y2-Y1)
ua=t1/b1

'Nullpunkt berechnen
XH=X1+ua*(X2-X1) ' X Home  distance away
YH=Y1+ua*(Y2-Y1) ' Y Home  distance away

' Message("Koordinaten Nullpunkt : X " &XH &" Y " &YH)
' Sleep(200)


'Winkel aus der längeren Seite berechnen
If X>Y Then
'längere Seite=X
a=(Y4-Y3)
b=(X4-X3)
v=a/b
NewAngle=Atn(v)*(180/pi)
Else
'längere Seite=Y
a=(X2-X1)
b=(Y2-Y1)
v=b/a
NewAngle=Atn(v)*(180/pi)

If NewAngle > 0 Then
NewAngle=NewAngle-90
Else
NewAngle=NewAngle+90
End If
End If
' Message("Neuer Winkel : " &NewAngle )
' Sleep(200)

'zum neuen Nullpunkt fahren
'Winkel = errechneter Winkel + 45°
siWi = 2*Pi/360*(NewAngle+45)
hyWi = SQR((CurrentToolDiameter/2)*(CurrentToolDiameter/2)*2)

Dx = hyWi * Cos(siWi)
Dy = hyWi * Sin(siWi)
' Message("Koordinaten Berechnung : X " &Dx &" Y " &Dy)
' Sleep(200)

'Zu neuen Nullpunkt fahren
    Code "G90 G1 X" &XH+Dx & " Y" &YH+Dy
WaitForMove(True)

'neuen Nullpunkt setzen
    Call SetDro (0,0)
    Call SetDro (1,0)

'Koordinatendrehung setzen
    Call SetOemDro (118,NewAngle)

'Koordinaten ausgeben
' Message "X1 " &X1 &" Y1 " &Y1 & "   X2 " &X2 &" Y2 " &Y2 & "   X3 " &X3 &" Y3 " &Y3 & "   X4 " &X4 &" Y4 " &Y4

'wieder auf absolut stellen
Code "G90"
Message ""

End Function

62
indexed homing sounds like external Motion Controller, in the plugin config maybe?

63
German / Re: Bauteil ausrichten
« on: July 12, 2019, 01:49:12 PM »
die Variablen 2000,2001,2002 kommen aus der G31 Funktion,
hier werden die exakten Koordinaten X/Y/Z eingtragen, wenn der Probe Eingang kommt,
macht das System selbständig.

Du müsstest mal folgende Zeilen ändern, da Du ja keine EIngabefelder für DeltaX und DeltaY hast:

   'Parameter holen
   X = 50 'GetUserDro (1055) 'delta der X-Punkte
   Y = 50 'GetUserDro (1056) 'delta der Y-Punkte
   CurrentToolDiameter = 8 'GetUserDro (1027) 'hier wird der Durchmesser des Messtasters vorbesetzt

bloß das wir das grundsätzlich ans Laufen bekommen.

hier mal ein Auszug aus Lasterrors:

Sat - 13:07:54 ---Probe X+
Sat - 13:07:54 ---1. Antastung
Sat - 13:07:58 ---Probe 1.Kontakt bei: 8.79,0,-68.9725,382.1625,195.8975,-85.74
Sat - 13:07:58 ---Probe freifahren
Sat - 13:07:58 ---2. Antastung
Sat - 13:08:02 ---Probe 2.Kontakt bei: 8.8,0,-68.9725,382.1625,195.8975,-85.74
Sat - 13:08:02 ---Vorposition P2 anfahren
Sat - 13:08:07 ---EStop Button Pressed.
Sat - 13:08:07 ---External EStop Requested.

grundsätzlich schaut das mal gut aus, der erste Punkt wird angetastet, und beim Verfahren zu zweiten Punkt
(es war ja kein DeltaX/DeltaY vorhanden) seinen wir gegen das Bauteil zu fahren.

Gruß Tom

PS: in irgend einem Post habe ich ein Bild angehängt, in dem man die Antastreihenfolge sehen kann.





64
German / Re: Bauteil ausrichten
« on: July 12, 2019, 05:38:08 AM »
schaue Dir bitte mal die Datei C:\Mach3\lasterrors.txt an.
ich vermute, das Du nicht alle Statusmeldungen siehst, da die zu schnell hintereinander kommen.

65
General Mach Discussion / Re: CNC4PC C11 plugin for Mach3
« on: July 12, 2019, 02:10:37 AM »
had a quick look to the Manual:

https://www.cnc4pc.com/pub/media/productattachment/c/1/c11-r9_9_user_manual.pdf

pin17 is used for chargepump

pin14 is PWM


66
German / Re: Bauteil ausrichten
« on: July 11, 2019, 02:38:22 PM »
schau dir reply#26 noch mal an, da habe ich das schon beschrieben.

die Code für den button würde dann lauten

Code: [Select]
Sub Main()

TouchG
end sub

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

Achtung die Expand Anweisung muss auf deine Profilnamen angepasst werden

alle drei Funktionen in eine Datei (ProbeFunktionen.M1S)

67
G-Code, CAD, and CAM discussions / Re: Circle G-Code issue
« on: July 11, 2019, 02:33:43 PM »
I/J Mode: You can set the interpretation to be placed on I & J in arc moves. This is provided for compatibility
with different CAM post-processors and to emulate other machine controllers. In Inc IJ
mode, I and J (the center point) are interpreted as relative to the starting point of a center format arc.
This is compatible with NIST EMC. In Absolute IJ mode, I and J are the coordinates of the center in
the current coordinate system (i.e. after application of work, tool and G92 offsets). If circles always
fail to display or to cut properly (especially obvious by them being too big if they are far from the origin),
then the IJ mode is not compatible with your part program. An error in this setting is the most
frequent cause of questions from users when trying to cut circles.

from Mach3 Manual capter 5-36


68
G-Code, CAD, and CAM discussions / Re: Circle G-Code issue
« on: July 11, 2019, 02:07:06 PM »
have you checked your axis Setup by MDI call's

for example

-jog x-axis to the left side
-Zero x axis
-mark the pysical Position somewhere
-MDI Input G1X10F10
-measure the driven distance

69
German / Re: Bauteil ausrichten
« on: July 11, 2019, 01:57:34 PM »
eigentlich müsstest Du drei Funktionen reinkopiert haben

TouchG()
Probe()
WaitforMove()

Habe mir gerade die modifizierte Funktion Probe() noch mal angesehen, die hat ein "Loch", wenn der Probe Eingang
nicht innerhalb von 100mm (maximale Probe Distanz) kommt. Hier muss ich mir noch was überlegen. Wie gesagt
bei der CSMIO ist das alles ein bisschen anders, in der Originalversion (CSMIO) wird das berücksichtigt und ggf. eine
Fehlermeldung ausgegeben.

Der generelle Ablauf zum Antasten eines Punktes sollte so ablaufen:
-Achse fährt mit F200 bis der Probeeingang betätigt wird
-Achse fährt so lange in die entgegengesetzte Richtung (F600) bis der Probe Eingang wieder frei wird
-Achse fährt mit F2 bis der Probeeingang betätigt wird
-dieser zweite genauere Wert wird dann für die Berechnung genommen

wie geschrieben kann ich das momentan hier leider nicht testen.

Gruß Tom




70
German / Re: Bauteil ausrichten
« on: July 11, 2019, 10:28:48 AM »
schau mal hier:

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

ist in etwa das gleiche.