3 kleine Fragen noch
Gehört dann die Variable rNEG bei der Berechnung.X als Multiplikator hinzugefügt oder ??
eiso : Berechnung.X = (Reihe-1)* x_verschiebung1 * rNEG
und
gehört jetzt bei der if anweisung mit dem rNEG einfach nur das iBlockCount hinzugefügt (Siehe Programmcode)
und
Wohin gehört die DEFFCT hingeschrieben ??? ganz oben oder dahin wo ich die Variablen definiert habe
Programmcode:
DEFFCT BOOL EVEN(iValue:IN)
IF ((IValue / 2)*2)<>iValue THEN
RETURN FALSE
ELSE
RETURN TRUE
ENDFCT
DEF KukaMatrixTest1 ( )
REAL x_verschiebung1 = 162.5
REAL x_verschiebung2 = 81.25
REAL z_verschiebung1 = -98.9
REAL rNeg=1
REAL BlockCount = 0
FRAME Startpos ; Eingeteachte Position
FRAME Vorpos
FRAME Berechnung
FRAME Blockpos
;FOLD INI
;FOLD BASISTECH INI
GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
INTERRUPT ON 3
BAS (#INITMOV,0 )
;ENDFOLD (BASISTECH INI)
;FOLD USER INI
;Make your modifications here
;ENDFOLD (USER INI)
;ENDFOLD (INI)
;FOLD PTP HOME Vel= 100 % DEFAULT;%{PE}%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:HOME, 3:, 5:100, 7:DEFAULT
$BWDSTART = FALSE
PDAT_ACT=PDEFAULT
FDAT_ACT=FHOME
BAS (#PTP_PARAMS,100 )
$H_POS=XHOME
PTP XHOME
;ENDFOLD
FOR Spalte = 1 TO 8
IF EVEN(Spalte) THEN
rNEG=1
BlockCount = 9
ELSE
rNEG=-1
BlockCount = 8
ENDIF
FOR Reihe = 1 TO BlockCount
Berechnung = $NULLFRAME
Berechnung.X = (Reihe-1)* x_verschiebung1 * rNeg=1
Blockpos = Startpos:Berechnung
Vorpos = Blockpos:{x 0.0, y -150, z 0.0, a 0.0, b 0.0, c 0.0}
PTP Vorpos
LIN Blockpos
LIN Vorpos
END FOR
Startpos.X = Blockpos.X - x_verschiebung2
Startpos.Z = (Spalte-1)* z_verschiebung1
END FOR
;FOLD PTP HOME Vel= 100 % DEFAULT;%{PE}%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:HOME, 3:, 5:100, 7:DEFAULT
$BWDSTART = FALSE
PDAT_ACT=PDEFAULT
FDAT_ACT=FHOME
BAS (#PTP_PARAMS,100 )
$H_POS=XHOME
PTP XHOME
;ENDFOLD
END