Initial commit

This commit is contained in:
Eduard Gerlitz 2025-03-24 13:36:24 +01:00
parent 1afdeb5744
commit e1902ef835
65 changed files with 3117 additions and 0 deletions

37
CYCLE/CYC_MESSZ1.SPF Normal file
View File

@ -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]<INKR_NUM do $AC_MARKER[0]=$AC_MARKER[0]+1 $AC_FIFO1[0]=$A_DBR[20] R0=$AC_MARKER[0]
; --- MOVE AND MEASURE
TRAORI
G1 G91 X=X_MOVE F=FEED_MESS
; CALC
STOPRE
R9 = $AC_FIFO1[3]/$AC_FIFO1[4]
; --- GO BACK
G1 G91 X=-X_MOVE F=FEED_BACK
M17

14
CYCLE/HOME_BELADEN.SPF Normal file
View File

@ -0,0 +1,14 @@
;****************************************************
;
; Homing program called by the "Home" softkey
; Home position can be adjusted for the application
;
;****************************************************
N10 TRAFOOF ;Deactivate transformation
N20 G90 G1 RA1=0 RA2=-30 RA3=-35 RA4=0 RA5=15 RA6=0 F5000
;G90 G1 RA1=0 RA2=-30 RA3=30 RA4=0 RA5=45 RA6=0 F5000
M17

13
CYCLE/HOME_DMU.SPF Normal file
View File

@ -0,0 +1,13 @@
;****************************************************
;
; Homing program called by the "Home" softkey
; Home position can be adjusted for the application
;
;****************************************************
N10 TRAFOOF ;Deactivate transformation
G90 G1 RA1=-90 RA2=-40 RA3=40 RA4=0 RA5=45 RA6=0 F5000
M17

36
CYCLE/SETKOS.MPF Normal file
View File

@ -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

View File

@ -0,0 +1,26 @@
; Konfiguration:
DEFINE INKR_NUM AS 20
DEFINE IDX AS 0
DEFINE INKR_MESS AS 0.05 ; IN MM
DEFINE X_MOVE AS 1.2
; INIT
DEFINE FEED_MESS AS 0.0
FEED_MESS = INKR_MESS/0.04*60
; --- SETUP SYNCACT
ID=1 whenever IDX<INKR_NUM do $AC_FIFO1[0]=$A_DBR[20]
ID=2 whenever IDX<INKR_NUM do IDX=IDX+1
; --- MOVE AND ME
TRAORI
G1 G91 X=X_MOVE F=FEED_MESS
STOPRE
R9 = $AC_FIFO1[3]/$AC_FIFO1[4]
M17

View File

@ -0,0 +1,23 @@
; Konfiguration:
DEFINE INKR_NUM AS 20
DEFINE IDX AS 0
DEFINE X_MOVE AS 1.2
DEFINE FEED_MESS AS 75 ;INKR_MESS=0.05/0.04*60
$MC_MM_NUM_AC_MARKER=1
$AC_MARKER[0]=0
R[9]=0
; --- SETUP SYNCACT
ID=1 whenever $AC_MARKER[0]<INKR_NUM do R[$AC_MARKER[0]+10]=$A_DBR[20] R[9]=R[9]+$A_DBR[20]
ID=2 whenever TRUE do $AC_MARKER[0]=$AC_MARKER[0]+1
; --- MOVE AND ME
TRAORI
G1 G91 X=X_MOVE F=FEED_MESS
STOPRE
R9 = R9/INKR_NUM
M30

View File

@ -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 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]<INKR_NUM do $AC_MARKER[0]=$AC_MARKER[0]+1 $AC_FIFO1[0]=$A_DBR[20] R0=$AC_MARKER[0]
; --- MOVE AND MEASURE
TRAORI
G1 G91 X=X_MOVE F=FEED_MESS
; CALC
STOPRE
R9 = $AC_FIFO1[3]/$AC_FIFO1[4]
; --- GO BACK
G1 G91 X=-X_MOVE F=FEED_BACK
M17

View File

@ -0,0 +1,8 @@
$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)
M17

43
GUD/GUD5.DEF Normal file
View File

@ -0,0 +1,43 @@
DEF CHAN REAL OFFSET_LASER_Z
DEF CHAN INT INL_X_NUM
DEF CHAN REAL INL_X_OFFSET
DEF CHAN INT INL_Y_NUM
DEF CHAN REAL INL_Y_OFFSET
DEF CHAN REAL WPR_X
DEF CHAN REAL WPR_Y
DEF CHAN REAL WPR_Z
DEF CHAN REAL WPF_X
DEF CHAN REAL WPF_Y
DEF CHAN REAL WPF_Z
DEF CHAN REAL WP_CLP_OFFSET_X
DEF CHAN REAL WP_GRP_OFFSET_Z
DEF CHAN REAL CLP_BACKENWEITE
DEF CHAN REAL CLP_BACKENHOHE
DEF CHAN REAL CLP_SPANNHOHE
DEF CHAN REAL CLP_AUFLAGETIEFE
DEF CHAN REAL MESSPOS_X
DEF CHAN REAL MESSPOS_Y
DEF CHAN REAL MESSPOS_Z
DEF CHAN REAL MESSPOS_TOL
DEF CHAN REAL WP_NUM
DEF CHAN REAL FEED_CP_FAST
DEF CHAN REAL FEED_CP_SLOW
DEF CHAN REAL WP_X[100]
DEF CHAN REAL WP_Y[100]
DEF CHAN REAL PRB_BOD_RE_X
DEF CHAN REAL PRB_BOD_RE_Y
DEF CHAN REAL PRB_BOD_LI_X
DEF CHAN REAL PRB_BOD_LI_Y
DEF CHAN REAL PRB_SEI_HI_X
DEF CHAN REAL PRB_SEI_HI_Z
DEF CHAN REAL PRB_SEI_VO_X
DEF CHAN REAL PRB_SEI_VO_Z
DEF CHAN REAL PRB_VERS_X_Y
DEF CHAN REAL PRB_VERS_X_Z
M17

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,228 @@
EXTERN TASTER (STRING[50])
;%_N_1000_MPF
;$PATH=/_N_WKS_DIR/_N_OP2_WPD
;
; --------------------------------------------------------------------------
; Maschine : DMG-DMU50-3GEN-SIN840D-BCSim
; Teilename (.ppf) : 4E_4148_2
; Arbeitsplan :
; Kommentar :
; Familie :
; Kunde :
; Programmierer :
; Arbeitsplan-Revision :
; Material : EC80
; Sequence : OP2
; Datum / Zeit : 11/03/25 / 14:06:16
;
; Bearbeitungszeit inkl. Werkzeugwechsel: 0h 0min 57sec
; --------------------------------------------------------------------------
;
; Werkzeugliste
;
;---------------------------------------------------------------------------
; Nr Kommentar Code ID Durchmesser Werkzeugtyp
;---------------------------------------------------------------------------
; 1 9999
; 6
; 2 WPF_D25_Z4_EL41_GL117
; 25 Fraeser
; 3 FAC_D6_W90_GL175
; 6 Flach
;---------------------------------------------------------------------------
EXTERN BLUMLASER(STRING[40])
EXTERN _BLUM(STRING[40])
GOTOF _OHNE_SCHWENKEN ; Schwenkebene am Programmanfang ueberspringen
INDEX_1: CYCLE800(0,"DMG",0,27,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0,1,) ; np op2
_OHNE_SCHWENKEN:
N10 G54 ; NP-Anwahl
N20 CYCLE800()
N30 TRAFOOF
N40 WORKPIECE(,"",,"BOX",112,4.44,-25,-80,-24,-20,24,20)
N50 G17 G64 G90 G710
N60 RTLION
N70 G0 SUPA Z=$MA_POS_LIMIT_PLUS[Z]-1 D0
N80 R3=42000 ; Hoher Vorschub in mm/min
; -------------------------------------
; Ablaufsteuerung
; -------------------------------------
R1 = 1 ; Startoperation
GOTOF "T_"<<R1
T_1:
_BLUM("BREAK")
; (WERKZEUG: 9999)
N90 T="9999"
N100 M6
_BLUM("CHECK")
N110 G0 SUPA Z=$MA_POS_LIMIT_PLUS[Z]-1 D0
N120 D1
N130 T="WPF_D25_Z4_EL41_GL117"
N140 M5
N150 G60
TASTER("AUS")
N160 G54 ; NP-Anwahl
N170 REPEATB INDEX_1 ; np op2
N180 G0 X0 Y0.0
N190 Z10.0
TASTER("EIN")
G0 Z1
CYCLE150(40,11000,"")
CYCLE977(101,1,,1,22,,,5,1,45,1,20,,,1,"VHF_8_ALU",,0,69.5,69.7,69.6,0.34,1,0,,1,0)
TASTER("AUS")
N210 Z10.0
N220 M5
N230 TRAFOOF
N240 TRANS
N250 ROT
N260 ; EILGANG ZU WERKZEUGWECHSEL
N270 G0 SUPA Z=$MA_POS_LIMIT_PLUS[Z] D0
N280 G0 SUPA X-644.763 Y-291.443
TASTER("EIN")
T_2:
_BLUM("BREAK")
; (WERKZEUG: WPF_D25_Z4_EL41_GL117)
N290 T="WPF_D25_Z4_EL41_GL117"
N300 M6
_BLUM("CHECK")
N310 G0 SUPA Z=$MA_POS_LIMIT_PLUS[Z]-1 D0
N320 D1
N330 T="FAC_D6_W90_GL175"
N340 S3100 M3
N350 G64
N360 G54 ; NP-Anwahl
N370 REPEATB INDEX_1 ; np op2
;
N380 R1=2000 ; Eintauchvorschub in mm/min
N390 R2=1500 ; Arbeitsvorschub in mm/min
;
; Instruktion 9 - Stirnfräsen
N400 M26
N410 CYCLE832(0.01,_FINISH,1)
N420 G0 X-19.6 Y38.0
N430 Z15.0
N440 Z2.2
N450 G1 Z0.2 F=R1
N460 Y-18.0 F=R2
N470 G3 X-14.76 Y-22.84 CR=4.84
N480 G1 X-9.44
N490 G3 X-4.6 Y-18.0 CR=4.84
N500 G1 Y18.0
N510 G2 X0.24 Y22.84 CR=4.84
N520 G1 X10.16
N530 G2 X15.0 Y18.0 CR=4.84
N540 G1 Y-38.0
N550 Z2.2 F=R3
N560 X-19.6 Y38.0
N570 Z2.0
N580 Z0.0 F=R1
N590 Y-18.0 F=R2
N600 G3 X-14.76 Y-22.84 CR=4.84
N610 G1 X-9.44
N620 G3 X-4.6 Y-18.0 CR=4.84
N630 G1 Y18.0
N640 G2 X0.24 Y22.84 CR=4.84
N650 G1 X10.16
N660 G2 X15.0 Y18.0 CR=4.84
N670 G1 Y-38.0
N680 G0 Z15.0
N690 M5
N700 M9
N710 CYCLE832(0,_OFF,1)
N720 TRAFOOF
N730 TRANS
N740 ROT
N750 ; EILGANG ZU WERKZEUGWECHSEL
N760 G0 SUPA Z=$MA_POS_LIMIT_PLUS[Z] D0
N770 G0 SUPA X-644.763 Y-291.443
T_3:
_BLUM("BREAK")
; (WERKZEUG: FAC_D6_W90_GL175)
N780 T="FAC_D6_W90_GL175"
N790 M6
_BLUM("CHECK")
N800 G0 SUPA Z=$MA_POS_LIMIT_PLUS[Z]-1 D0
N810 D1
N820 T="9999"
N830 S15000 M3
N840 G64
N850 G54 ; NP-Anwahl
N860 REPEATB INDEX_1 ; np op2
;
N870 R1=2000 ; Eintauchvorschub in mm/min
N880 R2=1000 ; Arbeitsvorschub in mm/min
;
; Instruktion 12 - Fasefräsen
N890 M8
N900 CYCLE832(0.01,_FINISH,1)
N910 G0 X2.0 Y-21.35
N920 Z5.0
N930 Z1.7
N940 G1 Z-1.65 F=R1
N950 Y-20.35 F=R2
N960 G3 X1.0 Y-19.35 CR=1.0
N970 G1 X-22.5
N980 G2 X-23.85 Y-18.0 CR=1.35
N990 G1 Y18.0
N1000 G2 X-22.5 Y19.35 CR=1.35
N1010 G1 X22.5
N1020 G2 X23.85 Y18.0 CR=1.35
N1030 G1 Y-18.0
N1040 G2 X22.5 Y-19.35 CR=1.35
N1050 G1 X-1.0
N1060 G3 X-2.0 Y-20.35 CR=1.0
N1070 G1 Y-21.35
N1080 G0 Z5.0
N1090 Y-8.65
N1100 Z1.7
N1110 G1 Z-1.65 F=R1
N1120 Y-9.65 F=R2
N1130 G3 X-1.0 Y-10.65 CR=1.0
N1140 G1 X12.0
N1150 G3 X15.645 Y-7.19 CR=3.65
N1160 G1 X15.65 Y7.0
N1170 G3 X12.19 Y10.645 CR=3.65
N1180 G1 X-12.0 Y10.65
N1190 G3 X-15.645 Y7.19 CR=3.65
N1200 G1 X-15.65 Y-7.0
N1210 G3 X-12.0 Y-10.65 CR=3.65
N1220 G1 X1.0
N1230 G3 X2.0 Y-9.65 CR=1.0
N1240 G1 Y-8.65
N1250 G0 Z4.7
N1260 CYCLE832(0,_OFF,1)
N1270 TRAFOOF
N1280 TRANS
N1290 ROT
N1300 ; EILGANG ZU WERKZEUGWECHSEL
N1310 G0 SUPA Z=$MA_POS_LIMIT_PLUS[Z] D0
N1320 G0 SUPA X-644.763 Y-291.443
N1330 D1
N1340 M5 M9
N1350 CYCLE832(0,_OFF,1)
N1360 TRAFOOF
N1370 TRANS
N1380 ROT
N1390 CYCLE800()
N1400 M30
; ============ ENDE ===============

View File

@ -0,0 +1,8 @@
MSG($A_IN[1]<<$A_IN[2]<<$A_IN[3]<<$A_IN[4])
M0
MSG("ZUSTAND OUTPUT 1: "<<$A_OUT[1]<<" 2: "<<$A_OUT[2]<<" 3: "<<$A_OUT[3]<<" 4: "<<$A_OUT[4])
M0
M30

View File

@ -0,0 +1,22 @@
; SENT0000
COM_RESET
; WAIT 1111
WHILE NOT (($A_IN[1]==1) AND ($A_IN[2]==1) AND ($A_IN[3]==1) AND ($A_IN[4]==1))
ENDWHILE
STOPRE
; SENT 1111
$A_OUT[1]=1
$A_OUT[2]=1
$A_OUT[3]=1
$A_OUT[4]=1
STOPRE
; WAIT NOTT 1111
WHILE (($A_IN[1]==1) AND ($A_IN[2]==1) AND ($A_IN[3]==1) AND ($A_IN[4]==1))
ENDWHILE
STOPRE
M17

View File

@ -0,0 +1,9 @@
STOPRE
$A_OUT[1]=0
$A_OUT[2]=0
$A_OUT[3]=0
$A_OUT[4]=0
STOPRE
M17

View File

@ -0,0 +1,12 @@
PROC COM_SENT(INT BB1, INT BB2, INT BB3, INT BB4)
STOPRE
$A_OUT[1]=BB1
$A_OUT[2]=BB2
$A_OUT[3]=BB3
$A_OUT[4]=BB4
STOPRE
G4 F1
M17

View File

@ -0,0 +1,8 @@
PROC COM_WAIT(INT BB1, INT BB2, INT BB3, INT BB4)
WHILE NOT ($A_IN[1]==BB1) AND ($A_IN[2]==BB2) AND ($A_IN[3]==BB3) AND ($A_IN[4]==BB4)
ENDWHILE
STOPRE
G4 F1
M17

View File

@ -0,0 +1,120 @@
N0 EXTERN COM_SENT (INT,INT,INT,INT)
N5 EXTERN COM_WAIT(INT,INT,INT,INT)
N15 COM_RESET
;INITIALISIEREN DER VARIABLEN
;Int_ABL:
;0 = Kein Teil in der Maschine
;1 = Teil In Maschine
;2 = Teil Fertig
;3 = Teil Falsch eingespannt
;102 - Am Bearbeiten
;Bit Belegung:
;Input
;0000 Keine Teile mehr zum bearbeiten
;0100 Maschine Reinigen und auf Beladeposition fahren
;0001 TEIL WURDE VON ROBOTER BELADEN
;Output
;0001 Maschine ist gereinigt und Teil kann beladen werden
;0010 Teil Entladen
;0011 Rohteil Entladen
;0100 Teil ist Beladen und bearbeitung wurde gestartet
N25 STARRT:
N25 COM_HANDSH_DMU
N30 IF ($A_IN[1] == 0) AND ($A_IN[2] == 1) AND ($A_IN[3] == 0) AND ($A_IN[4] == 0) ; M
;N35 aschine Reinigen
N45 MSG("REINIGUNG MASCHINE")
N50
N55 CALL "CLEAN.SPF"
N60 MSG()
N65 REPEAT BELADEN_START BELADEN_END ;Werkzeug entladen und auf Position für Be/Entladen fahren
N70 ENDIF
;Beginn der Bearbeitung
N75 IF ($A_IN[1] == 0) AND ($A_IN[2] == 0) AND ($A_IN[3] == 0) AND ($A_IN[4] == 1) ; MASCHINE STARTEN
N85 B_MEAS_WKS = TRUE
;Unterprogramm zum Teil vermessen
N90
MEAS_WKS
;Wenn das Teil richtig liegt und der Schraubstock gespannt ist kann mit der Bearbeitung begonnen werden
N100 STOPRE
N105 IF (B_MEAS_WKS == TRUE)
N110 CALL "4E_4148_2_OP2.MPF"
N115 REPEAT ENTLADEN_START ENTLADEN_END ;Werkzeug entladen und auf Position für Be/Entladen fahre
N120 ELSE ; Wenn beim Messen ein fehler aufgetreten ist soll das Rohmaterial wieder entladen werden
N125 REPEAT ENTLADEN_START ENTLADEN_END
N130 ENDIF
N135 ENDIF
N140 GOTOB STARRT
;N245 CLEAN() ;Maschine reinigen
N145 REPEAT LBL1 LBL2
;Programm Ende
N150 STOPRE
N155; COM_SENT(1,1,1,1) ; AUSGANGSSIGNAL MASCHINE FERTIG
N160 M30
N165 BELADEN_START:
N170 G57
N175 T0 ;Werkzeug versorgen
N180 M6
;Fahren auf Heimposition
N185 G0 SUPA Z=$MA_POS_LIMIT_PLUS[Z]-1 D0
N190 G0 SUPA X=$MA_POS_LIMIT_MINUS[X]+1 D0
N195 G0 SUPA Y=$MA_POS_LIMIT_PLUS[Y]-1 D0
N200 CYCLE800(0,"DMG",200000,57,0,0,0,0,0,-90,0,0,0,1,,0)
N205 STOPRE
N210 COM_SENT(0,0,0,1) ;Ausgangssignal geben um Teil zu beladen
N215 M0
N220 BELADEN_END:
N225 ENTLADEN_START:
MSG()
N230 G57
N235 T0 ;Werkzeug versorgen
N240 M6
;Fahren auf Heimposition
N245 G0 SUPA Z=$MA_POS_LIMIT_PLUS[Z]-1 D0
N250 G0 SUPA X=$MA_POS_LIMIT_MINUS[X]+1 D0
N255 G0 SUPA Y=$MA_POS_LIMIT_PLUS[Y]-1 D0
N260 CYCLE800(0,"DMG",200000,57,0,0,0,0,0,-90,0,0,0,1,,0)
N265 IF B_MEAS_WKS == TRUE
N270 COM_SENT(0,0,1,1)
N275 ELSE
N280 COM_SENT(0,0,1,0)
ENDIF
MSG($A_OUT[1]<<$A_OUT[2]<<$A_OUT[3]<<$A_OUT[4])
N285 M0
N290 ENTLADEN_END:

View File

@ -0,0 +1,29 @@
N0 G17 G64 G90 G710
N5 RTLION
N10 CYCLE800()
N15 TRAFOOF
N20 G0 SUPA Z=$MA_POS_LIMIT_PLUS[Z]-1 D0
N25 G57 ; NP-Anwahl
; (WERKZEUG: 9999)
N30 T="WPF_D25_Z4_EL41_GL117"
N35 M6
N40 G0 SUPA Z=$MA_POS_LIMIT_PLUS[Z]-1 D0
N45 D1
N50 S3000 M3
N55 G60
N70 T0 ;Werkzeug versorgen
N75 M6
;Fahren auf Heimposition
N80 G0 SUPA Z=$MA_POS_LIMIT_PLUS[Z]-1 D0
N85 G0 SUPA X=$MA_POS_LIMIT_MINUS[X]+1 D0
N90 G0 SUPA Y=$MA_POS_LIMIT_PLUS[Y]-1 D0
N95 CYCLE800(0,"DMG",200000,57,0,0,0,0,0,0,0,0,0,1,,0)
M17

View File

@ -0,0 +1,38 @@
; CFG FILE FOR DMU50 AUTOMATION
; GENERATED: 250318_185125
; ---------------------------------------------------
INL_X_NUM = 6
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
; ---------------------------------------------------
CLP_BACKENWEITE = 35
CLP_BACKENHOHE = 32
CLP_SPANNHOHE = 6
CLP_AUFLAGETIEFE = 5.6
MESSPOS_X = 0
MESSPOS_Y = 0
MESSPOS_Z = 0
MESSPOS_TOL = 0
; ---------------------------------------------------
PRB_BOD_RE_X = 0
PRB_BOD_RE_Y = 0
PRB_BOD_LI_X = 0
PRB_BOD_LI_Y = 0
PRB_SEI_HI_X = 0
PRB_SEI_HI_Z = 0
PRB_SEI_VO_X = 0
PRB_SEI_VO_Z = 0
PRB_VERS_X_Y = 0
PRB_VERS_X_Z = 0
; ---------------------------------------------------
M17

View File

@ -0,0 +1,12 @@
; CFG FILE FOR DMU50 AUTOMATION
; GENERATED: 250318_185415
; ---------------------------------------------------
WP_X[0]=0.0
WP_Y[0]=0.0
WP_X[1]=120.0
WP_Y[1]=0.0
WP_X[2]=240.0
WP_Y[2]=0.0
WP_NUM=3
; ---------------------------------------------------
M17

View File

@ -0,0 +1,32 @@
EXTERN SETKOS(INT)
DEFINE TOLER AS 10
DEFINE XMESS AS 5
DEFINE YMESS AS 5
DEFINE ZMESS AS 250
R83=0
R90=0
SOFT
;HOME
SETKOS(0)
TRAORI
; FAHRE UBER TEIL
G54
F17000
G90 G1 CP X=R51+XMESS Y=R52+YMESS Z=ZMESS A0 B0 C0 G94
;MESSE
IF $A_DBR[20] < (ZMESS+OFFSET_LASER_Z-TOLER)
R90=1
ENDIF
SETKOS(1)
;HOME
M17

View File

@ -0,0 +1,42 @@
EXTERN SETKOS(INT)
DEFINE TOL_OFFZ AS 2.5
DEFINE TOL_CHECK AS 10
DEFINE XMESS AS 5
DEFINE YMESS AS 5
DEFINE ZMESS AS 250
R83=0
R90=0
SOFT
;HOME
SETKOS(0)
TRAORI
; FAHRE UBER TEIL
G54
F17000
G90 G1 CP X=R51+XMESS Y=R52+YMESS Z=ZMESS A0 B0 C0 G94
; PRUFE ISTHERE PART
R9=$A_DBR[20]
IF TOL_CHECK < (ZMESS+OFFSET_LASER_Z-R9)
R90=1
; BESTIMME HOHE BAUTEIL UND OFFSETZ_GRIFFHOHE
CYC_MESSZ1
R83 = (ZMESS+OFFSET_LASER_Z-R9)-WPR_Z
IF ABS(R83) > TOL_OFFZ
MSG("BAUTEILHOEHE AUSSERHALB TOLERANZ: "<<R83)
M0
ENDIF
ENDIF
SETKOS(1)
;HOME
M17

View File

@ -0,0 +1,16 @@
IF (($A_IN[1]==0) AND ($A_IN[2]==0) AND ($A_IN[3]==1) AND ($A_IN[4]==1))
R70=1
ENDIF
IF R70==1 ;WENN BEARBEITET
R71=15
R72=15
R73=0.5
ELSE ;WENN UNBEARBEITET
R71=10
R72=10
R73=0.5
ENDIF
M17

View File

@ -0,0 +1,5 @@
M91
G4 F1
M17

View File

@ -0,0 +1,5 @@
M92
G4 F1
M17

View File

@ -0,0 +1,13 @@
EXTERN WAIT_SENSOR(INT)
WHILE NOT ($A_DBB[3]==1)
M65
G4 F1
ENDWHILE
; TUR AUF BIS SENSOR ERREICHT
M71
WAIT_SENSOR(1)
M17

View File

@ -0,0 +1,13 @@
EXTERN WAIT_SENSOR(INT)
M72
WAIT_SENSOR(2)
G4 F1
WHILE NOT ($A_DBB[3]==0)
M65
G4 F1
ENDWHILE
M17

View File

@ -0,0 +1,19 @@
; WAIT 0000
WHILE NOT (($A_IN[1]==0) AND ($A_IN[2]==0) AND ($A_IN[3]==0) AND ($A_IN[4]==0))
ENDWHILE
STOPRE
; SENT 1111
$A_OUT[1]=1
$A_OUT[2]=1
$A_OUT[3]=1
$A_OUT[4]=1
STOPRE
; WAIT 1111
WHILE NOT (($A_IN[1]==1) AND ($A_IN[2]==1) AND ($A_IN[3]==1) AND ($A_IN[4]==1))
ENDWHILE
STOPRE
M17

View File

@ -0,0 +1,9 @@
STOPRE
$A_OUT[1]=0
$A_OUT[2]=0
$A_OUT[3]=0
$A_OUT[4]=0
STOPRE
M17

View File

@ -0,0 +1,18 @@
STOPRE
R51=0
R52=0
R53=0
R70=0
R71=0
R72=0
R73=0
R83=0
R90=0
STOPRE
M17

View File

@ -0,0 +1,25 @@
PROC COM_SENT(INT BB1, INT BB2, INT BB3, INT BB4)
; START BUTTON
COM_RESET
M66
G4 F1
;HANDSHAKE
COM_HANDSH_ROB
STOPRE
$A_OUT[1]=BB1
$A_OUT[2]=BB2
$A_OUT[3]=BB3
$A_OUT[4]=BB4
STOPRE
;$A_OUT[1]=0
;$A_OUT[2]=0
;$A_OUT[3]=0
;$A_OUT[4]=0
;G4 F0.5
M17

View File

@ -0,0 +1,9 @@
PROC COM_WAIT(INT BB1, INT BB2, INT BB3, INT BB4)
WHILE NOT (($A_IN[1]==BB1) AND ($A_IN[2]==BB2) AND ($A_IN[3]==BB3) AND ($A_IN[4]==BB4))
ENDWHILE
STOPRE
G4 F1
M17

View File

@ -0,0 +1,29 @@
DEF REAL ANGLE
DEF REAL WAIT_TIME
ANGLE=110
WAIT_TIME=2
TRAFOOF
BRISK
F10000
;
G91 G1 RA6=+ANGLE
G4 F=WAIT_TIME
;
G91 G1 RA6=-ANGLE*2
G4 F=WAIT_TIME
;
G91 G1 RA6=+ANGLE*2
G4 F=WAIT_TIME
;
G91 G1 RA6=-ANGLE
SOFT
TRAORI
G90
M17

View File

@ -0,0 +1,35 @@
; SCHWENKE
HOME_DMU
CMD_SPANNER_AUF
; FAHRE IN DMU REIN
TRAORI
G500
F17000
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
; FAHRE INKR RUNTER
F1000
G91 G1 Z=-30+1
; GREIFER AUF
M51
G4 F2
CMD_SPANNER_ZU
; FAHRE INKR HOCH
G91 G1 Z30.0
; FAHRE AUS DMU RAUS
G500
F17000
G90 G1 X0.000 Y-1000.000 Z1300.000 A0.000 B0.000 C-90.000
; HOME
HOME_DMU
M17

View File

@ -0,0 +1,50 @@
; SCHWENKE
HOME_DMU
; GREIFER AUF
M51
; FAHRE IN DMU REIN
TRAORI
G500
F17000
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
; FAHRE INKR RUNTER
F1000
G91 G1 Z=-30
; SCHRAUBSTOCK AUF
CMD_SPANNER_AUF
; GREIFER ZU
M52
G4 F4
; FAHRE INKR HOCH
G91 G1 Z30.0
; FAHRE ZURUCK
G500
F17000
G90 G1 Y-1500
; TROCKNEN
IF R70==1
DMU_DRY
ENDIF
; FAHRE AUS DMU RAUS
;F17000
;G90 G1 X0.000 Y-1000.000 Z1300.000 A0.000 B0.000 C-90.000
; HOME
HOME_DMU
M17

View File

@ -0,0 +1,33 @@
SOFT
; HOME
HOME
; FAHRE UBER INLAY
TRAORI
;G500
;F13000
;G1 PTP X1400 Y-100 Z700 A0 B0 C0 G94
; 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
; FAHRE INKR RUNTER
F1000
G91 G1 CP Z=-60
; GREIFER AUF
M51
G4 F2
; FAHRE INKR HOCH
G91 G1 Z60
G90
; HOME
;HOME
M17

View File

@ -0,0 +1,36 @@
SOFT
; HOME
;HOME
; GREIFER AUF
M51
; FAHRE UBER INLAY
TRAORI
;G500
;F13000
;G1 PTP X1400 Y-100 Z700 A0 B0 C0 G94
; 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
; FAHRE INKR RUNTER
F1000
G91 G1 CP Z-60
; GREIFER ZU
M52
G4 F3
; FAHRE INKR HOCH
G91 G1 X5 Y5 Z60
G90
; HOME
HOME
M17

View File

@ -0,0 +1,53 @@
EXTERN COM_SENT(INT, INT, INT, INT)
EXTERN COM_WAIT(INT, INT, INT, INT)
; TÜR ZU
CMD_TUR_ZU
; +++ START - REINIGUNG
COM_SENT(0,1,0,0)
; ROHTEIL AUS INLAY HOLEN - HOME POSITION FAHREN
INLAY_TAKE
; WARTE - BIS MASCHINE GEREINIGT WURDE
COM_WAIT(0,0,0,1)
COM_RESET
; SCHRAUBSTOCK AUF
; TÜR AUF
CMD_TUR_AUF
; ROHTEIL IN DMU LEGEN
DMU_PUT
; SCHRAUBSTOCK ZU
; TUR ZU
CMD_TUR_ZU
; +++ START - BEARBEITEN AUFSPANNUNG1
COM_SENT(0, 0, 0, 1)
; WARTE - BIS TEIL BEARBEITET IST
WHILE NOT (($A_IN[1]==0) AND ($A_IN[2]==0) AND ($A_IN[3]==1))
ENDWHILE
G4 F1
COM_RESET
CMD_GREIFER_OFFSET
; TÜR AUF
CMD_TUR_AUF
; TEIL AUS DMU HOLEN
DMU_TAKE
; TEIL INS INLAY LEGEN
INLAY_PUT
; RESETTE R VARIABLE
COM_RESET_R
M17

View File

@ -0,0 +1,33 @@
; SCHRAUBSTOCK AUF
CMD_SPANNER_AUF
; TÜR AUF
CMD_TUR_AUF
; ROHTEIL AUS INLAY HOLEN - HOME POSITION FAHREN
INLAY_TAKE
; ROHTEIL IN DMU LEGEN
DMU_PUT
; SCHRAUBSTOCK ZU
CMD_SPANNER_ZU
; TUR ZU
CMD_TUR_ZU
CMD_GREIFER_OFFSET
; TÜR AUF
CMD_TUR_AUF
; TEIL AUS DMU HOLEN
DMU_TAKE
; TEIL INS INLAY LEGEN
INLAY_PUT
; RESETTE R VARIABLE
COM_RESET_R
M17

View File

@ -0,0 +1,33 @@
; --------------------------------
; CREATOR: LENTZSCH, GERLITZ
; --------------------------------
; INIT
DEF INT IDX
COM_RESET
COM_RESET_R
CFG_INL
CFG_DMUAUT
HOME
; ----------------------------------------
FOR IDX= 1 TO 4
R52=(( IDX-1) MOD 2)*125*4
R51=(( IDX-1) DIV 2)*120*2
; MAIN KERNEL RUN
IF R99==69
MAIN_ROB_KERNEL
ELSE
MAIN_ROB_KERNEL_DEBUG
ENDIF
ENDFOR
; ----------------------------------------
HOME
M30

View File

@ -0,0 +1,33 @@
; --------------------------------
; CREATOR: LENTZSCH, GERLITZ
; --------------------------------
; INIT
DEF INT IDX
COM_RESET
COM_RESET_R
CFG_INL
CFG_DMUAUT
HOME
; ----------------------------------------
FOR IDX=0 TO WP_NUM-1
R51=WP_X[IDX]
R52=WP_Y[IDX]
; MAIN KERNEL RUN
IF R99==69
MAIN_ROB_KERNEL
ELSE
MAIN_ROB_KERNEL_DEBUG
ENDIF
ENDFOR
; ----------------------------------------
HOME
M30

View File

@ -0,0 +1,37 @@
; --------------------------------
; CREATOR: LENTZSCH, GERLITZ
; --------------------------------
; INIT
DEF INT IDX
COM_RESET
COM_RESET_R
CFG_INL
CFG_DMUAUT
HOME
; ----------------------------------------
FOR IDX=0 TO WP_NUM-1
R51=WP_X[IDX]
R52=WP_Y[IDX]
CHECKLAS_ISTHEREP_OFFZ
IF R90==1
IF R99==69
MAIN_ROB_KERNEL
ELSE
MAIN_ROB_KERNEL_DEBUG
ENDIF
ENDIF
ENDFOR
; ----------------------------------------
HOME
M30

View File

@ -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

View File

@ -0,0 +1,7 @@
PROC WAIT_SENSOR(INT CHANN)
WHILE NOT ($A_DBB[CHANN]==1)
ENDWHILE
M17

View File

@ -0,0 +1,13 @@
DEF REAL CUR_X
DEF REAL CUR_Y
DEF REAL CUR_Z
CUR_X=$VA_IW[X]
CUR_Y=$VA_IW[Y]
CUR_Z=$VA_IW[Z]
$P_UIFR[1]=CTRANS(X,CUR_X,Y,CUR_Y,Z,CUR_Z):CROT(X,0.000000,Y,-0.000000,Z,0.000000)
M17

View File

@ -0,0 +1,13 @@
DEF REAL CUR_X
DEF REAL CUR_Y
DEF REAL CUR_Z
CUR_X=$VA_IW[X]
CUR_Y=$VA_IW[Y]
CUR_Z=$VA_IW[Z]
$P_UIFR[2]=CTRANS(X,CUR_X,Y,CUR_Y,Z,CUR_Z):CROT(X,0.000000,Y,-0.000000,Z,0.000000)
M17

View File

@ -0,0 +1,7 @@
NN1010:
MSG("ZUSTAND INPUT: "<<$A_IN[1]<<" "<<$A_IN[2]<<" "<<$A_IN[3]<<" "<<$A_IN[4])
G4 F1
GOTOB NN1010
M30

View File

@ -0,0 +1,6 @@
$A_OUT[1]=0
$A_OUT[2]=0
$A_OUT[3]=0
$A_OUT[4]=0
M30

View File

@ -0,0 +1,7 @@
NN1010:
MSG("ZUSTAND INPUT: "<<$A_DBB[1]<<" "<<$A_DBB[2]<<" "<<$A_DBB[3]<<" "<<$A_DBB[4])
G4 F1
GOTOB NN1010
M30

View File

@ -0,0 +1,54 @@
;>>>>> 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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

36
MPF/ROB/CALIB/SETKOS.MPF Normal file
View File

@ -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

View File

@ -0,0 +1,6 @@
EXTERN SETKOS(INT)
SETKOS(1)
M17

View File

@ -0,0 +1,5 @@
EXTERN SETKOS(INT)
SETKOS(0)
M17