Marco Polo
Level-1
- Beiträge
- 6
- Reaktionspunkte
- 1
-> Hier kostenlos registrieren
Hallo,
Ich bin ein Student und habe seit kurzem mit SPS zu tun. Dazu kleine Frage über FB-Aufruf. Einfach zum Verständnis habe ich mir kleinen Zyklus genommen(s.Zyklus - kleines PetriNetz)
Das Programm liegt im OB1
und der FB10 macht nichts anderes als Zeitverzögerung:
4 Variablen: 2 IN_OUT, 1 STAT und 1 IN(TIMER). Beim ersten Durchlauf wird ganz normal FB aufgerufen(Stelle 1.3 für 2 sek besetzt), aber beim 2-en,3-en, ... schafft das Programm nicht in FB rein, da die eigentlich als IN_OUT definierte M03 behält den TRUE-Wert und somit setzt die Stelle M1.5 wieder auf "1", d.h.
Könnten Sie mir ein Paar Tips geben, woran es liegt und wie ich es machen kann? Man könnte natürlich beim Starten adressiert Bits löschen, aber wahrscheinlich gibt's eine geschicktere Lösung
Danke
Gruß, Marco.
Ich bin ein Student und habe seit kurzem mit SPS zu tun. Dazu kleine Frage über FB-Aufruf. Einfach zum Verständnis habe ich mir kleinen Zyklus genommen(s.Zyklus - kleines PetriNetz)
Das Programm liegt im OB1
Code:
UN M 0.0
S M 0.0
S M 1.0
U M 1.0
UN M 1.1
R M 1.0
S M 1.1
U M 1.1
UN M 1.2
L S5T#2S
SE T 1
U M 1.1
UN M 1.2
U T 1
R M 1.1
S M 1.2
U M 1.2
UN M 1.3
UN M 1.4
R M 1.2
S M 1.3
S M 1.4
O M 1.3
SPBN x1
CALL FB 10 , DB10
Zeitgl:=T3
M01 :=M1.4
M03 :=M1.5
x1: NOP 0
U M 1.3
U M 1.5
UN M 1.6
SPBN x2
R M 1.3
R M 1.5
S M 1.6
x2: NOP 0
U M 1.6
UN M 1.0
L S5T#2S
SE T 4
U M 1.6
UN M 1.0
U T 4
R M 1.6
S M 1.0
Code:
U #M01
UN #M02
R #M01
S #M02
U #M02
UN #M03
L S5T#2S
SE T 3
U #M02
UN #M03
U T 3
R #M02
S #M03
Könnten Sie mir ein Paar Tips geben, woran es liegt und wie ich es machen kann? Man könnte natürlich beim Starten adressiert Bits löschen, aber wahrscheinlich gibt's eine geschicktere Lösung

Danke
Gruß, Marco.