Hallo zusammen. Bin noch recht neu im KUKA Thema und hab folgende Frage:
Der Roboter soll anhalten wenn das Eingangssignal 167 weg geht. Sofern er in der Bewegung ist achtet er ja weder auf eine IF oder Wait Bedingung. Habs auch schon mit While und Co Probiert. $Advance auf 1 etc... Wie kann ich es machen, auch ohne SPS`ler dass der Roboter auch während dem fahren des Fahrsatzes auf den Eingang schaut und anhält. (Der Sensor ist da um Vorzeitig Lagen zu erkennen falls der Bediener zu viele Bleche eingelegt hat)
Danke schon einmal für jede Konstruktive Hilfe!
Code
;Freigabe Rundtaktisch
;FOLD WAIT FOR ( IN 98 'PermitWorkspace_2 Rundtakttisch' ) CONT ;%{PE}
;FOLD Parameters ;%{h}
;Params IlfProvider=kukaroboter.basistech.inlineforms.logics.waitfor; Kuka.WaitLogicTerm1=None; Kuka.WaitForNot1=False; Kuka.WaitLogicOp2.Term1=None; Kuka.WaitForNot2.Term1=False; Kuka.WaitForSysVar2.Term1=IN; Kuka.WaitForIndex2.Term1=98; Kuka.WaitForIndexName2.Term1=PermitWorkspace_2 Rundtakttisch; Kuka.WaitForTermNumbers=1; Kuka.WaitForOpNumbers=2; Kuka.WaitForCont=True
;ENDFOLD
CONTINUE
WAIT FOR ( $IN[98] )
;ENDFOLD
;GHP 40(calculated): Endposition/Endposition
;FOLD Homerun.ap_point Name GHP40;%{PE}%MKUKATPUSER
TRIGGER WHEN DISTANCE=0 DELAY=0 DO CUR_POS=40
;ENDFOLD
;FOLD SPTP GHP40 CONT Vel=100 % PDAT100 Tool[1]:Magnetgreifer Base[1]:Rundtakttisch ;%{PE}
;FOLD Parameters ;%{h}
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=GHP40; Kuka.BlendingEnabled=True; Kuka.MoveDataPtpName=PDAT100; Kuka.VelocityPtp=100; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP
;ENDFOLD
SPTP XGHP40 WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(FGHP40), $BASE = SBASE(FGHP40.BASE_NO), $IPO_MODE = SIPO_MODE(FGHP40.IPO_FRAME), $LOAD = SLOAD(FGHP40.TOOL_NO), $ACC_AXIS[1] = SACC_JOINT(PPDAT100), $APO = SAPO_PTP(PPDAT100), $GEAR_JERK[1] = SGEAR_JERK(PPDAT100), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0) C_Spl
;ENDFOLD
IF NOT $IN[167] THEN
;abort_user_safe()
HALT
up_error(7);"Sensor hat Vorzeitig Lagen erkannt, Bitte Materialbestueckung und Materialdicke prüfen !" "}
WAIT FOR FALSE
ENDIF
;GHP 41 (calculated): position/Position ->Berechnet
;FOLD ShiftPosition.Tool_und_Base FROM= GHP45, INTO= GHP41 ;%{PE}
FGHP41 .TOOL_NO = FGHP45 .TOOL_NO
FGHP41 .BASE_NO = FGHP45 .BASE_NO
FGHP41 .IPO_FRAME = FGHP45 .IPO_FRAME
;ENDFOLD
;FOLD ShiftPosition.calculate_Point FROM= GHP45, INTO= GHP41, IN x= 0 mm, IN y= 0 mm, IN z= 100 mm, IN a= 0 Deg, IN b= 0 Deg, IN c= 0 Deg ;%{PE}
XGHP41 = XGHP45
XGHP41 .x = XGHP41 .x+(0 )
XGHP41 .y = XGHP41 .y+(0 )
XGHP41 .z = XGHP41 .z+(100 )
XGHP41 .a = XGHP41 .a+(0 )
XGHP41 .b = XGHP41 .b+(0 )
XGHP41 .c = XGHP41 .c+(0 )
;ENDFOLD
;FOLD Homerun.ap_point Name GHP 41 ;%{PE}
TRIGGER WHEN DISTANCE=0 DELAY=0 DO CUR_POS=41
;ENDFOLD
;FOLD SLIN GHP41 Vel=0.1 m/s CPDAT100 Tool[1]:Magnetgreifer Base[1]:Rundtakttisch ;%{PE}
;FOLD Parameters ;%{h}
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=GHP41; Kuka.BlendingEnabled=False; Kuka.MoveDataName=CPDAT100; Kuka.VelocityPath=0.1; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SLIN
;ENDFOLD
SLIN XGHP41 WITH $VEL = SVEL_CP(0.1, , LCPDAT100), $TOOL = STOOL2(FGHP41), $BASE = SBASE(FGHP41.BASE_NO), $IPO_MODE = SIPO_MODE(FGHP41.IPO_FRAME), $LOAD = SLOAD(FGHP41.TOOL_NO), $ACC = SACC_CP(LCPDAT100), $ORI_TYPE = SORI_TYP(LCPDAT100), $APO = SAPO(LCPDAT100), $JERK = SJERK(LCPDAT100), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0)
;ENDFOLD
IF NOT $IN[167] THEN
;abort_user_safe()
HALT
up_error(7);"Sensor hat Vorzeitig Lagen erkannt, Bitte Materialbestueckung und Materialdicke prüfen !" "}
WAIT FOR FALSE
ENDIF
;-------------------------------------------------------------
;GHP 45(calculated): Endposition/Endposition
;FOLD Homerun.ap_point Name GHP45;%{PE}%MKUKATPUSER
TRIGGER WHEN DISTANCE=0 DELAY=0 DO CUR_POS=45
;ENDFOLD
;FOLD SLIN GHP45 Vel=0.1 m/s CPDAT100 Tool[1]:Magnetgreifer Base[1]:Rundtakttisch ;%{PE}
;FOLD Parameters ;%{h}
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=GHP45; Kuka.BlendingEnabled=False; Kuka.MoveDataName=CPDAT100; Kuka.VelocityPath=0.1; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SLIN
;ENDFOLD
SLIN XGHP45 WITH $VEL = SVEL_CP(0.1, , LCPDAT100), $TOOL = STOOL2(FGHP45), $BASE = SBASE(FGHP45.BASE_NO), $IPO_MODE = SIPO_MODE(FGHP45.IPO_FRAME), $LOAD = SLOAD(FGHP45.TOOL_NO), $ACC = SACC_CP(LCPDAT100), $ORI_TYPE = SORI_TYP(LCPDAT100), $APO = SAPO(LCPDAT100), $JERK = SJERK(LCPDAT100), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0)
;ENDFOLD
;-------------------------------------------------------------
Alles anzeigen