Moin,
ich möchte einen Greifer am Panel mit den programmierbaren Tasten bedienen können, ohne die Automatik ausschalten zu müssen. Momentan hab ich es so eingerichtet:
5 Ausgangssignale
doTaste
doTaste1
...
doTaste4
Eine Cross Connection für die Tasten
doTaste = doTaste1 OR doTaste2 OR doTaste3 OR doTaste4
Unter Systemeinstellungen -> Prog. Tasten hab ich die jeweilige Taste mit dem Signal verknüpft und lasse einen Puls rausgeben.
Taste X
Ausgang doTasteX
Puls
In Automatik zulassen
Im Programm wird der Interrupt verbunden
IDelete inTastePanel;
CONNECT inTastePanel WITH trTastenPanel;
ISignalDO \single, doTaste, high, inTastePanel;
Durch Drücken einer der Tasten soll eigentlich ein Interrupt ausgelöst werden, der in diese Routine springt:
TRAP trTastenPanel
! Interrupt für die Bedienung des Greifers durch die Tasten am Panel
IF (doMechUnitNotMoving = 0) THEN
TPWrite "Locked - Robot is moving";
ELSE
IF doTaste1 = 1 THEN
TPWrite "Taste 1";
ELSEIF doTaste2 = 1 THEN
TPWrite "Taste 2";
ELSEIF doTaste3 = 1 THEN
TPWrite "Taste 3";
ELSEIF doTaste4 = 1 THEN
TPWrite "Taste 4";
ELSE
! Irgendwas passt hier nicht!
Stop;
ENDIF
ENDIF
ENDTRAP
Alles anzeigen
Allerdings macht er das nicht. Egal wann ich eine der Tasten drücke, es wird keiner der Texte angezeigt. Fehler bekomme ich auch keine. Jemand eine Idee?
Danke schonmal.
Gruß
Jörn