TIA Unterschied FUP und SCL

MMB

Level-2
Beiträge
82
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,

da ich in SCL noch nicht so fitt bin, dies aber als Programiersprache gewünscht ist, habe ich erstmal in FUP die Grundstruktur erstellt, um es anschließend ,,umzuwandeln".
Nun habe ich eine Frage:
Bei FUP kann man von dem Ausgang einer ODER Verknüpfung direkt in den ,,IN" eingang von z.B. einem Timer gehen.
In SCL wird eine ODER Verknüpfung ja als ,,If" Bedingung realisiert. Muss ich dort dann eine zusätzliche Variable anlegen, um das Ergebniss meiner If Bedingung zwischenzuspeicher oder gibt es auch eine andere möglichkeit?

Ich hoffe die screenshots im Anhang verdeutlichen meine Fragestellung.

Vielen dank im vorraus.
 

Anhänge

  • FUP.PNG
    FUP.PNG
    6 KB · Aufrufe: 90
  • SCL.PNG
    SCL.PNG
    8,3 KB · Aufrufe: 92
In SCL wird eine ODER Verknüpfung ja als ,,If" Bedingung realisiert.
Nein. Ein Oder ist auch in SCL eine Verknüpfung.
IF wird für bedingt ausgeführte Anweisungen verwendet, wie in FUP/KOP VKE-bedingte Anweisungen, wie z.B. S, R, Anweisungs/Bausteinaufrufe mit Bedingung an EN

Harald
 
da (...) SCL (...) als Programiersprache gewünscht ist
Ist das auch für logische Verknüpfungen gewünscht?

Logische Verknüpfungen programmiert man besser in graphischen Programmiersprachen wie KOP oder FUP. SCL ist da total unübersichtlich und verleitet zu völlig unnötigen und unübersichtlichen IF-Orgien.

Wie würde denn als Beispiel das FUP Netzwerk im Anhang in SCL aussehen?
Genau sowas würde ich nicht in SCL programmieren. In FUP sieht das doch übersichtlich aus.

Harald
 
Ist das auch für logische Verknüpfungen gewünscht?

Logische Verknüpfungen programmiert man besser in graphischen Programmiersprachen wie KOP oder FUP. SCL ist da total unübersichtlich und verleitet zu völlig unnötigen und unübersichtlichen IF-Orgien.

Harald
Gewünscht ist, dass das Programm nach Siemens vorgaben erstellt wird. Ich bin gerade dabei einzelne Bausteine z.b. für eine Heizungsreglung in SCL zu schreiben. Die Verknüpfung der Bausteine soll dann später in FUP realisiert werden.
 
Siehe S. 14 ,,Empfehlung:Vorrangig SCL verwenden"
Ok im nächsten satz steht ;;wenn ein Baustein größtenteils aus Binärverknüpfungen besteht, sollte KOP oder FUP gewählt werden.
Sollte ich dann evt erst nochmal mit meinem Chef ab klären.
 

Anhänge

  • Siemens_SIMATIC_S7-1200_S7-1200_1500_Programmierstyleguide_de.pdf
    3,1 MB · Aufrufe: 34
Ok im nächsten satz steht ;;wenn ein Baustein größtenteils aus Binärverknüpfungen besteht, sollte KOP oder FUP gewählt werden.
Sollte ich dann evt erst nochmal mit meinem Chef ab klären.
Schau dir auch mal die Option an, in KOP/FUP Bausteine einzelne SCL-Netzwerke einzufügen. Das ermöglicht imho eine wirklich gute Synergie zwischen SCL und KOP/FUP.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Schau dir auch mal die Option an, in KOP/FUP Bausteine einzelne SCL-Netzwerke einzufügen. Das ermöglicht imho eine wirklich gute Synergie zwischen SCL und KOP/FUP.

Das wäre auch meine Empfehlung. Bei einer Fehlerdiagnose von rein logischen Verknüpfungen tust du dir da sehr viel leichter.
In vielen Fällen reichen einfache logische Verknüpfungen (KOP/FUP) und wenn du dann mal zwischendurch eine Schleife oder eine Case-Anweisung benötigst fügst du einfach ein SCL Netzwerk ein.
 
Wie meine Vorredner schon sagten.

Die richtige Mischung machts. Die stärken der einzelnen "Sprachen" entpsrechend nutzen.
Kommt selten vor dass ich einen reinen SCL Baustein schreibe....
 
Siemens sieht das übrigens so:

DA002 Empfehlung: Geeignete Programmiersprache verwenden
Es ist eine für den Anwendungsfall geeignete Programmiersprache zu wählen.

Standardbausteine – strukturierter Text (SCL/ ST)
Als Programmiersprache von Standardbausteinen ist SCL die bevorzugte Sprache. SCL bietet die kompakteste Lesbarkeit unter den Programmiersprachen und unter-stützt zudem den Programmierer durch Automarkierung aller Verwendungsstellen bei Selektion eines Codeelements.

Aufrufumgebungen – grafisch/ blockorientiert (KOP, FUP)
Soll eine Verschaltung einzelner Bausteine vorgenommen werden, z. B. in einem OB als Aufrufumgebung, kann die Programmiersprache KOP oder FUP gewählt werden. Auch wenn ein Baustein größtenteils aus Binärverknüpfungen besteht, kann KOP oder FUP gewählt werden. In diesen Fällen sind durch die Wahl der Programmiersprache KOP oder FUP eine leichtere Diagnose und eine schnellere Übersicht durch Servicepersonal möglich.

Schrittketten – flussorientiert (GRAPH)
Bei Ablaufketten empfiehlt sich die Verwendung von GRAPH. So können sequen-zielle Abläufe übersichtlich und schnell programmiert und nachverfolgt werden. Zusätzlich sind hier bereits "Interlocks" und "Supervisions" systemintegriert.

Quelle: https://support.industry.siemens.co...rleitfaden-für-s7-1200-s7-1500?lc=de-WW&dti=0 Seite 39
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Standardbausteine – strukturierter Text (SCL/ ST)
Als Programmiersprache von Standardbausteinen ist SCL die bevorzugte Sprache.
Also, ich programmiere gerne in SCL, aber diesen Annahme dass weil es eine Standardbaustein ist, ist SCL die bevorzugte Sprache ist einfach Quatsch !
Für logische programmieraufgaben sind KOP und FUP am weiten besser.

Siemens sieht das übrigens so:
Weil es in diesen offiziellen Siemens Dokument steht, wird es angenommen als Gesetz. Tragisch.
Ich nehme an das IT Studenten fühle sich bequemer mit das Text-Sprache, und sie treiben es voran dass SCL 'bevorzugt' ist.
 
Siemens wird bestimmt (?) SCL auch weiterhin als ideale Sprache für Standardbausteine kommunizieren, um Simatic AX zu pushen.

Ich muss aber zugeben, dass in unserem abteilungsinternen TwinCAT Bibliotheken tatsächlich viel ST genutzt wird. In unseren TIA Bibliotheken aber doch mehr KOP mit einzelnen SCL-Netzwerken gemischt…
 
Zurück
Oben