Mach4 Delay in Script einbauen / Spindel steht Signal
Verfasst: 09.02.2019, 18:51
Hi zusammen,
ich baue aktuell eine neue Steuerung für meine bestehende Fräse. Bei der "Gelegenheit" möchte ich auf Mach4 umsteigen. Vorher nutzte ich Mach3 - und zwar genauso wie es ist - ohne dass ich mich je mit der Anpassung beschäftigt habe. Um jetzt bei der neuen Steuerung etwas mehr Bedienkomfort zu erzielen möchte ich die Software etwas anpassen. Die Einarbeitung in Mach3 macht meiner Meinung nach keinen Sinn mehr und ich nehme gleich Mach4.
Soweit bin ich auch schon ganz gut voran gekommen.
Zum Thema:
Da ich eine WZW Spindel verbaue möchte ich über einen Taster das Ventil für den WZW Zylinder schalten.
Natürlich soll dies erst zugelassen werden, wenn die Spindel steht.
Genau hier ist das Problem.
Grundsätzlich läuft es, aber ich finde keine Möglichkeit die Auslaufzeit der Spindel zu berücksichtigen für die Freigabe des Werkzeuglösens.
Alternativ wäre mir auch mit einem Delay geholfen.
Hier mal ein kurzer Code für das Freigabesignal:
Aktuell habe ich es im PLC Script integriert.
An einen Counter oder Systemzeitverrechnung habe ich auch schon gedacht, aber vielleicht wisst ihr was Sinnvolleres
Gruß
Jannik
ich baue aktuell eine neue Steuerung für meine bestehende Fräse. Bei der "Gelegenheit" möchte ich auf Mach4 umsteigen. Vorher nutzte ich Mach3 - und zwar genauso wie es ist - ohne dass ich mich je mit der Anpassung beschäftigt habe. Um jetzt bei der neuen Steuerung etwas mehr Bedienkomfort zu erzielen möchte ich die Software etwas anpassen. Die Einarbeitung in Mach3 macht meiner Meinung nach keinen Sinn mehr und ich nehme gleich Mach4.
Soweit bin ich auch schon ganz gut voran gekommen.
Zum Thema:
Da ich eine WZW Spindel verbaue möchte ich über einen Taster das Ventil für den WZW Zylinder schalten.
Natürlich soll dies erst zugelassen werden, wenn die Spindel steht.
Genau hier ist das Problem.
Grundsätzlich läuft es, aber ich finde keine Möglichkeit die Auslaufzeit der Spindel zu berücksichtigen für die Freigabe des Werkzeuglösens.
Alternativ wäre mir auch mit einem Delay geholfen.
Hier mal ein kurzer Code für das Freigabesignal:
Code: Alles auswählen
local hsig = mc.mcSignalGetHandle(inst, mc.OSIG_SPINDLEFWD)
local spinstate_fwd = mc.mcSignalGetState(hsig)
hsig = mc.mcSignalGetHandle(inst, mc.OSIG_SPINDLEREV)
local spinstate_rev = mc.mcSignalGetState(hsig)
hsig = mc.mcSignalGetHandle(inst, mc.OSIG_SPINDLEON)
local spinstate_speed = mc.mcSignalGetState(hsig)
if ((spinstate_fwd == 0) and (spinstate_rev == 0) and (spinstate_speed == 0) ) then
-- Hier soll das Delay rein, bis die Spindel ausgetrudelt ist (DECEL TIME z.B. )
-- alternativ z.B. 4 Sekunden delay
WriteRegister("WzwAllowed", 1)
else
WriteRegister("WzwAllowed", 0)
end
An einen Counter oder Systemzeitverrechnung habe ich auch schon gedacht, aber vielleicht wisst ihr was Sinnvolleres
Gruß
Jannik