更新KUKA程序

This commit is contained in:
zhusenlin
2026-02-06 19:32:09 +08:00
parent fdd197f9cd
commit bdc205a668
77 changed files with 10688 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
&ACCESS RVO
&REL 1
&COMMENT BrkTst-main task for unconfigured brake test axes
&PARAM EDITMASK = *
&PARAM DISKPATH = KRC:\R1\TP\BrakeTest
DEFDAT BrakeTestAxes PUBLIC
;FOLD EXTERNAL DECLARATIONS;%{PE}%MKUKATPBASIS,%CEXT,%VCOMMON,%P
;FOLD BASISTECH EXT;%{PE}%MKUKATPBASIS,%CEXT,%VEXT,%P
DECL INT SUCCESS
;ENDFOLD (BASISTECH EXT)
;FOLD USER EXT;%{E}%MKUKATPUSER,%CEXT,%VEXT,%P
;ENDFOLD (USER EXT)
;ENDFOLD (EXTERNAL DECLERATIONS)
ENDDAT

View File

@@ -0,0 +1,30 @@
&ACCESS RVO
&REL 1
&COMMENT BrkTst-main task for unconfigured brake test axes
&PARAM EDITMASK = *
&PARAM DISKPATH = KRC:\R1\TP\BrakeTest
DEF BRAKETESTAXES(AxesBitMask: IN)
;BRAKETESTAXES(AxesBitMask: IN)
;examples for parameter AxesBitMask
;no parameter or -1 means all configured axes
;'b00000000000011' means axis 1 and 2
;'b10000000000001' means axis 1 and 12
;'b11000000000000' means axis 11 and 12
;FOLD {H}
INT AxesBitMask
ON_ERROR_PROCEED
AxesBitMask=AxesBitMask*1
IF ($ERR.Number<>0) THEN
AxesBitMask=-1
ERR_CLEAR($ERR)
ELSE
ERR_RAISE($ERR)
ENDIF
gBraketestForce=true
BRAKETESTREQ(AxesBitMask)
gBraketestForce=false
;ENDFOLD
END

View File

@@ -0,0 +1,17 @@
&ACCESS RV
&REL 1
&COMMENT path after test
&PARAM EDITMASK = *
&PARAM TEMPLATE = C:\KRC\Roboter\Template\vorgabe
DEFDAT BrakeTestBack
;FOLD EXTERNAL DECLARATIONS;%{PE}%MKUKATPBASIS,%CEXT,%VCOMMON,%P
;FOLD BASISTECH EXT;%{PE}%MKUKATPBASIS,%CEXT,%VEXT,%P
EXT BAS (BAS_COMMAND :IN,REAL :IN )
DECL INT SUCCESS
;ENDFOLD (BASISTECH EXT)
;FOLD USER EXT;%{E}%MKUKATPUSER,%CEXT,%VEXT,%P
;Make here your modifications
;ENDFOLD (USER EXT)
;ENDFOLD (EXTERNAL DECLERATIONS)
ENDDAT

View File

@@ -0,0 +1,19 @@
&ACCESS RV
&REL 1
&COMMENT path after test
&PARAM EDITMASK = *
&PARAM TEMPLATE = C:\KRC\Roboter\Template\vorgabe
DEF BrakeTestBack( )
;FOLD INI
;FOLD BASISTECH INI
GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
INTERRUPT ON 3
;ENDFOLD (BASISTECH INI)
;FOLD USER INI
;Make your modifications here
;ENDFOLD (USER INI)
;ENDFOLD (INI)
;Teach here the motion to the position after the brake test.
END

View File

@@ -0,0 +1,19 @@
&ACCESS RV
&REL 1
&COMMENT parkposition
&PARAM EDITMASK = *
&PARAM TEMPLATE = C:\KRC\Roboter\Template\vorgabe
&PARAM DISKPATH = KRC:\R1\TP\BrakeTest
DEFDAT BRAKETESTPARK PUBLIC
;FOLD EXTERNAL DECLARATIONS;%{PE}%MKUKATPBASIS,%CEXT,%VCOMMON,%P
;FOLD BASISTECH EXT;%{PE}%MKUKATPBASIS,%CEXT,%VEXT,%P
EXT BAS (BAS_COMMAND :IN,REAL :IN )
DECL INT SUCCESS
;ENDFOLD (BASISTECH EXT)
;FOLD USER EXT;%{E}%MKUKATPUSER,%CEXT,%VEXT,%P
;Make here your modifications
;ENDFOLD (USER EXT)
;ENDFOLD (EXTERNAL DECLERATIONS)
DECL E6AXIS XParkPosition={A1 999.000,A2 999.000,A3 999.000,A4 999.000,A5 999.000,A6 999.000,E1 999.000,E2 999.000,E3 999.000,E4 999.000,E5 999.000,E6 999.000}
DECL FDAT FParkPosition={TOOL_NO 1,BASE_NO 0,IPO_FRAME #BASE,POINT2[] " "}
ENDDAT

View File

@@ -0,0 +1,35 @@
&ACCESS RV
&REL 1
&COMMENT parkposition
&PARAM EDITMASK = *
&PARAM TEMPLATE = C:\KRC\Roboter\Template\vorgabe
&PARAM DISKPATH = KRC:\R1\TP\BrakeTest
DEF BrakeTestPark( )
;FOLD INI
;FOLD BASISTECH INI
GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
INTERRUPT ON 3
;ENDFOLD (BASISTECH INI)
;FOLD USER INI
;Make your modifications here
;ENDFOLD (USER INI)
;ENDFOLD (INI)
;Teach here the motion to the parking position. The parking position is needed when the robot has failed the brake test.
;FOLD {h}
WHILE ParkPositionInNotValid()
MsgDialog(SUCCESS,"ParkPositionIsNotValid",brakeTestMdbName[],,,,,,,"Ok")
HALT
ENDWHILE
;ENDFOLD
;FOLD SPTP ParkPosition Vel=10 % DEFAULT Tool[1] Base[0] ;%{PE}
;FOLD Parameters ;%{h}
;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=ParkPosition; Kuka.BlendingEnabled=False; Kuka.MoveDataPtpName=DEFAULT; Kuka.VelocityPtp=10; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP
;ENDFOLD
SPTP XParkPosition WITH $VEL_AXIS[1] = SVEL_JOINT(10.0), $TOOL = STOOL2(FParkPosition), $BASE = SBASE(FParkPosition.BASE_NO), $IPO_MODE = SIPO_MODE(FParkPosition.IPO_FRAME), $LOAD = SLOAD(FParkPosition.TOOL_NO), $ACC_AXIS[1] = SACC_JOINT(PDEFAULT), $APO = SAPO_PTP(PDEFAULT), $GEAR_JERK[1] = SGEAR_JERK(PDEFAULT), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0)
;ENDFOLD
END
;FOLD {h}
Global DEFFCT BOOL ParkPositionInNotValid()
RETURN ((XParkPosition.A1 == 999) AND (XParkPosition.A2 == 999) AND (XParkPosition.A3 == 999) AND (XParkPosition.A4 == 999) AND (XParkPosition.A5 == 999) AND (XParkPosition.A6 == 999) AND (XParkPosition.E1 == 999) AND (XParkPosition.E2 == 999) AND (XParkPosition.E3 == 999) AND (XParkPosition.E4 == 999) AND (XParkPosition.E5 == 999) AND (XParkPosition.E6 == 999))
ENDFCT
;ENDFOLD

View File

@@ -0,0 +1,24 @@
&ACCESS RVO
&REL 1
&COMMENT BrkTst-main task
&PARAM EDITMASK = *
&PARAM DISKPATH = TP/BrakeTest
DEFDAT BRAKETESTREQ PUBLIC
;FOLD EXTERNAL DECLARATIONS;%{PE}%MKUKATPBASIS,%CEXT,%VCOMMON,%P
;FOLD BASISTECH EXT;%{PE}%MKUKATPBASIS,%CEXT,%VEXT,%P
DECL INT SUCCESS
;ENDFOLD (BASISTECH EXT)
;FOLD USER EXT;%{E}%MKUKATPUSER,%CEXT,%VEXT,%P
;ENDFOLD (USER EXT)
;ENDFOLD (EXTERNAL DECLERATIONS)
DECL BRAKE_STATE RobotBrkState
GLOBAL CHAR brakeTestMdbName[30]
brakeTestMdbName[]="BrkTst"
GLOBAL INT MaxCountResultUnknown = 10
GLOBAL BOOL gBraketestForce=false
DECL INT CountResultUnknown = 0
ENDDAT

View File

@@ -0,0 +1,122 @@
&ACCESS RVO
&REL 1
&COMMENT BrkTst-main task
&PARAM EDITMASK = *
&PARAM DISKPATH = TP/BrakeTest
DEF BRAKETESTREQ(AxesBitMask: IN)
;BRAKETESTREQ
;fold {h}
INT Idx, Key, AxesBitMask
BOOL Test_Ende
BOOL BraketestForce
BraketestForce=false
IF gBraketestForce THEN
BraketestForce=true
ENDIF
gBraketestForce=false
ON_ERROR_PROCEED
AxesBitMask=AxesBitMask*1
IF ($ERR.Number<>0) THEN
AxesBitMask=-1
ERR_CLEAR($ERR)
ELSE
ERR_RAISE($ERR)
ENDIF
IF Varstate("$pro_ip.si01.name[]")==#declared THEN ;program selected
MsgDialog(Key, "DlgPeformManuallyBrakeTest", brakeTestMdbName[], , "Cancel", "GoToPark", "BTman",,,,,FALSE)
SWITCH Key ;dialogue answer
CASE 5
BraketestForce=TRUE
CASE 6
BrakeTestStart()
BraketestError()
CASE 7
Return
DEFAULT
Return
ENDSWITCH
ELSE ;cyclic call
IF NOT($BRAKETEST_REQ_INT) AND NOT(BraketestForce) THEN
Return
ENDIF
ENDIF
Test_Ende=false
RobotBrkState=#BT_UNTESTED
BrakeTestStart()
BAS (#INITMOV,0 )
repeat
PTP $AXIS_ACT
RobotBrkState = Test_BRAKE(AxesBitMask, BraketestForce)
SWITCH RobotBrkState
CASE #BT_WARNING,#BT_EXCESSIVE, #BT_MAXUNKNOWN, #BT_READY
CountResultUnknown = 0
Test_Ende = TRUE
CASE #BT_ERROR
BraketestError()
CASE #BT_UNKNOWN
Test_Ende = BraketestUnknown()
CASE #BT_UNTESTED
Test_Ende = TRUE
ENDSWITCH
until Test_Ende
BrakeTestBack()
END
DEF BraketestError()
INT Key
Key = 0
MsgDialog(Key, "BT_BRAKE_ERROR", brakeTestMdbName[]," ", "GoToPark",,,,,,,FALSE)
BrakeTestPark()
WAIT FOR TRUE
repeat
MsgNotify("ParkPositionReached", brakeTestMdbName[])
halt
until false
END
DEFFCT BOOL BraketestUnknown()
INT Key
Key=0
CountResultUnknown = CountResultUnknown + 1
IF (CountResultUnknown >= MaxCountResultUnknown) THEN
MsgDialog(Key, "BT_BRAKE_UNKNOWN", brakeTestMdbName[]," ", "TryAgain", "Cancel",,,,,,FALSE)
IF Key==7 then
Return FALSE
ELSE
Return TRUE
ENDIF
ELSE
Return TRUE
ENDIF
ENDFCT
;endfold

View File

@@ -0,0 +1,17 @@
&ACCESS RV
&REL 1
&COMMENT path to test
&PARAM EDITMASK = *
&PARAM TEMPLATE = C:\KRC\Roboter\Template\vorgabe
DEFDAT BrakeTestStart
;FOLD EXTERNAL DECLARATIONS;%{PE}%MKUKATPBASIS,%CEXT,%VCOMMON,%P
;FOLD BASISTECH EXT;%{PE}%MKUKATPBASIS,%CEXT,%VEXT,%P
EXT BAS (BAS_COMMAND :IN,REAL :IN )
DECL INT SUCCESS
;ENDFOLD (BASISTECH EXT)
;FOLD USER EXT;%{E}%MKUKATPUSER,%CEXT,%VEXT,%P
;Make here your modifications
;ENDFOLD (USER EXT)
;ENDFOLD (EXTERNAL DECLERATIONS)
ENDDAT

View File

@@ -0,0 +1,19 @@
&ACCESS RV
&REL 1
&COMMENT path to test
&PARAM EDITMASK = *
&PARAM TEMPLATE = C:\KRC\Roboter\Template\vorgabe
DEF BrakeTestStart( )
;FOLD INI
;FOLD BASISTECH INI
GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
INTERRUPT ON 3
;ENDFOLD (BASISTECH INI)
;FOLD USER INI
;Make your modifications here
;ENDFOLD (USER INI)
;ENDFOLD (INI)
;Teach here the motion to the start position of the brake test.
END