From e1902ef8357fecd4dd852f11716221cd269c1aa0 Mon Sep 17 00:00:00 2001 From: Eduard Gerlitz Date: Mon, 24 Mar 2025 13:36:24 +0100 Subject: [PATCH] Initial commit --- CYCLE/CYC_MESSZ1.SPF | 37 + CYCLE/HOME_BELADEN.SPF | 14 + CYCLE/HOME_DMU.SPF | 13 + CYCLE/SETKOS.MPF | 36 + .../20250317_133409_CYC_MESSZ_X - Kopie.SPF | 26 + CYCLE/_ARCHIV/20250318_090334_CYC_MESSZ_X.SPF | 23 + .../20250318_091601_CYC_MESSZ1 - Kopie.SPF | 37 + CYCLE/_ARCHIV/CYC_INIT.SPF | 8 + GUD/GUD5.DEF | 43 + .../TEST_ROB_ZELLE.WPD/4E_4148_2_OP1.MPF | 1057 +++++++++++++++++ .../TEST_ROB_ZELLE.WPD/4E_4148_2_OP2.MPF | 228 ++++ MPF/DMU50/TEST_ROB_ZELLE.WPD/CHECK_IO.SPF | 8 + .../TEST_ROB_ZELLE.WPD/COM_HANDSH_DMU.MPF | 22 + MPF/DMU50/TEST_ROB_ZELLE.WPD/COM_RESET.MPF | 9 + MPF/DMU50/TEST_ROB_ZELLE.WPD/COM_SENT.MPF | 12 + MPF/DMU50/TEST_ROB_ZELLE.WPD/COM_WAIT.MPF | 8 + MPF/DMU50/TEST_ROB_ZELLE.WPD/MAIN.MPF | 120 ++ MPF/DMU50/TEST_ROB_ZELLE.WPD/TEST_ZELLE.SPF | 29 + MPF/ROB/AUTO_ROB/CFG_DMUAUT.SPF | 38 + MPF/ROB/AUTO_ROB/CFG_INL.SPF | 12 + MPF/ROB/AUTO_ROB/CHECKLAS_ISTHEREP.MPF | 32 + MPF/ROB/AUTO_ROB/CHECKLAS_ISTHEREP_OFFZ.MPF | 42 + MPF/ROB/AUTO_ROB/CMD_GREIFER_OFFSET.MPF | 16 + MPF/ROB/AUTO_ROB/CMD_SPANNER_AUF.MPF | 5 + MPF/ROB/AUTO_ROB/CMD_SPANNER_ZU.MPF | 5 + MPF/ROB/AUTO_ROB/CMD_TUR_AUF.MPF | 13 + MPF/ROB/AUTO_ROB/CMD_TUR_ZU.MPF | 13 + MPF/ROB/AUTO_ROB/COM_HANDSH_ROB.MPF | 19 + MPF/ROB/AUTO_ROB/COM_RESET.MPF | 9 + MPF/ROB/AUTO_ROB/COM_RESET_R.MPF | 18 + MPF/ROB/AUTO_ROB/COM_SENT.MPF | 25 + MPF/ROB/AUTO_ROB/COM_WAIT.MPF | 9 + MPF/ROB/AUTO_ROB/DMU_DRY.MPF | 29 + MPF/ROB/AUTO_ROB/DMU_PUT.MPF | 35 + MPF/ROB/AUTO_ROB/DMU_TAKE.MPF | 50 + MPF/ROB/AUTO_ROB/INLAY_PUT.MPF | 33 + MPF/ROB/AUTO_ROB/INLAY_TAKE.MPF | 36 + MPF/ROB/AUTO_ROB/MAIN_ROB_KERNEL.MPF | 53 + MPF/ROB/AUTO_ROB/MAIN_ROB_KERNEL_DEBUG.MPF | 33 + MPF/ROB/AUTO_ROB/MAIN_ROB_LOOP.MPF | 33 + MPF/ROB/AUTO_ROB/MAIN_ROB_LOOP2.MPF | 33 + MPF/ROB/AUTO_ROB/MAIN_ROB_LOOP2_LASER.MPF | 37 + MPF/ROB/AUTO_ROB/SETKOS.MPF | 36 + MPF/ROB/AUTO_ROB/WAIT_SENSOR.MPF | 7 + MPF/ROB/AUTO_ROB/_REF_G54.MPF | 13 + MPF/ROB/AUTO_ROB/_REF_G55.MPF | 13 + MPF/ROB/AUTO_ROB/_TEST_COM_IN.MPF | 7 + MPF/ROB/AUTO_ROB/_TEST_COM_OUT.MPF | 6 + MPF/ROB/AUTO_ROB/_TEST_SEMSOR.MPF | 7 + MPF/ROB/CALIB/CALIB_INLAYORI_BA.MPF | 54 + MPF/ROB/CALIB/CALIB_INLAYORI_BA___1.MPF | 86 ++ MPF/ROB/CALIB/CALIB_INLAYORI_C.MPF | 40 + MPF/ROB/CALIB/CALIB_INLAYORI_XY.MPF | 45 + MPF/ROB/CALIB/CALIB_INLAYORI_Z_GRIPPER.MPF | 25 + MPF/ROB/CALIB/CALIB_LASER_A.MPF | 38 + MPF/ROB/CALIB/CALIB_LASER_B.MPF | 40 + MPF/ROB/CALIB/CALIB_LASER_XY.MPF | 68 ++ MPF/ROB/CALIB/CALIB_LASER_XY_VERIF.MPF | 35 + MPF/ROB/CALIB/CALIB_LASER_XY__REGR.MPF | 65 + MPF/ROB/CALIB/CALIB_LASER_Z.MPF | 34 + MPF/ROB/CALIB/CALIB_WP_C.MPF | 40 + MPF/ROB/CALIB/CALIB_WP_XYZ.MPF | 53 + MPF/ROB/CALIB/SETKOS.MPF | 36 + MPF/ROB/CALIB/SETKOS_GRIPPER.MPF | 6 + MPF/ROB/CALIB/SETKOS_LASER.MPF | 5 + 65 files changed, 3117 insertions(+) create mode 100644 CYCLE/CYC_MESSZ1.SPF create mode 100644 CYCLE/HOME_BELADEN.SPF create mode 100644 CYCLE/HOME_DMU.SPF create mode 100644 CYCLE/SETKOS.MPF create mode 100644 CYCLE/_ARCHIV/20250317_133409_CYC_MESSZ_X - Kopie.SPF create mode 100644 CYCLE/_ARCHIV/20250318_090334_CYC_MESSZ_X.SPF create mode 100644 CYCLE/_ARCHIV/20250318_091601_CYC_MESSZ1 - Kopie.SPF create mode 100644 CYCLE/_ARCHIV/CYC_INIT.SPF create mode 100644 GUD/GUD5.DEF create mode 100644 MPF/DMU50/TEST_ROB_ZELLE.WPD/4E_4148_2_OP1.MPF create mode 100644 MPF/DMU50/TEST_ROB_ZELLE.WPD/4E_4148_2_OP2.MPF create mode 100644 MPF/DMU50/TEST_ROB_ZELLE.WPD/CHECK_IO.SPF create mode 100644 MPF/DMU50/TEST_ROB_ZELLE.WPD/COM_HANDSH_DMU.MPF create mode 100644 MPF/DMU50/TEST_ROB_ZELLE.WPD/COM_RESET.MPF create mode 100644 MPF/DMU50/TEST_ROB_ZELLE.WPD/COM_SENT.MPF create mode 100644 MPF/DMU50/TEST_ROB_ZELLE.WPD/COM_WAIT.MPF create mode 100644 MPF/DMU50/TEST_ROB_ZELLE.WPD/MAIN.MPF create mode 100644 MPF/DMU50/TEST_ROB_ZELLE.WPD/TEST_ZELLE.SPF create mode 100644 MPF/ROB/AUTO_ROB/CFG_DMUAUT.SPF create mode 100644 MPF/ROB/AUTO_ROB/CFG_INL.SPF create mode 100644 MPF/ROB/AUTO_ROB/CHECKLAS_ISTHEREP.MPF create mode 100644 MPF/ROB/AUTO_ROB/CHECKLAS_ISTHEREP_OFFZ.MPF create mode 100644 MPF/ROB/AUTO_ROB/CMD_GREIFER_OFFSET.MPF create mode 100644 MPF/ROB/AUTO_ROB/CMD_SPANNER_AUF.MPF create mode 100644 MPF/ROB/AUTO_ROB/CMD_SPANNER_ZU.MPF create mode 100644 MPF/ROB/AUTO_ROB/CMD_TUR_AUF.MPF create mode 100644 MPF/ROB/AUTO_ROB/CMD_TUR_ZU.MPF create mode 100644 MPF/ROB/AUTO_ROB/COM_HANDSH_ROB.MPF create mode 100644 MPF/ROB/AUTO_ROB/COM_RESET.MPF create mode 100644 MPF/ROB/AUTO_ROB/COM_RESET_R.MPF create mode 100644 MPF/ROB/AUTO_ROB/COM_SENT.MPF create mode 100644 MPF/ROB/AUTO_ROB/COM_WAIT.MPF create mode 100644 MPF/ROB/AUTO_ROB/DMU_DRY.MPF create mode 100644 MPF/ROB/AUTO_ROB/DMU_PUT.MPF create mode 100644 MPF/ROB/AUTO_ROB/DMU_TAKE.MPF create mode 100644 MPF/ROB/AUTO_ROB/INLAY_PUT.MPF create mode 100644 MPF/ROB/AUTO_ROB/INLAY_TAKE.MPF create mode 100644 MPF/ROB/AUTO_ROB/MAIN_ROB_KERNEL.MPF create mode 100644 MPF/ROB/AUTO_ROB/MAIN_ROB_KERNEL_DEBUG.MPF create mode 100644 MPF/ROB/AUTO_ROB/MAIN_ROB_LOOP.MPF create mode 100644 MPF/ROB/AUTO_ROB/MAIN_ROB_LOOP2.MPF create mode 100644 MPF/ROB/AUTO_ROB/MAIN_ROB_LOOP2_LASER.MPF create mode 100644 MPF/ROB/AUTO_ROB/SETKOS.MPF create mode 100644 MPF/ROB/AUTO_ROB/WAIT_SENSOR.MPF create mode 100644 MPF/ROB/AUTO_ROB/_REF_G54.MPF create mode 100644 MPF/ROB/AUTO_ROB/_REF_G55.MPF create mode 100644 MPF/ROB/AUTO_ROB/_TEST_COM_IN.MPF create mode 100644 MPF/ROB/AUTO_ROB/_TEST_COM_OUT.MPF create mode 100644 MPF/ROB/AUTO_ROB/_TEST_SEMSOR.MPF create mode 100644 MPF/ROB/CALIB/CALIB_INLAYORI_BA.MPF create mode 100644 MPF/ROB/CALIB/CALIB_INLAYORI_BA___1.MPF create mode 100644 MPF/ROB/CALIB/CALIB_INLAYORI_C.MPF create mode 100644 MPF/ROB/CALIB/CALIB_INLAYORI_XY.MPF create mode 100644 MPF/ROB/CALIB/CALIB_INLAYORI_Z_GRIPPER.MPF create mode 100644 MPF/ROB/CALIB/CALIB_LASER_A.MPF create mode 100644 MPF/ROB/CALIB/CALIB_LASER_B.MPF create mode 100644 MPF/ROB/CALIB/CALIB_LASER_XY.MPF create mode 100644 MPF/ROB/CALIB/CALIB_LASER_XY_VERIF.MPF create mode 100644 MPF/ROB/CALIB/CALIB_LASER_XY__REGR.MPF create mode 100644 MPF/ROB/CALIB/CALIB_LASER_Z.MPF create mode 100644 MPF/ROB/CALIB/CALIB_WP_C.MPF create mode 100644 MPF/ROB/CALIB/CALIB_WP_XYZ.MPF create mode 100644 MPF/ROB/CALIB/SETKOS.MPF create mode 100644 MPF/ROB/CALIB/SETKOS_GRIPPER.MPF create mode 100644 MPF/ROB/CALIB/SETKOS_LASER.MPF diff --git a/CYCLE/CYC_MESSZ1.SPF b/CYCLE/CYC_MESSZ1.SPF new file mode 100644 index 0000000..2b0ddb3 --- /dev/null +++ b/CYCLE/CYC_MESSZ1.SPF @@ -0,0 +1,37 @@ +; BEFORE FIRST TIME USE: +; $MC_MM_NUM_R_PARAM = 300 ; Maximale Anzahl an R-Parameter +; $MC_START_AC_FIFO = 100 ; (FIFO-Speicher beginnt ab R100) +; $MC_NUM_AC_FIFO = 1 ; (FIFO-Speicher einrichten) +; $MC_LEN_AC_FIFO = 26 ; 20 VAR +; $MC_MODE_AC_FIFO = 1 ;( Summenbildung) +; --> PO + +; Konfiguration: +DEFINE INKR_NUM AS 20 +DEFINE X_MOVE AS 2;1.2 +DEFINE FEED_MESS AS 150;75 ;INKR_MESS=0.05/0.04*60 +DEFINE FEED_BACK AS 500 + + +$MC_MM_NUM_AC_MARKER=2 +$AC_MARKER[0]=0 +$AC_FIFO1[4]=0 +R0=0 +R9=0 + +; SETUP SYNCACT +ID=1 whenever $AC_MARKER[0] PO + +; Konfiguration: +DEFINE INKR_NUM AS 20 +DEFINE X_MOVE AS 1.2 +DEFINE FEED_MESS AS 75 ;INKR_MESS=0.05/0.04*60 +DEFINE FEED_BACK AS 500 ;INKR_MESS=0.05/0.04*60 + + +$MC_MM_NUM_AC_MARKER=2 +$AC_MARKER[0]=0 +$AC_FIFO1[4]=0 +R0=0 +R9=0 + +; SETUP SYNCACT +ID=1 whenever $AC_MARKER[0] TOL_OFFZ +MSG("BAUTEILHOEHE AUSSERHALB TOLERANZ: "<>>>> G54:A = +R8 <<<<< +;>>>>> G54:B = -R9 <<<<< + +EXTERN SETKOS(INT) + +DEFINE XSTART AS -50 +DEFINE YSTART AS 15 +DEFINE ZSTART AS 290 +DEFINE XDIFF AS 600 +DEFINE YDIFF AS 1000 +DEFINE FEED_FAST AS 13000.0 +DEFINE FEED_MESS AS 500.0 + +SETKOS(0) +TRAORI +G54 + +;P1 +G90 G1 A0 B0 C10 F500 +G90 G1 X=XSTART Y=YSTART Z=ZSTART F=FEED_FAST +G91 G1 Z=-150 F=FEED_MESS MEAS=1 +STOPRE +R0=$AA_MW[Z] +STOPRE +M01 + +;P2 +G90 G1 A0 B0 C10 F500 +G90 G1 X=XSTART Y=YSTART+YDIFF Z=ZSTART F=FEED_FAST +G91 G1 Z=-150 F=FEED_MESS MEAS=1 +STOPRE +R1=$AA_MW[Z] +STOPRE +M01 + +;P3 +G90 G1 A0 B0 C10 F500 +G90 G1 X=XSTART+XDIFF Y=YSTART+YDIFF Z=ZSTART F=FEED_FAST +G91 G1 Z=-150 F=FEED_MESS MEAS=1 +STOPRE +R2=$AA_MW[Z] +STOPRE +M01 + + +SETKOS(1) + + + +; BERECHNE +R8=ATAN((R1-R0)/XDIFF) +R9=ATAN((R2-R1)/YDIFF) + +M17 diff --git a/MPF/ROB/CALIB/CALIB_INLAYORI_BA___1.MPF b/MPF/ROB/CALIB/CALIB_INLAYORI_BA___1.MPF new file mode 100644 index 0000000..dea12f1 --- /dev/null +++ b/MPF/ROB/CALIB/CALIB_INLAYORI_BA___1.MPF @@ -0,0 +1,86 @@ +;>>>>> G54:A = +R8 <<<<< +;>>>>> G54:B = -R9 <<<<< + +EXTERN SETKOS(INT) + +DEFINE XSTART AS 20 +DEFINE YSTART AS 20 +DEFINE ZSTART AS 275 +DEFINE XDIFF AS 600 +DEFINE YDIFF AS 1000 +DEFINE FEED_FAST AS 13000.0 +DEFINE FEED_MESS AS 500.0 + +SETKOS(0) +TRAORI +G54 + +G90 G1 A0 B0 C10 F500 + +;P1 +G90 G1 X=XSTART Y=YSTART Z=ZSTART F=FEED_FAST +G91 G1 Z=-150 F=FEED_MESS MEAS=1 +STOPRE +R10=$AA_MW[Z] +STOPRE +G90 G1 X=XSTART+1 Y=YSTART Z=ZSTART F=FEED_FAST +G91 G1 Z=-150 F=FEED_MESS MEAS=1 +STOPRE +R11=$AA_MW[Z] +STOPRE +G90 G1 X=XSTART Y=YSTART+1 Z=ZSTART F=FEED_FAST +G91 G1 Z=-150 F=FEED_MESS MEAS=1 +STOPRE +R12=$AA_MW[Z] +STOPRE +M01 + +;P2 +G90 G1 X=XSTART Y=YSTART+YDIFF Z=ZSTART F=FEED_FAST +G91 G1 Z=-150 F=FEED_MESS MEAS=1 +STOPRE +R20=$AA_MW[Z] +STOPRE +G90 G1 X=XSTART+1 Y=YSTART+YDIFF Z=ZSTART F=FEED_FAST +G91 G1 Z=-150 F=FEED_MESS MEAS=1 +STOPRE +R21=$AA_MW[Z] +STOPRE +G90 G1 X=XSTART Y=YSTART+YDIFF+1 Z=ZSTART F=FEED_FAST +G91 G1 Z=-150 F=FEED_MESS MEAS=1 +STOPRE +R22=$AA_MW[Z] +STOPRE +M01 + +;P3 +G90 G1 X=XSTART+XDIFF Y=YSTART+YDIFF Z=ZSTART F=FEED_FAST +G91 G1 Z=-150 F=FEED_MESS MEAS=1 +STOPRE +R30=$AA_MW[Z] +STOPRE +G90 G1 X=XSTART+XDIFF+1 Y=YSTART+YDIFF Z=ZSTART F=FEED_FAST +G91 G1 Z=-150 F=FEED_MESS MEAS=1 +STOPRE +R31=$AA_MW[Z] +STOPRE +G90 G1 X=XSTART+XDIFF Y=YSTART+YDIFF+1 Z=ZSTART F=FEED_FAST +G91 G1 Z=-150 F=FEED_MESS MEAS=1 +STOPRE +R32=$AA_MW[Z] +STOPRE +M01 + + +SETKOS(1) + + +; BERECHNE +R0=(R10+R11+R12)/3 +R1=(R20+R21+R22)/3 +R2=(R30+R31+R32)/3 + +R8=ATAN((R1-R0)/XDIFF) +R9=ATAN((R2-R1)/YDIFF) + +M17 diff --git a/MPF/ROB/CALIB/CALIB_INLAYORI_C.MPF b/MPF/ROB/CALIB/CALIB_INLAYORI_C.MPF new file mode 100644 index 0000000..1e7be25 --- /dev/null +++ b/MPF/ROB/CALIB/CALIB_INLAYORI_C.MPF @@ -0,0 +1,40 @@ +;>>>>> G54:C = -R9 <<<<< + +EXTERN SETKOS(INT) + +DEFINE XSTART AS -60 +DEFINE YSTART AS 25 +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-10 + +SETKOS(0) +TRAORI +G54 + +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 +R0=$AA_MW[X] +STOPRE +M01 + + +G90 G1 X=XSTART Y=YSTART+YDIFF Z=ZSTART F=FEED_FAST +G91 G1 X=150 F=FEED_MESS MEAS=1 +STOPRE +R1=$AA_MW[X] +STOPRE + +SETKOS(1) + + +; BERECHNE +R2=R1-R0 +R9=ATAN(R2/YDIFF) + +M17 diff --git a/MPF/ROB/CALIB/CALIB_INLAYORI_XY.MPF b/MPF/ROB/CALIB/CALIB_INLAYORI_XY.MPF new file mode 100644 index 0000000..c551152 --- /dev/null +++ b/MPF/ROB/CALIB/CALIB_INLAYORI_XY.MPF @@ -0,0 +1,45 @@ +;>>>>> G54:X = +R8 <<<<< +;>>>>> G54:Y = +R9 <<<<< + +EXTERN SETKOS(INT) + +DEFINE XSTART AS 30 +DEFINE YSTART AS 30 +DEFINE ZSTART AS 250 +DEFINE FEED_FAST AS 13000.0 +DEFINE FEED_MESS AS 300.0 + +R8=0 +R9=0 +H1=ZSTART+OFFSET_LASER_Z-1.5 + +SETKOS(0) +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 +R8=$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 +R9=$AA_MW[Y] +STOPRE +M01 + + +M0 +G90 G1 A0 B0 C0 F1700 +HOME +SETKOS(1) + + +M17 diff --git a/MPF/ROB/CALIB/CALIB_INLAYORI_Z_GRIPPER.MPF b/MPF/ROB/CALIB/CALIB_INLAYORI_Z_GRIPPER.MPF new file mode 100644 index 0000000..60a2b5d --- /dev/null +++ b/MPF/ROB/CALIB/CALIB_INLAYORI_Z_GRIPPER.MPF @@ -0,0 +1,25 @@ +;>>>>> RUNTERFAHREN MIT GREIFER BIS PAPIER KLEMMT <<<<< +;>>>>> ABLESEN Z <<<<< + +EXTERN SETKOS(INT) + +DEFINE XSTART AS 30 +DEFINE YSTART AS 30 +DEFINE ZSTART AS 300 +DEFINE ZEND AS 50 +DEFINE FEED_FAST AS 13000.0 + + +SETKOS(1) +TRAORI +G54 + +;X +G90 G1 A0 B0 C0 F500 +G90 G1 X=XSTART Y=YSTART Z=ZSTART F=FEED_FAST +M0 + +G90 G1 Z=ZEND F=FEED_FAST + + +M17 diff --git a/MPF/ROB/CALIB/CALIB_LASER_A.MPF b/MPF/ROB/CALIB/CALIB_LASER_A.MPF new file mode 100644 index 0000000..9214367 --- /dev/null +++ b/MPF/ROB/CALIB/CALIB_LASER_A.MPF @@ -0,0 +1,38 @@ +;>>>>> $MC_ROBX_TTCFL_RPY[2] = -R9 <<<<< + +EXTERN SETKOS(INT) + +DEFINE XSTART AS 1090+480 +DEFINE YSTART AS 450 +DEFINE ZSTART AS 850.0 +DEFINE ZDIFF AS 300.0 +DEFINE FEED_FAST AS 5000.0 +DEFINE FEED_MESS AS 200.0 + +SETKOS(0) +TRAORI + +G90 G1 A0 B0 C0 F500 +G90 G1 X=XSTART Y=YSTART Z=ZSTART F=FEED_FAST +G91 G1 G53 Y=-150 F=FEED_MESS MEAS=1 +STOPRE +R0=$AA_MW[Y] +STOPRE +M01 + + +G90 G1 Y=YSTART Z=ZSTART-ZDIFF F=FEED_FAST +G91 G1 G53 Y=-150 F=FEED_MESS MEAS=1 +STOPRE +R1=$AA_MW[Y] +STOPRE + +SETKOS(1) +M94 ;LASER AUS + + +; BERECHNE +R2=R0-R1 +R9=ATAN(R2/ZDIFF) + +M17 diff --git a/MPF/ROB/CALIB/CALIB_LASER_B.MPF b/MPF/ROB/CALIB/CALIB_LASER_B.MPF new file mode 100644 index 0000000..29659b0 --- /dev/null +++ b/MPF/ROB/CALIB/CALIB_LASER_B.MPF @@ -0,0 +1,40 @@ +;>>>>> $MC_ROBX_TTCFL_RPY[0] = R9 <<<<< + + +EXTERN SETKOS(INT) + +DEFINE XSTART AS 950.0 +DEFINE YSTART AS -400 +DEFINE ZSTART AS 750.0 +DEFINE ZDIFF AS 300.0 +DEFINE FEED_FAST AS 5000.0 +DEFINE FEED_MESS AS 200.0 + + +SETKOS(0) +TRAORI + +G90 G1 A0 B0 C30 F500 +G90 G1 X=XSTART Y=YSTART Z=ZSTART F=FEED_FAST +G91 G1 G53 X=150 F=FEED_MESS MEAS=1 +STOPRE +R0=$AA_MW[X] +STOPRE +M01 + + +G90 G1 X=XSTART Z=ZSTART-ZDIFF F=FEED_FAST +G91 G1 G53 X=150 F=FEED_MESS MEAS=1 +STOPRE +R1=$AA_MW[X] +STOPRE + + +SETKOS(1) + + +; BERECHNE +R2=R0-R1 +R9=ATAN(R2/ZDIFF) + +M17 diff --git a/MPF/ROB/CALIB/CALIB_LASER_XY.MPF b/MPF/ROB/CALIB/CALIB_LASER_XY.MPF new file mode 100644 index 0000000..86db233 --- /dev/null +++ b/MPF/ROB/CALIB/CALIB_LASER_XY.MPF @@ -0,0 +1,68 @@ +;>>>>> IN SETKOS.MPF:LASER <<<<< +;>>>>> $MC_ROBX_TTCFL_POS[0] = -X_L = -R8 <<<<< +;>>>>> $MC_ROBX_TTCFL_POS[2] = -Y_L = -R9 <<<<< + +EXTERN SETKOS(INT) + +DEFINE XSTART AS -70 +DEFINE YSTART AS 630 +DEFINE ZSTART AS 200 +DEFINE XPROBE AS 250.0 +DEFINE FEED_FAST AS 11000.0 +DEFINE FEED_MESS AS 200.0 + +DEFINE THETA1 AS 10 +DEFINE THETA2 AS 90 +DEFINE THETA3 AS 130 + +H1=370.0 +R1=0 +R2=0 +R3=0 +R4=0 + +SETKOS(0) +TRAORI +G54 + +G90 G1 A0 B0 C=THETA1 F1700 +G90 G1 X=XSTART Y=YSTART Z=ZSTART F=FEED_FAST +G91 G1 X=XPROBE F=FEED_MESS MEAS=1 +STOPRE +R1=$AA_MW[X] +STOPRE +M01 + +G90 G1 A0 B0 C=THETA2 F1700 +G90 G1 X=XSTART Y=YSTART Z=ZSTART F=FEED_FAST +G91 G1 X=XPROBE F=FEED_MESS MEAS=1 +STOPRE +R2=$AA_MW[X] +STOPRE +M01 + +G90 G1 A0 B0 C=THETA3 F1700 +G90 G1 X=XSTART Y=YSTART Z=ZSTART F=FEED_FAST +G91 G1 X=XPROBE F=FEED_MESS MEAS=1 +STOPRE +R3=$AA_MW[X] +STOPRE +M01 + + + +; BERECHNE +;(* Compute X_L *) +R8 = ((R2 - R1) * (-SIN(THETA3) + SIN(THETA1)) - (R3 - R1) * (-SIN(THETA2) + SIN(THETA1))) / ((COS(THETA2) - COS(THETA1)) * (-SIN(THETA3) + SIN(THETA1)) - (COS(THETA3) - COS(THETA1)) * (-SIN(THETA2) + SIN(THETA1))) + +;(* Compute Y_L *) +R9 = ((R2 - R1) - (COS(THETA2) - COS(THETA1)) * R8) / (-SIN(THETA2) + SIN(THETA1)) + + + +G90 G1 A0 B0 C0 F1700 +HOME +SETKOS(1) + + +M17 diff --git a/MPF/ROB/CALIB/CALIB_LASER_XY_VERIF.MPF b/MPF/ROB/CALIB/CALIB_LASER_XY_VERIF.MPF new file mode 100644 index 0000000..9874abe --- /dev/null +++ b/MPF/ROB/CALIB/CALIB_LASER_XY_VERIF.MPF @@ -0,0 +1,35 @@ +EXTERN SETKOS(INT) + +DEFINE XSTART AS -70 +DEFINE YSTART AS 630 +DEFINE ZSTART AS 200 +DEFINE XPROBE AS 250.0 +DEFINE FEED_FAST AS 11000.0 +DEFINE FEED_MESS AS 200.0 + + +SETKOS(0) +TRAORI +G54 + +G90 G1 A0 B0 C10 F1700 +G90 G1 X=XSTART Y=YSTART Z=ZSTART F=FEED_FAST +M0 + +G90 G1 A0 B0 C45 F1700 +G90 G1 X=XSTART Y=YSTART Z=ZSTART F=FEED_FAST +M0 + +G90 G1 A0 B0 C90 F1700 +G90 G1 X=XSTART Y=YSTART Z=ZSTART F=FEED_FAST +M0 + +G90 G1 A0 B0 C130 F1700 +G90 G1 X=XSTART Y=YSTART Z=ZSTART F=FEED_FAST +M0 + + +SETKOS(1) + + +M17 diff --git a/MPF/ROB/CALIB/CALIB_LASER_XY__REGR.MPF b/MPF/ROB/CALIB/CALIB_LASER_XY__REGR.MPF new file mode 100644 index 0000000..6f0ca78 --- /dev/null +++ b/MPF/ROB/CALIB/CALIB_LASER_XY__REGR.MPF @@ -0,0 +1,65 @@ +;>>>>> IN SETKOS.MPF:LASER <<<<< +;>>>>> $MC_ROBX_TTCFL_POS[0] = -X_L <<<<< +;>>>>> $MC_ROBX_TTCFL_POS[2] = -Y_L <<<<< + + + +EXTERN SETKOS(INT) + +DEFINE XSTART AS -70 +DEFINE YSTART AS 630 +DEFINE ZSTART AS 200 +DEFINE XPROBE AS 250.0 +DEFINE FEED_FAST AS 11000.0 +DEFINE FEED_MESS AS 200.0 + +H1=370.0 +R1=0 +R2=0 +R3=0 +R4=0 + +SETKOS(0) +TRAORI +G54 + +G90 G1 A0 B0 C10 F1700 +G90 G1 X=XSTART Y=YSTART Z=ZSTART F=FEED_FAST +G91 G1 X=XPROBE F=FEED_MESS MEAS=1 +STOPRE +R1=$AA_MW[X] +STOPRE +M01 + +G90 G1 A0 B0 C45 F1700 +G90 G1 X=XSTART Y=YSTART Z=ZSTART F=FEED_FAST +G91 G1 X=XPROBE F=FEED_MESS MEAS=1 +STOPRE +R2=$AA_MW[X] +STOPRE +M01 + +G90 G1 A0 B0 C90 F1700 +G90 G1 X=XSTART Y=YSTART Z=ZSTART F=FEED_FAST +G91 G1 X=XPROBE F=FEED_MESS MEAS=1 +STOPRE +R3=$AA_MW[X] +STOPRE +M01 + +G90 G1 A0 B0 C130 F1700 +G90 G1 X=XSTART Y=YSTART Z=ZSTART F=FEED_FAST +G91 G1 X=XPROBE F=FEED_MESS MEAS=1 +STOPRE +R4=$AA_MW[X] +STOPRE +M01 + + +G90 G1 A0 B0 C0 F1700 +HOME +SETKOS(1) + + + +M17 diff --git a/MPF/ROB/CALIB/CALIB_LASER_Z.MPF b/MPF/ROB/CALIB/CALIB_LASER_Z.MPF new file mode 100644 index 0000000..a2d6608 --- /dev/null +++ b/MPF/ROB/CALIB/CALIB_LASER_Z.MPF @@ -0,0 +1,34 @@ +;>>>>> LASER_DIST - Z_KOSGRIP = R9 <<<<< + +EXTERN SETKOS(INT) + +DEFINE XSTART AS 15.0 +DEFINE YSTART AS 15.0 +DEFINE ZSTART AS 250 +DEFINE FEED_FAST AS 11000.0 + + +R9=0 +H1=370.0 + +SETKOS(0) +TRAORI +G54 + +G90 G1 A0 B0 C0 F1700 +G90 G1 X=XSTART Y=YSTART Z=ZSTART F=FEED_FAST +M01 + +CYC_MESSZ1 + +; BERECHNE +OFFSET_LASER_Z = R9 - ZSTART + +M0 + +G90 G1 A0 B0 C0 F1700 +;HOME +SETKOS(1) + + +M17 diff --git a/MPF/ROB/CALIB/CALIB_WP_C.MPF b/MPF/ROB/CALIB/CALIB_WP_C.MPF new file mode 100644 index 0000000..7f2d45d --- /dev/null +++ b/MPF/ROB/CALIB/CALIB_WP_C.MPF @@ -0,0 +1,40 @@ +;>>>>> G55:C = -R9 <<<<< + +EXTERN SETKOS(INT) + +DEFINE XSTART AS -60 +DEFINE YSTART AS -25 +DEFINE ZSTART AS 250 +DEFINE YDIFF AS 50 +DEFINE FEED_FAST AS 13000.0 +DEFINE FEED_MESS AS 500.0 + +H1=ZSTART+OFFSET_LASER_Z-10 + +SETKOS(0) +TRAORI +G55 + +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 +R0=$AA_MW[X] +STOPRE +M01 + + +G90 G1 X=XSTART Y=YSTART+YDIFF Z=ZSTART F=FEED_FAST +G91 G1 X=150 F=FEED_MESS MEAS=1 +STOPRE +R1=$AA_MW[X] +STOPRE + +SETKOS(1) + + +; BERECHNE +R2=R1-R0 +R9=ATAN(R2/YDIFF) + +M17 diff --git a/MPF/ROB/CALIB/CALIB_WP_XYZ.MPF b/MPF/ROB/CALIB/CALIB_WP_XYZ.MPF new file mode 100644 index 0000000..3e3ff7f --- /dev/null +++ b/MPF/ROB/CALIB/CALIB_WP_XYZ.MPF @@ -0,0 +1,53 @@ +;>>>>> X = OFFSET_WP_X <<<<< +;>>>>> Y = OFFSET_WP_Y <<<<< +;>>>>> Z = OFFSET_WP_Z <<<<< + +EXTERN SETKOS(INT) + +DEFINE XAPPROX AS 30 +DEFINE XPLUS AS 60 +DEFINE YAPPROX AS 30 +DEFINE YPLUS AS 60 +DEFINE ZSTART AS 300 +DEFINE FEED_FAST AS 13000.0 +DEFINE FEED_MESS AS 300.0 + +H1=ZSTART+OFFSET_LASER_Z-10 + +SETKOS(0) +TRAORI +G54 + +;X +G90 G1 A0 B0 C-3 F500 +G90 G1 X=XAPPROX+XPLUS Y=YAPPROX Z=ZSTART F=FEED_FAST +G91 G1 X=-XPLUS F=FEED_MESS MEAS=1 +STOPRE +OFFSET_WP_X=$AA_MW[X]/2 +STOPRE +M01 + +;Y +G90 G1 A0 B0 C-3 F500 +G90 G1 X=XAPPROX Y=YAPPROX+YPLUS Z=ZSTART F=FEED_FAST +G91 G1 Y=-YPLUS F=FEED_MESS MEAS=1 +STOPRE +OFFSET_WP_Y=$AA_MW[Y]/2 +STOPRE +M01 + +;Z +G90 G1 A0 B0 C-3 F500 +G90 G1 X=XAPPROX Y=YAPPROX Z=ZSTART F=FEED_FAST +CYC_MESSZ1 +OFFSET_WP_Z = -(R9 - OFFSET_LASER_Z -ZSTART) + + + +M0 +G90 G1 A0 B0 C0 F1700 +HOME +SETKOS(1) + + +M17 diff --git a/MPF/ROB/CALIB/SETKOS.MPF b/MPF/ROB/CALIB/SETKOS.MPF new file mode 100644 index 0000000..78869c2 --- /dev/null +++ b/MPF/ROB/CALIB/SETKOS.MPF @@ -0,0 +1,36 @@ +PROC SETKOS(INT KOSIDX) +; KOSIDX = +; 0: LASER +; 1: GREIFER + +TRAFOOF + +T="GRP1" +M6 + +; 0: LASER +IF KOSIDX==0 +$MC_ROBX_TTCFL_POS[0]=40.0747807660773 +$MC_ROBX_TTCFL_POS[1]=0;-187.035583496094 +$MC_ROBX_TTCFL_POS[2]=-24.192962084091445 +$MC_ROBX_TTCFL_RPY[0]=-0.08-0.327 +$MC_ROBX_TTCFL_RPY[1]=0 +$MC_ROBX_TTCFL_RPY[2]=90+1.35-0.11 +M93 ;LASER AN +ENDIF + +; 1: GREIFER +IF KOSIDX==1 +M94 ;LASER AUS +$MC_ROBX_TTCFL_POS[0]=0 +$MC_ROBX_TTCFL_POS[1]=0 +$MC_ROBX_TTCFL_POS[2]=0 +$MC_ROBX_TTCFL_RPY[0]=45.00 +$MC_ROBX_TTCFL_RPY[1]=1.25 +$MC_ROBX_TTCFL_RPY[2]=91.09 +ENDIF + +STOPRE +NEWCONF + +M17 diff --git a/MPF/ROB/CALIB/SETKOS_GRIPPER.MPF b/MPF/ROB/CALIB/SETKOS_GRIPPER.MPF new file mode 100644 index 0000000..e156a0b --- /dev/null +++ b/MPF/ROB/CALIB/SETKOS_GRIPPER.MPF @@ -0,0 +1,6 @@ +EXTERN SETKOS(INT) + + +SETKOS(1) + +M17 diff --git a/MPF/ROB/CALIB/SETKOS_LASER.MPF b/MPF/ROB/CALIB/SETKOS_LASER.MPF new file mode 100644 index 0000000..5722f6a --- /dev/null +++ b/MPF/ROB/CALIB/SETKOS_LASER.MPF @@ -0,0 +1,5 @@ +EXTERN SETKOS(INT) + +SETKOS(0) + +M17