Dienstag, 7. Februar 2012, 13:08 UTC

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

gdongruss

unregistriert

1

Mittwoch, 1. März 2006, 16:51

KUKA Programmierung

Hallo,

kann mir jemand dieses Programm erläutern:

&ACCESS RVP
DEF SCHOKOSE ( )
EXT BAS (BAS_COMMAND :IN,REAL :IN )
;************************
;************************

BAS (#INITMOV,0 )
$VEL.CP=0.15
$ACC.CP=0.5
$APO.CDIS=1
$APO.CORI=0
$APO.CVEL=50
$APO.CDIS=1

PTP XHOME

INTERRUPT DECL 1 WHEN $IN[208] DO GEFUNDEN ( )

$BASE=BASE_DATA[8]
$TOOL=TOOL_DATA[10]

PALL_INIT ( )
; PALL_TEACH ( )

LOOP
SCHOKOAUSWAHL ( )
BERECHNEN ( )
SUCHEN ( )
IF IST_DA==0 THEN
EMPTY_MSG={MSG_T: VALID FALSE,RELEASE FALSE,TYP #NOTIFY,MODUL[] " ",KEY[] " ",PARAM_TYP #VALUE,PARAM[] " ",DLG_FORMAT[] " ",ANSWER 0}
$MSG_T=EMPTY_MSG
$MSG_T.MODUL[]=" "
$MSG_T.KEY[]="Dieses Schokoladenfach ist LEER!"
$MSG_T.PARAM_TYP=#VALUE
$MSG_T.VALID=TRUE
WHILE $MSG_T.VALID
WAIT SEC 0.05
ENDWHILE
WAIT SEC 0.2
WAIT SEC 2
EXIT
ENDIF
HOLEN ( )
ABGABE ( )
PTP XHOME
YLAGE=0
IST_DA=0
ENDLOOP

PTP XHOME

END

; ***** Schokolade gefunden *****
DEF GEFUNDEN ( )
INTERRUPT OFF 1
BRAKE
IST_DA=1
LIN $POS_INT
LIN_REL {X 30,Z -5}
RESUME ; Höhere Routine abbrechen
END

; ***** Holen *****
DEF HOLEN ( )
SAUGER_EIN ( )
LIN START_POS C_VEL

$BASE=BASE_DATA[8]
END

; ***** Ablegen *****
DEF ABGABE ( )
$BASE=BASE_DATA[8]
PTP ABLEGE_POS
WAIT FOR $IN[208]==TRUE
SAUGER_AUS ( )
END

; ***** Position berechnen *****
DEF BERECHNEN ( )
SWITCH ANTWORT
CASE 1
NV={X 0,Y 0,Z 0,A 0,B 0,C 0}

CASE 2
NV={X 0,Y 88,Z 0,A 0,B 0,C 0}

CASE 3
NV={X 0,Y 176,Z 0,A 0,B 0,C 0}

CASE 4
NV={X 0,Y 264,Z 0,A 0,B 0,C 0}
ENDSWITCH
$BASE=BASE_DATA[8]:NV


END

DEF SCHOKOAUSWAHL ( )
IST_DA=0
;------------------DIALOGANFRAGE----------------
EMPTY_MSG={MSG_T: VALID FALSE,RELEASE FALSE,TYP #DIALOG,MODUL[] " ",KEY[] " ",PARAM_TYP #VALUE,PARAM[] " ",DLG_FORMAT[] " ",ANSWER 0}
;
$MSG_T=EMPTY_MSG
$MSG_T.MODUL[]=" "
$MSG_T.KEY[]="Welche der leckeren Schoko-Tafeln moechten Sie?"
$MSG_T.RELEASE=FALSE
$MSG_T.TYP=#DIALOG
$MSG_T.DLG_FORMAT[]="V.Milch|Nuss|Caramel|Cappochi|"

$MSG_T.VALID=TRUE

WHILE $MSG_T.VALID
WAIT SEC 0.05
ENDWHILE
WAIT SEC 0.2

ANTWORT=$MSG_T.ANSWER
;=======================
END


; ***** Schokolade suchen *****
DEF SUCHEN ( )
INTERRUPT ON 1
PTP START_POS
LIN END_POS
$ADVANCE=0 ;kein Programmvorlauf
GEFUNDEN ( )
END

;***** Tafel INITIALISIEREN *****
DEF PALL_INIT ( )
$OUT[4]=FALSE
YLAGE=0
IST_DA=0
END

;***** Tafel TEACHEN *****
DEF PALL_TEACH ( )
$BASE=BASE_DATA[8]
$TOOL=TOOL_DATA[10]
LIN START_POS
HALT
LIN END_POS
HALT
LIN ABLEGE_POS
HALT
END
;***** Sauger aus *****
DEF SAUGER_AUS ( )
$OUT[4]=FALSE
WAIT SEC 1.0
END
;***** Sauger ein *****
DEF SAUGER_EIN ( )
$OUT[4]=TRUE
WAIT SEC 1.0
END
;++++++++++++++++++++++++++++++++++++++++++++++++++




DATFILE:

&ACCESS RVP
DEFDAT SCHOKOSE

DECL MSG_T EMPTY_MSG ;****
INT ANSWER ;**************
INT IST_DA
INT YLAGE
INT ANTWORT

FRAME START_PAL={X 179.81,Y -309.83,Z -14.82,A -85.78,B 1.35,C 179.37}
FRAME END_POS={X 264.23,Y -586.31,Z -62.16,A -174.58,B 2.18,C -179.54}
FRAME PAL_POS_1={X 179.81,Y -309.83,Z -14.82,A -85.78,B 1.35,C 179.37}
FRAME PAL_POS_2={X 179.81,Y -309.83,Z -14.82,A -85.78,B 1.35,C 179.37}
FRAME ABLEGE_POS={X 861.98,Y -366.39,Z 55.41,A -177.13,B -0.02,C -179.74}
FRAME NV={X 0.0,Y 264.0,Z 0.0,A 0.0,B 0.0,C 0.0}

DECL BASIS_SUGG_T LAST_BASIS={POINT1[] "P0 ",POINT2[] "P0 ",CP_PARAMS[] "CPDAT0 ",PTP_PARAMS[] "PDAT0 ",CONT[] " ",CP_VEL[] "2 ",PTP_VEL[] " 100 "}
ENDDAT

aldo

unregistriert

2

Freitag, 3. März 2006, 23:30

KUKA Programmierung

Hallo gdongruss,

Was ist dir nicht klar ins Programm??

Es gibt vielleicht ein kleines Problem wenn keine Schokolade gefunden ist, da ich nicht weiß ob es von suchpoint auf Home fahren kann.

Gruß,
Aldo