Hallo Kollegen,
auch auf die Gefahr hin das es Ähnliches gibt hier.
Kuka nutzt folgendes Bsp. fuer den Programmstart mit CWRITE:
;Select and Run program
;so that the behavior is independent of operating modes
IF ($MODE_OP==#[EX]) AND ($PRO_STATE1==#[P_FREE]) THEN
CWRITE($CMD,STAT,MODE,"RUN/R1/CELL/EXAMPLE()")
;is required so that the program is not startet automatically at #EXT
CWRITE($CMD,STAT,MODE,"STOP 1")
ENDIF
Ich habe also nun ein Bearbeitung und hier möchte ich eine Pegel simulieren ab einer bestimmten stelle:
LIN {X -1550, Y 495.0, Z -500.0, A 90.21, B -0.05, C -88.90, S 2, T 3} C_VEL
; Funktionsgenerator ausschalten
IF ($MODE_OP==#T2) or ($MODE_OP==#T1)THEN
;CWRITE($CMD,STAT,MODE,"RUN/R1/TP/TEST_SUB/TEST()")
CWRITE ($CMD, STAT, MODE, "RUN/R1/TP/..../TEST() > 3") ; Programm sollte also mit 3 mittels Subinterpreter EXT1 geladen werden und im Hintergrund laufen.
ENDIF
LIN {X -500, Y 495.0, Z -500.0, A 90.21, B -0.05, C -88.90, S 2, T 3} C_VEL
Dann würde ich das Prg gerne beenden mit:
CWRITE($CMD,STAT,MODE,"STOP/R1/TP/..../TEST() > 3")
BZW
CWRITE($CMD,STAT,MOD, STOP 3)
Das Suprogramm ist relativ simpel:
DEF TEST1( )
DECL STATE_T STAT ; Wie im Beispiel
DECL MODUS_T MODE
MODE=#SYNC
SchleifeSubLoop =0
While SchleifeSubLoop<>1 ; Gewollte endlosschleife bis Abwahl des Programms
TESTLOOP()
ENDWHILE
;FOLD ;%{H};
END
.