Abfrage Werkzeugrevolver verschlossen

More
22 Feb 2025 13:11 - 22 Feb 2025 13:14 #322272 by WKS-3D
Hallo Gemeinde,
ich bin dabei einen der 2 Sensoren für den Werkzeugrevolver zu definieren bzw. was zu tun ist, wenn der Sensor nicht ausgelöst wird.
Der Revolver wird von einem Pneumatikzylinder aus seiner Verzahnung gedrückt, dabei wird der Sensor unlocked ausgelöst, wenn die Position erreicht ist, darf der Motor den Revolver drehen. Danach wird der Revolver wieder nach hinten gezogen und ein 2. Sensor wird geschaltet, es sind also Positionsschalter. Mein Problem ist der 2. Schalter, wenn der Revolver zurückgezogen ist, wenn diese Position nicht erreicht wird und eine Fehlstellung vorliegt (zB Stepper Schrittverlust oder sonstige Störung) dann soll die Maschine ja nicht weiterfahren.
Das habe ich mit einem digitalen Input und M66 im M6-Macro versucht, was so weit auch zu funktionieren scheint:

M66 P0 L3 Q5

Jetzt ist es aber so, dass nach dem Timeout die Maschine trotzdem weitermacht.
Ich vermute da müsste eine Bedingung rein, aber ich weiß nicht, wie ich das am besten umsetze.
Mein M6 Macro:
o<toolchange> sub
G53 G0 X-5.
#4001=45            (bei 8 Positionen 360 Grad durch 8)
M61 Q#4999            (Werkzeug aus Speicher setzen)
o500 if[#<_current_tool> EQ #<_selected_tool>]
    (DEBUG,Tool bereits in Spindel)
o500 else
    G0 C[#<_selected_tool> * #4001-#4001]
    M6 G43
    #4999=#5400
    M66 P0 L3 Q5
o500 endif
o<toolchange> endsub
m2

Nun habe ich folgendes gelesen:
Q- - gibt den Timeout in Sekunden für das Warten an. Wird der Timeout überschritten, wird das Warten unterbrochen, und die Variable #5399 erhält den Wert -1. Der Q-Wert wird ignoriert, wenn das L-Wort Null ist (IMMEDIATE). Ein Q-Wert von Null ist ein Fehler, wenn das L-Wort nicht Null ist.

Wäre es dann so korrekt?
[code]o<toolchange> sub
G53 G0 X-5.
#4001=45            (bei 8 Positionen 360 Grad durch 8)
M61 Q#4999            (Werkzeug aus Speicher setzen)
o500 if[#<_current_tool> EQ #<_selected_tool>]
    (DEBUG,Tool bereits in Spindel)
o500 else
    G0 C[#<_selected_tool> * #4001-#4001]
    M6 G43
    #4999=#5400
    M66 P0 L3 Q5
-----------------------------------------------------
    o501 if #5399=-1
         (DEBUG, Revolver nicht in Grundstellung)
         M0
    o501 endif
------------------------------------------------------
o500 endif
o<toolchange> endsub
m2

Danke und Gruß
Olli

[color=#2ecc71] [/color]
[/code]
Last edit: 22 Feb 2025 13:14 by WKS-3D.

Please Log in or Create an account to join the conversation.

More
23 Feb 2025 16:24 #322375 by WKS-3D
Replied by WKS-3D on topic Abfrage Werkzeugrevolver verschlossen
Ich habe es nun selbst rausbekommen.
Der entsprechende Teil muss so aussehen, dann funktioniert es:
-----------------------------------------------------
    o501 if [#5399 EQ -1]
        (DEBUG, Revolver nicht in Grundstellung)
        M0
    o501 endif
------------------------------------------------------

Please Log in or Create an account to join the conversation.

Time to create page: 0.070 seconds
Powered by Kunena Forum