neon
Level-1
- Beiträge
- 45
- Reaktionspunkte
- 0
-> Hier kostenlos registrieren
Hallo!
ich muss in eine Schrittkette einen Alternativabzweig programmieren, nachdem die Schrittkette 8 mal durchlaufen wurde.
Nach den 8 durchläufen soll die Maschine zu 1 fahren und wieder von neuem beginnen (ohne Unterbrechung).
Hier ist mein Programm, hat jemand eine Idee wo der Fehler liegen kann?
Der MW_Startposition wird im letzten Schritt um 1 hochgezählt, und soll bei 9 (also nach dem 8 durchlauf auf 0 gesetzt werden):
Der MW_Position wird in jeder Station der Maschine um 1 hochgezählt, damit das Programm weiß in welcher Station sich die Maschine befindet.
NW1: Schritt0 (Startschritt)
U(
U #Position_unten
U #Position_Badmitte
UN #Position_oben
UN #Vorfahren
UN #Rueckfahren
U #ff320
O #Reset
O #Startpos_erreicht
)
S #ff0
U #ff1
R #ff0
U #ff0
= #SR_0
NW2: Sprung3
L #MW_Startposition
L 8
==I
SPB CAS3
NW3: Sprung1
L #MW_Startposition
L 8
>I
SPB CAS1
NW4: Schritt1
U(
O(
L #MW_Position
L #MW_Startposition
<I
)
O #M_Startposition
)
U #Position_Badmitte
UN #Position_oben
U #Position_unten
UN #Vorfahren
UN #Rueckfahren
U #ff0
U #Programm_Automatik_ein
U #Programm_Autom_ein_stat
S #ff1
U(
O #ff5
O #Reset
)
R #ff1
U #ff1
= #SR_1
NW5: Sprung2
L #MW_Startposition
L 8
<=I
SPB CAS2
NW6: Sprungziel1
CAS1: U #ff0
R #ff0
NW7: Zurückfahren auf Position 1 wenn MW2>=8
U(
L #MW_Startposition
L 8
>=I
)
U #Programm_Automatik_ein
S #ff_rueckfahren
U(
O #Startpos_erreicht
O #Reset
)
R #ff_rueckfahren
U #ff_rueckfahren
= #SR_2
NW8: Fahren bis MW_Startposition=2
L #MW_Startposition
L 2
==I
= #Startpos_erreicht
NW9: MW0-MW2-MW4-MW6 rücksetzen wenn Startposition erreicht ist
U #Startpos_erreicht
= L 0.0
U L 0.0
SPBNB _001
L 0
T "Absolutposition"
_001: NOP 0
U L 0.0
SPBNB _002
L 0
T "Startposition"
_002: NOP 0
U L 0.0
SPBNB _003
L 0
T "Wert_FU_Schnellfahrt"
_003: NOP 0
U L 0.0
SPBNB _004
L 0
T MW 6
_004: NOP 0
NW10: Sprungziel3
CAS3: U #ff0
R #ff0
S #ff_Sprung3
NW11: Sprungziel2 /Schritt5
CAS2: U(
U #Position_Badmitte
UN #Position_oben
U #Position_unten
UN #Rueckfahren
U #ff1
O
U #Position_Badmitte
UN #Position_oben
U #Position_unten
UN #Rueckfahren
U #Startpos_erreicht
O
U #Position_Badmitte
UN #Position_oben
U #Position_unten
UN #Rueckfahren
U #ff_Sprung3
)
S #ff5
U(
O #ff10
O #Reset
)
R #ff5
U #ff5
= #SR_5
R #ff_rueckfahren
NW12: Schritt 10
UN #Position_unten
U #Position_Badmitte
U #Position_oben
UN #Vorfahren
UN #Rueckfahren
U #ff5
S #ff10
U(
O #ff15
O #Reset
)
R #ff10
U #ff10
= #SR_10
R #ff_Sprung3
ich muss in eine Schrittkette einen Alternativabzweig programmieren, nachdem die Schrittkette 8 mal durchlaufen wurde.
Nach den 8 durchläufen soll die Maschine zu 1 fahren und wieder von neuem beginnen (ohne Unterbrechung).
Hier ist mein Programm, hat jemand eine Idee wo der Fehler liegen kann?
Der MW_Startposition wird im letzten Schritt um 1 hochgezählt, und soll bei 9 (also nach dem 8 durchlauf auf 0 gesetzt werden):
Der MW_Position wird in jeder Station der Maschine um 1 hochgezählt, damit das Programm weiß in welcher Station sich die Maschine befindet.
NW1: Schritt0 (Startschritt)
U(
U #Position_unten
U #Position_Badmitte
UN #Position_oben
UN #Vorfahren
UN #Rueckfahren
U #ff320
O #Reset
O #Startpos_erreicht
)
S #ff0
U #ff1
R #ff0
U #ff0
= #SR_0
NW2: Sprung3
L #MW_Startposition
L 8
==I
SPB CAS3
NW3: Sprung1
L #MW_Startposition
L 8
>I
SPB CAS1
NW4: Schritt1
U(
O(
L #MW_Position
L #MW_Startposition
<I
)
O #M_Startposition
)
U #Position_Badmitte
UN #Position_oben
U #Position_unten
UN #Vorfahren
UN #Rueckfahren
U #ff0
U #Programm_Automatik_ein
U #Programm_Autom_ein_stat
S #ff1
U(
O #ff5
O #Reset
)
R #ff1
U #ff1
= #SR_1
NW5: Sprung2
L #MW_Startposition
L 8
<=I
SPB CAS2
NW6: Sprungziel1
CAS1: U #ff0
R #ff0
NW7: Zurückfahren auf Position 1 wenn MW2>=8
U(
L #MW_Startposition
L 8
>=I
)
U #Programm_Automatik_ein
S #ff_rueckfahren
U(
O #Startpos_erreicht
O #Reset
)
R #ff_rueckfahren
U #ff_rueckfahren
= #SR_2
NW8: Fahren bis MW_Startposition=2
L #MW_Startposition
L 2
==I
= #Startpos_erreicht
NW9: MW0-MW2-MW4-MW6 rücksetzen wenn Startposition erreicht ist
U #Startpos_erreicht
= L 0.0
U L 0.0
SPBNB _001
L 0
T "Absolutposition"
_001: NOP 0
U L 0.0
SPBNB _002
L 0
T "Startposition"
_002: NOP 0
U L 0.0
SPBNB _003
L 0
T "Wert_FU_Schnellfahrt"
_003: NOP 0
U L 0.0
SPBNB _004
L 0
T MW 6
_004: NOP 0
NW10: Sprungziel3
CAS3: U #ff0
R #ff0
S #ff_Sprung3
NW11: Sprungziel2 /Schritt5
CAS2: U(
U #Position_Badmitte
UN #Position_oben
U #Position_unten
UN #Rueckfahren
U #ff1
O
U #Position_Badmitte
UN #Position_oben
U #Position_unten
UN #Rueckfahren
U #Startpos_erreicht
O
U #Position_Badmitte
UN #Position_oben
U #Position_unten
UN #Rueckfahren
U #ff_Sprung3
)
S #ff5
U(
O #ff10
O #Reset
)
R #ff5
U #ff5
= #SR_5
R #ff_rueckfahren
NW12: Schritt 10
UN #Position_unten
U #Position_Badmitte
U #Position_oben
UN #Vorfahren
UN #Rueckfahren
U #ff5
S #ff10
U(
O #ff15
O #Reset
)
R #ff10
U #ff10
= #SR_10
R #ff_Sprung3
Zuletzt bearbeitet: