Brauche Hilfe, suche SPS Freaks!

Pico1184

Level-2
Beiträge
332
Reaktionspunkte
9
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
suche dringend ein gutes, sehr gutes Buch über die Programmierung von Simatic S7 mit AWL und SCL. Habe schon einige Programme mit FUP geschrieben. Suche kein Buch mit Grundkentnissen in der SPS Programmierung. Kenne die einfachen Grundbefehle in AWL bräuchte aber eine Einführung in AWL. Habt ihr Erfahrungen in diesem Bereich, könnt ihr mir Literatur zum Selbststudium empfehlen, das ihr selbst schon gelesen habt??
Wär echt super!

Danke

Grüße Chris
 
das Hans Berger Buch kann ich auch empfehlen.

Ist zwar nicht ganz billig, aber auf jeden Fall sein Geld wert.

Hier ein Link zum Buch bei buch.de:

Link
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich habe zu der Thematik auch ein Frage für die ich aber kein extra Thread aufmachen möchte.

Viele Programm Auszüge sind hier im Forum in AWL geschrieben. Zu Beginn der Steuerungstechnik Vorlesung hat man uns gesagt das AWL nur noch sehr selten angewendet wird, praktisch nicht mehr gemacht wird. Mir ist klar das man mit FUP nicht alles (schnell) machen kann. Für mich ist aber ST bzw. SCL Code wesentlich einfach und schneller umzusetzen.

Hat es einen Grund das Ihr "alten Hasen" viel mit AWL schreibt und nicht mit ST? Oder liegt es einfach daran das Siemens für SCL extra Euro verlangt?
 
Für mich ist aber ST bzw. SCL Code wesentlich einfach und schneller umzusetzen.
dann bist du für mich kein sps-programmierer sondern ein anwendungsprogrammierer. ;)

Zu Beginn der Steuerungstechnik Vorlesung hat man uns gesagt das AWL nur noch sehr selten angewendet wird, praktisch nicht mehr gemacht wird.
mag sein, dass man euch das erzählt hat. die praxis sieht aber ganz anders aus.
den schnellsten und optimalsten code schreibt man immer noch in awl. wenn mans kann und richtig einsetzt.

Hat es einen Grund das Ihr "alten Hasen" viel mit AWL schreibt und nicht mit ST? Oder liegt es einfach daran das Siemens für SCL extra Euro verlangt?
weils was für könner ist. :ROFLMAO:



aus der scl-hilfe

S7-SCL ist besonders für folgende Aufgaben geeignet:
  • Programmierung komplexer Algorithmen
    Programmierung mathematischer Funktionen
    Daten- bzw. Rezepturverwaltung
  • Prozessoptimierung
 
Zuletzt bearbeitet:
Es gibt da ein paar Gründe ...

Hallo winny,

ein Grund ist recht trivial: um hier FUP-Code abzubilden, muss man einen
Screenshot anfertigen. Der S7-Manager kann aber aus jedem Baustein
eine AWL-Quelle erzeugen und die lässt sich dann als Text leicht hier im
Forum einfügen.

Der Hauptgrund für die große Verbreitung von AWL liegt aber in der
Historie: die Vorgängerin S5 kannte kein SCL und wenn man Konstruktionen
wie FOR, IF oder CASE benötigte, war AWL die einzige Möglichkeit. Viele
"alte Hasen" sind eben mit der S5 groß geworden sind (lange vor IEC1131).

Heute sollte man grundsätzlich die Stärken und Schwächen von
KOP/FUP/AWL und SCL kennen, damit man immer die am am besten
geeignete Sprache einsetzen kann.

Einige Dinge kann man nur in AWL lösen und nicht in SCL. Oft muss man
in SCL eine Funktion aufrufen, für die es in AWL eine direkte Anweisung
gibt (z.B. wortweise Bitmanipulationen oder den Zugriff auf System-
funktionen).

Bei der Wahl zwischen AWL und KOP/FUP gilt:
- AWL ist S5/S7-spezifisch in der Regel nicht portierbar
- KOP/FUP-Netzwerke kann man z.B. in Allen Bradley zur Not
auch "abmalen".
- Bitoperationen mit vielen Verschachtelungen (UND vor ODER vor
UND, etc.) sind eindeutig leichter graphisch zu programmieren, zu
verstehen und zu debuggen.
- für einfache Lade- und Transferbefehle, Vergleiche und kleine Schleifen
sind m.E. KOP/FUP- und AWL-Netzwerke gut in einem Baustein mischbar.

Bei der Nutzung von SCL sollte man aber auch immer ein wenig an
die armen Instandhalter denken, die Jahre später einen defekten
Geber suchen, sich mit zig Steuerungsfamilien und -generationen,
Antriebsreglern diverser Hersteller, Bussystemen, intelligenter
Sensorik, etc. herumschlagen müssen und daher nicht immer den ge-
samten SCL-Sprachumfang parat haben.

Daher mein Tip:
- SCL-Funktionen immer in eigenen FCs/FBs kapseln
- dabei NIE auf absolute Operanden wie E/A/M/Z/T, etc. zugreifen,
sondern alles als Parameter übergeben
- diese Bausteine in KOP/FUP/AWL aufrufen und die Ergebnisse auf
die Peripherie rangieren
- SCL (und Instanzen) einsetzen, wenn man wiederverwendbaren Code
schreiben möchte und leistungsfähige Hardware (S7-400 oder VIPA
Speed7) zur Verfügung hat
- den Berger (AWL/SCL) durcharbeiten und verstehen!
- die Empfehlung in der SCL-Hilfe ernst nehmen

aus der scl-hilfe
S7-SCL ist besonders für folgende Aufgaben geeignet:
Programmierung komplexer Algorithmen
Programmierung mathematischer Funktionen
Daten- bzw. Rezepturverwaltung
Prozessoptimierung
In einem Punkt muss ich KalEl aber widersprechen:
den schnellsten und optimalsten code schreibt man immer noch in awl. wenn mans kann und richtig einsetzt.
Auch in SCL kann man schnellen (UND oft verständlicheren)
Code schreiben, wenn man
- EIN: Objectcode optimieren
- AUS: Feldgrenzen überwachen
- AUS: Debug-Info erstellen
- AUS: OK-Flag setzen
und das sollte man am Ende einer IBN auch tun können! Schließlich
überprüft in AWL auch kein Compiler die Bereichsgrenzen bei indi-
zierter Adressierung!

Meistens nutzt man in SCL gekapselte Module, also Instanzen.
Hier liegt der Hase im Pfeffer: da Siemens die Instanz-Zugriffe
nicht sauber in MC7 implementiert hat, werden Unmengen von
AWL-Anweisungen erzeugt, um
a) die Parameter zu ver- und entsorgen
b) auf die Operanden innerhalb eines Instanz-DBs zuzugreifen.

Wenn man in AWL mit Instanzen arbeitet, wird der Code auch langsamer
und NOCH unverständlicher und z.T. auch lebensgefährlich, wenn man
an die S7-interne Verwendung des Adressregisters denkt. Hier kann
man Programme mit sporadischen (!!!) Fehlern schreiben, die auch
Spezialisten zur Verzweiflung bringen können!

Oft spielen in der Automatisierung aber auch die Hardwarekosten eine
große Rolle (nicht immer sinnvoll, aber Maschinenbauer und die Controller
einer Maschinenbaufirma achten nun mal nur auf die Preise in der Stück-
liste, die kann man mit Excel besser zusammenzählen) und wenn der arme
Programierer dann mit der kleinsten S7-300 auskommen muss, kann er sich
den Luxus von Instanzen und weiteren hochtrabenden Programmier-
strategien gar nicht leisten, sondern er MUSS in AWL und mit absoluten
Operanden programmieren, um seine Zykluszeit einhalten zu können.

Und ein guter Tipp zum Schluss: PC und SPS sind zwei verschiedene
Welten und eine kleine Serienmaschine in großen Stückzahlen ist etwas
anderes als die Steuerung einer Papiermaschine oder einer Walzstraße.
Die optimale Programmierstrategie für alle Aufgaben gibt es nicht!

Wenn du noch in der Ausbildung bis, versuche ALLES gut kennenzulernen,
denn nur nur so kannst du später wirklich entscheiden, ob sich ein Problem
besser in AWL, in SCL, in C++ oder in SQL lösen lässt.

Zu Thema SPS-Programmiersprachen ist übrigens auch schon viel in
http://www.sps-forum.de/showthread.php?t=2093
gesagt worden.

Und jetzt: BUILD dir deine eigene Meinung!

Gruß U.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@udt
Danke für die ausführliche Antwort. :s12:



(Ich muß zugeben das ich dank meiner mager Version von SIMATIC Manager [ da ist meine Student Lizenz noch besser] hier im Praktikum kein SCL schreiben kann. ABER ich darf/muß hier auch mit TwinCAT von Beckhoff arbeiten und da ist ST mit dabei. Ich bin eigentlich begeistert wie schnell man mit ST zum Ziel kommt, wenn man vorher fast nur FUP programiert hat.)
 
Ja, schöner Aufsatz udt, dem kann ich mich schon anschließen. :rolleyes:

Eine Bemerkung noch: Viele Uni-Profs sehe sich als Elite und machen auch nur Sachen, die natürlich so modern und toll sind, daß das gemeine Volk (das sind dann wir) davon sowieso nichts begreift (meinen sie jedenfalls). Mir sagte mal ein Prof, mit dem ich über SPS, Step7 etc. sprach, und der Automatisierungstechnik lehrt, wörtlich und ganz stolz "Wir machen alles in C". Dabei spielte er an seiner Super-Unix-Machine rum (>10K€) um emails zu lesen, prima. Na gut, inzwischen macht er bestimmt alles in .NET:ROFLMAO: .
 
Ja, schöner Aufsatz udt, dem kann ich mich schon anschließen. :rolleyes:

Eine Bemerkung noch: Viele Uni-Profs sehe sich als Elite und machen auch nur Sachen, die natürlich so modern und toll sind, daß das gemeine Volk (das sind dann wir) davon sowieso nichts begreift (meinen sie jedenfalls). Mir sagte mal ein Prof, mit dem ich über SPS, Step7 etc. sprach, und der Automatisierungstechnik lehrt, wörtlich und ganz stolz "Wir machen alles in C". Dabei spielte er an seiner Super-Unix-Machine rum (>10K€) um emails zu lesen, prima. Na gut, inzwischen macht er bestimmt alles in .NET:ROFLMAO: .

soso .NET, heißt das ausgesprochen sowas wie "dut-Net" ;) ???

und tschüss
 
Zurück
Oben