MOIN!
Ich habe hier ein Programm und zu wenig Ahnung vom Programmieren. Das läuft alles sehr schön aber ich habe vor etwas zu verschlanken.
Wir haben hier einen KR150/2 welcher je nach Bedarf verschiedene Werkstückträger (Paletten heissen die im Programm) aus einem Regal in eine Maschine packt. Ich habe eine SPS die verschiedene Eingänge (über Profibus) am Roboter schaltet.
Dann durchläuft das Programm ne Schleife und fragt die ganzen Eingänge ab um je nach dem eine der 20 Paletten zu bearbeiten.
Ich kopier mal etwas vom Code hier rein.
;;FOLD Palettenwahl (DIREKTANWAHL)
DEF PALETTE ()
; Palette 1
IF (E_ZC == FALSE) AND (E_PALHOL == TRUE) AND (E_PAL1 == TRUE) THEN
A_RobiReady = FALSE
HPAL1 ()
A_PAL1 = FALSE
ENDIF
IF (E_ZC == TRUE) AND (E_PALWEG == TRUE) AND (E_PAL1 == TRUE) THEN
A_RobiReady = FALSE
WPAL1 ()
A_PAL1 = TRUE
ENDIF
; Palette 2
IF (E_ZC == FALSE) AND (E_PALHOL == TRUE) AND (E_PAL2 == TRUE) THEN
A_RobiReady = FALSE
HPAL2 ()
A_PAL2 = FALSE
ENDIF
IF (E_ZC == TRUE) AND (E_PALWEG == TRUE) AND (E_PAL2 == TRUE) THEN
A_RobiReady = FALSE
WPAL2 ()
A_PAL2 = TRUE
ENDIF
; Palette 3
IF (E_ZC == FALSE) AND (E_PALHOL == TRUE) AND (E_PAL3 == TRUE) THEN
A_RobiReady = FALSE
HPAL3 ()
A_PAL3 = FALSE
ENDIF
IF (E_ZC == TRUE) AND (E_PALWEG == TRUE) AND (E_PAL3 == TRUE) THEN
A_RobiReady = FALSE
WPAL3 ()
A_PAL3 = TRUE
ENDIF
usw. usw.
Kann ich und wenn wie die Palettennummer (hier 1,2 und 3) durch eine Variable ersetzen?
Danke für die Hilfe