TIA Wie große Logikverknüpfungen in SCL handhaben?

TempeltonPeck

Level-1
Beiträge
118
Reaktionspunkte
7
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

Zur Zeit modernisiere ich einige alte AWL Programme, deren Ursprünge noch aus S5 Zeiten stammen. Da die neuen Programme auch auf einer S7-1200 laufen sollen verwende ich SCL. Wer schon mal etwas Hochsprachenprogrammierung gemacht hat, für den ist SCL ein Traum im Gegensatz zu AWL. Allerdings bin ich auf ein Problem gestoßen und ich weiß nicht so recht wie ich das Händeln soll.

Die angesprochenen AWL Programme enthalten oft große Logikverknüpfungen als FUB-Netzwerk. Die Verknüpfungen sind verschachtelt und verfügen über viele Operanten. Solche Verknüpfungen ist SCL werden schnell sehr unübersichtlich und erschweren die Fehlersuche.

Man könnte die Verknüpfung zerlegen und mit Zwischenergebnissen arbeiten, was wiederum zu sehr vielen extra Variablen führt.

Die Logik in einen untergelagerten FUB-Baustein zu parken wäre eine Möglichkeit. Dies würde aber dazu führen das die Funktionalitäten des SCL-Bausteins unnötig verteilt werden und sich die Anzahl der Bausteine erhöht und ebenso wenig förderlich für die Übersichtlichkeit und Fehlersuch ist.

Wie handhabt ihr grosse Logikblöcke in SCL?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja V14 ist schon 2, 3 Monaten raus.
Kostet aber wieder Lizenz !!!

Hab gerade mal unsere IT Abteilung genervt. V14 kamm als Update Paket per Post. Natürlich hat mir niemand bescheid gesagt ...

Läuft den V14 stabil? Haben einige neue Maschinen draußen die ich ungern vorzeitig hochrüsten möchte.
 
Ich versuche sowas normalerweise auch in KOP/FUP zu erledigen.

Wenn ich doch mal eine größere Verknüpfung in SCL benötige, dann arbeite ich zumindest mit Zeilenumbruch und Texteinrückungen, um die Verknüpfung einigermaßen lesbar zu halten:

SCL-Verknüpfung.jpg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bis jetzt ja bei mir.
mach dir keine sorgen.. keine traut es sich (Im Moment) so richtig die V14 ein zu setzen.
ich warte auch 2,3,4,5 updates ab.

Deshalb werde ich V14 auf einem extra Rechner erst einmal testen. Um die oben geannten Modernisierungen sinnvoll zu gestalten benötige ich ja nun anscheinend V14. Diese erst in V13 zu machen wäre verschendete Zeit.

Ich versuche sowas normalerweise auch in KOP/FUP zu erledigen.

Wenn ich doch mal eine größere Verknüpfung in SCL benötige, dann arbeite ich zumindest mit Zeilenumbruch und Texteinrückungen, um die Verknüpfung einigermaßen lesbar zu halten:

Anhang anzeigen 35172

So ähnlich wollte ich das auch machen. Auch wenn symbolische Programmierung sinnvoll ist, so sind die langen symbolischen Namen zu denen Siemens einen zwingt nicht gerade hilfreich. Gerade auf Laptops bei Inbetriebnahme.
 
:confused:
Wozu wirst Du von Siemens gezwungen?? Was ist für Dich "lang"? Man kann Variablen auch "v1" "v2" "v3" ... nennen oder auch nur "a" "b" "i" "x" ...

Wenn man mit Datenbausteinen und UDTs arbeitet werden die symbolischne Adressen sehr lang.

DB_Name.UDT.Variable1 := (DB_Name.UDT2.Variable2 * DB_Name.UDT2.Variable3) + DB_Name.UDT2.Variable3 usw. (nur ein Beispiel)

Klar kann man versuchen möglichst kurze Namen zu verwenden. Das geht aber nur begrentzt, da man nicht nur für einen selber sondern auch die Kollegen und ggf. den Kunde der Code schnell lesbar sein muss und man nicht erst einmal raten muss was mit den Variablen gemeint ist. Kommentare zur Erläuterung nehmen ja auch Platz weg und diese erst per Mauszeiger anzuzeigen kann umständlich sein bei kleinem Monitor auf Baustelle.

Zudem ich mich auch noch an alte Datenstruckturen halten muss. Schließlich kann ich nicht alle Programm/Bausteinschnittstellen über den Haufen werfen und muss (möglichst) Kompatibel zu älteren Anlagen bleiben.

Ja man könnte auch solche Variablen als E/A Größen des Bausteins definieren und von Außen mit den "langen Namen" Variablen beaufschlagen aber das ist nicht immer sinnvoll.
 
Zuletzt bearbeitet:
Die Frage an sich ist doch, muß alles in SCL geschrieben werden?
Bei Logikverknüpfungen sind KOP oder FUP von der Übersichtlichkeit für mich weit überlegen. Ein Blick reicht, um den aktuellen Zustand zu erkennen.
Wortverknüpfungen, Berechnungen, Analogwert-Verarbeitung usw. schreien förmlich nach SCL.
 
Die Frage an sich ist doch, muß alles in SCL geschrieben werden?
Bei Logikverknüpfungen sind KOP oder FUP von der Übersichtlichkeit für mich weit überlegen. Ein Blick reicht, um den aktuellen Zustand zu erkennen.
Wortverknüpfungen, Berechnungen, Analogwert-Verarbeitung usw. schreien förmlich nach SCL.

Nein natürlich nicht. Wie gesagt. Die alten Programme sind eine Mischung aus AWL und FUP. Siehe dazu mein ersten Post. Da es nun möglich ist FUP und SCL zu kombinieren hat sich dieses Problem quasi von selbst gelößt.
 
Zurück
Oben