# AWL vs. SCL



## DaMeista (21 Januar 2010)

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.
> ...


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


----------



## Rene_sps (21 Januar 2010)

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.


----------



## Larry Laffer (21 Januar 2010)

... 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 ...


----------



## vierlagig (21 Januar 2010)

> *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.
> 
> ...



http://automatisierer.blogspot.com


----------



## DaMeista (21 Januar 2010)

@ VL
Weltklasse!
Sehr schön geschrieben...

*ACK*

Ich hätte es nicht besser formulieren können.



> ...
> 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) )
> ...


Ein Traum!

Thumbs UP!!! ==> (außer FUP ;o) )


----------



## Flatpro (21 Januar 2010)

Ja alle haben ihre berechtigung


Außer FUB


----------



## bike (21 Januar 2010)

vierlagig schrieb:


> 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  

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


----------



## MasterOhh (21 Januar 2010)

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  )


----------



## bike (21 Januar 2010)

MasterOhh schrieb:


> 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  )



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 

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.


----------



## IBFS (21 Januar 2010)

bike schrieb:


> Ein Schrittkette in C schaut echt scheisse aus


YES!

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

Frank


----------



## MasterOhh (21 Januar 2010)

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.....


----------



## Thomas_v2.1 (22 Januar 2010)

bike schrieb:


> Ein Schrittkette in C schaut echt scheisse aus



Verstehe ich nicht. Was sieht denn an

```
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?


----------



## vierlagig (22 Januar 2010)

Thomas_v2.1 schrieb:


> 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 ...


----------



## Thomas_v2.1 (22 Januar 2010)

vierlagig schrieb:


> 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


----------



## bike (22 Januar 2010)

IBFS schrieb:


> YES!
> 
> Ein Glück, da musste ich mal DAS Schimpfwort nicht auspacken
> 
> Frank



Kann die Wahrheit ein Schimpfwort sein? 

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


----------

