Hallo zusammen.
Ich habe hier einen #KR6R900_2 C4RS, mit der KSS 8.7.476.
Ich möchte mit dem "CWRITE-Befehl" das Programm abwählen. Das will aber nicht funktionieren. Hat jmd. da einen Idee?
Im cell.src steht folgendes:
...
;FOLD AUTOEXT INIT
;Automatik extern
;IF $MODE_OP==#EX THEN
; CWRITE($CMD,STAT,MODE,"RUN /R1/CELL()")
;ENDIF
;
...
;ENDFOLD (AUTOEXT INIT)
...
...
IF (($MODE_OP==#EX) AND ($PRO_STATE1==#P_FREE)) THEN
CWRITE($CMD,STAT,MODE,"RUN /R1/Cell()")
;
ENDIF
;
IF (($MODE_OP==#EX) AND diAnf_Home AND bGnd) THEN
CWRITE($CMD,STAT,MODE,"CANCEL 1")
bGnd=FALSE
;
ENDIF
;
IF (NOT diAnf_Home) THEN
bGnd=TRUE
;
ENDIF
;
...
...
Alles anzeigen
Wenn der "diAnf_Home" kommt, kann ich sehen wie die boolesche Variable "bGnd" auf "FALSE" wechselt, bzw. wie sie wieder auf "TRUE" wechselt wenn der Eingang zurückgesetzt wird. Das Programm wird aber nicht abgewählt.
Ich habe während der Versuche auch mit "CWRITE($CMD,STAT,MODE,"Stop 1")" erst das Programm gestoppt um es dann zu "canceln" auch ohne Erfolg. In manchen Fällen konnte ich erkennen dass die Statusanzeige des Roboter-Interpreters von grün (Programm ist angewählt und läuft) auf rot (Programm ist angewählt, gestartet und angehalten) wechselt. Diese springt dann sofort wieder auf grün und das Programm läuft weiter.
Die boolesche Variable "bGnd" wird nirgends sonst verwendet
Ich mache dies, wie viele von euch sicher auch, schon "immer" genau so. Warum es hier so überhaupt nicht funktionieren möchte ist mir ein Rätsel. Eventuell kann mir jmd helfen wo/ wie ich da ansetzen kann um den Fehler zu finden. Hat sich evtl. in der KSS etwas geändert? In meiner Doku zur KSS 8.2/8.3 (KSS_82_83_CREAD_CWRITE_de.pdf) die ich zur Hand habe wird es noch so beschrieben.
Herzlichen Dank für eure Hilfe.