Mach3 WZL Sensor über Input anstatt über Probe Port

Steuerungssoftware, CAM, 2D/3D CAD, G-Code Editoren
Antworten
timka
Beiträge: 3
Registriert: 15.07.2021, 00:50

Mach3 WZL Sensor über Input anstatt über Probe Port

Beitrag von timka » 15.07.2021, 01:01

Hallo an Alle,

es freut mich meine erste Frage hier stellen zu dürfen. :)

Ich habe an meiner Fräse einen 3d Kantentaster über den Probe Port laufen. Messung klappt wunderbar. Nun möchte ich meinen Sensor für die Werkzeuglängenmessung (z Achse) auch anschließen. Leider kann ich die beiden Sensoren nicht über den selben Port laufen lassen, da die Sensoren anderes gebaut sind. 3d Taster PNP und WZL Sensor ein Zweidraht.
Nun habe ich den WZL Sensor an einen Input Port angeschlossen. Funktioniert. Nur ist mein Problem, wie ich im Script für die Messung den Input Port anspreche und nicht den Probe Port. Quasi ein normales Script für die WZL Messung der Z Achse mit Signal vom Input Port 4 anstatt Probe Port.

Ich hoffe das mir jemand helfen kann.

WF55
Beiträge: 61
Registriert: 04.04.2019, 19:19

Re: Mach3 WZL Sensor über Input anstatt über Probe Port

Beitrag von WF55 » 15.07.2021, 11:13

Das sollte kein Problem sein.
Aber ob das so Sinn macht ist eine andere Frage. Normalerweise kann über eine ev. elektrisch notwendige Verschaltung beide Sensoren an einem Port betreiben. Gib uns doch mal mehr Details zu den verwendeten Sensoren und die Scripte, die Du verwenden willst.

Willhelm B.
Beiträge: 498
Registriert: 28.08.2017, 14:33

Re: Mach3 WZL Sensor über Input anstatt über Probe Port

Beitrag von Willhelm B. » 15.07.2021, 17:02

Der Kantentaster ist ein PNP? Zur not kann man die PNP Logik in NPN Logik wandeln. Wenn das nicht im umgekehrten schon der Fall ist.


Welche Kantentaster ist es denn?

timka
Beiträge: 3
Registriert: 15.07.2021, 00:50

Re: Mach3 WZL Sensor über Input anstatt über Probe Port

Beitrag von timka » 15.07.2021, 21:13

Hallo,

kurz ein paar Worte zum System: Wird über die letzte Mach3 Version betrieben. Es sind zwei parallel laufende Interface Advance Pro verbaut. Eine läuft davon über eine spezielle LPT Erweiterungskarte. 2,2 KW Spindel über Mach3 gesteuert. Induktive Endschalter PNP in Reihe geschaltet.

Der 3d Taster ist von Topcom. Bin durch ein Zufall auf diesen gestoßen. Läuft funktioniert soweit. Typ: PNP
https://topcom.cz/dig3d/

WZL Sensor ist von Ali.

Zwei Drähte für den "Messschließer" und zwei für den Notaus, falls die Z Achse nicht stoppen sollte.

https://de.aliexpress.com/item/33015203 ... 9d9c4234-0


Das Script, welches überhaupt nicht zwingend dieses sein muss. Hatte es früher für den Taster laufen.

SaveFR = GetOemDRO(818) 'Speichere Feddrate
Code "F" & FeedWW
code "g31 z-30 f200" ' Fahre Z mit 200 mm/min an aktueller Stelle nach unten auf Meßblock
While IsMoving()
Wend
code "g31 g0 z" & GetOEMDRO(85)+1 ' Fahre Z 1mm hoch
While IsMoving()
Wend
code "g31 z-30 f50" ' Fahre mit 50 mm/min auf Meßblock
While IsMoving()
Wend
Zneu=-63 ' Höhe Messblock 10mm= -22.7712 9mm = -21.7712 20mm= -32.7712
SetDro (2, Zneu) 'Setze Z Null
Code "G4 P0.25" 'Warte bis Werte übernommen
Code "G00 G53 Z0" ' Fahre Z hoch bis auf Maschinennull
Code "(Z-Achse auf Null gesetzt)" ' Melde Null in der Statuszeile
Code "F" &SaveFR ' Setze alte Feddrate



Habe an so etwas in der Art gedacht. Läuft natürlich nicht.... aber die Richtung könnte es sein.

code "g31 z-30 f70" ' Fahre Z mit 200 mm/min an aktueller Stelle nach unten auf Meßblock
While IsActive(INPUT4)
Wend
code "g31 g0 z" & GetOEMDRO(85)+1 ' Fahre Z 1mm hoch
While IsActive(INPUT4)
Wend


Oder noch besser, wie man in Mach3 ein Probe2 einrichtet.


Freue mich schon auf eure Antworten. Würde mich sehr freuen, wenn wir es zum laufen bekommen. Denn die nächste OP steht an. Servos wollen verbaut werden und die alten Schrittmotoren raus. :)


Wenn ich gerade dabei bin, noch eine andere Frage. Habe bei Topcom noch dieses "Doppelstecker" bestellt. Man kann bis zu 4 Sensoren über einen Input Port am Interface anschließen. Nun machen die grade Urlaub. Wo kann ich son "Doppelstecker" noch bestellen?

https://topcom.cz/sigmer4/

timka
Beiträge: 3
Registriert: 15.07.2021, 00:50

Re: Mach3 WZL Sensor über Input anstatt über Probe Port

Beitrag von timka » 22.07.2021, 14:03

Wo sind denn jetzt die Experten? :wf

WF55
Beiträge: 61
Registriert: 04.04.2019, 19:19

Re: Mach3 WZL Sensor über Input anstatt über Probe Port

Beitrag von WF55 » 22.07.2021, 16:21

ich bin hier eigentlich raus, da ich von Deinem Wunsch nach einer Softwarelösung nichts halte.
Ich würde immer eine Hardwarelösung nehmen.

Es gibt ein paar Hinweise im WEB das G31 und Abfragen innerhalb einer IsMoving-Schleife sich nicht immer vertragen.

Du kannst Ja mal versuchen:

Code: Alles auswählen

While IsMoving() 
         If ((INPUT4) = True) Then
             ......
         End If
         Sleep(5)
Wend
Es ist auf alle Fälle Hilfreich sich mal die Befehlsreferenz von Mach3 anzuschauen.
Ich kann das nicht testen, da ich keine Lust habe meine Hardware umzufrickeln.

StompSC
Beiträge: 25
Registriert: 26.02.2016, 10:19

Re: Mach3 WZL Sensor über Input anstatt über Probe Port

Beitrag von StompSC » 29.07.2021, 23:53

Hallo,

wenn es noch hilft:

Ich halte gar nichts von einer Software Lösung, die wird vermutlich auch zu träge sein, wenn man nicht unendlich langsam fährt.

Ich habe einen "16 zu 1 HW-Multiplexer" verwendet. Die vier Eingänge zur Eingangswahl steuere ich mit vier Outputs im Skript.
Frage damit:
- 3D Taster
- Werkzeuglängentaster
- fliegenden Taser
- Vorhandensein der Werkzeuge im WZW
ab.

Die Logik aller Taster muss natürlich trotzdem identisch sein, bzw. vor dem Multiplexer in der HW gedreht werden.

Vermutlich könnte man auch per Script die Logik des Probe Eingangs ändern (dann vermutlich auch diesen auf einen anderen Eingang umlegen?). Aber da hört mein Wissen auf...

Gruß, Dirk

WF55
Beiträge: 61
Registriert: 04.04.2019, 19:19

Re: Mach3 WZL Sensor über Input anstatt über Probe Port

Beitrag von WF55 » 30.07.2021, 11:05

Hallo,
Hardwarelösung möchte er ja nicht. Vielleicht meldet er sich ja noch einmal.

TecMar

Re: Mach3 WZL Sensor über Input anstatt über Probe Port

Beitrag von TecMar » 03.08.2021, 19:23

Es steht doch dort das man entweder oder machen kann ;).

NPN – switch to GND
— or —
PNP – switch to power supply

Also sollte es eigentlich kein Problem geben mit PNP und NPN.

human
Beiträge: 12
Registriert: 21.05.2018, 16:18

Re: Mach3 WZL Sensor über Input anstatt über Probe Port

Beitrag von human » 27.11.2021, 21:49

Moin

ich verstehe den Rummel über Hardwarelösung oder Softwarelösung nicht.
Die Abfrage von G31 geschieht doch schon Software seitig. Da kann man vor dem Probe-Eingang veranstalten was man will, die Abfrage bleibt Software seitig.
Eine Abfrage "normaler" Inputs ist möglich, jedoch langsamer als die G31 abfrage und somit ungenauer.
Hier ein kleiner Vergleich beider Methoden:
G31 Methode

Code: Alles auswählen

===================
G31_Test
===================
0.0045
0.006
0.0075
0.009
0.0065
0.008
0.0055
0.007
0.0085
0.006
Maschinenachse = Z
Vorschub = F200
Wiederholungen = 10
Min = 0.0045
Max = 0.009
Diff Min/Max = 0.0045
Mittelwert = 0.00685
-------------------
Input Methode

Code: Alles auswählen

===================
Input_Test
===================
-0.1505
-0.124
-0.1015
-0.0835
-0.0565
-0.0385
-0.0115
-0.335
-0.334
-0.3115
Maschinenachse = Z
Vorschub = F200
Wiederholungen = 10
Min = -0.335
Max = -0.0115
Diff Min/Max = 0.3235
Mittelwert = -0.15465
-------------------
Wenn man sich die Verzögerung/Ungenauigkeit ermittelt hat, kann man die im weiteren Verlauf auch verrechnen.
Ich persönlich nutze auch eine Hardwarelösung mittels Arduino.
Früher hatte ich aus Unwissenheit NC/NO Relais benutzt. Das hat auch gut funktioniert. Die schalten halt nur sehr langsam.
Im Netz gib es zu diesem Problem einige Lösungen. Unter anderem mit Transistorschaltungen ect.

Die Sofware seitige Abfrage sollte aber über G31 gemacht werden.
Entgegen einiger hier vorherrschender Meinungen, wird G31 nicht in eine Schleife abgefragt.

Code: Alles auswählen

Code("G31 Z-10 F200")
While IsMoving()
	Sleep(50)	' um den Prozessor auf mal eine Pause zu gönnen
Wend
Mach3 hält selber an, wenn ein High/Low am Probe-Eingang anliegt.
WF55 hat geschrieben:
22.07.2021, 16:21
[...]Es gibt ein paar Hinweise im WEB das G31 und Abfragen innerhalb einer IsMoving-Schleife sich nicht immer vertragen.[...]
Das kann ich nicht bestätigen.
Wenn man nicht gerade während des Antastens weitere Abfragen tätigt, gibt man dem Prozessor ein "Sleep" und wartet auf das Signal.
WF55 hat geschrieben:
22.07.2021, 16:21
[...]

Code: Alles auswählen

While IsMoving() 
         If ((INPUT4) = True) Then
             ......
         End If
         Sleep(5)
Wend
[...]
Du vergleichst eine Mach3 Constante - die den Wert 21 hat - auf TRUE?
Da wird immer FALSE rauskommen.
So sieht das richtiger aus:

Code: Alles auswählen

While not IsActive(INPUT4)
	 Sleep(5)
Wend
WF55 hat geschrieben:
22.07.2021, 16:21
[...]Ich kann das nicht testen, da ich keine Lust habe meine Hardware umzufrickeln.[...]
... musst du auch nicht. Lediglich die o.g. Methode - angewendet auf den Probe-Eingang - führt zum Ergebnis.
WF55 hat geschrieben:
22.07.2021, 16:21
[...]Es ist auf alle Fälle Hilfreich sich mal die Befehlsreferenz von Mach3 anzuschauen.[...]
Das rate ich dir auch ganz dringend.

Gruß
Robert

Antworten

Wer ist online?

Mitglieder in diesem Forum: Willhelm B. und 19 Gäste