Hello Guest it is September 27, 2020, 08:19:43 PM

Author Topic: In Schleife "while is moving()" Stop-Button bzw. ESC abfragen  (Read 246 times)

0 Members and 1 Guest are viewing this topic.

Hallo,
das Problem, das ich habe trifft bestimmt auf viele Macros zu, die "while is moving()" verwenden.
Im Speziellen habe ich ein Macro zum Bestimmen der Nullpunkte im Web gefunden, das ich nutzen möchte. Mein Problem ist, dass wenn ich den Stop-Button bzw. die ESC-Taste drücke dann wird die Schleife nicht sauber beendet. Anscheinend läuft sie im Hintergrund weiter (und wartet wahrscheinlich immer noch auf den Kontakt mit dem Sensor) und ich kann das Makro nicht neu starten.
Irgendwie müsste in die Schleife noch eine Abfrage reinkommen? Aber welche Abfrage.

Hier mal ein Ausschnitt aus dem Code:
Code: [Select]
'----- X AXIS SUBROUTINE -------------------------------------------------------------------------------------
Sub RunXCenter()
 SetOemDRO(800,0)               'ZERO X AXIS DRO
 Sleep 200                      'DELAY TO ALLOW DRO TO CHANGE
' Message VarStatusMsg &"     X Center Running..."
 Message VarStatusMsg & "     X Nullpunktsuche aktiv..."
 Code "G90 G31 X" & VarMaxDistance & "F" & VarFeedRate  'MOVE IN X POS DIRECTION
  While IsMoving()              'WAIT UNTIL MOVE IS COMPLETE BEFORE PROCEEDING
   Wend
Danke

Offline TPS

*
  •  1,675 1,675
    • View Profile
Re: In Schleife "while is moving()" Stop-Button bzw. ESC abfragen
« Reply #1 on: March 25, 2020, 03:03:18 AM »
Hallo,
welchen Controller benutzt Du.
Ich denke es ist eher ein Problem auf dem Controller, das das G31 nicht sauber abgebrochen wird.

G31 zu unterbrechen ist ein sehr heikles Thema, meine CSMIO kann das auch nicht sauber, aber mit dem
maximalen Tastweg kann man das schon sehr gut abgrenzen, insofern man nach beenden der G31 prüft,
ob ein Tastvorgang stattgefunden hat.

anything is possible, just try it.
if you find some mistakes, in my bad bavarian english,they are yours.
Re: In Schleife "while is moving()" Stop-Button bzw. ESC abfragen
« Reply #2 on: March 25, 2020, 04:33:12 AM »
Hallo,
danke für die Antwort. Ich verwende den ESS von Warp9TD.
Gestern habe ich mich nochmals damit beschäftigt und da hat es funktioniert. Ich glaube mittlerweile auch, dass das nicht am Code liegt.
Gruß