NX 100 - Reihenfolge der Bahnen im Job umstrukturieren

  • Hallo liebe Freunde,


    ich hab hier nen Job bei dem Ware aus nem Warenträger entnommen wird, da jede Bahn einzeln geteacht wurde und ich nun die Reihenfolge ändern muss brauch ich mal konstruktive Vorschläge wie sich das mit möglichst wenig aufwand realisieren lässt.


    Müsste nun das Pferd von hinten aufzäumen und mit der letzten Position anfangen und mit der ersten aufhören.


    Anbei mal ein Beispiel



    Danke im voraus für eure Hilfe!

  • ANZEIGE
  • Hallo,
    Wenn ich dich richtig verstehe willst du jetzt mit 13 Anfangen und mit 1 aufhören also rückwärts anfangen wenn das so ist musst du nur deine Sprung und Lable marken ändern.
    Gruß
    Chesi41

  • Hallo,
    Vorher war es so
    DOUT OT#(142) OFF
    JUMP *14 IF B071=0
    JUMP *01 IF B071=1
    JUMP *02 IF B071=2
    JUMP *03 IF B071=3
    JUMP *04 IF B071=4
    JUMP *05 IF B071=5
    JUMP *06 IF B071=6
    JUMP *07 IF B071=7
    JUMP *08 IF B071=8
    JUMP *09 IF B071=9
    JUMP *10 IF B071=10
    JUMP *11 IF B071=11
    JUMP *12 IF B071=12
    JUMP *13 IF B071=13
    '--------------------------------
    'POSITION UNTEN 1
    *01
    REFP 6 C00004
    GETS PX085 $PX016
    '-----
    MOVL P085 V=1500.0
    DOUT OG#(104) 85
    MOVL C00005 V=1500.0 PL=0
    MOVL C00006 V=200.0 PL=0
    DOUT OT#(142) ON
    WAIT IN#(141)=ON T=0.50
    MOVL C00007 V=200.0
    MOVL P085 V=1500.0
    DOUT OG#(104) 85
    SET B071 2
    JUMP *00 IF IN#(141)=OFF
    JUMP *14
    Und nachher so wenn ich dich richtig verstanden habe.
    DOUT OT#(142) OFF
    JUMP *14 IF B071=0
    JUMP *13 IF B071=1
    JUMP *12 IF B071=2
    JUMP *11 IF B071=3
    JUMP *10 IF B071=4
    JUMP *09 IF B071=5
    JUMP *08 IF B071=6
    JUMP *07 IF B071=7
    JUMP *06 IF B071=8
    JUMP *05 IF B071=9
    JUMP *04 IF B071=10
    JUMP *03 IF B071=11
    JUMP *02 IF B071=12
    JUMP *01 IF B071=13
    '--------------------------------
    'POSITION UNTEN 1
    *13
    REFP 6 C00004
    GETS PX085 $PX016
    '-----
    MOVL P085 V=1500.0
    DOUT OG#(104) 85
    MOVL C00005 V=1500.0 PL=0
    MOVL C00006 V=200.0 PL=0
    DOUT OT#(142) ON
    WAIT IN#(141)=ON T=0.50
    MOVL C00007 V=200.0
    MOVL P085 V=1500.0
    DOUT OG#(104) 85
    SET B071 2
    JUMP *00 IF IN#(141)=OFF
    JUMP *14
    Und so weiter da kannst du hin und her springen wie du es brauchst.
    Gruß
    Chesi41

  • Stimmt, auf die Idee bin ich noch gar nicht gekommen. Ich hatte schon so sachen vor wie Bahnen anders zuordnen udg.
    Aber das ist ja wirklich simpel. Nur schön ist es nicht - dafür selten :)


    Dankeschön hierfür.

  • Was hältst du hiervon? Hätte den Vorteil, das du dir am Programmanfang deine Reihenfolge in LB Variablen zusammenbasteln kannst.
    [size=2]Voraussetzung natürlich, daß deine Punkte/Labels so miteinander verbunden sind, das du sie auch tatsächlich von überall aus anfahren kannst.....[/size]


    [size=2]/JOB[/size]
    [size=2]//NAME 5_TI_U[/size]
    [size=2]//POS[/size]
    [size=2]///NPOS 56,0,0,5,0,0[/size]
    [size=2]///TOOL 1[/size]
    [size=2]///POSTYPE PULSE[/size]
    [size=2]///PULSE[/size]


    [size=2]//INST[/size]
    [size=2]///DATE 2016/02/24 13:50[/size]
    [size=2]///COMM FOLIEN TISCH UNTEN[/size]
    [size=2]///ATTR SC,RW[/size]
    [size=2]///GROUP1 RB1[/size]
    [size=2]NOP[/size]
    [size=2]REFP 1 C00000[/size]
    [size=2]GETS PX080 $PX011[/size]
    [size=2]REFP 2 C00001[/size]
    [size=2]GETS PX081 $PX012[/size]
    [size=2]REFP 3 C00002[/size]
    [size=2]GETS PX082 $PX013[/size]
    [size=2]REFP 4 C00003[/size]
    [size=2]GETS PX083 $PX014[/size]
    [size=2]'--------------------------------[/size]
    [size=2]MACRO1 MJ#(1) ARGF73 ARGF74 ARGF0 ARGF0 ARGF0 ARGFI000[/size]
    [size=2]'--------------------------------[/size]
    [size=2]WAIT IN#(81)=ON[/size]
    [size=2]MOVJ P081 VJ=100.00[/size]
    [size=2]DOUT OG#(104) 81[/size]
    [size=2]MOVJ P082 VJ=100.00[/size]
    [size=2]DOUT OG#(104) 82[/size]
    [size=2]MOVJ P083 VJ=100.00[/size]
    [size=2]DOUT OG#(104) 83[/size]
    [size=2]'--------------------------------[/size]
    [size=2]SET LB015=0[/size]


    [size=2]DOUT OT#(142) OFF[/size]


    [size=2]Reihenfolge Schweißnaht:[/size]
    [size=2]SET LB000=10[/size]
    [size=2]SET LB001=1[/size]
    [size=2]SET LB002=2[/size]
    [size=2]SET LB003=4[/size]
    [size=2]SET LB004=3[/size]
    [size=2]SET LB005=5[/size]
    [size=2]SET LB006=6[/size]
    [size=2]SET LB007=7[/size]
    [size=2]SET LB008=8[/size]
    [size=2]SET LB009=9[/size]
    [size=2]SET LB010=13[/size]
    [size=2]SET LB011=11[/size]
    [size=2]SET LB012=12[/size]



    [size=2]SET B071 LB000[/size]


    [size=2]*00[/size]
    [size=2]DOUT OT#(142) OFF[/size]
    [size=2]JUMP * 15 IF LB015>12 Sprung ans Programmende[/size]
    [size=2]JUMP LABEL:B071[/size]


    [size=2]'--------------------------------[/size]
    [size=2]'POSITION UNTEN 1[/size]
    [size=2]*1[/size]
    [size=2]REFP 6 C00004[/size]
    [size=2]GETS PX085 $PX016[/size]
    [size=2]'-----[/size]
    [size=2]MOVL P085 V=1500.0[/size]
    [size=2]DOUT OG#(104) 85[/size]
    [size=2]MOVL C00005 V=1500.0 PL=0[/size]
    [size=2]MOVL C00006 V=200.0 PL=0[/size]
    [size=2]DOUT OT#(142) ON[/size]
    [size=2]WAIT IN#(141)=ON T=0.50[/size]
    [size=2]MOVL C00007 V=200.0[/size]
    [size=2]MOVL P085 V=1500.0[/size]
    [size=2]DOUT OG#(104) 85[/size]


    [size=2]INC LB015[/size]
    [size=2]SET B071 LB[LB0015][/size]


    [size=2]JUMP *00 IF IN#(141)=OFF[/size]
    [size=2]JUMP *14[/size]
    [size=2]'--------------------------------[/size]
    [size=2]'POSITION UNTEN 2[/size]
    [size=2]*2[/size]
    [size=2]REFP 6 C00008[/size]
    [size=2]GETS PX085 $PX016[/size]
    [size=2]'-----[/size]
    [size=2]MOVL P085 V=1500.0[/size]
    [size=2]DOUT OG#(104) 85[/size]
    [size=2]MOVL C00009 V=1500.0 PL=0[/size]
    [size=2]MOVL C00010 V=200.0 PL=0[/size]
    [size=2]DOUT OT#(142) ON[/size]
    [size=2]WAIT IN#(141)=ON T=0.50[/size]
    [size=2]MOVL C00011 V=200.0[/size]
    [size=2]MOVL P085 V=1500.0[/size]
    [size=2]DOUT OG#(104) 85[/size]
    [size=2]SET B071 3[/size]


    [size=2]INC LB015[/size]
    [size=2]SET B071 LB[LB0015][/size]


    [size=2]JUMP *00 IF IN#(141)=OFF[/size]
    [size=2]JUMP *14[/size]
    [size=2]'--------------------------------[/size]
    [size=2]'POSITION UNTEN 3[/size]
    [size=2]*3[/size]
    [size=2]REFP 6 C00012[/size]
    [size=2]GETS PX085 $PX016[/size]
    [size=2]'-----[/size]
    [size=2]MOVL P085 V=1500.0[/size]
    [size=2]DOUT OG#(104) 85[/size]
    [size=2]MOVL C00013 V=1500.0 PL=0[/size]
    [size=2]MOVL C00014 V=200.0 PL=0[/size]
    [size=2]DOUT OT#(142) ON[/size]
    [size=2]WAIT IN#(141)=ON T=0.50[/size]
    [size=2]MOVL C00015 V=200.0[/size]
    [size=2]MOVL P085 V=1500.0[/size]
    [size=2]DOUT OG#(104) 85[/size]


    [size=2]INC LB015[/size]
    [size=2]SET B071 LB[LB0015][/size]


    [size=2]JUMP *00 IF IN#(141)=OFF[/size]
    [size=2]JUMP *14[/size]


    [size=2]und so weiter...[/size]


    [size=2]*14[/size]
    [size=2]JUMP *15 IF IN#(141)=OFF[/size]
    [size=2]MACRO1 MJ#(0) ARGF1 ARGF1 ARGF0 ARGF0 ARGF0 ARGFI000 ARGFI003[/size]
    [size=2]*15[/size]
    [size=2]MOVJ P083 VJ=100.00[/size]
    [size=2]DOUT OG#(104) 83[/size]
    [size=2]MOVJ P082 VJ=100.00[/size]
    [size=2]DOUT OG#(104) 82[/size]
    [size=2]MOVJ P081 VJ=100.00[/size]
    [size=2]DOUT OG#(104) 81[/size]
    [size=2]MOVJ P080 VJ=100.00[/size]
    [size=2]DOUT OG#(104) 80[/size]


    [size=2]END[/size]

  • Hi,
    danke für die Idee. Mit LB Variablen kenn ich mich noch nicht aus. Muss ich mich erst einlesen (Anlage ist zugekauft). Prinzipiell kann ich alle Punkte erreichen da ich in jedem Zyklus nur ein mal an diese "Station" muss. Das ist Bahntechnisch schon so aufgebaut. Melde mich wenn ich mehr Infos hab.

  • Du musst keine LB Variablen nutzen. Kannst auch "normale" globale B Variablen nutzen. Für die deine Reihenfolge im Job würden sie sich aber anbieten und du musst deine B Variablen nicht verbraten.....

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden