TIA Sprungliste in SCL

Vetsrob

Level-1
Beiträge
29
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Abend zusammen

Ich habe mich mal in der SCL Programmierung versucht. Und zwar möchte ich mit einer Case-Schlaufe eine Sprungliste machen.

Die lokale Variable #statemachine ist vom Typ int.

Wenn ich den Baustein aufrufe, springt das Programm in den "Schritt 0" obwohl die IF-Abfrage true ist, springt mir das Programm nicht in den "Schritt 1"

Kann mir jemand auf die Sprünge helfen, was ich falsch mache??

Im Bild ist die Online Ansicht der Sprungliste zu sehen.

Vielen Dank für die Hilfe


SCL_Sprungliste.jpg
 
Ist #statemachine eine Stat- oder Temp-Variable?
Wird #statemachine irgendwo im Programm initialisiert, ist diese Initialisierung evtl. noch aktiv?
Nimm mal aus Schritt 2 und 3 die Zuweisungen
#statemachine :0 ... raus, was passiert?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
#statemachine ist eine temp Variable. Das sollte eigentlich schon passen, oder?

Ich habe die Zuweisungen mal rausgenommen, es passiert allerdings nichts.
Die #statemachine Variable wird nur in der Case Anwendung benötigt. Ich mache auch keine Initialisierung.
 
Als Temp Variable wird sie bei jedem neuem Bausteinaufruf mit ihrem Startwert initialisiert. Das kann also so nicht funktionieren. Musst du in eine Statische Variable ändern.

Gesendet von meinem SM-G930F mit Tapatalk
 
Mach unbedingt eine Stat-Variable daraus, das gilt für alle Variablen, die du länger als einen SPS-Zyklus verwendest und die nicht immer am Anfang eines Zyklus einen neuen Wert zugewiesen bekommen.
Unabhängig von deiner Frage, solltest du über die Möglichkeit nachdenken, die Schrittkette gezielt auf "Start" zu bringen, wenn sie z.B. mal in Schritt 1 oder 2 "hängen" bleibt.
 
Zurück
Oben