Need to make dual home positions using current system setup, but im not used to the way the current home position is done. “What is CJointT() ???”
!
PROC control_reposo()
! Verificacion robot en posicion reposo y mantenimiento
! Reposo robot
jposActual_rob:=CJointT();
nDif_pos1:=Abs(jpos_Home_rob.robax.rax_1-jposActual_rob.robax.rax_1)+Abs(jpos_Home_rob.robax.rax_2-jposActual_rob.robax.rax_2);
nDif_pos2:=Abs(jpos_Home_rob.robax.rax_3-jposActual_rob.robax.rax_3)+Abs(jpos_Home_rob.robax.rax_4-jposActual_rob.robax.rax_4);
nDif_pos3:=Abs(jpos_Home_rob.robax.rax_5-jposActual_rob.robax.rax_5)+Abs(jpos_Home_rob.robax.rax_6-jposActual_rob.robax.rax_6);
nDif_pos:=nDif_pos1+nDif_pos2+nDif_pos3;
IF Abs(nDif_pos)<1 THEN
Set do_Home;
b_robot_home:=TRUE;
ELSE
Reset do_Home;
b_robot_home:=FALSE;
ENDIF
! Posicio mantenimiento
jposActual_rob:=CJointT();
nDif_pos1:=Abs(jpos_Mainten_rob.robax.rax_1-jposActual_rob.robax.rax_1)+Abs(jpos_Mainten_rob.robax.rax_2-jposActual_rob.robax.rax_2);
nDif_pos2:=Abs(jpos_Mainten_rob.robax.rax_3-jposActual_rob.robax.rax_3)+Abs(jpos_Mainten_rob.robax.rax_4-jposActual_rob.robax.rax_4);
nDif_pos3:=Abs(jpos_Mainten_rob.robax.rax_5-jposActual_rob.robax.rax_5)+Abs(jpos_Mainten_rob.robax.rax_6-jposActual_rob.robax.rax_6);
nDif_pos:=nDif_pos1+nDif_pos2+nDif_pos3;
IF Abs(nDif_pos)<1 THEN
Set do_Maintenance;
ELSE
Reset do_Maintenance;
ENDIF
WaitTime 0.05;
ENDPROC
ENDMODULE