Hi all,
Controller: KRC4 Compact. (8.3.28)
1. So I am wondering if someone could verify the correct sequence for the EXT mode.
DriveOff to true,
MoveEnable to true,
DriveON to true,
ConfirmMess to true,
check peri_rdy,
ext_start to true,
check pro_act, pro_req,
send PGNO,
send PGNO_Validity ??
so what about the parity and fbit?
2. Based on the below link, is it necessary to send $PGNO_PARITY, $PGNO_FBIT from PLC to controller?
https://www.robot-forum.com/robotforum/kuk…90805/#msg90805
3. Also I don't have the below signals in my KRC/STEU/MADA/machine.dat so is it okay if I declare them myself? or will it stop the project activation as I changed the machine.dat file?
SIGNAL $PGNO_PARITY $IN[2033]
SIGNAL $PGNO_VALID $IN[2097]
SIGNAL $PGNO_REQ $OUT[2001];REQUEST PROGRAM NUMBER SIGNAL
Display More
4. Below is my cell.src, will the IF (PGNOLOCAL) statement work here? or should I declare it somewhere else?
&ACCESS RVP
&COMMENT HANDLER on external automatic
DEF CELL ( )
EXT Jig1()
EXT Jig1_2225()
EXT Jig2()
EXT Jig2_2225()
EXT down()
DECL CHAR DMY[3]
DMY[]="---"
GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
;GLOBAL INTERRUPT DECL 3 WHEN $IN[2018]==TRUE DO IR_STOPM ( )
INTERRUPT ON 3
BAS (#INITMOV,0 )
;CHECK THE PROGRAM NUMBER FROM THE HMI
$PGNO2 = PGNOLOCAL
IF PGNOLOCAL == 1 THEN
PGNO = 1
ENDIF
IF PGNOLOCAL == 2 THEN
PGNO = 2
ENDIF
IF PGNOLOCAL == 3 THEN
PGNO = 3
ENDIF
IF PGNOLOCAL == 4 THEN
PGNO = 4
ENDIF
IF PGNOLOCAL == 5 THEN
PGNO = 5
ENDIF
$H_POS=XHOME
IF CHECK_HOME==TRUE THEN
P00 (#CHK_HOME,#PGNO_GET,DMY[],0 ) ;Testing Home-Position
ENDIF
$H_POS=XHOME
PDAT_ACT=PDEFAULT
BAS (#PTP_DAT )
FDAT_ACT=FHOME
BAS (#FRAMES )
BAS (#VEL_PTP,100 )
PTP XHOME
P00 (#INIT_EXT,#PGNO_GET,DMY[],0 ) ; Initialize extern mode
LOOP
P00 (#EXT_PGNO,#PGNO_GET,DMY[],0 )
SWITCH PGNO
CASE 1
P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request
Jig1()
CASE 2
P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request
Jig1_2225()
CASE 3
P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request
Jig2()
CASE 4
P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request
Jig2_2225()
CASE 5
P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request
down()
DEFAULT
P00 (#EXT_PGNO,#PGNO_FAULT,DMY[],0 )
ENDSWITCH
ENDLOOP
END
Display More
5. This is where I send the 16 bit signal from PLC to controller,
in STEU/config.dat
And here's where I created the local variable PGNOLOCAL in KRC/R1/SYSTEM/config.dat
And simple check the incoming signal and assign pgno to the local cell.src?
Any help/advice/suggestions appreciated.
Many Thanks