Hallo,
heute habe ich mal eine Frage.
Ich habe in der Datendeklaration eine Liste von 256 Robtargets angelegt.
Im Moment schreibe ich im Programm
MoveJ Offs(PositionTableP71(gi_TypeFromPLC),0,0,250),vmax,z60,tPlates\WObj:=wTransfStOffs;
MoveJ Offs(PositionTableP71(gi_TypeFromPLC),0,0,20),vmax,z10,tPlates\WObj:=wTransfStOffs;
MoveL PositionTableP71(gi_TypeFromPLC),vmax,fine,tPlates\WObj:=wTransfStOffs;
PositionTableP71(gi_TypeFromPLC) ist eine Function, die mit ein Robtarget zurückgiebt.
FUNC robtarget PositionTableP71(VAR signalgi Typenum)
VAR robtarget TargetPos;
TEST Typenum
CASE 1:
RETURN p71aP_Type_001;
CASE 2:
RETURN p71aP_Type_002;
CASE 3:
RETURN p71aP_Type_003;
.
.
.
.
CASE 255:
RETURN p71aP_Type_255;
DEFAULT:
RETURN p71aP_Type_000;
ENDTEST
ENDFUNC
Die Frage, geht das nicht kürzer, ohne 256 Cases zu erstellen???
Irgendwie sowas, wie man Strings auswertet?
Teachen lassen sich die Positionen im Programdata Fenster in der Robtarget Liste.