TIA SCL Bereiche verwenden REGION END_REGION in CASE-Anweisung

Softi79

Level-2
Beiträge
220
Reaktionspunkte
12
Zuviel Werbung?
-> Hier kostenlos registrieren
Nabend zusammen,

im Moment schreibe ich Schrittketten in SCL in SCL Bausteinen weil in FUB/KOP/AWL- Bausteinen keine CASE Anweisung über mehrere Netzwerke funktioniert, halb so wild dacht ich und verwende einfach die neuen Befehle REGION und END_REGION...
Doch nun das selbe Problem der REGION-Befehl funktioniert nicht in einer CASE Anweisung...

Wie trennt Ihr optisch eure einzelnen Schritte? Früher in AWL und FUB hat einfach jedes Netzwerk einen Schritt behinhaltet und der SPL-Befehl hat funktioniert.

Für die Übersichtlichkeit finde ich das extrem wichtig. Hat jemand einen Vorschlag?

Gruß Softi
 
Wie wäre es mit einem Kommentar?

// Schritt 1: Init bzw. (* Schritt 1: Init *)

Oder verstehe ich die Frage ggf. nicht richtig?


Gruß Ben


Gesendet von iPhone mit Tapatalk
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Ben,

die Frage hast du richtig verstanden, ich muss nur noch ergänzen, dass meine Schrittkette 30 Schritte hat und ca. 900 Zeilen lang ist... d.h. Mit Kommentaren scrollen scrollen.... Im Monet mach ich es auch mit Kommentaren.... Aber am liebsten wäre es mir wenn es wie in AWL geht und man die Schritte mit Netzwerken trennen kann, dann kannst du die Netzwerke sinnvoll Beschriften und die Netzwerke aufklappen und zuklappen...

Gruß Softi
 
Auf- & zuklappen geht meines Wissens nach in SCL nicht.

900 Zeilen, gibt es dort ggf. Wiederholungen, die man in eine extra Funktion verpacken könnte? Oder liegt es ggf. daran das SCL für den Anwendungsfall nicht das geeignete Werkzeug ist?

Für Schrittketten verwenden wir für gewöhnlich Graph. Da kann es dann aber auch passieren, das in einem Schritt z.B. eine Berechnung oder ein Umladevorgang für Daten in SCL angestoßen werden.

Liegt halt immer an der Aufgabe, wo etwas besser umgesetzt werden kann.


Gruß Ben


Gesendet von iPhone mit Tapatalk
 
Ich würde das auch in mehre Sektionen aufteilen, das heißt in mehre CASE Aufrufen aufteilen.
Als Beispiel die ersten fünf Case Anweisungen für Initalisierung, dann zehn Aggregat ausfahren,
dann zehn Aggregat einfahren.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
.. weil in FUB/KOP/AWL- Bausteinen keine CASE Anweisung über mehrere Netzwerke funktioniert ..
Sprungleiste und Sprungverteiler sollten in FUP und KOP aber schon über mehrere Netzwerke funktionieren. Nur ist es ein ziemlicher Sackgang, die ganzen Sprungmarken zu setzen, und vor allem, den Sprung zum Ende nicht zu vergessen.
 
Theoretisch könnte man ja einen AWL Sprungverteiler mit GoTo nachbauen,
(GoTo geht doch in SCL? Habe ich noch nie gebraucht).
Dann macht man den Verteiler in der Case Anweisung und springt dann daraus
in die einzelne Schritte.
 
Auf- & zuklappen geht meines Wissens nach in SCL nicht.
Wenn man die Abschnitte entsprechend künstlich "einpackt"?
Z.B.:
Code:
// Abschnitt n:
IF TRUE THEN
   *einklappbarer Code*;
END_IF;
Lässt sich schön zu einer Zeile einklappen.
Und oft sind diese "Hüllen" ohnehin schon vorhanden. Bei mir sind es z.B. untergeordnete "CASE".
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nabend zusammen,

Doch nun das selbe Problem der REGION-Befehl funktioniert nicht in einer CASE Anweisung...

Gruß Softi

Doch. Geht! Die Regions müssen allerdings innerhalb der einzelnen cases definiert werden:

region Schrittkette
case xxx of

1 : region Schritt 1

asdf;
asdf;

end_region

2 : region Schritt 2

wqre;
qwer;

end_region

end_case

end_region
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Früher in AWL und FUB hat einfach jedes Netzwerk einen Schritt behinhaltet und der SPL-Befehl hat funktioniert.
Wenn du Netzwerke willst könntest du den Baustein auch als FUP-Baustein erstellen und dann SCL-Netzwerke einfügen.
Dann hast du Netzwerke und REGIONs mit denen du arbeiten kannst.
 
REGION geht immer um eine Anweisung herum oder in der Anweisung, nur nicht mit einem Bein drin oder draußen.

Gruß

Jens
 
Zurück
Oben