Hallo Gemeinde!
Habe schon mal die Suche bemüht aber nichts passendes gefunden.
Ich würde gerne eine Funktionstaste belegen und nur so lange den Roboter bewegen, solange diese Taste betätigt ist.
Das ganze habe ich schon mal mit einem DO und einem Interrupt simuliert. Aber die Lösung gefällt mir nicht so recht, weil das Programm immer von neuem gestartet wird. Lasse ich ExitCycle weg, bleibt der Programmzeiger beim Rücksprung in der Move... Zeile stehen.
PROC main()
!Initialisierung
!Init;
!Produktionsschleife
WHILE DOutput(doIRBinHome)=0 DO
TEST abfrage(usContinue)
CASE 1:
! Abbrechen (Löschen) eines Interrupts
IDelete sig1int;
CONNECT sig1int WITH iroutine1;
WaitDO DO7, 1;
ISignalDO DO7,0,sig1int;
MoveAbsJ jHome,v100,fine,tool0;
ENDTEST
ENDWHILE
ENDPROC
!Reaktion auf Interrupt
TRAP iroutine1
StopMove\Quick;
ClearPath;
StartMove;
ExitCycle;
ENDTRAP
Gibt es da nicht eine andere Lösung?
Gruß
Frank