From 05024a73cc9fbe508581e3f5e780cdce4ffdbcd4 Mon Sep 17 00:00:00 2001 From: Eduard Gerlitz Date: Mon, 24 Mar 2025 13:53:57 +0100 Subject: [PATCH] 20250324_1 --- MPF/ROB/AUTO_ROB/CFG_DMUAUT.SPF | 24 ++-- MPF/ROB/AUTO_ROB/CFG_INL.SPF | 106 +++++++++++++++++- MPF/ROB/AUTO_ROB/CMD_GREIFER_OFFSET.MPF | 15 ++- MPF/ROB/AUTO_ROB/DMU_TAKE.MPF | 4 +- MPF/ROB/AUTO_ROB/INLAY_PUT.MPF | 6 +- MPF/ROB/AUTO_ROB/INLAY_TAKE.MPF | 6 +- MPF/ROB/AUTO_ROB/MAIN_ROB_KERNEL.MPF | 1 + MPF/ROB/AUTO_ROB/MAIN_ROB_LOOP2_LASER.MPF | 1 + MPF/ROB/CALIB/CALIBA_INLAY_BA.MPF | 81 +++++++++++++ MPF/ROB/CALIB/CALIBA_INLAY_C.MPF | 66 +++++++++++ MPF/ROB/CALIB/CALIBA_INLAY_XY.MPF | 56 +++++++++ ...LIB_INLAYORI_XY.MPF => CALIB_INLAY_XY.MPF} | 0 ..._GRIPPER.MPF => CALIB_INLAY_Z_GRIPPER.MPF} | 3 + .../CALIB_INLAY_BA.MPF} | 0 .../CALIB_INLAY_BA___1.MPF} | 0 .../CALIB_INLAY_C.MPF} | 0 16 files changed, 341 insertions(+), 28 deletions(-) create mode 100644 MPF/ROB/CALIB/CALIBA_INLAY_BA.MPF create mode 100644 MPF/ROB/CALIB/CALIBA_INLAY_C.MPF create mode 100644 MPF/ROB/CALIB/CALIBA_INLAY_XY.MPF rename MPF/ROB/CALIB/{CALIB_INLAYORI_XY.MPF => CALIB_INLAY_XY.MPF} (100%) rename MPF/ROB/CALIB/{CALIB_INLAYORI_Z_GRIPPER.MPF => CALIB_INLAY_Z_GRIPPER.MPF} (97%) rename MPF/ROB/CALIB/{CALIB_INLAYORI_BA.MPF => _ARCHIV/CALIB_INLAY_BA.MPF} (100%) rename MPF/ROB/CALIB/{CALIB_INLAYORI_BA___1.MPF => _ARCHIV/CALIB_INLAY_BA___1.MPF} (100%) rename MPF/ROB/CALIB/{CALIB_INLAYORI_C.MPF => _ARCHIV/CALIB_INLAY_C.MPF} (100%) diff --git a/MPF/ROB/AUTO_ROB/CFG_DMUAUT.SPF b/MPF/ROB/AUTO_ROB/CFG_DMUAUT.SPF index 9d847fc..3b372aa 100644 --- a/MPF/ROB/AUTO_ROB/CFG_DMUAUT.SPF +++ b/MPF/ROB/AUTO_ROB/CFG_DMUAUT.SPF @@ -6,19 +6,19 @@ INL_X_OFFSET = 120 INL_Y_NUM = 9 INL_Y_OFFSET = 125 ; --------------------------------------------------- -WPR_X = 22.4 -WPR_Y = 18 -WPR_Z = 29.4 -WPF_X = 22.4 -WPF_Y = 18 -WPF_Z = 29.4 -WP_CLP_OFFSET_X = 2 -WP_GRP_OFFSET_Z = 13.5 +WPR_X = 80 +WPR_Y = 30 +WPR_Z = 75 +WPF_X = 0 +WPF_Y = 3 +WPF_Z = -5 +WP_CLP_OFFSET_X = 0 +WP_GRP_OFFSET_Z = 10 ; --------------------------------------------------- -CLP_BACKENWEITE = 35 -CLP_BACKENHOHE = 32 -CLP_SPANNHOHE = 6 -CLP_AUFLAGETIEFE = 5.6 +CLP_BACKENWEITE = 80 +CLP_BACKENHOHE = 47 +CLP_SPANNHOHE = 3 +CLP_AUFLAGETIEFE = 3.5 MESSPOS_X = 0 MESSPOS_Y = 0 MESSPOS_Z = 0 diff --git a/MPF/ROB/AUTO_ROB/CFG_INL.SPF b/MPF/ROB/AUTO_ROB/CFG_INL.SPF index 21b617e..1d12f27 100644 --- a/MPF/ROB/AUTO_ROB/CFG_INL.SPF +++ b/MPF/ROB/AUTO_ROB/CFG_INL.SPF @@ -1,5 +1,5 @@ ; CFG FILE FOR DMU50 AUTOMATION -; GENERATED: 250318_185415 +; GENERATED: 250319_074711 ; --------------------------------------------------- WP_X[0]=0.0 WP_Y[0]=0.0 @@ -7,6 +7,108 @@ WP_X[1]=120.0 WP_Y[1]=0.0 WP_X[2]=240.0 WP_Y[2]=0.0 -WP_NUM=3 +WP_X[3]=360.0 +WP_Y[3]=0.0 +WP_X[4]=480.0 +WP_Y[4]=0.0 +WP_X[5]=600.0 +WP_Y[5]=0.0 +WP_X[6]=0.0 +WP_Y[6]=125.0 +WP_X[7]=120.0 +WP_Y[7]=125.0 +WP_X[8]=240.0 +WP_Y[8]=125.0 +WP_X[9]=360.0 +WP_Y[9]=125.0 +WP_X[10]=480.0 +WP_Y[10]=125.0 +WP_X[11]=600.0 +WP_Y[11]=125.0 +WP_X[12]=0.0 +WP_Y[12]=250.0 +WP_X[13]=120.0 +WP_Y[13]=250.0 +WP_X[14]=240.0 +WP_Y[14]=250.0 +WP_X[15]=360.0 +WP_Y[15]=250.0 +WP_X[16]=480.0 +WP_Y[16]=250.0 +WP_X[17]=600.0 +WP_Y[17]=250.0 +WP_X[18]=0.0 +WP_Y[18]=375.0 +WP_X[19]=120.0 +WP_Y[19]=375.0 +WP_X[20]=240.0 +WP_Y[20]=375.0 +WP_X[21]=360.0 +WP_Y[21]=375.0 +WP_X[22]=480.0 +WP_Y[22]=375.0 +WP_X[23]=600.0 +WP_Y[23]=375.0 +WP_X[24]=0.0 +WP_Y[24]=500.0 +WP_X[25]=120.0 +WP_Y[25]=500.0 +WP_X[26]=240.0 +WP_Y[26]=500.0 +WP_X[27]=360.0 +WP_Y[27]=500.0 +WP_X[28]=480.0 +WP_Y[28]=500.0 +WP_X[29]=600.0 +WP_Y[29]=500.0 +WP_X[30]=0.0 +WP_Y[30]=625.0 +WP_X[31]=120.0 +WP_Y[31]=625.0 +WP_X[32]=240.0 +WP_Y[32]=625.0 +WP_X[33]=360.0 +WP_Y[33]=625.0 +WP_X[34]=480.0 +WP_Y[34]=625.0 +WP_X[35]=600.0 +WP_Y[35]=625.0 +WP_X[36]=0.0 +WP_Y[36]=750.0 +WP_X[37]=120.0 +WP_Y[37]=750.0 +WP_X[38]=240.0 +WP_Y[38]=750.0 +WP_X[39]=360.0 +WP_Y[39]=750.0 +WP_X[40]=480.0 +WP_Y[40]=750.0 +WP_X[41]=600.0 +WP_Y[41]=750.0 +WP_X[42]=0.0 +WP_Y[42]=875.0 +WP_X[43]=120.0 +WP_Y[43]=875.0 +WP_X[44]=240.0 +WP_Y[44]=875.0 +WP_X[45]=360.0 +WP_Y[45]=875.0 +WP_X[46]=480.0 +WP_Y[46]=875.0 +WP_X[47]=600.0 +WP_Y[47]=875.0 +WP_X[48]=0.0 +WP_Y[48]=1000.0 +WP_X[49]=120.0 +WP_Y[49]=1000.0 +WP_X[50]=240.0 +WP_Y[50]=1000.0 +WP_X[51]=360.0 +WP_Y[51]=1000.0 +WP_X[52]=480.0 +WP_Y[52]=1000.0 +WP_X[53]=600.0 +WP_Y[53]=1000.0 +WP_NUM=54 ; --------------------------------------------------- M17 diff --git a/MPF/ROB/AUTO_ROB/CMD_GREIFER_OFFSET.MPF b/MPF/ROB/AUTO_ROB/CMD_GREIFER_OFFSET.MPF index e73d94e..0904e6d 100644 --- a/MPF/ROB/AUTO_ROB/CMD_GREIFER_OFFSET.MPF +++ b/MPF/ROB/AUTO_ROB/CMD_GREIFER_OFFSET.MPF @@ -1,16 +1,19 @@ IF (($A_IN[1]==0) AND ($A_IN[2]==0) AND ($A_IN[3]==1) AND ($A_IN[4]==1)) +STOPRE R70=1 ENDIF +STOPRE IF R70==1 ;WENN BEARBEITET -R71=15 -R72=15 -R73=0.5 +R71=WPF_X +R72=WPF_Y +R73=WPF_Z ELSE ;WENN UNBEARBEITET -R71=10 -R72=10 -R73=0.5 +R71=0 +R72=0 +R73=0 ENDIF +STOPRE M17 diff --git a/MPF/ROB/AUTO_ROB/DMU_TAKE.MPF b/MPF/ROB/AUTO_ROB/DMU_TAKE.MPF index dc9d24a..49b5433 100644 --- a/MPF/ROB/AUTO_ROB/DMU_TAKE.MPF +++ b/MPF/ROB/AUTO_ROB/DMU_TAKE.MPF @@ -12,7 +12,7 @@ G1 X0.000 Y-1650.000 Z1100.000 A0.000 B0.000 C-90.000 ; FAHRE UBER SCHRAUBSTOCK G55 -G90 G1 X=WP_CLP_OFFSET_X Y0 Z=CLP_BACKENHOHE+WPR_Z-WP_GRP_OFFSET_Z+30 A0 B0 C0 G94 +G90 G1 X=WP_CLP_OFFSET_X+R71 Y=0+R72 Z=CLP_BACKENHOHE+WPR_Z-WP_GRP_OFFSET_Z+R73+30 A0 B0 C0 G94 ; FAHRE INKR RUNTER F1000 @@ -23,7 +23,7 @@ CMD_SPANNER_AUF ; GREIFER ZU M52 -G4 F4 +G4 F2 ; FAHRE INKR HOCH G91 G1 Z30.0 diff --git a/MPF/ROB/AUTO_ROB/INLAY_PUT.MPF b/MPF/ROB/AUTO_ROB/INLAY_PUT.MPF index fa7fd27..bd0d805 100644 --- a/MPF/ROB/AUTO_ROB/INLAY_PUT.MPF +++ b/MPF/ROB/AUTO_ROB/INLAY_PUT.MPF @@ -12,18 +12,18 @@ TRAORI ; FAHRE UBER TEIL G54 F17000 -G90 G1 CP X=R51+WPR_X+R71 Y=R52+WPR_Y+R72 Z=WPR_Z-WP_GRP_OFFSET_Z+60+R73+R83 A0 B0 C0 G94 +G90 G1 CP X=R51+(WPR_X/2)+R71+10 Y=R52+(WPR_Y/2)+R72+10 Z=WPR_Z-WP_GRP_OFFSET_Z+(WPR_Z+20)+R73+R83+0.5 A0 B0 C0 G94 ; FAHRE INKR RUNTER F1000 -G91 G1 CP Z=-60 +G91 G1 CP Z=-(WPR_Z+20) ; GREIFER AUF M51 G4 F2 ; FAHRE INKR HOCH -G91 G1 Z60 +G91 G1 Z=(WPR_Z+20) G90 ; HOME diff --git a/MPF/ROB/AUTO_ROB/INLAY_TAKE.MPF b/MPF/ROB/AUTO_ROB/INLAY_TAKE.MPF index 7ef0979..6c60e24 100644 --- a/MPF/ROB/AUTO_ROB/INLAY_TAKE.MPF +++ b/MPF/ROB/AUTO_ROB/INLAY_TAKE.MPF @@ -15,18 +15,18 @@ TRAORI ; FAHRE UBER TEIL G54 F17000 -G90 G1 CP X=R51+WPR_X Y=R52+WPR_Y Z=WPR_Z-WP_GRP_OFFSET_Z+60+R83 A0 B0 C0 G94 +G90 G1 CP X=R51+(WPR_X/2) Y=R52+(WPR_Y/2) Z=WPR_Z-WP_GRP_OFFSET_Z+(WPR_Z+20)+R83 A0 B0 C0 G94 ; FAHRE INKR RUNTER F1000 -G91 G1 CP Z-60 +G91 G1 CP Z=-(WPR_Z+20) ; GREIFER ZU M52 G4 F3 ; FAHRE INKR HOCH -G91 G1 X5 Y5 Z60 +G91 G1 X5 Y5 Z=WPR_Z+20 G90 ; HOME diff --git a/MPF/ROB/AUTO_ROB/MAIN_ROB_KERNEL.MPF b/MPF/ROB/AUTO_ROB/MAIN_ROB_KERNEL.MPF index 556a550..06cdb74 100644 --- a/MPF/ROB/AUTO_ROB/MAIN_ROB_KERNEL.MPF +++ b/MPF/ROB/AUTO_ROB/MAIN_ROB_KERNEL.MPF @@ -6,6 +6,7 @@ EXTERN COM_WAIT(INT, INT, INT, INT) CMD_TUR_ZU ; +++ START - REINIGUNG +CMD_SPANNER_AUF COM_SENT(0,1,0,0) ; ROHTEIL AUS INLAY HOLEN - HOME POSITION FAHREN diff --git a/MPF/ROB/AUTO_ROB/MAIN_ROB_LOOP2_LASER.MPF b/MPF/ROB/AUTO_ROB/MAIN_ROB_LOOP2_LASER.MPF index 72624ab..bcadef0 100644 --- a/MPF/ROB/AUTO_ROB/MAIN_ROB_LOOP2_LASER.MPF +++ b/MPF/ROB/AUTO_ROB/MAIN_ROB_LOOP2_LASER.MPF @@ -18,6 +18,7 @@ R51=WP_X[IDX] R52=WP_Y[IDX] CHECKLAS_ISTHEREP_OFFZ + IF R90==1 IF R99==69 diff --git a/MPF/ROB/CALIB/CALIBA_INLAY_BA.MPF b/MPF/ROB/CALIB/CALIBA_INLAY_BA.MPF new file mode 100644 index 0000000..14b092e --- /dev/null +++ b/MPF/ROB/CALIB/CALIBA_INLAY_BA.MPF @@ -0,0 +1,81 @@ +;-> AUTOWRITE IN G54:A,B IF NOT ZERO +;>>>>> G54:A = R18 <<<<< +;>>>>> G54:B = R19 <<<<< + +EXTERN SETKOS(INT) + +DEFINE TOL_ANGLE AS 2 + +DEFINE XSTART AS 25 +DEFINE YSTART AS 25 +DEFINE ZSTART AS 250 +DEFINE XDIFF AS 600 +DEFINE YDIFF AS 1000 +DEFINE FEED_FAST AS 13000.0 + +R18=0 +R19=0 +;$P_UIFR[1,X,RT] = 0 +;$P_UIFR[1,Y,RT] = 0 +;MSG(<<($P_UIFR[1,Y,RT]==0)) +STOPRE +;M0 + +SETKOS(0) +SOFT +TRAORI +G54 + + +;P1 +G90 G1 A0 B0 C10 F500 +G90 G1 X=XSTART Y=YSTART Z=ZSTART F=FEED_FAST +G4 F2 +CYC_MESSZ1 +R10=-R9 +STOPRE +M01 + +;P2 +G90 G1 A0 B0 C10 F500 +G90 G1 X=XSTART Y=YSTART+YDIFF Z=ZSTART F=FEED_FAST +G4 F2 +CYC_MESSZ1 +R11=-R9 +STOPRE +M01 + +;P3 +G90 G1 A0 B0 C10 F500 +G90 G1 X=XSTART+XDIFF Y=YSTART+YDIFF Z=ZSTART F=FEED_FAST +G4 F2 +CYC_MESSZ1 +R12=-R9 +STOPRE +M01 + + +; BERECHNE +R18=ATAN((R11-R10)/XDIFF) +R19= - ATAN((R12-R11)/YDIFF) +STOPRE + + +; SETZE +IF ($P_UIFR[1,X,RT] == 0) AND ($P_UIFR[1,Y,RT] == 0) + IF (ABS(R18) < TOL_ANGLE) AND (ABS(R19) < TOL_ANGLE) + $P_UIFR[1,X,RT] = R18; + $P_UIFR[1,X,RT] + $P_UIFR[1,Y,RT] = R19; + $P_UIFR[1,Y,RT] + STOPRE + ELSE + MSG("AUSSERHALB TOLERANZ, WERTE A, B: "< AUTOWRITE IN G54:C IF NOT ZERO +;>>>>> G54:C = R19 <<<<< + +EXTERN SETKOS(INT) + +DEFINE TOL_ANGLE AS 4 + +DEFINE XSTART AS -100 +DEFINE YSTART AS 15 +DEFINE ZSTART AS 250 +DEFINE YDIFF AS 1000 +DEFINE FEED_FAST AS 13000.0 +DEFINE FEED_MESS AS 500.0 + +H1=ZSTART+OFFSET_LASER_Z-2 +R19=0 + +SETKOS(0) +SOFT +TRAORI +G54 + + +;P1 +G90 G1 A0 B0 C10 F500 +G90 G1 X=XSTART Y=YSTART Z=ZSTART F=FEED_FAST +G91 G1 X=150 F=FEED_MESS MEAS=1 +STOPRE +R10=$AA_MW[X] +STOPRE +M01 + + +;P2 +G90 G1 X=XSTART Y=YSTART+YDIFF Z=ZSTART F=FEED_FAST +G91 G1 X=150 F=FEED_MESS MEAS=1 +STOPRE +R11=$AA_MW[X] +STOPRE + + + +; BERECHNE +R12=R11-R10 +R19= - ATAN(R12/YDIFF) +STOPRE + + +; SETZE +IF ($P_UIFR[1,Z,RT] == 0) + IF (ABS(R19) < TOL_ANGLE) + $P_UIFR[1,Z,RT] = R19; + $P_UIFR[1,Z,RT] + STOPRE + ELSE + MSG("AUSSERHALB TOLERANZ, WERT C: " < AUTOWRITE IN G54:X,Y IF NOT ZERO +;>>>>> G54:X = R18 <<<<< +;>>>>> G54:Y = R19 <<<<< + +EXTERN SETKOS(INT) + +DEFINE TOL_MOVE AS 10 + +DEFINE XSTART AS 25 +DEFINE YSTART AS 25 +DEFINE ZSTART AS 250 +DEFINE FEED_FAST AS 13000.0 +DEFINE FEED_MESS AS 300.0 + +H1=ZSTART+OFFSET_LASER_Z-1.5 +R18=0 +R19=0 + +SETKOS(0) +SOFT +TRAORI +G54 + +;X +G90 G1 A0 B0 C-3 F500 +G90 G1 X=XSTART Y=YSTART Z=ZSTART F=FEED_FAST +G91 G1 X=-150 F=FEED_MESS MEAS=1 +STOPRE +R18=$AA_MW[X] +STOPRE +M01 + +;Y +G90 G1 A0 B0 C-3 F500 +G90 G1 X=XSTART Y=YSTART Z=ZSTART F=FEED_FAST +G91 G1 Y=-150 F=FEED_MESS MEAS=1 +STOPRE +R19=$AA_MW[Y] +STOPRE +M01 + + +; SETZE +IF (ABS(R18) < TOL_MOVE) AND (ABS(R19) < TOL_MOVE) + $P_UIFR[1,X,TR] = R18 + $P_UIFR[1,X,TR] + $P_UIFR[1,Y,TR] = R19 + $P_UIFR[1,Y,TR] + STOPRE +ELSE + MSG("AUSSERHALB TOLERANZ, WERTE X, Y: "<