Yep. My Bad. Software version is 8.5.8
And also, the EKI_Lock didn't solved the problem as it causes EKI00015 (Access to empty element memory) error... So I added ClearBuffer instruction at the end of the cycle as I don't need buffer anyway. I don't know will it help or not as I still testing the program. But it seems OK right now.
The code For program is
&ACCESS RVP
&REL 67
&PARAM EDITMASK = *
&PARAM TEMPLATE = C:\KRC\Roboter\Template\ExpertVorgabe
&PARAM DISKPATH = KRC:\R1\test
DEF XmlTransmit()
INT TAC, TA[6]
DECL EKI_STATUS RET
REAL BX, BY, BZ, BA, BB, BC
BOOL ConMove, Lube, STP, RSENS
;FOLD INI
;FOLD BASISTECH INI
BAS (#INITMOV,0 )
;ENDFOLD (BASISTECH INI)
;FOLD USER INI
;Make your modifications here
;ENDFOLD (USER INI)
;ENDFOLD (INI)
;FOLD SPTP P1 Vel=100 % PDAT1 Tool[1]:Tool1 Base[0] ;%{PE}
;FOLD Parameters ;%{h}
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=P1; Kuka.BlendingEnabled=False; Kuka.MoveDataPtpName=PDAT1; Kuka.VelocityPtp=100; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP
;ENDFOLD
SPTP XP1 WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(FP1), $BASE = SBASE(FP1.BASE_NO), $IPO_MODE = SIPO_MODE(FP1.IPO_FRAME), $LOAD = SLOAD(FP1.TOOL_NO), $ACC_AXIS[1] = SACC_JOINT(PPDAT1), $APO = SAPO_PTP(PPDAT1), $GEAR_JERK[1] = SGEAR_JERK(PPDAT1), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0)
;ENDFOLD
RET=EKI_Init("Transmit")
RET=EKI_Open("Transmit")
BX=0
BY=0
BZ=0
BA=0
BB=0
BC=0
RSENS=FALSE
ConMove=FALSE
Lube=FALSE
STP=FALSE
REPEAT
TAC=0
FOR TAC=1 TO 6
TA[TAC]=$MOT_TEMP[TAC]
ENDFOR
;FOLD Write data
; Write Temps
RET=EKI_SetInt("Transmit","Robot/ReducersTemp/Temp1", TA[1])
RET=EKI_SetInt("Transmit","Robot/ReducersTemp/Temp2", TA[2])
RET=EKI_SetInt("Transmit","Robot/ReducersTemp/Temp3", TA[3])
RET=EKI_SetInt("Transmit","Robot/ReducersTemp/Temp4", TA[4])
RET=EKI_SetInt("Transmit","Robot/ReducersTemp/Temp5", TA[5])
RET=EKI_SetInt("Transmit","Robot/ReducersTemp/Temp6", TA[6])
; Write Bools
RET=EKI_SetBool("Transmit","Robot/Taking",RSENS)
;ENDFOLD (Write data)
;FOLD Send data to external program
RET = EKI_Send("Transmit","Robot")
WAIT SEC 1
;ENDFOLD (Send data to external program)
;FOLD Get data
;Bag Coordinates
RET=EKI_GetReal("Transmit","TRANS/Pos/BagCoordX",BX)
RET=EKI_GetReal("Transmit","TRANS/Pos/BagCoordY",BY)
RET=EKI_GetReal("Transmit","TRANS/Pos/BagCoordZ",BZ)
RET=EKI_GetReal("Transmit","TRANS/Pos/BagCoordA",BA)
RET=EKI_GetReal("Transmit","TRANS/Pos/BagCoordB",BB)
RET=EKI_GetReal("Transmit","TRANS/Pos/BagCoordC",BC)
;Booleans
RET=EKI_GetBool("Transmit","TRANS/ConvBool" ,ConMove)
RET=EKI_GetBool("Transmit","TRANS/NeedLube" ,Lube)
RET=EKI_GetBool("Transmit","TRANS/STOP" ,STP)
;ENDFOLD (Get data)
RET=EKI_ClearBuffer("Transmit","TRANS")
WAIT SEC 1
;ENDFOLD
UNTIL $IN[205]==TRUE
RET=EKI_Close("Transmit")
RET=EKI_Clear("Transmit")
END
Display More
And the Config file is
<ETHERNETKRL>
<CONFIGURATION>
<EXTERNAL>
<IP>192.168.10.44</IP>
<PORT>60000</PORT>
</EXTERNAL>
</CONFIGURATION>
<RECEIVE>
<XML>
<ELEMENT Tag="TRANS/Pos/BagCoordX" Type="REAL"/>
<ELEMENT Tag="TRANS/Pos/BagCoordY" Type="REAL"/>
<ELEMENT Tag="TRANS/Pos/BagCoordZ" Type="REAL"/>
<ELEMENT Tag="TRANS/Pos/BagCoordA" Type="REAL"/>
<ELEMENT Tag="TRANS/Pos/BagCoordB" Type="REAL"/>
<ELEMENT Tag="TRANS/Pos/BagCoordC" Type="REAL"/>
<ELEMENT Tag="TRANS/ConvBool" Type="BOOL"/>
<ELEMENT Tag="TRANS/NeedLube" Type="BOOL"/>
<ELEMENT Tag="TRANS/STOP" Type="BOOL"/>
</XML>
</RECEIVE>
<SEND>
<XML>
<ELEMENT Tag="Robot/ReducersTemp/Temp1"/>
<ELEMENT Tag="Robot/ReducersTemp/Temp2"/>
<ELEMENT Tag="Robot/ReducersTemp/Temp3"/>
<ELEMENT Tag="Robot/ReducersTemp/Temp4"/>
<ELEMENT Tag="Robot/ReducersTemp/Temp5"/>
<ELEMENT Tag="Robot/ReducersTemp/Temp6"/>
<ELEMENT Tag="Robot/Taking"/>
</XML>
</SEND>
</ETHERNETKRL>
Display More