# Ablaufsteuerung in SCL oder CFC



## WGertzen (19 Mai 2010)

Hallo!

Ich habe da eine prinziepielle Frage betreffend der Programmierung von Steuerungen. 

Die Sprache SCL bietet sich ja an um Funktionen zu modularisieren. Jedoch
habe ich keine Erfahrung ob diese Sprache sich eignet um Schrittkette zu programmieren.


Das CFC System würde es ja erlauben Module sprich Blöcke miteinander je nach Anlage zu verschalten. Übertrieben gesagt, einfach die Anlagensteuerung per Drag&Drop erstellen, auf die SPS laden, fertig.
Tja, aber vermutlich ist eine Schrittkettenprogrammierung unter CFC wahrscheinlich fast unmöglich. 
(Oder in SFC Module erstellen und in CFC dann einbinden !?!)


Oder gibt es anderen Hilfsmittel um "Modularisierte" SPS Software zu verwalten und zu erstellen? Was ist z.B. mit Logicad?
Was setzt Ihr ein um die Wiederverwendung von Software (S7) zu vereinfachen ?
Dabei meinen ich nicht eine FC/FB Bibliothek in der z.B. eine Umrichteransteuerung gekapselt ist, sondern ich meine die Modularisierung von Anlagenteilen, die über mehrere FC/FB's/Schrittketten gehen.


Wolfgang


----------



## Larry Laffer (19 Mai 2010)

Hallo,
was ist denn jetzt die Frage ?
Willst du wissen, wie man eine Schrittkette in SCL realisieren könnte oder willst du wissen, mittels welcher SW man eine Ablaufbeschreibung einer Schrittkette am sinnvollsten erstellt ?

Gruß
LL


----------



## Beren (19 Mai 2010)

*gelöscht*


----------



## WGertzen (19 Mai 2010)

*Modularisierung/Wiederverwendung von SPS Software*

Sorry,

hatte mich etwas unklar ausgedrückt.

Also, das übergeordnete Thema, was mich aktuell beschäftigt ist
die Modularisierung von SPS Software.

Ist-Stand unser Software:
Unsere Software (S7) wird aktuell in FUP/AWL entwickelt. Alle Anlagenteile
werden über Schrittkette gesteuert.
Verschiedene Module (Umrichteransteuerung etc.) sind in FB/FC's implementiert und werden immer wiederverwendet.
Auf E/A Signale wird direkt zugegriffen. Es erfolgt kein Mapping auf Merker oder DB's.
Wenn eine neue Anlagensoftware erstellt werden soll, wird eine vorhanden genommen und entsprechend erweitert/modifiziert etc.
Dies mit allen typischen Vorgängen. Umverdrahten, Symbolik überarbeiten, FC umbenennen etc.


Nun stelle ich mir die Frage wie dies einfacher zu realisieren ist.

Wie kann man komplette Anlagenteile softwaretechnisch am besten Modularisieren?


Dazu hatte ich folgende Überlegungen angestellt:

Variante 1
Umstellung unserer Software auf SCL. Was beinhalten würde unsere Schrittketten in SCL zu programmieren.

Bei der Projektierung würde die Sachbearbeiter die fertigen SCL Anlagenmodule zusammenkopieren. Die E/A's über Merker mappen und die Freigaben zwischen den Anlagenteilen programmieren und fertig !


Variante 2:
Umstellung der Anlagensoftware auf CFC.
Für Anlagenteile in SCL entsprechende Module erstellen, die vom Projekteur "nur" noch graphisch zusammengeklickt werden.


Variante 3:
Festlegung von Merkerbereichen, FC Nummernbereichen etc. der einzelnen Anlagenteile. Weiterhin mappen der E/A's auf Merker.

Projekteur kopiert die Module aus den Vorlagen zusammen. Programmiert die
Freigaben untereinander und fertig.



Frage 1:
Ist SCL überhaupt für die Programmierung von Schrittketten geeignet ?


Frage 2:
Wird ein CFC Programm (was am Ende SCL Code wird) am Ende nicht zu langsam und zu Resourcen fressend ?


Frage 3:
Ist CFC überhaupt für Ablaufsteuerung geeignet? Ich kenne es mehr aus der Proßdatenverarbeitung und der programmierung von speziellen Regelungen. (sprich Datenflußorientiert)

Frage 4:
Welche Methode setzt ihr für die Modularisierung der Steuerungssoftware ein? Kopiert ihr aus Vorlagen ?

Frage 5:
Habe ihr Maschinensteuerungen auch schon Hoch-Sprachen programmiert ?
( C,C++, Basic,.......) Wenn ja, auf was für einer Steuerung ?


Tja, in der PC Welt würde man einfach Objektorientiert programmieren (C++ oder ähnliches). Leider scheint es dies im Bereich der Automatisierung nicht zu geben.

Gruß
WG


----------



## marlob (19 Mai 2010)

WGertzen schrieb:


> ...
> Frage 1:
> Ist SCL überhaupt für die Programmierung von Schrittketten geeignet ?
> ...


Kann man machen (case-Anweisung). Ist halt Geschmackssache




WGertzen schrieb:


> ...
> Frage 5:
> Habe ihr Maschinensteuerungen auch schon Hoch-Sprachen programmiert ?
> ( C,C++, Basic,.......) Wenn ja, auf was für einer Steuerung ?
> ...


Auf einem VME- Rechner mit C. Betriebssystem war RTOS-UH. Lange ist es her. Da hatte ich noch Farbe in den Haaren



WGertzen schrieb:


> ...
> Tja, in der PC Welt würde man einfach Objektorientiert programmieren (C++ oder ähnliches). Leider scheint es dies im Bereich der Automatisierung nicht zu geben.
> 
> Gruß
> WG


Beckhoff bietet da was an


----------



## Larry Laffer (19 Mai 2010)

Hallo Wolfgang,
Marlob hat es ja schon geschrieben : SCL und Schrittketten geht - gar kein Problem. Allerdings ist SCL nicht der Schölüssel zur Kapselung oder Objekt-orientierung.

Modularisierung und Objekt-orientierung in der Siemens-Welt ist nicht ganz so einfach.
Ich pflege (soweit machbar und sinnvoll) mit gekapselten Bausteinen (FB's) zu arbeiten, die eine feste Funktion haben (das kann auch ein komplexer Ablauf sein) und die über die Schnittstelle mit den variablen Parametern versorgt werden. Das können Sollwerte, aber auch E/A's sein.
Im Ganzen erfordert es, das zu machen, aber sehr viel Disziplin schon beim Erstellen der Software. Ganz gut hinzubekommen ist es bei wiederkehrenden Aufgabenstellungen - die bieten dann schnell das Potential für derartige Optimierungen.

Vielleicht ist dir das eine Inspiration ...

Gruß
LL


----------

