AWL vs. SCL

DaMeista

Level-2
Beiträge
75
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo liebe Gemeinde!

Mir ist jetzt schon mehrfach das Gerücht zu Ohren gekommen, dass die Tage der AWL-Programmierung bei SIENENS-CPU´s gezählt sind.

Dies begründet sich angeblich in der Tatsache, dass die in der Step7-Befehlssyntax verwendeten Operatoren nicht viel mit denen in der IEC 61131-3 gemein haben.

Anstatt AWL soll dann SCL Verwendung finden.
KOP, FUP und Graph soll hiervon unberührt bleiben.

Meine Nachforschunge haben ergeben, dass SIEMENS sich der Unterschiede durchaus bewusst ist.
Im Anhag II (IEC 61131) zu den Ausbildungsunterlagen der TIA steht ein Hinweis auf ein Dokument namens "norm_tab.rtf" im lokalen Ordner auf der Festplatte.

Auszug aus diesem Dokument:

4.4 Sprache: Anweisungsliste (AWL)

Vorbemerkung zu Nr. 52:
Die wesentliche Abweichung von AWL bei STEP 7 zur Norm besteht in der abweichenden Befehlssyntax (siehe Nr. 52). Diese Abweichung wurde in Kauf genommen, um die Kompatibilitätsanforderungen zu AWL bei STEP 5 zu erfüllen.
Darüberhinaus enthalten AWL bei STEP 5 und STEP 7 weit mehr Befehle, als im Grundbefehlsvorrat der Norm definiert sind.



Tabelle Nr. Sprachelemente
_____________________________________________________________________________
52 Operatoren
1-21 Hinweis: unterschiedliche Syntax, aber gleiche Funktionalität

53 Funktionsbaustein-Aufruf in AWL
1-3 CAL mit Liste der Eingangsparameter, mit Laden / Speichern der Eingangsparameter, Verwendung von Eingabeoperatoren
3 Verwendung von Eingabeoperatoren *)

Hinweis: unterschiedliche Syntax, aber gleiche Funktionalität
Alles schön und gut - und auch durchaus bekannt.

Mir fällt es allerdings schwer zu glauben, dass ich deswegen die AWL-Programmierung an den Nagel hängen soll und in Zukunft alles mit SCL erschlagen muss.

Ich finde auch nirgends einen Hinweis, dass an diesem Gerücht etwas Wahres dran ist.

Wie steht es mit euch?
Hat jemand ähnliches gehört oder kann sogar detaillierte Informationen liefern???

Ich bin gespannt...


Viele Grüße aus Nordhessen
DaMeista
 
Also bei SCOUT (Programmierumgebung für SIMOTION) gibt es die Sprache AWL gar nicht mehr.
Es kann nur zwischen den Sprachen: ST, KOP/FUP, MCC gewählt werden.

Meine persönliches Gefühl ist, das AWL im Laufe der Zeit von ST abgelöst werden wird. Und die Siemens Programmierung sich immer weiter an die Norm anlehnt, wie es andere Hersteller auch tun.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
... nicht schon wieder diese Propaganda ...

Wir werden es (vielleicht) erleben.
Wenn Siemens das tut, dann können wird das auch nicht ändern.
Aber warum sollte Siemens das tun - sie ersparen sich doch dadurch keine Probleme sondern bekommen eher noch welche hinzu ...
 
Zuletzt bearbeitet:
Immer wieder tauchen Gerüchte auf, Siemens wolle ihr, der IEC 61131-3 inkonformes AWL langsam und schmerzfrei aussterben lassen.

Mit dem Eintritt einer neuen Programmierer-Generation in das Berufsleben gewann das Pascalnahe SCL mehr und mehr an Bedeutung. Jene, die während der Schulausbildung bereits mit Hochsprachen in Berührung gekommen sind stürzten sich zufrieden und Anfangs noch unter den argwöhnischen Blicken der alten Hasen auf die ihnen vertraut anmutenden Mittel. Mittlerweile hat SCL eine Verbreitung erreicht, die dazu führt, dass auch der älteste Hase es nicht mehr ignorieren kann. (Soll nicht heißen, dass er es einsetzen muß, aber er wird über kurz oder lang damit in Berührung kommen.) So entwickelte sich ein Generationenkonflikt, der seine Auswirkungen in eben jenen Gerüchten zeigt, die dem Wunsch und der Angst entspringen in Zukunft nur noch Hochsprachenbasiert zu automatisieren.

Siemens AWL hat eine über 35-jährige Geschichte. Als Siemens 1973 mit der SIMATIC S3 die Verbindungsprogrammierten Steuerungen hinter sich ließ begann sie AWL-Ära der mit Eintritt in ein neues Jahrzehnt ein Ende gemacht werden könnte. Ein erster Hinweis darauf vermutet man in der S7-1200, deren neue Programmierumgebung ohne AWL auskommen muß. In einschlägigen Foren wird diese Entscheidung scharf kritisiert und das Gros der Anwender kann diese strategische Entscheidung nicht nachvollziehen. Man könnte spekulieren ob die Auslieferung von vorn herein so geplant war, ob man, in Anbetracht des steigenden Druckes den letzten, fertigen Stand an die Kundschaft brachte um dann mit Service Packs und Hot Fixes zu einem Final Release zu kommen oder ob dies eine Marktforschungsgetriebene Aktion darstellt - "Mal sehen ob denen auffällt, dass da was fehlt..."

Für einen Ausstieg aus dem Siemens AWL spricht die Inkonformität mit der IEC 61131-3 in Hinblick auf die Syntax. Siemens AWL stellt aber darüber hinaus Befehle zur Verfügung die die Norm nicht definiert, welche für die Mehrzahl der Anwender zum guten Ton gehören.

Für eine Verbannung des Gesamtkonstruktes Instruction List, wie sie in der Norm definiert gibt es objektiv keine nachvollziehbaren Gründe. Der Aufwand, aus SCL oder ST Maschinenverwertbaren Code zu generieren ist groß und das Ergebnis mit dem der IL-Kompilierung im Hinblick auf Speicherbedarf und Nachvollziehbarkeit nicht zu vergleichen. Auch sind die Freiheitsgrade der so oft als Maschinennah bezeichneten Sprache größer wenn es darum geht Register- und Speicherindirekt zu Adressieren. Geht es allerdings um Berechnungen, Schleifen- und Auswahlkonstrukte eignet sich die Umsetzung in SCL.

Eine Ablösung von Siemens-AWL durch SCL würde keinen adäquaten Ersatz schaffen. Eine Umstellung des Siemens-AWL auf eine Normenkonforme Sprache bleibt zu befürworten, wenn im Gegenzug die IEC 61131-3 eine Revision und Erweiterung erfahren würde. Bliebe letzteres aus, so blieben weiterhin mindestens zwei Automatisierungswelten mit jeweils ihnen eigenen Tücken und Vorzügen.

Bleibt zu hoffen, dass sich in den Köpfen der sich immer wieder bekämpfenden Lager der Sprachfaschisten endlich einmal durchsetzt, dass die unterschiedlichen Darstellungen nicht aus Willkür sondern jede zu ihrem Zwecke ihre Daseinsberechtigung verdienen. (außer FUP ;o) )

http://automatisierer.blogspot.com
 
Bleibt zu hoffen, dass sich in den Köpfen der sich immer wieder bekämpfenden Lager der Sprachfaschisten endlich einmal durchsetzt, dass die unterschiedlichen Darstellungen nicht aus Willkür sondern jede zu ihrem Zwecke ihre Daseinsberechtigung verdienen. (außer FUP ;o) )
Also ich will mein FUP, das ist wie früher mit den TTL und das ist gut so :D

Im Ernst jetzt:
Die Diskussion welche Art der Darstellung genutzt wird ist Geschmackssache.
Ich schreibe alles was den Instandhalter interessieren könnte, sprich die Kiste steht, so, dass alle Darstellformen möglich sind.

bike

P.S: Ja und ich will mein FUP. Nahezu alle anderen Hersteller können das nicht, also leibes Siemens, sei anders :)
 
Ich habe 6 Jahre in der Schule Pascal gelernt, mir C, C++ und php selbst beigebracht (die ausreichende Laienversion). In meinem ersten Zusammentreffen mit einer Beckhoff SPS im Rahmen eines Praktikums hat es 2 ganze Tage gedauert bis ich das in ST und AS geschriebene Programm, welches darauf lief, im groben verstanden hatte.

Jetzt im Studium ist leider Siemens Hardcore angesagt und ich hasse es. Statt sofort alles auf den 2ten Blick zu sehen was im Programm passiert, muss ich den AWL Code Zeile für Zeile durchgehen um überhaupt zu raffen was wie zusammenhängt. Ständig muss ich diese ganzen Abkürzungen geistig übersetzten und aufpassen das man dabei nicht eine Klammer übersieht.
Dazu kommt dann noch in den Automatisierungsvorlesungen diese Schitzophrenie, dass die IEC 61131 hochgehalten und geprädigt wird, wenn es aber dann zu Anwendungsbeispielen kommt, der Prof. wieder die Siemensschiene reitet, die dann total anders ist als dass was man sich mühsam von der Norm merken konnte.

Ich persönlich brauch kein AWL (FUP schon garnicht ;) ). Lieber schreib ich in ST längere Zeilen, kann aber auch ohne Hirnverenkungen danach noch erkennen wie die Abläufe sind.

Aber ich kann auch verstehen das Leute die evtl. vorher nicht viel mit Hochsprachen am Hut hatten, mit AWL sicherlich besser klar kommen als ich. Der Mensch ist nun mal leider ein Gewohnheitstier (zu großen Glück von Siemens :rolleyes: )
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Aber ich kann auch verstehen das Leute die evtl. vorher nicht viel mit Hochsprachen am Hut hatten, mit AWL sicherlich besser klar kommen als ich. Der Mensch ist nun mal leider ein Gewohnheitstier (zu großen Glück von Siemens :rolleyes: )

Also jetzt muss ich aufklären: ich verdiene mein Geld hauptsächlich mit Hochsprachenprogrammierung.
Dennoch behaupte ich, dass Hochsprachen und Anlagensteuerungen keine echte Schnittmenge haben.
Ein Schrittkette in C schaut echt scheisse aus :D

Du hast, denke ich ,den Unterschied zwischen Anwendung und Maschinensteuerung nicht verstanden.
Die Fehler die allein Compiler in dein Programm reinbauen, die vermasseln dir den Erfolg mit Anlagen.
Wir haben regelmässig Studis im Werk, die mit dem Kopf voller Ideen feststellen, dass die Wirklichkeit eben anders ist.

Wenn eine Anwendung auf einen Event nicht oder verspätet reagiert, gut.
Wenn eine PLC dies auch tut, dann muss die weg!
Das geht im Maschinen und Anlagenbau überhaupt nicht.

Wenn reklamiert wird, dass immer wieder BigS ausgewählt wird, dann hat das seinen Grund.


bike

P.S: Well come to the real world

P.P.S: warum gibt es eigentlich SoftPLC? Ich mein ausser um die Entwickler in den Wahnsinn zu trieben.
 
Ich sage nicht das ich eine SPS in C programmiere (oder je programmieren würde). Meine Behauptung war nur das jmd der schon etwas Ahnung von Hochsprachen hat, wesentlich leichter mit Strukturiertem Text oder halt SCL klarkommt als mit AWL. Und heute lernen viele schon in der Schule C, C++ oder Pascal.

Ach ja, Schrittketten lassen sich wunderbar mit Case Anweisungen realisieren, auch Maschinen nah, das einzige was man vermeiden sollte sind Schleifen.....
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ein Schrittkette in C schaut echt scheisse aus :D

Verstehe ich nicht. Was sieht denn an
Code:
enum {
  SCHRITT_1 = 1,
  SCHRITT_2 = 2,
  SCHRITT_3 = 3
};

switch (state) {
  case SCHRITT_1:
    doThis();
    if (bla) state = SCHRITT_2;
    break;
  case SCHRITT_2:
    doThat();
    if (bla_bla) state = SCHRITT_3;
    break;
.
.
.
so scheiße? Sieht das in AWL etwa besser aus?
 
mit dem s-eignem SPL is es auf jedenfall mindestens genauso übersichtlich.
aber wie ich erwähnte, es gibt für jedes konstrukt die richtige sprache! bool in scl ist in etwa so sinnvoll wie langwierige berechnungen in kUp ...

Wobei in diesem Fall der SCL-Code fast genauso aussieht.

Dafür gibt es in C noch so schöne Sachen wie Funktionszeiger. Damit kann man auch eine Schrittkette machen die je nach Umfang auch sehr übersichtlich, und vor allem elegant ist.
Wer schonmal auf einem Mikrocontroller ein Menü für ein LCD-Display programmiert hat wird das zu schätzen wissen :)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
YES!

Ein Glück, da musste ich mal DAS Schimpfwort nicht auspacken :ROFLMAO:

Frank

Kann die Wahrheit ein Schimpfwort sein? :confused:

Natürlich kann man nahzu alles mit allem machen.
Doch es macht doch Sinn, das für die Anwendung notwendige richtige Werkzeug zu nutzen.

Also ich und auch unser Kunden verstehen Schrittketten z.B in FUP oder KOP besser alswie in SCL.
Und die sind nicht alt, sondern meist junge Jungdynamiker(alles neue ist gut;) )

bike
 
Zurück
Oben