更新KUKA程序
This commit is contained in:
87
KUKA/KRC/R1/System/sps.sub
Normal file
87
KUKA/KRC/R1/System/sps.sub
Normal file
@@ -0,0 +1,87 @@
|
||||
&ACCESS RVP
|
||||
&COMMENT PLC on control
|
||||
DEF SPS ( )
|
||||
;FOLD DECLARATIONS
|
||||
;FOLD BASISTECH DECL
|
||||
;Automatik extern
|
||||
DECL STATE_T STAT
|
||||
DECL MODUS_T MODE
|
||||
;ENDFOLD (BASISTECH DECL)
|
||||
;FOLD USER DECL
|
||||
; Please insert user defined declarations
|
||||
|
||||
;ENDFOLD (USER DECL)
|
||||
;ENDFOLD (DECLARATIONS)
|
||||
;FOLD INI
|
||||
;FOLD BASISTECH INIT
|
||||
BasisTech_PLC_INIT()
|
||||
;ENDFOLD (BASISTECH INIT)
|
||||
;FOLD AUTOEXT INIT
|
||||
INTERRUPT DECL 91 WHEN $PRO_STATE1==#P_FREE DO RESET_OUT ()
|
||||
INTERRUPT ON 91
|
||||
INTERRUPT DECL 92 WHEN $PRO_MOVE==TRUE DO RESET_LINESEL()
|
||||
INTERRUPT ON 92
|
||||
$LOOP_MSG[]=" "
|
||||
MODE=#SYNC
|
||||
$H_POS=$H_POS
|
||||
;Automatik extern
|
||||
IF $MODE_OP==#EX THEN
|
||||
CWRITE($CMD,STAT,MODE,"RUN /R1/CELL()")
|
||||
ENDIF
|
||||
;ENDFOLD (AUTOEXT INIT)
|
||||
;FOLD BACKUPMANAGER PLC INIT
|
||||
BM_ENABLED = FALSE
|
||||
BM_OUTPUTVALUE = 0
|
||||
;ENDFOLD (BACKUPMANAGER PLC INIT)
|
||||
;FOLD USER INIT
|
||||
; Please insert user defined initialization commands
|
||||
|
||||
;ENDFOLD (USER INIT)
|
||||
;ENDFOLD (INI)
|
||||
|
||||
LOOP
|
||||
WAIT FOR NOT($POWER_FAIL)
|
||||
;FOLD BASISTECH PLC
|
||||
BasisTech_PLC_LOOP()
|
||||
;ENDFOLD (BASISTECH PLC)
|
||||
;FOLD BACKUPMANAGER PLC
|
||||
IF BM_ENABLED THEN
|
||||
BM_OUTPUTSIGNAL = BM_OUTPUTVALUE
|
||||
ENDIF
|
||||
;ENDFOLD (BACKUPMANAGER PLC)
|
||||
;FOLD USER PLC
|
||||
;Make your modifications here
|
||||
|
||||
;ENDFOLD (USER PLC)
|
||||
ENDLOOP
|
||||
;FOLD ;%{H}
|
||||
;FOLD
|
||||
END
|
||||
;ENDFOLD
|
||||
|
||||
|
||||
DEF RESET_OUT ( )
|
||||
INT N
|
||||
MsgLoop(" ")
|
||||
IF REFLECT_PROG_NR == 1 THEN
|
||||
FOR N = 0 TO PGNO_LENGTH - 1
|
||||
$OUT[PGNO_FBIT_REFL + N] = FALSE
|
||||
ENDFOR
|
||||
ENDIF
|
||||
IF (PGNO_REQ>0) THEN
|
||||
$OUT[PGNO_REQ]=FALSE
|
||||
ELSE
|
||||
IF (PGNO_REQ<0) THEN
|
||||
$OUT[-PGNO_REQ]=TRUE
|
||||
ENDIF
|
||||
ENDIF
|
||||
END
|
||||
|
||||
DEF RESET_LINESEL()
|
||||
$LINE_SEL_OK=FALSE
|
||||
END
|
||||
;FOLD USER SUBROUTINE
|
||||
; Integrate your user defined subroutines
|
||||
|
||||
;ENDFOLD (USER SUBROUTINE)
|
||||
;ENDFOLD
|
||||
Reference in New Issue
Block a user