TIA Ausgang in FB setzen

Zombie

Level-2
Beiträge
735
Reaktionspunkte
120
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

nachfolgend zu dem Thema "Vor- und Nachteile Verbindungsmöglichkeiten SPS zu SPS" habe ich noch eine kurze Frage.

An der Strecke soll eine Konturenkontrolle hinzumontiert werden.

Zum aktivieren der Kontrolle dachte ich mir, könnte ich in dem Steuer- FB der ein Fahrzeug steuert, also mehrmals aufgerufen wird, einen Ausgang setzen wenn das betreffende Fahrzeug gerade an dem Streckenpunkt ist an dem die Kontur kontrolliert werden soll.

Nun meine Frage, geht das?

Wenn ich z.B. schreiben würde:
Code:
If #idFzgStat.siPos = #idKontur.siFpNrAnf AND NOT #idKontur.sxAkt Then
         "oxKonturStart" := TRUE;
ELSIF #idFzgStat.siPos = #idKontur.siFpNrEnd AND #idKontur.sxAkt Then
          "oxKonturStart" := FALSE;
END_IF;
oxKonturStart ist Ausgang A 82.3 der Hauptsteuerung.
Kann der Ausgang dann in jedem FB frei zugeteilt werden, da, sobald die Bedingung #idFzgStat.siPos = #idKontur.siFpNr(Anf/End) für Fahrzeug X nicht mehr gegeben ist, nicht mehr auf den Ausgang geschrieben wird?

Könnte man das eleganter lösen?

Danke soweit
 
Das wird so vermutlich nicht klappen, einer der FB´s wird versuchen den Ausgang zu setzen. Alle anderen setzen diesen aber wieder zurück.

Was klappen sollte:
Setze den Ausgang vor den ganzen calls deiner FB´s zurück. In dem FB selbst setzt du den Ausgang nur bedingt (lass also den ELSIF part weg)!

Code:
SET
R   M1.0


Call FB1, DB1
Call FB1, DB2
Call FB1, DB3
Call FB1, DB4
.
.
.

U   M1.0
=   A82.3

Um es besser nachverfolgbar zu machen würde ich in den FB´s einen IN/OUT parameter verwenden und dort immer den selben Merker anbinden.
 
Zuletzt bearbeitet:
Zurück
Oben