# Grundsätzlich: Warum AWL ?



## tymanis (21 Mai 2010)

Ich hab mal an erfahrene Softwareentwickler eine einfache Frage:

Warum lese ich hier im Forum noch so oft AWL ? Ich denke wenn man keinen µC programmiert und nicht darauf angewiesen ist, dann bietet die Norm bei der SPS-Programmierung doch denkbar einfache alternativen um zu programmieren.
Hat das den Hintergrund, dass hier viele damit "aufgewachsen" sind oder seht ihr entscheidende Vorteile in AWL, warum ich SCL kaum hier im Forum lese?


----------



## vierlagig (21 Mai 2010)

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


......................


----------



## wolder (21 Mai 2010)

*ACK*
Dem ist nichts mehr hinzuzufügen.


----------



## DaMeista (21 Mai 2010)

:s12:  ... findet auch meine volle Unterstützung


----------



## IBFS (21 Mai 2010)

AWL ist GEIL!


----------



## MasterOhh (21 Mai 2010)

Ist wohl eher eine Geschmacks bzw. Philosophie-Frage. 
Ich persönlich halte AWL für ein Relikt und kenne auch bei uns oder in anderen Betrieben, mit denen ich etwas näher Kontakt habe, niemanden der freiwillig mit AWL Programmiert. Reicht mir schon wenn ich den Kram im Studium zwangseingetrichtert bekomme. (Naja immerhin besser als FUP  )


----------



## Gerhard K (21 Mai 2010)

Ein Relikt?
Ja, das aber immer noch sehr sehr viele(mich eingeschlossen)großteils verwenden.Vor allem was Siemens betrifft.
Ich mag AWL und sehe auch selten Programme die anders geschrieben sind.
Also sowas von veraltet.


----------



## mrdoc (21 Mai 2010)

MasterOhh schrieb:


> (Naja immerhin besser als FUP  )



Is das Ironie oder findest du echt KOP am besten?


----------



## devrim (21 Mai 2010)

Und auf was sollte man in Zukunft setzen?


----------



## mst (21 Mai 2010)

devrim schrieb:


> Und auf was sollte man in Zukunft setzen?


 
In ferner Zukunft... ...ist es glaube ich gut, wenn man die Gabe hat sich schnell in ein anderes sytem, einer programmiersprache, einen Prozess, oder dergleichen einzulernen.


----------



## Merten1982 (21 Mai 2010)

Meiner Meinung gibt es nur noch ganz ganz wenige Ausnahmen wo AWL von Vorteil ist. Das Argument Speicher und Geschwindigkeit gibt es bald nicht mehr. Denn auch Siemens wird die super laaaaaaaaaangsamen CPUs demnächst durch schnellere ersetzen.
Windowsprogramme schreibt auch kaum noch jemand in Assembler, es gibt ausnahmen, aber wenige...
Meistens finden diejenigen AWL super toll die es auch toll finden ÜBERALL, kreuz und quer auf Merker zuzugreifen. Wer braucht schon Datenkapeslung...
Und btw. OSCAT ist glücklicherweise auch in SCL geschrieben.


----------



## R.Blum (21 Mai 2010)

AWL hat vorteile, da man direkt inkrementell programieren kann.
Logik, sollte aber nicht in AWL programmiert werden, denn da hat KOP und FUP erhebliche Vorteile, denn wenn man die Klammerungen in AWL Logik auseinanderdröseln muss ist man eine Zeitlang beschäftigt.
In KOP/FUP zeigt sich der Logikzustand dagegen direkt, vor allem wenn die Logikbausteine eingefärbt werden.

Programme in SCL zu schreiben, ich muss zugeben, dass ich bisher nur fertige Programmteile gesehen habe und nicht selbst in SCL programmiere, bedeutet, den gesamten Baustein mit der kompletten Deklaration schreiben zu müssen, auch nicht unbedingt trivial. Da bin ich in AWL schneller. Es gibt aber Konstrukte die sich in SCL besser und einfacher darstellen lassen, das ist unbestritten.

Es ist, wie bereits gesagt wurde, eine Philosophie- und Geschmacksfrage. Das Problemm ist aber, dass es immer wieder Zeitgenossen gibt die mal kein AWL , mal kein SCL und mal keine Instanz-DBs und was weiß noch alles, nicht wollen.
Für die sind Merker immer noch erste Wahl, weil sie es von der STEP5 Seite her kennen und nie weiterlernen wollen. So werden wir noch lange mit Instandhaltern kämpfen die den richtigen Umgang mit Programmen und Daten nie lernen werden und es immer noch so halten wie zu S5 Zeiten. Gegen Sturheit ist eben kein Kraut gewachsen.

Im besten Fall bekommt man von solchen Kunden keine Aufträge mehr, weil man zu kompliziert ist. Aber der Kunde ist König, weil Sturbockig und aus diesem Grund machen wir weiter wie zu S5-Zeiten. Verstehen tun solche Kunden die Programme aber trotzdem nicht.

So nun genug aufgeregt, Euch allen ein frohes Pfingstfest.

Gruß Rolf


----------



## rostiger Nagel (21 Mai 2010)

Was ist den das hier, gibt es etwas besseres als AWL? 
KOP und FUP ist doch etwas für Weicheier .


----------



## Lipperlandstern (21 Mai 2010)

Helmut_von_der_Reparatur schrieb:


> Was ist den das hier, gibt es etwas besseres als AWL?
> KOP und FUP ist doch etwas für Weicheier .




Der galt mir, oder ?????   Was kann ich dafür wenn du nicht KOPpen und FUPpen kannst ????? Ich kann auch AWL und mir somit das beste raussuchen....

Wo bei ich bei KOP und FUP schön finde das die Symbole angezeigt werden wenn ich ein Element einfüge. Warum geht das bei AWL nicht ?


----------



## rostiger Nagel (21 Mai 2010)

Lipperlandstern schrieb:


> Der galt mir, oder ????? Was kann ich dafür wenn du nicht KOPpen und FUPpen kannst ????? Ich kann auch AWL und mir somit das beste raussuchen....
> 
> Wo bei ich bei KOP und FUP schön finde das die Symbole angezeigt werden wenn ich ein Element einfüge. Warum geht das bei AWL nicht ?


 
Hallo Weichei,
du bist mir garnicht in den Sinn gekommen, aber jetzt wo ich darüber
nachdenke macht KOP und FUP doch sinn, es ist das richtige wenn
mann nur einen Baustein braucht, den OB1 .

Deine frage mit den Symbol dingsda hab ich nicht verstanden, ich kann
kein KOP und FUP nur aus der F-Technik. Ich brauche sowiso keine 
Symbole, da ich alles mit Pointern und Adressregister mache. Alles andere
ist sowiso nur Schnick Schnack.


----------



## Paule (21 Mai 2010)

Helmut_von_der_Reparatur schrieb:


> Was ist den das hier, gibt es etwas besseres als AWL?
> KOP und FUP ist doch etwas für Weicheier .


*ACK* absolut Helmut!


Fakt ist: Mit AWL kann man Dinge machen die man mit KOP oder FUP nicht kann. 
Warum dann erst im Ernstfall auf AWL gehen und sich dann vielleicht schwer tun.
Am besten gleich alles in AWL und die Welt ist in Ordnung. 



devrim schrieb:


> Und auf was sollte man in Zukunft setzen?


Auf die Rente und auf AWL, beides ist sicher.


----------



## Lipperlandstern (21 Mai 2010)

tymanis schrieb:


> ......Ich hab mal an erfahrene Softwareentwickler eine einfache Frage:......



sag mal Helmut... hast du eigentlich den ersten Tread gelesen UND verstanden ? da steht was von "erfahren" .... jetzt weiss ich gar nicht warum du hier rumtippst    

Übrigens hab ich vor lauter Pointern und Adressregisten immer noch keine Rechnung von Euch. Da hast du doch rumprogrammiert und jetzt geht nix mehr, oder ?


----------



## mkd (21 Mai 2010)

Hallo,

m.M.n. ist AWL in der Siemes Welt einfach nötig, da sich bestimmte KOP/FUP Kombinationen in einem Netzwerk nicht sauber darstellen lassen. Ich sehe aber zu, dass AWL Geschichten in Funktionen genutzt werden und deren Schnittstelle in KOP oder FUP versorgt wird.
Mit AWL geht einiges einfach sauberer oder ist überhaupt nur so möglich (Stichwort Indirekte Adressierung, Berechnungen, Schrittketten). 
Klar, SCL geht auch, wird aber von einigen Kunden nicht gerne gesehen da man, wie bei Siemens typisch, wieder ein Softwarepaket braucht etc.
Zudem finde ich den strukturierten Text (SCL) in der Siemens Welt nicht gerade gelungen. 
Das kann sogar Omron besser.
Bei Beckhoffs Twin Cat kann man getrost auf AWL (IL) verzichten hat aber auch ein Tool für Strukturierten Text an der Hand, welches wirklich zu gebrauchen ist.
M.M.n. benötigt man textbasierte Programmiersprachen dort, wo es bei einer Steuerung über reine Bitschubserei hinausgeht. 


Gruß
Daniel


----------



## rostiger Nagel (21 Mai 2010)

Lipperlandstern schrieb:


> sag mal Helmut... hast du eigentlich den ersten Tread gelesen UND verstanden ? da steht was von "erfahren" .... jetzt weiss ich gar nicht warum du hier rumtippst


 
erfahren sagst du, ich habe das von verfahren gelesen, verfahren tue
ich mich schon öfter.




Lipperlandstern schrieb:


> Übrigens hab ich vor lauter Pointern und Adressregisten immer noch keine Rechnung von Euch. Da hast du doch rumprogrammiert und jetzt geht nix mehr, oder ?


 
Wir haben vor drei Wochen unsere Geldeintreiber auf dich angesetzt, du 
weißt doch Dimitrij und Jurij, aber auf den weg zu dir sind Sie in eine 
Polizeikontrolle geraten auf der A2, jetzt sitzen die Brüder und unsere
Buchhaltung sucht jetzt neue Geldeintreiber. Aber wie es so ist will
der Einkauf da auch immer ein Wörtchen mitreden wir schwanken jetzt
immer noch zwischen der Russischen und Polnischen Mafia, wenn
aber die Angebote im Haus sind geht alles schnell.


----------



## diabolo150973 (21 Mai 2010)

Also:

Ich persönlich mag es am Liebsten, wenn ich mit dem Finger die grünen Linien auf dem Bildschirm nachfahren kann, wenn ich ONLINE bin!!!
Das geht in AWL nicht. Ergo: AWL ist kacke!!!


Gruß,

dia


----------



## Paule (21 Mai 2010)

diabolo150973 schrieb:


> Ich persönlich mag es am Liebsten, wenn ich mit dem Finger die grünen Linien auf dem Bildschirm nachfahren kann, wenn ich ONLINE bin!!!
> Das geht in AWL nicht. Ergo: AWL ist kacke!!!


 
Du meinst so eine Art Blindenschrift für Programmierer.


----------



## diabolo150973 (21 Mai 2010)

Paule schrieb:


> Du meinst so eine Art Blindenschrift für Programmierer.




Ja, richtig! Nur, dass die kleinen Gnubbel auf meinem Monitor aus Fliegenkacke sind und als Brailleschrift nix taugen...


Gruß,

dia


----------



## rostiger Nagel (21 Mai 2010)

diabolo150973 schrieb:


> Also:
> 
> Ich persönlich mag es am Liebsten, wenn ich mit dem Finger die grünen Linien auf dem Bildschirm nachfahren kann, wenn ich ONLINE bin!!!
> Das geht in AWL nicht. Ergo: AWL ist kacke!!!
> ...


 
ich fahre nie mit den Finger über den Bildschirm, das gibt nur Fettflecken.
Aber ich arbeite nach einen ähnlichen prinzip, im Online Modus schaue ich
auf die Spalten neben den AWL Zeilen, die Spalten VKE und STAT sagen 
mir das gleiche wie deine grüne Linie, mit den einzigen Unterschied das
da mehr Verknüpfungen auf den Bildschirm passen.


----------



## Lipperlandstern (21 Mai 2010)

Helmut_von_der_Reparatur schrieb:


> ich fahre nie mit den Finger über den Bildschirm, das gibt nur Fettflecken.
> Aber ich arbeite nach einen ähnlichen prinzip, im Online Modus schaue ich
> auf die Spalten neben den AWL Zeilen, die Spalten VKE und STAT sagen
> mir das gleiche wie deine grüne Linie, mit den einzigen Unterschied das
> da mehr Verknüpfungen auf den Bildschirm passen.



vor allem bei Pointern, Adressregistern und ind. Adressierung......  und ich wusste immer das du Farbenblind bist


----------



## rostiger Nagel (21 Mai 2010)

Lipperlandstern schrieb:


> vor allem bei Pointern, Adressregistern und ind. Adressierung......  und ich wusste immer das du Farbenblind bist


 
ja ja, ich geb es zu, KOP ist eine tolle sache, aber ich kann diese blöde
grüne linie nicht erkennen. Kann mann das eigendlich im Editor irgendwo
umstellen


----------



## Lipperlandstern (21 Mai 2010)

Helmut_von_der_Reparatur schrieb:


> ja ja, ich geb es zu, KOP ist eine tolle sache, aber ich kann diese blöde
> grüne linie nicht erkennen. Kann mann das eigendlich im Editor irgendwo
> umstellen




Ich glaube das geht wirklich... welche Farbe hättest denn gerne ????


----------



## Sockenralf (21 Mai 2010)

Hallo,

kaum wird der Status rot, schon wird der Helmut zum FUP-Freak, oder wie? 


MfG


----------



## Jan (21 Mai 2010)

Hallo,

ich schreibe fast alles in FUP, weil für mich die Zusammenhänge leichter zu verstehen sind. 
Wenn es an indirekte Adressierung geht, gehe ich auch mal zu AWL über, aber nur wenns sein muss.
Der Vorteil ist auch, dass jeder AWL-Freak was mit meinem Programm anfangen kann, weil man es einfach von FUP in AWL umschalten kann.
Umgekehrt geht es leider nicht, da sitzt man als FUP-Programmierer schon ne kleine Weile vor den AWL-Zeilen bis man die Funktion der Anlage raus hat.


----------



## Question_mark (21 Mai 2010)

*Auf der Suche nach den grünen Pünktchen*

Hallo,



			
				Helmut_aus_der_Reparatur schrieb:
			
		

> Aber ich arbeite nach einen ähnlichen prinzip, im Online Modus schaue ich auf die Spalten neben den AWL Zeilen, die Spalten VKE und STAT sagen mir das gleiche wie deine grüne Linie, mit den einzigen Unterschied das da mehr Verknüpfungen auf den Bildschirm passen.



So isset. Man sieht bei der Fehlersuche auf einen Blick, wo das VKE hängenbleibt ...

Während sich der FUP-Fan noch durch die Netzwerke scrollt. Oder das KOP-Weichei noch überlegt, ob in der Peripherie ein Öffner oder ein Schliesser jetzt irgendetwas machen sollte 

FUP und KOP bremsen unheimlich bei der Online Fehlersuche. Um aber eine logische Funktion (offline und in aller Ruhe) betrachten zu können, kann man auch mal in FUP umschalten. Aber KOP ist sowas von überflüssig ...

Und für sehr komplexe Funktionen ist SCL allerdings die erste Wahl. Man muss nur selber abwägen, welche Sprache man für die jeweilige Aufgabe sinnvoll einsetzt. Also alles kann sinnvoll sein, ausser KOP natürlich 

Gruß

Question_mark


----------



## Question_mark (21 Mai 2010)

*SCL, AWL, FUP und KOP*

Hallo,



			
				Jan schrieb:
			
		

> FUP-Programmierer schon ne kleine Weile vor den AWL-Zeilen bis man die Funktion der Anlage raus hat.




Also ich schreibe grundsätzlich alles in AWL, aber zumeist klopfe ich noch die "NOP 0" Anweisungen mit herein. So kann man das auch von AWL nach FUP übersetzen. Macht aber nur Sinn bei nicht allzu komplexen Funktionen. Wenn das in FUP nicht in einem Netzwerk darstellbar ist, kann ich auch gleich auf die NOPs verzichten.

Gruß

Question_mark


----------



## chkdsk.exe (22 Mai 2010)

Merten1982 schrieb:


> Meiner Meinung gibt es nur noch ganz ganz wenige Ausnahmen wo AWL von Vorteil ist. Das Argument Speicher und Geschwindigkeit gibt es bald nicht mehr. Denn auch Siemens wird die super laaaaaaaaaangsamen CPUs demnächst durch schnellere ersetzen.
> Windowsprogramme schreibt auch kaum noch jemand in Assembler, es gibt ausnahmen, aber wenige...
> Meistens finden diejenigen AWL super toll die es auch toll finden ÜBERALL, kreuz und quer auf Merker zuzugreifen. Wer braucht schon Datenkapeslung...
> Und btw. OSCAT ist glücklicherweise auch in SCL geschrieben.


Habe selten so einen Quatsch gelesen....


			
				Merten1982 schrieb:
			
		

> ......
> Windowsprogramme schreibt auch kaum noch jemand in Assembler, es gibt ausnahmen, aber wenige...
> ...........


Wenn jemand versucht SPS-Programmierung mit diesem schwabbeligen Windows zu vergleichen, weiß ich gleich was ich davon zu halten habe.


			
				Merten1982 schrieb:
			
		

> ..........
> Meistens finden diejenigen AWL super toll die es auch toll finden ÜBERALL, kreuz und quer auf Merker zuzugreifen. Wer braucht schon Datenkapeslung...
> ...........


Klar, und wenn du die Daten aber kreuz und quer überall in deinem Programm abfragen musst, programmierst du dich mit Deiner 'Datenkapselung' dumm und dämlich. 
Wahrscheinlich greifst du dann lieber "kreuz und quer" auf deine 'gekapselten' Instanzdaten zu....
Ich lach mich scheckig....*ROFL*


----------



## Markus (22 Mai 2010)

Jan schrieb:


> Der Vorteil ist auch, dass jeder AWL-Freak was mit meinem Programm anfangen kann, weil man es einfach von FUP in AWL umschalten kann.


 
DASS was dabei rauskommt ist KEIN AWL - das ist BULLSHIT!

ich will mich nicht zuuuu weit aus dem fenster lehnen, aber pauschal behaupte ich, dass an jeden mit FUP oder KOP generierten AWL Code um fast die hälfte kürzen kann wenn man den ganzen überflüsigen ballst rauswirft - dann ist der code auch lesbar...

vielleicht ist AWL auch deshalb bei der "malen nach zahlen" fraktion so unbeliebt weil sie sich durch den grausigen AWL code irritieren lassen der beim übersetzen ihrer werke entsteht...

von strukturiertem text halte ich sehr viel, und selbst ich als großer AWL fan bin überzeugt davon das AWL mittelfristig stirbt.
ich greife vorzugsweise zu AWL anstelel von SCL, aber daran ist in erster linie der SCL editor von siemens schuld, der ist nämlich freundlich und lieb ausgedrückt DER LETZTE DRECK!

AWL ist ein tolles allround mittel um berechnugnen und logic zu realisieren - und das ganze hardwarenah!

das argument "hardwarenah" bzw. laufzeit optmiert wird in zukunft nicht mehr zählen, wie schon erwähnt wurde hat inzwischen selbst siemens begriffen das langsame CPUs mit kleinem speicher einfach nicht mehr so beliebt sind...

da sich berechnungen in ST wesentlich schneller, sauberer und strukturierter programmieren lassen wie in AWL, gehe ich davon aus dass es nur noch eine frage ist bis im falle von siemens ein brauchbarer scl editor rauskommt - im falle von beckhoff ist das ja schon so.

ST ist aber denkbar schlecht geeignet für logische funktionen, aber auch in dem bereich halte ich KOP und FUP für mittelfritig tote pferde, in diesem fall wird sich wohl eher GRAPH durchsetzten wo dann z.b. ST code in den einzelen sequnezen gekapselt ist...

also die frage nach AWL istr pauschal nicht zu beantworten sondern nur in verbindung mit dem hersteller - viele steuerungen unterstüzen AWL ja garnicht, haben davür aber eventuelle andere editoren die wesentlich mächtiger sind als vergleichbare von z.b. siemens...

im falle von siemens behaupte ich jetzt einfach das AWL mittelfristig durch SCL in verbidung mit GRAPH ersetzt wird, bzw. sich diese sprachen durchsetzen werden.

ABER: das hängt im großen und ganzen von zwei faktoren ab die siemens beinflusst. 
1. die lizenpolitik, wird wieder wie bisher für jeden sprache eine eingen lizenz nötig, dann sehe ich verdammt schwarz

2. wird das "neue" SCL bzw. der editor endlich praxistauglich sein.


aber was mich betrifft werde ich wohl die nächsten 2-3 jahre SICHER noch ALLES in AWL machen - wenn es sich im Step7 handelt...


----------



## Question_mark (22 Mai 2010)

*...*

Hallo,



			
				Markus schrieb:
			
		

> aber auch in dem bereich halte ich KOP und FUP für mittelfritig tote pferde,



Was KOP betrifft, da kann ich Dir ohne Einschränkung zustimmen. Aber letztendlich wird das immer noch der Endkunde bestimmen, also im Falle KOP wohl die Automobilindustrie. Und bei den Umsätzen, die in dieser Branche mit der Automobilindustrie gemacht wird, naja. Da wird wahrscheinlich dieser KOP-Dreck noch einige Jahre überleben.

Und das gleiche gilt für FUP, letztendlich muss ich als Programmierer mich darum kümmern, das Programm so zu erstellen, das auch die Instandhaltung des Kunden damit klarkommt. Ich habe nämlich absolut keine Lust, nachts um 3 Uhr vom Telefon aufgeweckt zu werden.

Gruß

Question_mark


----------



## Flo (22 Mai 2010)

Servus,
die meisten Argumente wurden ja bereits aufgezählt, dennoch möchte ich mal meine Meinung und Sichtweise zum Thema darlegen.



Markus schrieb:


> aber was mich betrifft werde ich wohl die nächsten 2-3 jahre SICHER noch ALLES in AWL machen - wenn es sich im Step7 handelt...



Ich behaupte sogar (mit meinem "jungen" Alter von 27) das ich was die Siemens SPSn betrifft, auch die nächsten 10 Jahre noch mit AWL programmieren werde. Die gründe hierfür sind ganz einfach:
- Selbst bei einfachen logikverknüpfungen wird awl programmiert, da es     einfach 100mal schneller gehtr den Code runter zu hacken als mit dem doofen Striche und Kästchen zeichnen.Die bedienung der "Zeichnungssprachen" ist einfach zu umständlich. Und die, die in der Lage sind den AWL Code der möglichen Befehle so zu programmieren das man ihn in umschalten kann, haben auch für die Onlineansicht keinerlei nachteile (was zugegebenermaßen die Fehlersuche oft einfacher macht).
- Ein ganzer Haufen Befehle/Funktionen sind eben nur in awl realisierbar, siehe z.b. indirekte Adressierung. Die, die damit ein Problem haben, bzw. es für Relikte oder ähnliches halten, haben zum einen das Problem das sie nicht vedrstehen was und wie es gemacht wird, und zum anderen im Laufe der Jahre feststellen werden das es halt aufgrund der Historie einfach nicht ohne geht.
- Die einzig andere brauchbare Sprache (Strukurierter Text) die Siemens in Form von SCL anbietet, einfach nur Mist ist.Die Bedienung des SCL Editors, das generieren des SCL Codes in !awl!, das verwalten 2er Bausteine für einen Code, um hier nur mal ein paar Punkte zu nennen.
- Nicht zu vergessen das Speicherproblem. Mag ja sein das Siemens jetzt schön langsam mal hochrüstet was die Speicherkapazitäten und Prozessorleistungen angeht, aber es sind zig Tausende Steuerungen in Betrieb, die ja auch immer wieder geändert und erweitert werden.

In Hinsicht auf die Siemens Steuerungen vertrete ich die Ansicht, awl ist und bleibt und das ist auch gut so.

Ganz anders sieht es hier bei den Codesys Plattformen aus. Da ich auch viel mit Steuerungen arbeite die Codesys verwenden, muss man hier ganz klar sagen, den IL Editor kann man sich sparen.Das liegt aber zu 100% daran das man hier die möglichkeit hat mit einem guten ST Editor arbeiten zu können, und einfach ein ganz anderes Speicherkonzept verfolgt wird, das auchganz andere Möglichkeiten bietet.

mfg, Flo


----------



## DaMeista (22 Mai 2010)

Markus schrieb:


> DASS was dabei rauskommt ist KEIN AWL - das ist BULLSHIT!
> 
> vielleicht ist AWL auch deshalb bei der "malen nach zahlen" fraktion so unbeliebt weil sie sich durch den grausigen AWL code irritieren lassen der beim übersetzen ihrer werke entsteht...
> 
> ...



:s12: Danke, Markus! 

Ein dickes ACK für diese treffende Antwort!
Ich hätte es nicht besser schreiben können.

Da ja schon alles über die Vor- und Nachteile gesagt wurde und ich die angeführten Argumente der "erfahrenen Benutzer" teile, bleibt mir nur meine persönliche Meinung zu diesem Thema zu posten:

KOP und FUP ist programmieren für dummies!

Die einzige Daseinsberechtigung die diese (Achtung) ==> *"Programmiersprachen"* *ROFL* haben, ist der Kundenwunsch. Da nicht jeder Instandhalter zwingend ein begnadeter Programmierer sein kann, der sich mit allen erdenklichen Sprachen und Darstellungsformen der unterschiedlichsten Hersteller auskennen kann, verstehe ich auch die Notwendigkeit von KOP und FUP.

Mit Softwareentwicklung hat das (imho) nicht viel zu tun.

_*Die Striche, Symbole und Kästchen sind außerdem schlecht für den Bildschirm und verursachen obendrein noch Augenkrebs!!!*_

Wenn sich beim Öffnen eines Bausteinsteins solche Schmierereien aufbauen, dann nehme ich immer ganz schnell die Strg+2 Tastenkombination ;-)

In diesem Sinne...
Ein fröhliches Pfingstfest für alle die meine Meinung teilen und auch für alle denen ich jetzt auf den Schlips getreten bin (nicht sauer sein - ein Paar Jahre Berufserfahrung und ihr wisst die Vorteile von AWL zu schätzen)

Und viele Grüße aus Nordhessen (wo echte Männer noch in AWL programmieren) 
Vorsicht - Ironie


----------



## Lipperlandstern (22 Mai 2010)

Wenn ich an euerer Stelle nur Siemens- AWL könnte dann würd ich mir langsam Gedanken um einen neuen Job machen *ROFL*

F-Technik von Siemens... wo ist AWL ? Geht nicht.Nur KOP und FUP....  aber das ist ja nur für Dummies   und die neue S7-1200 hat auch kein AWL ? ( ist das ein Gerücht oder ist das wirklich so ?)...

Nun denn... ich programmiere viel in FUP. Auch manchmal Dinge wo ich mich selber hinterfrage ob das noch Sinn macht. Hat sich aber historisch so ergeben und die Instandhalter lieben mich dafür. 

Und wenns mal etwas länger dauert ? Egal... ich bekomm es bezahlt und nicht mal schlecht. Aber das ist jetzt ein anderes Thema.


----------



## rostiger Nagel (22 Mai 2010)

An alle AWL-Verliebte (zu denen ich auch gehöre), lt. Siemens Gerüchte
Küche, wird mit Hochdruck an den neuen Automation Portal für die S7 300 / 400
gearbeitet dabei soll sogar richtig Geld in die Hand genommen werden damit es nicht
so ein Reinfall wie bei WinCC flexibel wird. Mit dieser neuen Software wollen
die uns unter Umständen noch dieses Jahr beglücken, dabei steht fest das
AWL gestrichen wird, d.h. es wird kein AWL mehr geben. Anzeiche dafür
das die neue Software kommen wird, sind die Angebote für das Step 7
Professionell, die werden z.Z. Reduziert angeboten. Wer sich das jetzt zulegt
bekommt später den einstieg zur neuen Software Gratis.


----------



## Lipperlandstern (22 Mai 2010)

Helmut_von_der_Reparatur schrieb:


> An alle AWL-Verliebte (zu denen ich auch gehöre), lt. Siemens Gerüchte
> Küche, wird mit Hochdruck an den neuen Automation Portal für die S7 300 / 400
> gearbeitet .......
> 
> ...




Abgesehen das ich mir das kaum vorstellen kann stehe ich für Fragen zu FUP und KOP natürlich jederzeit zur Verfügung *ROFL*


Ich vermute aber das nur der Name AWL gestrichen wird. Das heisst das Kind eben anderes. So ganz ohne AWL ist doch auch nicht wirklich schön.....


----------



## MSB (22 Mai 2010)

OK, Siemens-AWL wird also sterben, why not,
aber wenn man jetzt mal mutmaßt, das sich Siemens dann bald auch wirklich mal an die 61131-3 halten wird,
würde daraus folgen das dann die IEC-IL Variante kommen wird.

Und wenn man jetzt AWL vs. IL setzt, dann gibt es für mich da einen klaren Gewinner: AWL.

Zur Allgemeinen KOP/FUP vs. AWL Diskussion.
Ich mache nun auch öfter mal Fehlersuche an irgendwelchen Maschinen als quasi Instandhalter,
wenn die Software logisch und struckturiert aufgebaut ist, ist die Sprache relativ egal,
andernfalls wenn das schon nicht der Fall ist, dann hilft KOP/FUP dabei auch nichts.

Mfg
Manuel


----------



## Michael Müller (22 Mai 2010)

Hallo,
bei uns findet auch die Überlegung statt auf ST umzusteigen.
Es besteht ja so auch eine Kompatibilität zu andern Steuerungsherstellern.

Meine Frage ist nur immer wieder:
Was passiert beim Kompilieren. Wird da doch mehr Speicherplatz und Zykluszeit verheizt als Notwendig?

Solange wir auf solche Dinge achten müssen bleiben wir sicherlich bei AWL.

Wenn ich sehe wie z.B. Winccflex Projekte > 10mbyte werden könnte ich k..... 

michael


----------



## rostiger Nagel (22 Mai 2010)

Lipperlandstern schrieb:


> Abgesehen das ich mir das kaum vorstellen kann stehe ich für Fragen zu FUP und KOP natürlich jederzeit zur Verfügung *ROFL*
> 
> 
> Ich vermute aber das nur der Name AWL gestrichen wird. Das heisst das Kind eben anderes. So ganz ohne AWL ist doch auch nicht wirklich schön.....


 
LiLaStern, 
gut das wir dich hier für KOP und FUP fragen haben, könntest du mir gleich
mal mit Code Tags eine schulung geben. Fangen wir mal mit "ODER" und "UND" an.
Das mit den Farben hast du auch noch nicht erklärt?


Zu AWL es wird gestrichen und dafür gibt es dann nur noch SCL, so sieht es aus.


----------



## Lipperlandstern (22 Mai 2010)

Helmut_von_der_Reparatur schrieb:


> LiLaStern,
> gut das wir dich hier für KOP und FUP fragen haben, könntest du mir gleich
> mal mit Code Tags eine schulung geben. Fangen wir mal mit "ODER" und "UND" an.
> Das mit den Farben hast du auch noch nicht erklärt?
> ...



Mit den CodeTags wird sich Markus was überlegen müssen  .... und bei SCL fangen wir alle fast bei 0 an , oder ? Und Farben brauch ich dir nicht erklären. Du bist Farbenblind wie du es auch HIER wieder beweisst *ROFL*


----------



## MSB (22 Mai 2010)

Michael Müller schrieb:


> Meine Frage ist nur immer wieder:
> Was passiert beim Kompilieren. Wird da doch mehr Speicherplatz und Zykluszeit verheizt als Notwendig?



Das ist imho mittlerweile absoluter Blödsinn und ein nicht haltbares Vorurteil.
Der von SCL generierte Baustein, hat im Normalfall ziemelich exakt 5 Anweisungen mehr als ein klassischer Baustein.
Diese 5 Anweisungen wiederum beziehen sich auf das Handling des BIE-Bits, also den ENO-Ausgang eines Bausteins, was meisten "vergessen" wird.

Bei Schleifen und Co., wo SCL ggü. AWL erhebliche Vorteile bietet, geht der Punkt definitiv an SCL,
schon alleine weil das hinterher überhaupt noch wer normal lesen kann.

Abgesehen davon hat auch Siemens mittlerweile schnelle SPSen, jüngstes Beispiel bei mir:
315-2AF03 raus (170ms Zykluszeit), 315-2AH14 rein (6 ms Zykluszeit), das Programm war zu dem Zeitpunkt noch absolut unverändert.

Das einzige wirkliche Problem bei SCL ist:
- Der Editor (Stand Heute)
- Die relativ umständliche Online-Sicht
- Die Abhängigkeit des Programmcodes von der Compiler-Version (quasi der SCL-Version/ServicePack)

Mfg
Manuel


----------



## Jan (22 Mai 2010)

@ Markus

Das ein reiner AWL-Code kürzer ist, als ein übersetzter, kann ich nicht abstreiten. Ich musste mal ein Programm in AWL anpassen; habe mich etwas schwer getan. 
Entweder habe ich bisher in AWL zu wenig gemacht, oder das Programm war nicht sauber geschrieben, oder beides, oder DaMeista hat Recht und ich bin ein Dummie .


@ Flo

Das man in AWL den Code schneller runterprogrammieren kann, als in FUP liegt auf der Hand.
Wobei man in FUP auch relativ schnell programmieren kann, wenn man nur mit der Tastatur programmiert. Da kann man schon etwa die Hälfte an Zeit sparen. (Ich programmiere FUP zu 95% mit der Tastatur.)



@ Helmut

Wenn es kein AWL mehr gibt, wie soll dann die indirekte Adressierung programmiert werden? Wird es dann einen Baustein geben, mit dem das geht? Auch wenn ich am liebsten in FUP programmiere, nutze ich AWL, wenn es in FUP zu aufwändig oder zu unübersichtlich werden würde.


----------



## Paule (22 Mai 2010)

Jan schrieb:


> Ich musste mal ein Programm in AWL anpassen; habe mich etwas schwer getan.
> Entweder habe ich bisher in AWL zu wenig gemacht, oder das Programm war nicht sauber geschrieben, oder beides,....


Darum meinte ich:


Paule schrieb:


> Fakt ist: Mit AWL kann man Dinge machen die man mit KOP oder FUP nicht kann.
> Warum dann erst im Ernstfall auf AWL gehen und sich dann vielleicht schwer tun.


----------



## rostiger Nagel (22 Mai 2010)

> @ Helmut
> 
> Wenn es kein AWL mehr gibt, wie soll dann die indirekte Adressierung programmiert werden? Wird es dann einen Baustein geben, mit dem das geht? Auch wenn ich am liebsten in FUP programmiere, nutze ich AWL, wenn es in FUP zu aufwändig oder zu unübersichtlich werden würde.



Natürlich wird die indirekte Adressierung in KOP intregiert mein
Siemens vertriebler hat mir dafür schon einmal ein Symbol gezeigt:






damit das Programieren nicht so langweilig wird, werden jetzt immer
mehr Smilies eingesetzt


----------



## IBFS (22 Mai 2010)

Helmut_von_der_Reparatur schrieb:


> Natürlich wird die indirekte Adressierung in KOP intregiert mein
> Siemens vertriebler hat mir dafür schon einmal ein Symbol gezeigt:
> 
> 
> ...


 
Ist heute 1.April oder was?

Alles wird besser, aber nichts wird gut!


Ich bin mal gespannt, was mit den vielen AWL-(Firmen)-Standard-Bausteinen
werden soll, wenn es wirklich kein AWL mehr geben sollte.
Da kann ich doch gleich Allen Bradley programmieren.
Siemens wird sich noch wundern!

Gruß in die Nacht!


----------



## Lipperlandstern (23 Mai 2010)

Bevor ich es nicht sehe glaube ich es nicht... und wenn ich es in V1 sehe dann glaube ich nicht das es in V2 immer noch so ist. Das kann das grosse S doch eigentlich nicht machen..... und wenn sich das neue Zeugs nicht verkauft dann werden sie schon reagieren (müssen)

Alles wird AWL


----------



## IBFS (23 Mai 2010)

Lipperlandstern schrieb:


> Alles wird AWL


 
Alles ist AWL

Es wird nur für sehschwache mittels KOP und FUP aufgehübscht. 

Naja ich verwende, je nach Kundenwunsch, ausser HiGraph eingentlich
alles, sogar Siemens-CFC (separat ohne PCS7). Aber mit AWL ist man
immer noch am schnellsten.

Gruß


----------



## peter(R) (23 Mai 2010)

*Ganz einfach ...*

.. bitverarbeitung in FUP wegen der besseren Übersichtlichkeit. Damit der Instandhalter Inis, Ventile uä. einfach prüfen kann ( das sähe in AWL verboten aus bei umfangreicheren Verknüpfungen )
Berechnungen und son Kram in AWL ( auch wegen der besseren Übersichtlichkeit ). Sieht meines erachtens in FUP besch... aus. Dann gibts ja auch noch Dinge die in FUP nicht gehen.

peter(R)


----------



## MasterOhh (24 Mai 2010)

Ich wusste ja garnicht das SCL bei Siemens so ein riesen Problem ist. Mir war ja klar das sich Siemens jedes einzelne Bit der Entwicklungsumgebung ordentlich vergolden lässt und deswegen niemand nochmal ein paar Scheine extra abdrücken will, für Sachen die bei anderen Herstellern kostenlos sind. 
Aber das der SCL (ST) Editor dann auch gleich noch Schrott sein soll, kam mir nicht in den Sinn. 
Dann ist es ja kein Wunder, dass AWL in der Siemenswelt noch so aktuell ist. Ich will hier jetzt keinen Glaubenskrieg lostreten, aber als ich meinte das AWL ein Relikt ist bezog sich das auf meine Erfahrung und die habe ich zu 80% mit Beckhoff-Steuerungen gemacht. Und wenn man da ne 1,2Ghz CPU mit 4GB Flashspeicher hat, denkt man nicht groß drüber nach ob sein Programm jetzt 200kB oder 300kB groß werden darf. 
Ich arbeite mich erst jetzt, durchs Studium bedingt, in S7 und Co. ein. Und muss mich echt manchmal Fragen wie man so viel mehr Geld für Produkte verlangen kann, die teilweise der Konkurrenz technologisch mehrere Jahre hinterher hinken. (Den letzten Satz hätte ich hier wohl lieber nicht schreiben soll wie?  )


----------



## IBFS (24 Mai 2010)

MasterOhh schrieb:


> Ich arbeite mich erst jetzt, durchs Studium bedingt, in S7 und Co. ein. Und muss mich echt manchmal Fragen wie man so viel mehr Geld für Produkte verlangen kann, die teilweise der Konkurrenz technologisch mehrere Jahre hinterher hinken. (Den letzten Satz hätte ich hier wohl lieber nicht schreiben soll wie?  )


 
Die eigentlichen Vorteile - sorry wenn ich dass so sage - merkt man erst
bei großen Projekten bzw. offenbaren sich erst nach Jahren der Praxis.

Das Problem, wenn mehrere Programmierer verschiedene Steuerungsteile
in der gleichen PLCs programmieren wollen offenbart sich erst dann wenn
man es bräuchte bzw. nicht mehr hat (S7--> Codesys).

Ja und die Schwierigkeit mit Umgang mit verschiedenen Targets und HWKonfigs 
verschiedener Hersteller mit Codesys fällt leider erst so richtig dann auf, wenn
man parallel WAGO,BECKHOFF,ECKELMANN u.v.a.m. auf einem PC programmieren will.
Da bekommt man mit dem Startprojekt die LIBs nicht mitgeschickt. Da muss man
erst die Target anmelden. Dann muss man noch irgenwelche *.exe starten (die
man gerade nicht hat) , weil eben der Target-Import doch noch nicht genug ist. 
Die aktuelle Lösung überzeugt mich leider nicht.

Bei Siemens ist in einer ZIP-Datei ALLES Drin:
Programm, VISU, Antriebe, Vernetzung usw. 


Gruß

Frank


----------



## Drutbluck (24 Mai 2010)

tymanis schrieb:


> erfahrene Softwareentwickler



OK  In der normalen Softwareentwicklung setzt man schon seit Jahrzehnten idR höhere Programmiersprachen ein: C, Pascal, C++, Java, Fortran, Basic... (das Step7-Äquivalent wäre SCL)

Assembler (AWL) ist nur für Zwischenfunktionen, die anders nicht gut realisierbar sind, Hardwareschnittstellen, Optimierung und nimmt nur noch einen kleinen Anteil am Quellcode ein.

In Step7 speziell ist AWL öfter als normal gerechtfertigt, wegen der besseren Debug-Möglichkeiten.

AWL hat einige brauchbare Features, die in SCL nicht so gut oder ineffizient nachzubilden sind: FP, SPL, Behandlung der Datentypen (besonders bei *I). Aber eigentlich ist da auch SCL ok: wenn AWL nicht verfügbar ist, ist der SCL-Code besser anzupassen.

Für Schleifen, Berechnungen (in der Regel), in jedem Fall Arrayzugriffe (indirekte Adressierung), und alles, was komplex ist, nehme ich SCL.

Manche kleinen Funktionen "erfordern" für mich auch wieder AWL, nur zum Zugriff aus SCL heraus, das können "optimierte" Datenumwandler sein. Wenn AWL verschwinden würde, würde manches viel schwieriger werden.

KOP und FUP ist eigentlich nur eine Art graphischer Assemblercode, noch stärker eingeschränkt als AWL, es kann in einigen Fällen sinnvoll sein, aber kein Ersatz dafür.

Standards? Ist SCL oder AWL mit irgendeinem Standard konform? Unter welcher Voraussetzung? Solange ich an keinen gebunden bin, gilt für mich nur Optimierung nach Wartbarkeit und (leider immer noch) Speicher- und Zeitbedarf.


----------



## Martin L. (24 Mai 2010)

Hallo Profi´s

also ob ich AWL, KOP, FUP, SCL, etc. einsetze hängt doch davon ab wie effizient ich damit programmiere, Ergo, wer mit KOP programmiert und
ein sauberes sicheres Programm erstellt ist doch O.K.

Wer lieber mit AWL programmiert auch O.K.


Meinen Mitarbeitern ist es freigestellt in welcher Form ihr Programm die
"MASCHINE" bewegt, mir kommt es auf eine sichere und gute Software an.


Jeder soll Spass mit der Entwicklungsumgebung haben die er mag, dann
ist man auch besser!! (Egal ob AWL,KOP,FUB,etc.)

Daher ist auch ein AWL,Kop,FUB,SCL, etc. kein besserer Programmierer
sondern es zählt immer was hinten raus kommt.


----------



## waldy (24 Mai 2010)

> Ich persönlich mag es am Liebsten, wenn ich mit dem Finger die grünen Linien auf dem Bildschirm nachfahren kann, wenn ich ONLINE bin!!!
> Das geht in AWL nicht. Ergo: AWL ist kacke!!!


 - so dachte ich mir früher auch , nur jetzt mage ich auch AWL.

Wenn Navi sagt "Links abbiegen" und du folgst auch nach Links , obwohl Ampel Rot ist - dann anstatt FUP " folgen nach Links" -  muss man wie „ stinkende „ AWL auch manchmal mit denken .
gruß waldy


----------



## rostiger Nagel (25 Mai 2010)

waldy schrieb:


> - so dachte ich mir früher auch , nur jetzt mage ich auch AWL.


 
kannst du es den auch schon


----------



## Gerhard K (25 Mai 2010)

waldy schrieb:


> - so dachte ich mir früher auch , nur jetzt mage ich auch AWL.
> 
> Wenn Navi sagt "Links abbiegen" und du folgst auch nach Links , obwohl Ampel Rot ist - dann anstatt FUP " folgen nach Links" - muss man wie „ stinkende „ AWL auch manchmal mit denken .
> gruß waldy


 

Ajajajaaj!

Waldy was soll das? AWL ==> Armer Waldy Lern.Das meinst du doch, oder?*ROFL*


----------



## Lipperlandstern (25 Mai 2010)

waldy schrieb:


> - so dachte ich mir früher auch , nur jetzt mage ich auch AWL.
> 
> Wenn Navi sagt "Links abbiegen" und du folgst auch nach Links , obwohl Ampel Rot ist - dann anstatt FUP " folgen nach Links" - muss man wie „ stinkende „ AWL auch manchmal mit denken .
> gruß waldy


 
Versteht jemand was er meint ?????


----------



## OHGN (25 Mai 2010)

Lipperlandstern schrieb:


> Versteht jemand was er meint ?????


Nöö, muß man aber auch nicht.


----------



## waldy (26 Mai 2010)

> Nöö, muß man aber auch nicht.


 -  na ja, wenn deine IQ / CPU richtet nur nach 640 Kb - dann natürlich du hast keine Platz mehr was denken oder verstehen.
Ein bischen mit denken bitte.
gruß waldy


----------



## Lipperlandstern (26 Mai 2010)

waldy schrieb:


> - na ja, wenn deine IQ / CPU richtet nur nach 640 Kb - dann natürlich du hast keine Platz mehr was denken oder verstehen.
> Ein bischen mit denken bitte.
> gruß waldy


 

He du.... wenn du von Navi und Links abiegen bei ROT auf GRÜNE Linien kommst dann ist das für mich ein bisschen schwer zu verstehen.

und über den Satz daoben denke ich besser gar nicht erst nach


----------



## tymanis (26 Mai 2010)

Ich bin ganz neu was Step7 angeht und habe mit allem angefangen, was mir zur Verfügung steht. Ich habe als erstes gelernt, dass man in den OB1 Bausteine einfügen kann. Meine nächste Schlussfolgerung war dann, dass ich jetzt jeden Teil meines Programms so schreibe, wie ich es für richtig halte.

Eine Ablaufkette hab ich in Graph7 geschrieben, Regler einfache IF-Anweisungen in SCL, hier und da ein paar Schleifen und alles zusammengefügt habe ich in FUP im OB1, wo jeder Baustein noch ein paar Bedingungen vorgeschaltet bekommen hat etc.

Darin sah ich einen riesigen Vorteil von Step7. Ich kannte bisher nur höhere Programmiersprachen oder Essembler-Code und in beiden fand ich es richtig schlimm, dass manche Dinge einfach, manche kompliziert waren.

Wer in AWL z.B. Werte addiert, der ist kein Crack sondern ein Depp! Nutzt doch die Vielseitigkeit eurer Programmierungeburichtigng. Schreibt euer Programm doch in AWL, aber so richtig einfache Sachen muss man nicht unnötig kompliziert machen.

Das war eigentlich der Grund, warum ich diesen Thread eröffnet habe. Ich lese hier oft wie User fragen stellen und dann 4 Zeilen AWL als Antwort bekommen und da wollte ich mal nachhaken.


----------



## tim_taylor (26 Mai 2010)

*Thema*

Hallo zusammen,


die Fragestellung, "Warum AWL" wird wohl nicht mehr so richtig bearbeitet.
Ist sie beantwortet?

Jedefalls häufen sich die beleidigenden Aussagen.

Wollen wir den Beitrag doch lieber abschließen!

Gruß Dominik


----------



## rostiger Nagel (26 Mai 2010)

tim_taylor schrieb:


> Wollen wir den Beitrag doch lieber abschließen!


 
NEIN, warum das den.





tymanis schrieb:


> Wer in AWL z.B. Werte addiert, der ist kein Crack sondern ein Depp! Nutzt doch die Vielseitigkeit eurer Programmierungeburichtigng. Schreibt euer Programm doch in AWL, aber so richtig einfache Sachen muss man nicht unnötig kompliziert machen.


 
das ist doch auch Quatsch, wo ist den der große unterschied bei 
einfachen Funktionen, von AWL zu SCL. Ein Addierer ist ja wohl in
beiden Sprachen nicht sehr kompliziert und dafür schmeiße ich dann
auch nicht den SCL Editor an.


```
FUNCTION Add : INT
VAR_INPUT
  wert_1 : INT;
  wert_2 : INT;
END_VAR
BEGIN
  Add := wert_1 + wert_2;
END_FUNCTION
```
 

```
FUNCTION "Add_AWL" : INT
TITLE =
VERSION : 0.1
 
VAR_INPUT
  Wert_1 : INT ; 
  Wert_2 : INT ; 
END_VAR
BEGIN
NETWORK
TITLE =
      L     #Wert_1; 
      L     #Wert_2; 
      +I    ; 
      T     #RET_VAL; 
 
END_FUNCTION
```


----------



## Paule (26 Mai 2010)

tymanis schrieb:


> Wer in AWL z.B. Werte addiert, der ist kein Crack sondern ein Depp!


Spinnst du? :sw11:
Was ist denn das für ein doofer Spruch?


tymanis schrieb:


> Ich lese hier oft wie User fragen stellen und dann 4 Zeilen AWL als Antwort bekommen und da wollte ich mal nachhaken.


Eben!
Da siehst du wie schnell mit 4 Zeilen AWL Probleme gelöst werden. 
Zeichne noch mal deine FUP Bildchen als Erklärung.


----------



## Lipperlandstern (26 Mai 2010)

Paule schrieb:


> ....
> Da siehst du wie schnell mit 4 Zeilen AWL Probleme gelöst werden.
> Zeichne noch mal deine FUP Bildchen als Erklärung.




geht auch... nur etwas umständlicher..... HIER


und mit 4 Zeilen ist es ja nicht getan. Da gehört dann ja noch der Kommentar dazu... KOP und FUP sind ja selbsterklärend


----------



## tymanis (26 Mai 2010)

Die reine Addition ist in FUP doch nur ein Baustein, dafür benutze ich dann auch kein SCL, so sollte das nicht verstanden werden!
Ich benutze eben das, was am einfachsten ist. Und das ist bei dem beispel einer Addition eben FUP.

Und wenn ich in einem Prog. mit mehreren Anweisung addiere dann ist bei SCL ganz klar der Vorteil, dass es in einer einzelnen Zeile passiert, übersichtlicher als AWL. Im Grunde ist ein AWL Code von der Zeilenanzahl am Ende immer länger.


----------



## rostiger Nagel (26 Mai 2010)

tymanis schrieb:


> Die reine Addition ist in FUP doch nur ein Baustein, dafür benutze ich dann auch kein SCL, so sollte das nicht verstanden werden!
> Ich benutze eben das, was am einfachsten ist. Und das ist bei dem beispel einer Addition eben FUP.
> 
> Und wenn ich in einem Prog. mit mehreren Anweisung addiere dann ist bei SCL ganz klar der Vorteil, dass es in einer einzelnen Zeile passiert, übersichtlicher als AWL. Im Grunde ist ein AWL Code von der Zeilenanzahl am Ende immer länger.


 
Dieser blöde AWL-Code, ermöglicht aber ein schönes Debuggen und
zeigt mir seine Zwischenergebnisse, was in der Praxis schon einmal 
enorme Vorteile hat. Für mich ist eine Verkettung von 10 Variabeln 
immer noch nicht Kompliziert. Nocheinmal SCL ist ein tolles Werkzeug,
aber für einfache Sachen ist AWL einfach besser, dazu hören für micht
auch einfache Arithmetische Funktion. Die Darstellung in einer Zeile
ist in meinen Augen nicht vorteilhafter, als wenn es untereinander steht.



```
FUNCTION "Add_AWL" : INT
TITLE =
VERSION : 0.1
 
VAR_INPUT
  Wert_1 : INT ; 
  Wert_2 : INT ; 
  Wert_3 : INT ;
  Wert_4 : INT ;  
END_VAR
BEGIN
NETWORK
TITLE =
      L     #Wert_1; 
      L     #Wert_2; 
      +I    ; 
      L     #Wert_3; 
      +I    ; 
      L     #Wert_4; 
      +I    ; 
      T     #RET_VAL; 
 
END_FUNCTION
```


----------



## OHGN (26 Mai 2010)

tymanis schrieb:


> Die reine Addition ist in FUP doch nur ein Baustein, dafür benutze ich dann auch kein SCL, so sollte das nicht verstanden werden!
> Ich benutze eben das, was am einfachsten ist. Und das ist bei dem beispel einer Addition eben FUP.
> 
> Und wenn ich in einem Prog. mit mehreren Anweisung addiere dann ist bei SCL ganz klar der Vorteil, dass es in einer einzelnen Zeile passiert, übersichtlicher als AWL. Im Grunde ist ein AWL Code von der Zeilenanzahl am Ende immer länger.



@tymanis
Würdest Du für folgende simple Mittelwertberechnung einen SCL-Baustein schreiben oder das lieber in FUP über 4 Netzwerke hinziehen? ROFLMAO: 

```
L     MW   100                    //Wert1
      L     MW   102                    //Wert2
      +I    
      L     MW   104                    //Wert3
      +I    
      L     MW   106                    //Wert4
      +I    
      L     4
      /I    
      T     MW   200                    //Mittelwert
```


----------



## Thomas_v2.1 (26 Mai 2010)

OHGN schrieb:


> @tymanis
> Würdest Du für folgende simple Mittelwertberechnung einen SCL-Baustein schreiben oder das lieber in FUP über 4 Netzwerke hinziehen? ROFLMAO:
> 
> ```
> ...



Und wo ist der Code äquivalent zu der Funktionalität die FUP bietet?
Prüfung ob ein Überlauf stattgefunden hat wie es eine Aneinanderreihung der entsprechenden Bausteine in FUP ergeben würde? Fehlt.

In Helmuts Code fehlt die Ausgabe des BIE Bits. Wenn man das in SCL übersetzt, wird automatisch am BIE-Bit angezeigt ob ein Überlauf an einer Stelle der Berechnung stattgefunden hat (OK-Flag).

In FUP und in SCL habe ich zusätzlich noch eine Typüberprüfung (in FUP/KOP deaktivierbar, in SCL immer vorhanden). Ich nutze zumindest alles was mir die Entwicklungsumgebung hergibt um die gröbsten Fehler beim Programmieren schon zu erkennen.
Aber wenn man die SPS-Götter in diesem Thread so liest machen die eh nie einen Fehler...


----------



## tymanis (26 Mai 2010)

Eine FC für ne Mittelwertsberechnung, warum nicht ?!
Wenn ich den Editor öffne klicke ich doch im Menü rum bis ich die Vorlage für eine FC habe, muss ich schonmal nichts tippen. Dann eine Zeile:

Mittel := ( IN1 + IN2 + IN3 + IN4)/4

und schon hab ich einen Baustein, den ich geg. häufiger einsetzten kann. 

BTW: Ich versteh garnicht, was ihr gegen den Editor habt. Er bietet doch für vieles ein Grundgerüst. Ich tippe ja kaum noch, bei einer IF-Anweisung füge ich alles ein und tippe nurnoch die Platzhalter in den Code.


----------



## OHGN (26 Mai 2010)

Thomas_v2.1 schrieb:


> Aber wenn man die SPS-Götter in diesem Thread so liest machen die eh nie einen Fehler...


Diese Aussage ist jetzt wirklich reiner Quatsch!



Thomas_v2.1 schrieb:


> Überprüfung ob ein Überlauf stattgefunden hat wie es eine Aneinanderreihung der entsprechenden Bausteine in FUP ergeben würde? Fehlt.


Also meistens benötige ich diese Überprüfung nicht. Und wenn doch, muss das eben entsprechend ausprogrammiert werden oder man macht es eben in FUP!
Ich weiß nicht warum hier jetzt schon wieder so eine Grundsatzdiskussion stattfindet....
Das hat auch nichts mit 'SPS-Göttern' zu tun. Ich selbst programmiere viel in FUP, aber eben nicht alles, und immerhin hat der Themenstarter in diesem Faden die AWL- Anhänger als Deppen bezeichnet und nicht umgekehrt. 
.


----------



## trinitaucher (26 Mai 2010)

Hallo Leute!
Normalerweise poste ich nicht im Simatic-Board, da ich CoDeSys (TwinCAT) nutze.
Ich würde trotzdem gern mal meine Sicht der Dinge mitteilen.

Vorweg:
Ich nutze zu 95% ST (SCL), manchmal FUP.
Ich habe im Studium zuerst IEC-Programmierung gelernt und erst später Step 7 nutzen müssen. Ich habe nie verstanden, was an AWL so dolle is.

Wenn ich mal zwei Postings der Vorredner vergleiche, sehe ich keinerlei Vorteile von AWL zu ST (oder SCL). 


Helmut_von_der_Reparatur schrieb:


> Dieser blöde AWL-Code, ermöglicht aber ein schönes Debuggen und
> zeigt mir seine Zwischenergebnisse, was in der Praxis schon einmal
> enorme Vorteile hat. Für mich ist eine Verkettung von 10 Variabeln
> immer noch nicht Kompliziert. Nocheinmal SCL ist ein tolles Werkzeug,
> ...





tymanis schrieb:


> ```
> Mittel := ( IN1 + IN2 + IN3 + IN4)/4
> ```


Das Argument des besseren Debuggens, weil AWL untereinander steht, gilt für mich nicht, da ich generell untereinander schreiben in ST:

```
Mittel := 
    ( IN1 
    + IN2 
    + IN3 
    + IN4)
    /4
```
Mit ST ist's für mich kürzer und effizienter zu programmieren. Sei's Logik, Arithmetik, Schleifen, oder sonstwas.

```
bOut := 
  In1
  OR In2
  OR In3;
---------------------------------
IF rVar3 > 0 THEN
  rBerechnung :=
   (rVar1
   + INT_TO_REAL(iVar2) )
    / rVar3;
END_IF
---------------------------------------
IF In1 
  AND iVar2 <= 10 THEN
     bOut1 := FALSE;
     iVar2 := iVar2 + 1;
ELSE
  bOut2 := TRUE;
  IF iVar2 > 0 THEN 
    iVar2 := iVar2 - 1;
  END_IF
END_IF
---------------------------------
FOR i := 0 TO iVar2 DO
  fbArray[i](iarrParameter[i]);   (* mehrfacher FB-Aufruf mit ARRAY von FBs *)
END_FOR
```
Auch Hochsprachenprogrammierer kommen mit ST-Code gut klar, da die Schlüsselwörter meist selbstklärend sind. Bei AWL muss ich immer grübeln, was das nun überhaupt alles bedeutet.

Mag sein, dass bei Siemens das ganze noch etwas erschwert wird, weil SCL scheinbar in einem speziellen Editor untergebracht ist.
Mag vielleicht auch viel Gewohnheit mit im Spiel sein. Aber ich hab damals schon keine Vorteile von AWL gesehen und sehe sie auch heute nicht.


----------



## vierlagig (26 Mai 2010)

@trinitaucher: falls du mal zeit und lust hast, kannste folgendes mal in SCL umsetzen ... würde mich interessieren, hab selber aber leider grad keine zeit.


```
*
FUNCTION FC 1710 : VOID
TITLE =READ_CLK
//Funktion zum Lesen und Speichern der Systemzeit im Merker- oder 
//Datenbausteinbereich
//Die Uhrzeit wird fortlaufend ab dem ersten Word am Eingang aDateTime gespeichert
//Jahr,Monat,Tag,Stunde,Minute,Sekunde,Millisekunde,Wochentag
//
//Aufrufbeispiel:
//      CALL  FC     2
//       anyDateTime   :=#OB1_DATE_TIME
//       anyDestination:=DB1.DBW16
//
//DATE:     09.12.2008
//AUTHOR:   4lagig
//VERSION:  V0.1 BasicVer
AUTHOR : '4lagig'
FAMILY : ClockGF
VERSION : 0.1


VAR_INPUT
  anyDateTime : ANY ;	
  anyDestination : ANY ;	
END_VAR
VAR_TEMP
  dwTempAR1 : DWORD ;	
  dwTempAR2 : DWORD ;	
  xDB : BOOL ;	
  wDB : WORD ;	
  tTimeDateTemp : DATE_AND_TIME ;	
  iLoop : INT ;	
END_VAR
BEGIN
NETWORK
TITLE =

      TAR1  #dwTempAR1; // adressregister
      TAR2  #dwTempAR2; // sichern

      L     P##anyDestination; // ziel prüfen
      LAR1  ; 

      L     W [AR1,P#4.0]; // ob DB
      L     0; 
      <>I   ; 
      SPBN  db2; 
      TAK   ; 
      T     #wDB; 
      SET   ; 
      =     #xDB; 
      SPA   ver; 
db2:  CLR   ; 
      =     #xDB; // oder nicht

ver:  L     D [AR1,P#6.0]; // speicherbereich aus ANY
      LAR1  ; // in AR1

      L     P##anyDateTime; // quelle
      LAR2  ; 
      L     D [AR2,P#6.0]; // adressieren
      LAR2  ; 

      U     #xDB; // wenn DB
      SPB   ver2; // die andere schleife nutzen

      L     6; 
nex1: T     #iLoop; // jahr, monat, tag,
      L     B [AR2,P#0.0]; // stunden, minuten, sekunden
      BTI   ; // in integer wandeln
      T     W [AR1,P#0.0]; // und speichern
      +AR1  P#2.0; 
      +AR2  P#1.0; 
      L     #iLoop; 
      LOOP  nex1; 

      L     W [AR2,P#0.0]; // millisekunden
      SRW   4; // filtern
      BTI   ; 
      T     W [AR1,P#0.0]; // und speichern

      L     W [AR2,P#0.0]; // wochentag
      L     W#16#F; // filtern
      UW    ; 
      BTI   ; 
      T     W [AR1,P#2.0]; // und speichern

      SPA   ver3; 

ver2: AUF   DB [#wDB]; 

      L     6; 
nex2: T     #iLoop; 
      L     B [AR2,P#0.0]; 
      BTI   ; 
      T     DBW [AR1,P#0.0]; 
      +AR1  P#2.0; 
      +AR2  P#1.0; 
      L     #iLoop; 
      LOOP  nex2; 

      L     W [AR2,P#0.0]; 
      SRW   4; 
      BTI   ; 
      T     DBW [AR1,P#0.0]; 

      L     W [AR2,P#0.0]; 
      L     W#16#F; 
      UW    ; 
      BTI   ; 
      T     DBW [AR1,P#2.0]; 

ver3: LAR1  #dwTempAR1; // adressregister zurückspeichern
      LAR2  #dwTempAR2; 

      SET   ; //EN0-handling
      SAVE  ; 
END_FUNCTION
```


----------



## trinitaucher (26 Mai 2010)

vierlagig schrieb:


> @trinitaucher: falls du mal zeit und lust hast, kannste folgendes mal in SCL umsetzen ... würde mich interessieren, hab selber aber leider grad keine zeit.
> 
> 
> ```
> ...


Geht schon los damit, dass ich deinen Code fast überhaupt nicht lesen kann (bzw. verstehe).
Aber du kannst gern mal meine Codebeispiele in AWL umsetzen . Vielleicht verstehe ich AWL dann etwas besser.


----------



## vierlagig (26 Mai 2010)

trinitaucher schrieb:


> Geht schon los damit, dass ich deinen Code fast überhaupt nicht lesen kann (bzw. verstehe).
> Aber du kannst gern mal meine Codebeispiele in AWL umsetzen . Vielleicht verstehe ich AWL dann etwas besser.



mußt du den code verstehen? da stehen doch kommentare dran!
es ist klar um was es geht, soll doch keine wortwörtliche sondern eine funktionale übersetzung sein. den code hab ich dir nur gegeben, damit du siehst, dass es in AWL kein problem ist, diese funktion zu realisieren.


----------



## trinitaucher (26 Mai 2010)

Die aktuelle Systemzeit auslesen ist im TwinCAT jetzt nicht so schwer, da es vorgefertigte Funktionsbausteine gibt. Der Ergebnisdatetyp TIMESTRUCT ist allerdings kein IEC-Typ.


```
VAR
    wYear       : WORD;
    wMonth     : WORD;
    wDay        : WORD;
    wHour       : WORD;
    wMinute     : WORD;
    wSecond    : WORD;
    wMilliSec    : WORD;
    wDayOfWeek  : WORD;

    dtDateAndTime : DATE_AND_TIME;
    fbNtGetTime    : NT_GetTime;    (* Systembaustein von TwinCAT *)
    iCyc: INT;
END_VAR
--------------------------------------
fbNtGetTime(
    NETID:= '',
    TMOUT:= DEFAULT_ADS_TIMEOUT );

IF fbNtGetTime.BUSY THEN
    fbNtGetTime.START := FALSE;
ELSE
    iCyc := iCyc +1;     
    IF iCyc = 2 THEN   (* weil der Baustein sich nicht unmittelbar neu triggern lässt *)
        iCyc := 0;
        fbNtGetTime.START := TRUE;
    END_IF
END_IF

(* Das Ergebnis findet sich im FB-Ausgang fbNtGetTime.TIMESTR *)
(* optional kann's weiter rumkopiert werden: *)

wYear     := fbNtGetTime.TIMESTR.wYear;
wMonth    := fbNtGetTime.TIMESTR.wMonth;
wDay      := fbNtGetTime.TIMESTR.wDay;
wHour     := fbNtGetTime.TIMESTR.wHour;;
wMinute   := fbNtGetTime.TIMESTR.wMinute;
wSecond    := fbNtGetTime.TIMESTR.wSecond;
wMilliSec  := fbNtGetTime.TIMESTR.wMilliseconds;
wDayOfWeek:= fbNtGetTime.TIMESTR.wDayOfWeek;

(* Umwandlung in Datentyp DATE_AND_TIME (DT): *)

dtDateAndTime := SYSTEMTIME_TO_DT(fbNtGetTime.TIMESTR);  (* zusatzfunktion von TwinCAT *)
```


----------



## vierlagig (26 Mai 2010)

trinitaucher schrieb:


> Die aktuelle Systemzeit auslesen ist im TwinCAT jetzt nicht so schwer, da es vorgefertigte Funktionsbausteine gibt. Der Ergebnisdatetyp TIMESTRUCT ist allerdings kein IEC-Typ.



thema verfehlt. 6. setzen!


----------



## rostiger Nagel (26 Mai 2010)

vierlagig schrieb:


> thema verfehlt. 6. setzen!



Aber trotzdem, ein sehr nützlicher Baustein findest du nicht auch


----------



## vierlagig (26 Mai 2010)

Helmut_von_der_Reparatur schrieb:


> Aber trotzdem, ein sehr nützlicher Baustein findest du nicht auch



ehrlich? ich find meinen übersichtlicher...


----------



## Grubba (26 Mai 2010)

Ich denke mal, vierlagig wollte mit seinem Code ein Beispiel pro AWL geben. 

Dabei zeigt sich aber fast alles, was AWL "ausmacht".
Der Code ist trotz Kommentaren schlecht lesbar, nach einem viertel Jahr Pause muss man wahrscheinlich selber nochmal drüber nachdenken, was man da eigentlich gemacht hat.
Durch AWL noch äußerst kryptisch und  dank der Adressregisterbefehle für einen Nicht-AWL Kenner absolut nicht nachvollziehbar. 
Die Krönung sind dann die Sprungbefehle, damit wir einen schönen und zurecht gefürchteten Spaghetticode fabrizieren können.
Das ist keine Kritik am eigentlichen Code, der ist ja für AWL Verhältnisse ganz ordentlich geschrieben, führt mir aber immer wieder vor Augen, warum auf Nicht-S7-Steuerungen keiner freiwillig in AWL programmiert.

Wahrscheinlich machen die Leute einfach mit AWL rum, weil sie zeigen wollen, das mans einfach drauf hat.....


----------



## argv_user (26 Mai 2010)

*Achtung: politische Hetze.*



Grubba schrieb:


> Ich denke mal, vierlagig wollte mit seinem Code ein Beispiel pro AWL geben.
> 
> Dabei zeigt sich aber fast alles, was AWL "ausmacht".
> Der Code ist trotz Kommentaren schlecht lesbar, nach einem viertel Jahr Pause muss man wahrscheinlich selber nochmal drüber nachdenken, was man da eigentlich gemacht hat.
> ...



Das ist doch alles gequirlter Quark.

Der Sage nach soll es Programmierer geben, die verstehen ihren eigenen SCL-Code von vor 4 Wochen nicht mehr.

Die "Leute" machen mit AWL rum, weil es ein Standard ist, den man in der Simaticwelt überall findet und mit etwas Erfahrung auch versteht. Selbst SCL-Programmteile kann man mit AWL-Kenntnissen verstehen, das Kompilat von SCL ist ja auch nur eine Teilmenge von AWL.

Das Beispiel von vierlagig zeigt IMHO vorallem, dass es Situationen gibt, wo AWL einfacher ist als aller andere Krampf. Da schließe ich ausdrücklich auch die Sprungbefehle mit ein. (Goto-freie Programmierung in Assembler geht ja "leider" immer noch nicht)

Spaghetti-Code kannste übrigens in jeder Programmiersprache erzeugen.
Den Überblick verlieren auch!


----------



## IBFS (26 Mai 2010)

argv_user schrieb:


> Spaghetti-Code kannste übrigens in jeder Programmiersprache erzeugen.
> Den Überblick verlieren auch!


 
Man kann sich mit den "echten" IEC-Tools auch TOT-DEKLARIEREN.


----------



## trinitaucher (27 Mai 2010)

argv_user schrieb:


> Der Sage nach soll es Programmierer geben, die verstehen ihren eigenen SCL-Code von vor 4 Wochen nicht mehr.


*ACK*
Das kommt mit jeder Programmiersprache vor



Grubba schrieb:


> Ich denke mal, vierlagig wollte mit seinem Code ein Beispiel pro AWL geben.
> ...
> Der Code ist trotz Kommentaren schlecht lesbar, ...
> Durch AWL noch äußerst kryptisch und  dank der Adressregisterbefehle für einen Nicht-AWL Kenner absolut nicht nachvollziehbar.
> ...


*
Ich bin ein Nicht-AWL-Kenner und verstehe den Code von vierlagig überhaupt nicht.
Die Schlüssel-"Buchstaben" T, L, SRW, +AR1, BTI, SPA, TAK, SPBN ... usw sind für mich nicht verständlich, bzw. ansatzweise selbstklärend.
Alle anderen Programmiersprachen kann ich wenigstens halbwegs nachvollziehen, auch wenn ich nie mit denen programmiere.
SCL (ST) ist für alle, die mal ein wenig in die Welt der Hochsprachen reingeschuppert haben gut verständlich, da die Schlüsselwörter und Operatoren meist selbstklärens sind (IF, CASE, <, >=, OR, AND, uws.)



argv_user schrieb:



			Die "Leute" machen mit AWL rum, weil es ein Standard ist, den man in der Simaticwelt überall findet und mit etwas Erfahrung auch versteht.
		
Zum Vergrößern anklicken....

Das wird's sein. Hat sich seit den Anfängen, wo auch Assembler noch weit verbreitet war, als Grundlagensprache gehalten, ist in der Welt der Simatic wohl auch die mächtigste Sprache und wurde durch die Verbreitung der Siemens-Steuerungen allgemein als "Standard"-Sprache fortgeführt. 
Aber "mächtigste" vielleicht nur, weil die anderen Sprachen der Siemens-Welt defizite Aufweisen bzw. im Fall von SCL zusätzliche Kosten verursachen, würde ich mal vermuten.

Ich als Nicht-Siemens-Nutzer glaube dennoch, dass man AWL heutzutage nicht "braucht". Erst recht nicht in der Nicht-Siemens-Welt.
Natürlich bin ich durch TwinCAT (CoDeSys) verwöhnt, da man kein Register-Schieben, Speicher-Wurschteln macht. Die konsequente Verwendung von Variablen anstatt absolute Speicherbereiche ist für mich zudem ein genormer Vorteil bzgl. Vermeidung von Programmierfehlern.
Mit SCL (ST) kommt man meiner Meinung nach mindestens genauso weit, bei besserer Übersichtlichkeit.*


----------



## Thomas_v2.1 (27 Mai 2010)

trinitaucher schrieb:


> Das wird's sein. Hat sich seit den Anfängen, wo auch Assembler noch weit verbreitet war, als Grundlagensprache gehalten, ist in der Welt der Simatic wohl auch die mächtigste Sprache und wurde durch die Verbreitung der Siemens-Steuerungen allgemein als "Standard"-Sprache fortgeführt.
> Aber "mächtigste" vielleicht nur, weil die anderen Sprachen der Siemens-Welt defizite Aufweisen bzw. im Fall von SCL zusätzliche Kosten verursachen, würde ich mal vermuten.



Wobei Siemens-SCL immer noch die Mächtigkeit von AWL fehlt, weil es spezielle Konstrukte gibt die sich immer noch nur in AWL lösen lassen (auch wenn das sehr spezielle Fälle sind).

Hauptgrund dafür ist meiner Meinung nach das Fehlen eines "echten" Pointers in SCL. Bei meinen ersten Schritten in Codesys-ST habe ich immer das ANY-Konstrukt von Siemens vermisst. Mittlerweile habe ich aber erkannt, dass der "Pointer to xy" in Codesys viel mächtiger und auch einfacher zu handhaben ist. 
Das ANY-Konstrukt von Siemens ist wohl der quasi-segmentierten Speicherverwaltung geschuldet (E/A-Abbild, Merker, Lokaldaten, DBn). Das macht eben auch die indirekte Adressierung in AWL so kryptisch, 4l hat ja gerade ein schönes Beispiel geliefert.

Ich schaue des öfteren bei plctalk.com rein. Dort tauchen auch regelmäßig Fragen zur indirekten Adressierung in Siemens AWL auf. Vor allem verstehen die Leute nicht, warum z.B. Schleifenkonstruktionen in AWL so aufwändig sein müssen. Ich kenne z.B. die in den USA üblichen AB Steuerungen nicht, aber dort kann ich, wenn ich das richtig verstanden habe, wohl auch in KOP ein Array mittels eines variablen Schleifenindex ansprechen. 
Für soetwas muss bei Siemens-AWL gleich wieder die Adressregister-Keule rausgeholt werden. Gut, wenn man das einmal verinnerlicht hat tippt sich das schnell runter, aber warum so kompliziert? Für Bausteinaufrufe, Zugriffe auf UDT-Parameter und dergleichen schafft es der Step7-Editor auch verschiendene Makros einzusetzen, warum gibt es sowas nicht auch für Arrays mit variablem Index?


----------



## vierlagig (27 Mai 2010)

vierlagig schrieb:


> @trinitaucher: falls du mal zeit und lust hast, kannste folgendes mal in SCL umsetzen ... würde mich interessieren, hab selber aber leider grad keine zeit.



so, jetzt hab ich mir die 15minuten mal genommen


```
*
FUNCTION FC1500 : VOID
VAR_INPUT
    dtSource : DATE_AND_TIME;
    anyDestination : ANY;
END_VAR
VAR_TEMP
    myDateTime : DATE_AND_TIME;
    myDateArray AT myDateTime : ARRAY[0..7] OF BYTE;    
    myAnyDestination : ANY;    
    myDestination AT myAnyDestination : ARRAY[0..4] OF WORD;            
    myByte : INT;    
    i : INT;       
END_VAR

    myAnyDestination := anyDestination;
    myByte := (WORD_TO_INT(myDestination[4])/8 + WORD_TO_INT(myDestination[3])*8192);
        
    myDateTime := dtSource;
                
    IF myDestination[2] <> 0 THEN
        FOR i:= 0 TO 12 BY 2 DO
            CASE i/2 OF
                0..5: WORD_TO_BLOCK_DB(myDestination[2]).DW[myByte+i]:= INT_TO_WORD(BCD_TO_INT(myDateArray[i/2])); 
                   6: WORD_TO_BLOCK_DB(myDestination[2]).DW[myByte+i]:= INT_TO_WORD(BCD_TO_INT(myDateArray[i/2])*10 + BCD_TO_INT(myDateArray[i/2 + 1] AND 16#00F0)/10);
                      WORD_TO_BLOCK_DB(myDestination[2]).DW[myByte+i+2]:= INT_TO_WORD(BCD_TO_INT(myDateArray[i/2 + 1] AND 16#000F)) ;
            END_CASE; 
        END_FOR;
    ELSE
        FOR i:= 0 TO 12 BY 2 DO
            CASE i/2 OF
                0..5: MW[myByte+i] := INT_TO_WORD(BCD_TO_INT(myDateArray[i/2])); 
                   6: MW[myByte+i] := INT_TO_WORD(BCD_TO_INT(myDateArray[i/2])*10 + BCD_TO_INT(myDateArray[i/2 + 1] AND 16#00F0)/10);
                      MW[myByte+i+2] := INT_TO_WORD(BCD_TO_INT(myDateArray[i/2 + 1] AND 16#000F)) ;
            END_CASE;                 
        END_FOR;
    END_IF;
    
END_FUNCTION
```

jetzt brauch ich nur noch nen SCL-guru, der mir erklärt, wie ich in SCL auf die lokaldaten des vorgängerbausteins zugreifen kann, damit aus der quelle wieder ein any werden kann...


----------



## tymanis (27 Mai 2010)

Was ich bei der Diskussion nicht nachvollziehen kann ist, dass die AWL-Fans hier so schlecht von SCL reden, im Sinne der Handhabung.

Im Studium ist es eine Selbstverständlichkeit zuerst eine Hochsprache zu lernen (heutzutage wohl C++) und im späteren Verlauf erlernt man dann Essembler. 
Das hat denke ich den Grund, dass ST erstmal leichter zu verstehen ist. Wenn man ganz am Anfang des Progrmmieren steht muss man ja erstmal mit der Kommunikation und Denkweise dieser Maschinen zurecht kommen. Und in ST schreibt man, wie man denkt. Eine IF-Anweisung ist auch nur eine Erweiterung der IF-Clauses die man im Englischunterricht lernt. "Wenn ich zu viel Eis esse, dann bekomme ich Kopfschmerzen" Logisch!

Essembler ist erst dann zu verstehen, wenn man die ALU eines Prozessors verstanden hat und sich mit den Registern auskennt. Vorher macht das für mich keinen Sinn. Ich hatte dann Leute neben mir sitzen, denen bis zum Ende nicht klar war, warum jeder so lustige Speicheradressen wie 20FF benutzt. Er dachte man denkt sich da einfach was aus. So macht das keinen Sinn.

Damit will ich sagen, wer angeblich so gut Programmieren kann, der kann mir nicht erzählen, dass ST kompliziert ist. Vielleicht programmiet ihr dann nur so gut AWL, weil ihr es vor Jahren gelernt habt und es für euch rotine ist an gewisse Problemstellungen so und so herran zu treten. Ich will da gar nichts gegen sagen. Ich denke so arbeiten die meißten.

Nur als ich Essembler gelernt habe, da war der Hintergrund für mich ein ganz anderer. Da haben wir µC programmiert weil wir kein OS hatten oder sonst irgendeine Umgebung in der man programmieren konnte. Aber solange ich ein Programm geschrieben habe, habe ich wieder auf C oder später C++ zurück gegriffen, weil es doch bequeme ist. Ich käme nie auf die Idee ein Windows-Tool für den täglichen Gerauch anders zu schreiben.


----------



## trinitaucher (27 Mai 2010)

vierlagig schrieb:


> ```
> *
> FUNCTION FC1500 : VOID
> VAR_INPUT
> ...


Anscheinend gibt's in SCL mehrere Befehle, die in CoDeSys/TwinCAT nicht gehen. ANYs z.B.. Aber wenigstens verstehe ich jetzt einigermaßen, was gemacht wird.



tymanis schrieb:


> Im Studium ist es eine Selbstverständlichkeit zuerst eine Hochsprache zu lernen (heutzutage wohl C++) und im späteren Verlauf erlernt man dann Essembler.


Bei uns war's umgekehrt. Zuerst die "Mikrocomputertechnik" mit Assemmbler, um die Computer zu "verstehen", später dann die Hochsprachen für die Applikationen.
Allerdings war Assembler nach rund 3 Wochen abgehakt und ich hab's bis heute nicht mehr gebraucht. Selbst mir bekannte Firmware-Programmierer nutzen nur noch C, da heutige Compiler angeblich genauso schlanken Code produzieren können, wie mit Assembler ... C is halt nur einfacher und führt daher bestimmt (zeit)effizienter zum Ziel 

Je nach Aufgabenstellung und Gewohnheit bzw. Möglichkeiten sucht man sich "seine" Programmiersprache aus.



vierlagig schrieb:


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


Diesen Abschnitt des zitierten Textes (woher ist der übrigens?) halte ich im übrigen nicht für ein Argument.
Mich als Programmierer kümmert es einen Dreck, ob der Compiler viel oder wenig Aufwand mit der Codeerzeugung hat. Und ob das Compilat ein Paar Bytes mehr weniger hat, kümmert mich eigentlich auch nicht. Heutzutage sollte der Speicher einer Hardware-SPS doch eigentlich ausreichend bemessen sein. Oder gibt's immer noch Situationen, wo man aufgrund von knappem Speicher zwingend in AWL programmieren muss, nur um Speicher zu sparen?


----------



## Ralle (27 Mai 2010)

Ich versteh eure ziemlich dusselige Grundsatzdiskussion ohnehin nicht. Es ist wie immer jeder findet das, was er am Besten kennt als das besonders Gute, das ist doch ohnehin natürlich.

@trinitaucher
Ich finde es in jedem Falle besser, wenn man weiß, was genau hinter dem steckt, was man da gerade programmiert. Bei ST/SCL steht genau dieses spezifische Wissen aber rel. weit im Hintergrund. Das macht an sich nichts, aber ich hab schon eine ganze Menge Leute (auch Informatiker) erlebt, die eine Maschine nicht vernünftig zum laufen gebracht haben, weil sie eben nicht gut genug Bescheid wußten und nur in ihrem Hochsprachenturm lebten.

@4L
Dein AWL-Code ist aber nun auch nicht gerade alltäglich 

@tymanis
Es geht da eher um den leider ziemlich simplen und bescheidenen SCL-Editor von Step7. Der kann in keinerlei Hinsicht mit einem modernen Werkzeug mithalten, die Debugfunktionen sind m.E. nach ebenfalls recht bescheiden.

Eine Maschine zu programmieren braucht es eigentlich nicht unbedingt so hochgreifender Mittel, wie Hochsprachen usw. Früher hat man das mit simplen Schützen erledigt, mußte aber genau nachdenken, wo denn der Strom seinen Weg nimmt und ob noch genügend Kontakte auf einem Schütz übrig waren für einen neue Funktion. Wenn ich sehe, was ich heute für Dinge in eine Maschinen hineinproggen muß (Weil irgendein Depp mal gehört oder gelesen hat...), die dann niemals genutzt werden, finde ich das teilweise schon bedenklich, denn es ist vergeudete Arbeitszeit, meine Arbeitszeit. Ich durfte mal in eine WinCC-Anlage mit 10 WinCC-Stationen jeweils einen Button einbauen, der dann ein Fenster mit einem Schulungsvideo für den Bediener öffnete. Das war absoluter Schwerpunkt, die Funktion der Anlage an sich trat da völlig in den Hintergrund. Das ist 3 Jahre her, ihr dürft raten, ob bisher ein Video zu Schulungszwecken hinterlegt wurde oder nicht...

Also wie immer bei diese Diskussion. Jeder darf Nutzen, was er am Besten kann, aber man sollte in der Wahl der Mittel auch einfach mal auf dem Boden bleiben. Für ein paar simple Bitverknüpfungen, braucht nun mal keiner eine Hochsprache.

Wenn ich daran denke, daß Codesys 3 Vererbung erlaubt (zumindest eingeschränkt), dann wird mit jetzt schon übel ob der Programme, die besonders kluge Leute daraus fabrizieren. Aber so ist das nun mal, ihr wißt ja, mit jeder Sprache kann man fürchterliche Programme zusammenferkeln.


----------



## tim_taylor (27 Mai 2010)

*Amen*

Schön gesprochen!

*ACK*

Gruß Dominik


----------



## MSB (27 Mai 2010)

tymanis schrieb:


> Was ich bei der Diskussion nicht nachvollziehen kann ist, dass die AWL-Fans hier so schlecht von SCL reden, im Sinne der Handhabung.



Wenn du den SCL-Editor mal z.B. mit dem ST-Editor von Codesys vergleichst, dann weißt du warum.
Und das hat rein gar nichts mit Pro/Kontra SCL bzw. ST zu tun ...


----------



## trinitaucher (27 Mai 2010)

Ralle schrieb:


> Ich versteh eure ziemlich dusselige Grundsatzdiskussion ohnehin nicht. Es ist wie immer jeder findet das, was er am Besten kennt als das besonders Gute, das ist doch ohnehin natürlich.


Volle Zustimmung für den letzten Satz, aber die Eröffnungsfrage des Thread war:


tymanis schrieb:


> Ich hab mal an erfahrene Softwareentwickler eine  einfache Frage:
> 
> Warum lese ich hier im Forum noch so oft AWL ? Ich denke wenn man keinen  µC programmiert und nicht darauf angewiesen ist, dann bietet die Norm  bei der SPS-Programmierung doch denkbar einfache alternativen um zu  programmieren.
> Hat das den Hintergrund, dass hier viele damit "aufgewachsen" sind oder  seht ihr entscheidende Vorteile in AWL, warum ich SCL kaum hier im Forum  lese?


Als Fazit bisher sehe ich die Schwerpunkte:
- AWL ist bei Siemens schlicht am mächtigsten
- AWL ist "eingebürgert" und viele erfahrene Programmierer nutzen es, da sie die Möglichkeiten gut zu nutzen wissen
- SCL wird vom S eher stiefmütterlich behandelt.



Ralle schrieb:


> Eine Maschine zu programmieren braucht es eigentlich nicht unbedingt so hochgreifender Mittel, wie Hochsprachen usw. Früher hat man das mit simplen Schützen erledigt, mußte aber genau nachdenken, wo denn der Strom seinen Weg nimmt und ob noch genügend Kontakte auf einem Schütz übrig waren für einen neue Funktion.
> 
> Also wie immer bei diese Diskussion. Jeder darf Nutzen, was er am Besten kann, aber man sollte in der Wahl der Mittel auch einfach mal auf dem Boden bleiben. Für ein paar simple Bitverknüpfungen, braucht nun mal keiner eine Hochsprache.
> 
> Wenn ich daran denke, daß Codesys 3 Vererbung erlaubt (zumindest eingeschränkt), dann wird mit jetzt schon übel ob der Programme, die besonders kluge Leute daraus fabrizieren. Aber so ist das nun mal, ihr wißt ja, mit jeder Sprache kann man fürchterliche Programme zusammenferkeln.


Natürlich braucht es für die simpelten Aufgaben nicht unbedingt Hochsprachen, aber wieso verteufeln viele das Zusammenwachsen der SPS- und Hochsprachen-/IT-Welt?

Die SPSen _sollen_ heutzutage nicht nur viel leisten, sie können heutzutage auch viel leisten.
Kann wieder nur für Beckhoffs TwinCAT sprechen, aber ich brauche dort keine extra NC-CPU, sondern alles läuft auf der SPS. Komplexe Berechnungen, einfache Logik und dazu noch Datenhandling mit Archivierungen (inkl. Datei lesen/schreiben), Kommunikation mit nahezu jedem beliebigen "Partner" ... alles aus der "SPS" (bzw. dem PC) heraus.
Laut Beckhoff sind wir erst am Anfang der "Scientific Automation". Mit den Möglichkeiten steigen die Anforderungen und dann braucht man auch entsprechende Werkzeuge, um diese effizient zu erfüllen.
Und so wie man heutzutage Applikationen nicht mehr unbedingt in Assembler programmieren muss, braucht man meiner Meinung nach auch AWL nicht mehr unbedingt.


----------



## Jan (27 Mai 2010)

Ich habe heute etwas ganz neues gesehen.
Ein Teil der Gesamtanlage wird erneuert, daher muss das Programm geändert und erweitert werden.
Ich habe schon Programe gesehen, die zu 99% in AWL geschrieben sind und welche, die zu 100% in FUP geschrieben sind. Das geht ja noch.

Heute hab ich gedacht ich sehe nicht richtig. Ca. 50% AWL und 50% FUP. 
Die Siemensbausteine in FUP beschaltet, eigene FCs mal in AWL und mal in FUP. Dazu Kommt eine Symbolik ohne Symbolkommentare und DBs die nicht strukturiert sind. 
Ganz frei nach dem Motto: Reinklatschen, einschalten und wenns läuft nach mir die Sinnflut.
So sieht es jedenfalls für mich aus.

Meine Freude ist Grenzenlos... :sb5:


----------



## Onkel Dagobert (27 Mai 2010)

Grubba schrieb:


> ..Die Krönung sind dann die Sprungbefehle, damit wir einen schönen und zurecht gefürchteten Spaghetticode fabrizieren können....



Die vielen Sprungbefehle zeugen oftmals, wie auch in diesem Fall, vom reinen Unvermögen des Programmierers. 

http://sps-forum.de/showpost.php?p=262292&postcount=74


Gruß, Onkel


----------



## vierlagig (27 Mai 2010)

Onkel Dagobert schrieb:


> Die vielen Sprungbefehle zeugen oftmals, wie auch in diesem Fall, vom reinen Unvermögen des Programmierers.
> 
> http://sps-forum.de/showpost.php?p=262292&postcount=74
> 
> ...



erklärs mir.


----------



## Question_mark (27 Mai 2010)

*Und wer ist jetzt eigentlich der Depp ?*

Hallo,



			
				Onkel Dago schrieb:
			
		

> Die vielen Sprungbefehle zeugen oftmals, wie auch in diesem Fall, vom reinen Unvermögen des Programmierers.



Könnte aber auch im Umkehrschluß bedeuten : Wer die Sprungbefehle in AWL nicht versteht und das auch nicht interpretieren kann, ist letztendlich der Depp 

Gruß

Question_mark


----------



## rostiger Nagel (27 Mai 2010)

Endlich kommt mal wieder Schwung in den laden hier, ich bin fast eingeschlafen


----------



## Question_mark (27 Mai 2010)

*Grins*

Hallo,



			
				Helmut_aus_der_Reparatur schrieb:
			
		

> Endlich kommt mal wieder Schwung in den laden hier, ich bin fast eingeschlafen



Keine Angst Helmut, ich bin doch hier. Wenn es darum geht, einen Thread in den SV zu befördern, bin ich immer die erste Wahl 

Gruß

Question_mark


----------



## IBFS (27 Mai 2010)

Helmut_von_der_Reparatur schrieb:


> Endlich kommt mal wieder Schwung in den laden hier, ich bin fast eingeschlafen


 
Polemik ist doch sowass schööööönes.


----------



## Paule (27 Mai 2010)

Question_mark schrieb:


> Könnte aber auch im Umkehrschluß bedeuten :


Ich hätte die Suppe erstmal kochen lassen.


----------



## vierlagig (27 Mai 2010)

erfahren, was er meinte, werd ich wahrscheinlich trotz allem nie ... genauso, wie ich auf meine scl-any-in-frage keine antwort bekommen werde


----------



## Question_mark (27 Mai 2010)

*Igitt ..*

Hallo,



			
				Paule schrieb:
			
		

> Ich hätte die Suppe erstmal kochen lassen.



Upps, da hast Du wirklich recht. Ich hätte zuerst mit FUP anfangen sollen und dann ganz, ganz langsam zum KOP weiterleiten können.  *ROFL*

Gruß

Question_mark


----------



## Question_mark (27 Mai 2010)

*Dazu gibt es keine Universallösung*

Hallo,



			
				tysmanis schrieb:
			
		

> Warum lese ich hier im Forum noch so oft AWL ? Ich denke wenn man keinen µC programmiert und nicht darauf angewiesen ist, dann bietet die Norm bei der SPS-Programmierung doch denkbar einfache alternativen um zu programmieren.
> Hat das den Hintergrund, dass hier viele damit "aufgewachsen" sind oder seht ihr entscheidende Vorteile in AWL, warum ich SCL kaum hier im Forum lese?



Um dann auch mal ernsthaft auf die Ausgangsfrage zurück zu kommen :

Also die "Norm bei der Programmierung" gibt es nicht wirklich, das ist nur ein Marketinginstrument einer bestimmten Gruppe, die Fakten für Ihre eigenen Standards etablieren will. Aber egal, jeder bohrt sein eigenes, dünnes Brett.

Von SCL liest man eben weniger hier im Forum, weil der SCL-Compiler von Siemens noch einige Ocken zusätzlich kostet und in den meisten Fällen (mal ganz vorsichtig ausgedrückt), meistens auch oversized ist.

Aber bei manchen Anforderungen doch ganz sinnvoll ist ..

Und aber leider auch, wie schon einige Kollegen zuvor festgestellt haben, von S...s nicht so richtig weiterentwickelt wird und auch eine ganze Menge Schwachstellen in Richtung Debugging, Breakpoints und Defizite im Sprachumfang (in Bezug auf Pascal) hat.

Und ich kann hier eigentlich nur wiederholen, was zuvor schon Kollegen aus dem Forum hier geschrieben haben : Man muss doch nur das geeignete Werkzeug für die Erledigung der gestellten Aufgabe richtig auswählen, auch wenn man dazu etwas Neues erlernen muss. Da gilt einfach die Frage : Was ist meine Aufgabe und welche Werkzeuge setze ich dafür ein ? 

Und dann natürlich sollte man nur die Werkzeuge und Programmiersprachen einsetzen, die auch vom Wartungspersonal des Kunden gehandelt werden können. Ich kann mein Handy immer mit ruhigem Gewissen gegen 18.00 Uhr abschalten.

Also als Auftragnehmer immer ein Eiertanz, aber das muss man eben immer individuell betrachten, das kann man nicht verallgemeinern. 

Gruß

Question_mark


----------



## Onkel Dagobert (28 Mai 2010)

Hallo 4L,



vierlagig schrieb:


> erklärs mir.



Ja, also man kann den DB-Aufruf stehen lassen, auch wenn die DBNR=0 ist. Ich denke, so weit ist es klar.

Wenn man den zweiten Datenbereich adressiert (einen DB als IDB), dann kann man ganz einfach einen Wert zum AR? addieren, wodurch bei nachfolgenden AR?-Zugriffen auch tatsächlich auf den IDB zugegriffen wird, sofern auch dieser nicht der DB0 ist. Sämtliche nachfolgende AR?-Adressierungen erfolgen dann ohne Bereichskennung.

Folgende Zeilen verändern den Operandenbereich von "100"(DB) nach "101"(IDB).


```
L     DW#16#1000000
      TAR?  
      +D    
      LAR?
```
Ich bringe morgen mal ein Beispiel, falls nötig.


Gruß, Onkel


----------



## vierlagig (28 Mai 2010)

es isn FC, kein FB ... und das auch noch mit gutem grund
und AUF DB 0 geht definitiv in die hose.


----------



## rostiger Nagel (28 Mai 2010)

Wie Mann an diesen Thread auch sehen kann http://www.sps-forum.de/showthread.php?t=36295,
ist es nicht verkehrt zu wissen wie so eine CPU tickt, da 
können dann Maschinen nahe Sprachen nützlich sein um
den Unterschied zwischen Wort und Byte zu erkennen. 
Der themenstater ist der Meinung, die sich damit beschäftigen
eher Deppen sind!


----------



## bike (28 Mai 2010)

Helmut_von_der_Reparatur schrieb:


> Wie Mann an diesen Thread auch sehen kann http://www.sps-forum.de/showthread.php?t=36295,
> ist es nicht verkehrt zu wissen wie so eine CPU tickt,



Da fehlt nicht nur das Wissen wie eine CPU tickt, sondern das Wissen was man wie machen will. 
Es ist eine echte Unsitte inzwischen einfach hier was rein zu werfen und dann auf das fachgerechte Ergebnis zu bekommen. 
Bei diesen Threads fällt mir immer wieder ein Tread von jabba ein und ich denke mir, wie recht er wohl hat.

Zu der Frage, warum welche Darstellung fürs Programmieren verwendet wird, fällt mir ein: 
Ich schreib so wie der Kunde es haben und auch bezahlen will.


bike


----------



## Flo (28 Mai 2010)

Servus, kleine Abendlektüre,
falls mal jemand einen KOP verliebten Programmierer Code lesen möchte , mal den Anhang (dateianhang .doc entfernen,kann ihn sonst nicht hochladen) mit nem Codesys Programm öffnen (hierbei gehts um ein FIFO, ). Wer den Code gelesen hat (ist nicht von mir!!), und dann immer noch der meinung ist, FUP/KOP ist der Hit, dann :s12:.
Diesen Code in ST/SCL programmiert, ein paar Zeilen, dann is gut.

Zum Thema AWL: wenn dieses Register jetzt nicht auf einem Array aufgebaut ist, dann kannst das mit ST/SCL auch nur über pointer realiseren, und bevor ich das mach, dann doch lieber awl.

Merkts wos?
Mfg,


----------



## tymanis (29 Mai 2010)

@Helmut , Bike etc. pp.

Ich hatte mich hier im Forum angemeldet, weil ich gerade an meiner Bachelorarbeit schreibe und das Thema einer SPS bekommen habe, was im Studium nicht behandelt wird. Schade, aber verständlich. Würde man im Studium der E-Technik alles lernen, dann würde man 30 Jahre studieren. Das Gebiet ist eines der komplexesten die ich mir vorstellen kann.

Da man während seiner Abschlussarbeit auf sich gestellt ist, vor allem weil die betreuenden Professoren oft Arbeiten vergeben, von denen sie selbst keine Fachkenntnisse haben, dachte ich am ehesten Hilfe findet man bei Leuten, die sich auskennen.

Dass diese ihr Wissen gerne Teilen ist in diesem Forum wohl ein Irrtum. Ich hab es bisher nur anders kennen gelernt. Da ich mich selbst immer freue wenn mich jemand auf mein Fachgebiet anspricht und ich es selbst bei anderen bisher nicht anders kennen gelernt habe. 

Meine Fragen in diesem Forum sind natürlich simpel für euch. Ich habe bisher nicht einen fertigen, von Fachpersonal geschriebenen Code gesehen. ich arbeite seit 6 Wochen mit Step7 und hab auf leerem Papier angefangen. Mein Code macht zwar überwiegend das, was ich verlange, aber ich kann ja niemals behaupten Durchblick zu haben. Dafür kenne ich bei bestimmten Problemen einfach nicht "die" Lösungen.

Ich habe in meiner Nähe Kontakte gefunden die gerne helfen, ebenfalls ein Forum wo Profis Anfängern bei jedem Problem helfen.

Wenn man um Hilfe fragt, dann gibt man im Grunde bereits Preis, dass man keine Ahnung hat. Unhöflich ist dies in 3 Posts hintereinander zu erwähnen.

Irgendwie ist es mir im Internet schon oft vorgekommen. In einigen Foren trifft man auf eine nette Gemeinschaft, bei anderen suche ich ganz schnell wieder die Flucht. 

Ich danke denen, die mir einige Male wirklich geholfen haben. Wenn man versucht sich komplexe Sachverhalte selbst zu erklären, dann ist das nicht ganz einfach und dauert. Da ist es nett wenn jemand sich 5 Minuten nimmt um mir einen Nachmittag Arbeit zu ersparen. Vielen Dank


----------



## bike (29 Mai 2010)

tymanis schrieb:


> @Helmut , Bike etc. pp.
> 
> 
> 
> Da man während seiner Abschlussarbeit auf sich gestellt ist, vor allem weil die betreuenden Professoren oft Arbeiten vergeben, von denen sie selbst keine Fachkenntnisse haben, dachte ich am ehesten Hilfe findet man bei Leuten, die sich auskennen.



Genau an dieser Stelle setzt die Kritik oder der Hinweis, nenne es wie du willst, ein.
Wenn du erst bei der Abschlussarbeit erkennst, dass du Wissenslücken hast, ist nach meiner Erfahrung im Studium etwas falsch gelaufen.
Als die Themen aktuell dran waren, da hätte deine Neugierde dich auf die Themen und das was du nicht verstanden hast bringen sollen.
Wenn ich etwas weiß helfe ich bestimmt gern, doch es geht mir gegen den Strich, wenn zuerst der 5te oder 6te Schritt gemacht wird, bevor der erste verstanden wurde. 

Nix für ungut

bike


----------



## tymanis (29 Mai 2010)

Wenn du glaubst, nach einem Etech.-Studium hätte man keine Wissenslücken und vor allem in dem Bereich Softwareentwicklung!, dann weiß ich dass du nie studiert hast.
Also warum meinem Studium ans Bein pissen ? Es lief sehr gut und ich gehöre zu den Besten aus Aachen. Nur ist man als Absolvent eben erst am Anfang. Niemand verlangt außerdem was anderes. Kein Professor, kein Arbeitgeber und auch kein Politiker!


----------



## SPSKILLER (29 Mai 2010)

vierlagig schrieb:


> es isn FC, kein FB ... und das auch noch mit gutem grund
> und AUF DB 0 geht definitiv in die hose.


 
der Dagobert will dir IMHO nur sagen, dass eine Schleife überflüssig ist, wenn du das Adressregister gleich richtig setzt...

Dann kannst du nämlich Schleife 1 für alle Bereich nutzen.


----------



## bike (29 Mai 2010)

tymanis schrieb:


> Wenn du glaubst, nach einem Etech.-Studium hätte man keine Wissenslücken und vor allem in dem Bereich Softwareentwicklung!, dann weiß ich dass du nie studiert hast.
> Also warum meinem Studium ans Bein pissen ? Es lief sehr gut und ich gehöre zu den Besten aus Aachen. Nur ist man als Absolvent eben erst am Anfang. Niemand verlangt außerdem was anderes. Kein Professor, kein Arbeitgeber und auch kein Politiker!



Niemand will dir irgendwohin pissen.
Doch absolute Grundlagen sollten im Studium vermittelt werden und nicht ein halbe Stunde vor der Angst sich auftun.

Wenn du in ein Unternehmen kommst, solltest du wissen was ein Register ist, wie dies genutzt und wie eine Zahl normiert wird.
Besonders als Softwareentwickler, da sind solche Dinge einfach Grundlagen.

bike

P.S: Wenn es dich beruhigt, ich habe studiert und habe ohne viele Fragen in Foren zum Abschluss geschafft.


----------



## rostiger Nagel (29 Mai 2010)

tymanis schrieb:


> Dass diese ihr Wissen gerne Teilen ist in diesem Forum wohl ein Irrtum. Ich hab es bisher nur anders kennen gelernt. Da ich mich selbst immer freue wenn mich jemand auf mein Fachgebiet anspricht und ich es selbst bei anderen bisher nicht anders kennen gelernt habe.


 
Also in diesem Forum wird das wissen schon gerne geteilt, ist auch das
Moto wie du ganz oben lesen kannst "Wissen ist das einzige Gut das sich
vermehrt wenn man es teilt"
Es gibt keine blöde Fragen hier, eigendlich wird alles beantwortet. Nur darf
ich es noch einmal in errinerung bringen, du fragst hier:


tymanis schrieb:


> Ich hab mal an erfahrene Softwareentwickler eine einfache Frage:
> 
> Warum lese ich hier im Forum noch so oft AWL ? Ich denke wenn man keinen µC programmiert und nicht darauf angewiesen ist, dann bietet die Norm bei der SPS-Programmierung doch denkbar einfache alternativen um zu programmieren.
> Hat das den Hintergrund, dass hier viele damit "aufgewachsen" sind oder seht ihr entscheidende Vorteile in AWL, warum ich SCL kaum hier im Forum lese?


 
behaubtest hier, obwohl deine Frage sagt das du den unterschied nicht kennst.


tymanis schrieb:


> Wer in AWL z.B. Werte addiert, der ist kein Crack sondern ein Depp!


 
und denkst noch einer der besten zu sein, was ich für ein gerücht halte.
Da kann ich nur sagen armes Aachen...


tymanis schrieb:


> ...und ich gehöre zu den Besten aus Aachen.


 
Soviel Eigenlob stinkt sogar durch das Netz, wenn du so gut bist wirst du
schon alleine fertig. Viel Erfolg.


----------



## trinitaucher (29 Mai 2010)

bike schrieb:


> Wenn du erst bei der Abschlussarbeit erkennst, dass du Wissenslücken hast, ist nach meiner Erfahrung im Studium etwas falsch gelaufen.
> Als die Themen aktuell dran waren, da hätte deine Neugierde dich auf die Themen und das was du nicht verstanden hast bringen sollen.


Ihr stellt euch das alle so einfach vor, zu sagen, dass man seine Wissenslücken rechtzeitig erkennen sollte.


tymanis schrieb:


> Ich hatte mich hier im Forum angemeldet, weil ich gerade an meiner  Bachelorarbeit schreibe und das Thema einer SPS bekommen habe, was im  Studium nicht behandelt wird.


Ich kann tymanis gut nachempfinden. Wenn er, wie er schreibt, im Studium nichts von SPSen vemittelt tbekommen hat, oder das im sicherlich enorm gestrafften Bachelor-Studiengang gerade mal ein Paar Wochen behandelt wurde, wie soll er da schon wissen, wo er später mal Wissenslücken haben wird. Wenn's so einfach wäre ...
Wir hatte im Studium auch zahlreiche Themen nur extrem kurz behandelt, quasi "reingeschnuppert". Diese Exkurse sind oft auch aufgrund der Lehrkräfte teilweise sehr praxisfremd ausgelegt.
Man kann in einem verschulten Studiengang, wie die meisten Bachelors insb. in den Ingenieurwissenschaften sind, nicht auch noch nebenbei jedes Thema auf eigene Faust beliebig vertiefen. Es fehlt oft die Zeit, da meistens der Stoff bis zur nächsten Klausur gepaukt werden muss.

Ich hatte Glück, nen E-Technik-Diplom zu machen mit starker Ausrichtung auf Prozess- und Maschinensteuerung (4 Semester stand das aufm Lehrplan). Zudem war's mein Interessengebiet. Dafür sind andere Dinge, die man vielleicht von E-Technik-Ing. erwarten würde, m. E. zu kurz gekommen, so dass ich heute immer erst wieder selbst etliche Zeit mit Nacharbeit verbringen muss, wenn eine entsprechende Aufgabe ansteht.

... also Jungs, bei aller berechtigten Kritik, bitte auch ein bisschen Verständnis.


----------



## rostiger Nagel (29 Mai 2010)

trinitaucher schrieb:


> ... also Jungs, bei aller berechtigten Kritik, bitte auch ein bisschen Verständnis.


 
nein trini, unwissenheit ist nicht schlimm, aber sein auftreten hier
ist unter aller sau und deshalb diese Reaktion.


----------



## bike (29 Mai 2010)

trinitaucher schrieb:


> Ihr stellt euch das alle so einfach vor, zu sagen, dass man seine Wissenslücken rechtzeitig erkennen sollte.



Stell ich mir das?
Bestimmt nicht, doch als angehender Ing sollte er die Grundlagen kennen bzw wissen wie er allein sich an die Lösung eines Problems heranarbeiten kann.
Wenn dann Fragen sind, dann in Foren fragen, völlig okay, doch irgendwie sollte zu erkennen sein, dass zuerst selber nach einer Lösung gesucht wird.




trinitaucher schrieb:


> ... also Jungs, bei aller berechtigten Kritik, bitte auch ein bisschen Verständnis.



Ich habe sehr viel Verständnis. Doch zuerst ist Eigeninitiative und der Versuch ein Problem zu erkennen und lösen zu wollen gefordert und nicht einfach sich im Forum anmelden und dann auf Aufgaben Lösungen zu warten.

bike


----------



## Onkel Dagobert (29 Mai 2010)

Helmut_von_der_Reparatur schrieb:


> nein trini, unwissenheit ist nicht schlimm, aber sein auftreten hier
> ist unter aller sau und deshalb diese Reaktion.



Unter aller Sau ist einzig und allein die Provokation, die hier entsteht.


Gruß, Onkel


----------



## tymanis (29 Mai 2010)

Ich entschuldige mich für den "Deppen" den Beitrag habe ich erst später nochmal gelesen. Da mögt ihr recht haben, dass das vielleicht falsch formuliert war.

Aber was soll das ständige Zitieren meines Eingangsposts ? Ist das böswillig, dass ihr den falsch versteht ? Den hab ich eröffnet, als ich die Aufgabe bekam mich mit SIMIT, Step7, WinCC flex, SCL, Graph7, FUP und AWL zu beschäftigen. Das war ne ehrliche Frage ohne schon etwas da hinein zu interpretieren. Als ich den eröffnet hatte hab ich noch kaum Ahnung von der Materie gehabt. Es war eine einfache Frage und die vielen Antworten und Beispiele haben mir schon geholfen, den Kram den ich in Büchern lesen mal in der Anwendung zu sehen.


----------



## bike (29 Mai 2010)

*Off topic inzwischen*



tymanis schrieb:


> ? Ist das böswillig, dass ihr den falsch versteht ?



Wir verstehen falsch?
Kann es sein, dass falsch gefragt wurde?
Aber es ist immer leicht Fehler bei anderen zu suchen.
Als Muster- und Superstudent der Uni Aachen kann das dir doch nicht passieren, daher sind wir hier schuld.

Ich würde mir echt Gedanken machen, warum es so wie hier lief.
Später im Job so etwas wie hier und du kannst dir was neues suchen.
Vielleicht hilft es dir in Zukunft anderes zu denken.

bike


----------



## Onkel Dagobert (29 Mai 2010)

Hallo tymanis,



tymanis schrieb:


> ..Aber was soll das ständige Zitieren meines Eingangsposts ? Ist das böswillig, dass ihr den falsch versteht ?..



Das siehst du richtig. Deine Eingangsfrage ist völlig ok und berechtigt. Zudem ist sie auch noch gut und wertungslos formuliert. Es ist hier öfters mal so dass sich einige gelangweilte Typen eine Tüte Chips hernehmen und sich köstlich über entfachte Diskussionen amüsieren. Dann wir jedes Wort auf die Goldwaage gelegt. Es wird immer wieder nach Aufhängern gesucht, um einen "Neuen" zu provozieren. Und kommt nichts nach, dann wird halt mal wieder ein Stein geworfen. Eine Diskussion über AWL, SCL und besonders auch KOP und FUP ist das Paradebeispiel. Das hatten wir schon öfters. Lass ihnen einfach den Spaß und denke dir nichts dabei.


Gruß, Onkel


----------



## trinitaucher (29 Mai 2010)

Onkel Dagobert schrieb:


> Es ist hier öfters mal so dass sich einige gelangweilte Typen eine Tüte Chips hernehmen und sich köstlich über entfachte Diskussionen amüsieren. Dann wir jedes Wort auf die Goldwaage gelegt. Es wird immer wieder nach Aufhängern gesucht, um einen "Neuen" zu provozieren. Und kommt nichts nach, dann wird halt mal wieder ein Stein geworfen.


*ACK*
Wow ... selten hat es jemand geschafft, meine Gedanken so treffend zu umschreiben


----------



## Onkel Dagobert (29 Mai 2010)

Hallo Vierlagig,

ich bin dir noch eine Antwort schuldig.



vierlagig schrieb:


> erklärs mir.





Onkel Dagobert schrieb:


> Ich bringe morgen mal ein Beispiel, falls nötig...


Ist etwas später geworden. Ich habe dein Beispiel aufgegriffen. Was ich generell nicht begreife ist dass du ein Date_And_Time als ANY übergibst. Ich nehme an, es war nur ein Demo-Projekt.



vierlagig schrieb:


> es isn FC, kein FB ... und das auch noch mit gutem grund
> und AUF DB 0 geht definitiv in die hose.


Jaja.


```
FUNCTION FC 1710 : VOID
TITLE =READ_CLK

VAR_INPUT
  anyDateTime : ANY ;    
  anyDestination : ANY ;    
END_VAR
VAR_TEMP
  dwTempAR1 : DWORD ;    
  iLoop : INT ;    
  TEMP_INT : INT ;    
END_VAR

BEGIN
NETWORK
TITLE =

//*** Adressregister sichern
      TAR1  #dwTempAR1; // adressregister

//*** Quelldatenbereich auf AR1 und DB öffnen
      L     P##anyDateTime; // quelle
      LAR1  ; 
      L     W [AR1,P#4.0]; 
      T     #TEMP_INT; 
      AUF   DB [#TEMP_INT]; 
      L     D [AR1,P#6.0]; // speicherbereich aus ANY
      LAR1  ; // in AR1

//*** Zieldatenbereich auf AR2 und als IDB öffnen
      L     P##anyDestination; // ziel
      LAR2  ; 
      L     W [AR2,P#4.0]; 
      T     #TEMP_INT; 
      AUF   DI [#TEMP_INT]; 
      L     D [AR2,P#6.0]; // speicherbereich aus ANY
      LAR2  ; // in AR2

//*** wenn DB<>0, dann AR2 auf IDB
      L     #TEMP_INT; 
      L     B#16#0; 
      <>I   ; 
      SPBN  M001; 
      L     DW#16#1000000; 
      TAR2  ; 
      +D    ; 
      LAR2  ; 
M001: NOP   0; 

//*** Jahr, Monat usw. in das Ziel schreiben
      L     6; 
nex1: T     #iLoop; // jahr, monat, tag,
      L     B [AR1,P#0.0]; // stunden, minuten, sekunden
      BTI   ; // in integer wandeln
      T     W [AR2,P#0.0]; // und speichern
      +AR2  P#2.0; 
      +AR1  P#1.0; 
      L     #iLoop; 
      LOOP  nex1; 

//*** Millisekunden
      L     W [AR1,P#0.0]; // millisekunden
      SRW   4; // filtern
      BTI   ; 
      T     W [AR2,P#0.0]; // und speichern

//*** Wochentag
      L     W [AR1,P#0.0]; // wochentag
      L     W#16#F; // filtern
      UW    ; 
      BTI   ; 
      T     W [AR2,P#2.0]; // und speichern

//*** Ende
      LAR1  #dwTempAR1; // adressregister zurückspeichern
      SET   ; //EN0-handling
      SAVE  ; 

END_FUNCTION
```
Gruß, Onkel


----------



## Hoyt (2 Juni 2010)

Helmut_von_der_Reparatur schrieb:


> ... lt. Siemens Gerüchte Küche, wird mit Hochdruck an den neuen Automation Portal für die S7 300 / 400 gearbeitet dabei soll sogar richtig Geld in die Hand genommen werden damit es nicht so ein Reinfall wie bei WinCC flexibel wird. Mit dieser neuen Software wollen die uns unter Umständen noch dieses Jahr beglücken....



Habe heute mit unserem Siemens Vertreter gesprochen, und der hat mir dies auch so bestätigt.




Helmut_von_der_Reparatur schrieb:


> dabei steht fest das AWL gestrichen wird, d.h. es wird kein AWL mehr geben.



Auf die Frage ob AWL den gestrichen würde, hat er gesagt: AWL fällt nur bei S7-1200 weg, würde aber mit Sicherheit bei den 300er & 400er Steuerungen beibehalten. Er könnte sich gleich von seinen Kunden verabschieden, wenn AWL wegfallen würde. Siemens könne sich dies gar nicht erlauben.

Meine Meinung ist, dass sich SCL in Zukunft sicher noch weiter verbreiten (verbessern) wird, aber es noch einige Zeit dauert, bis ALW komplett wegfällt.
Bit-Verknüpfungen werden auch in 20 Jahren noch nicht anders aussehen als heute. Und mit AWL, SCL oder meinetwegen KOP und FUP hat man hier doch immer noch Auswahl, die einem am meisten zusagt.
Und wenn an den Schulen nur noch Hochsprachen unterrichtet werden, heisst es doch noch lange nicht, dass sich Problemstellungen der Industrie nur noch mit solchen Sprachen am besten (einfachsten) lösen lassen.

Gruss Hoyt


----------



## SSO (3 Juni 2010)

Nach dem ich mir jetzt den ganzen Fred durchgelesen habe, möchte ich auch mal kurz meine Sicht dazu kund tun.
Ich bin bekender AWL'er. Ich kann aber genau so gut mit FUP umgehen und mach das auch, wenn es um reine BIT-popelein gibt, die auch mal ein Instandhalter anschauen muss. Außerdem nütze ich SCL, wenn es um String, XML und Co geht ist es tatsächlich einfacher als in AWL. Graph kann ich auch und CFC und...... Der ganze Käse ist ja auch kein Hexenwerk (auch wenn viele zu glauben scheinen mit was besonderem zu arbeiten). Bedenkt: Irgendwann kommt bei allen hinten AWL raus.

Trotzdem, S7 ohne AWL ist keinen Pfifferling wert. Wo sonst gibt es die absolute Diagnose. Ich kann zu jeder Befehlszeile wirklich alles anschauen was die CPU damit anstellet. In keiner anderen Programmiersprache kann ich jedes Register und jedes Statusbit ansehen. Leider wissen die meisten nicht mal das man bei der Statusanzeige mehr als VKE,Status und AKKU1 anschauen kann. Liegt warscheinlich daran, das viele nicht mal wissen das es da noch mehr gibt. Wenn ich keinen Zugriff mehr auf AWL habe, dann kann man SCL, CFC und Graph wirklich vergessen (zumindest so lange sie nicht fehlerfrei compilieren). 

Sollte AWL wirklich gestrichen werden, dann kann man auch nicht mehr jede Änderung in eine laufende Anlage einspielen. Bei jedem kompilierten Programm wäre mir das zu riskant. Unter AWL habe ich wirklich selbst in der Hand was passiert.

Also jede Programmiersprache und jedes Tool hat seine Berechtigung, aber ohne AWL ist das alles für'n A....

Außerdem dieses blöde Argument, das ja inzwischen sogar bei SIEMENS die Rechenleistung für "vernünftige" Programme reicht, kann ich nicht mehr höhren. Dann können wir ja in Zukunft gleich das Dot.Net Framework auf die CPU laden, damit wir eindlich mal vernünftig den Wochentag auslesen können. Solange es irgend welche Systemgrenzen gibt, wird es die Trottel geben, die mit den kleinsten Aufgaben die Grenzen überschreiten. Statt mit eigenen Hirn 5 kompakte Zeilen zu schreiben, die zu 100% für die aktuelle Aufgabe passen, werden irgend welche Bibliotheken genutzt, die leider nur zu 90% zur Aufgabe passen und 99% ungenutzten Code mitbringen. Dann wird ein Rucksack programmiert, um ja die tolle Bibliothek nutzen zu können. Das wird dann aber in FUP gemacht, damit jeder versteht was ich gemacht habe. Hurra, dann dauert's nicht mehr lange und wir sind auf dem Level von Windows und Co. Dann beheben wir unsere Fehler nicht mehr selber, sondern warten auf das nächste Servicepack für unser Framework's. Hoffentlich bin ich bis dahin Rente.


Gruß aus München


----------



## Paule (3 Juni 2010)

Das kann doch nicht Euer ernst sein! 
Zum zigsten male lese ich den Spruch:

"Ich programmiere in FUP damit es die Instandhalter lesen können"

Warum nicht gleich bei der guten alten Schützsteuerung bleiben?

Aber gleichzeitig werden die einfachsten Funktionen in SCL geschrieben.
Können das die Instandhalter besser lesen?

Ist mir klar dass ich mir damit keine Freunde gemacht habe.
Aber Leute steht doch mal zu Eurer Programmierweise.
KOP / FUP ist doch OK auch ohne Instandhalter.
Ich mag es nicht aber wenn interessiert das schon.


----------



## Chefmech (3 Juni 2010)

SSO schrieb:


> Trotzdem, S7 ohne AWL ist keinen Pfifferling wert. Wo sonst gibt es die absolute Diagnose. Ich kann zu jeder Befehlszeile wirklich alles anschauen was die CPU damit anstellet. In keiner anderen Programmiersprache kann ich jedes Register und jedes Statusbit ansehen. Leider wissen die meisten nicht mal das man bei der Statusanzeige mehr als VKE,Status und AKKU1 anschauen kann. Liegt warscheinlich daran, das viele nicht mal wissen das es da noch mehr gibt. Wenn ich keinen Zugriff mehr auf AWL habe, dann kann man SCL, CFC und Graph wirklich vergessen (zumindest so lange sie nicht fehlerfrei compilieren).
> 
> 
> 
> Gruß aus München



Aber genau das ist der Punkt.

Wenn ich in SCL programmiere, dann brauch ich mich überhaupt nicht um das VKE zu kümmern. 
-->Genau das ist doch der grosse Vorteil von einer Hochsprache, das der Abstraktionslevel erhöht wird. Ich brauch mich nicht mehr um den Inhalt eines Akku's kümmern muss, ich kann mich voll und ganz auf die funktionalität meines Programmes konzentrieren.


----------



## peter(R) (3 Juni 2010)

Was bitte schön hat FUP mit einer Schützszteuerung zu tun ???????????
Wieviele Beiträge hast Du gelesen bei denen EIN UND DERSELBE Beitragersteller FUP programmiert UND Bitgeklimper in SCL erstellt ?? 
Schmeiße doch nicht alles in einen Topf . Das waren immer verschiedene Leute.
Ich bin auf meine Programmierweise im laufe der - schon vielen - Jahre gerade durch die Instandhalter gekommen. Die sitzen nicht den ganzen Tag vor dem Programmiergerät und sind oft nicht soo tief drin , haben das Problem sich auf verschiedene Hersteller - also auch Programmierer - in kürzester Zeit einstellen zu müssen weil sie ja eigentlich nur gerufen werden wenn was kaputt ist. Sich dann in ein 20 zeiliges AWL Nwtzwerk - am besten mit mindestens 4 Klammerebenen - eindenken zu müssen ist nicht notwendig. Damit mache ich dem armen Mann das Leben schwer und das will ich nicht !!
Selbst bei Berechnungen oä. in AWL mache ich ab und zu Variablen als Zwichenergebnis auch wenn es nicht unbedingt nötig ist einfach damit es besser verständlich ist.
Ich programmiere nicht um auf Teufel komm raus einen kurzen und Code zu erzeugen bei dem ein anderer Freak vieleicht sagt "das sieht aber mal knackig und elegant aus" sondern um eine Anlage bei einem Kunden so gut wie möglich laufen zu lassen und den Leuten die das tagtäglich bedienen und Instandhalten müssen ein möglichst sorgenfreies Leben zu ermöglichen. 
Dazu gehört, dass es so einfach und durchschaubar wie möglich programmiert wird.

peterR


----------



## Paule (4 Juni 2010)

peter(R) schrieb:


> Ich programmiere nicht um auf Teufel komm raus einen kurzen und Code zu erzeugen bei dem ein anderer Freak vieleicht sagt "das sieht aber mal knackig und elegant aus" sondern um eine Anlage bei einem Kunden so gut wie möglich laufen zu lassen und den Leuten die das tagtäglich bedienen und Instandhalten müssen ein möglichst sorgenfreies Leben zu ermöglichen.


AWL hat doch nichts mit "Freak" zu tun.

Du willst mir jetzt aber nicht erzählen das Du ein Programm schreibst mit dem Hintergedanken das der Instandhalter es bei einer Störung lesen kann.

Denn was da wirklich hilft sind Kommentare, und da kann ich bei AWL in jeder Zeile was dazu schreiben. 
Bei FUP und KOP wird schon mal die aussagekräftige Symbolik auf mehrere Zeilen aufgeteilt, was ein lesen erschwert.
Also bleibt nur der Netzwerkkommentar und natürlich die bunten Linien im Online Modus.


----------



## Approx (4 Juni 2010)

Paule schrieb:


> Du willst mir jetzt aber nicht erzählen das Du ein Programm schreibst mit dem Hintergedanken das der Instandhalter es bei einer Störung lesen kann.


 
Genau SO gehe ich an die Sache heran! 
Es gibt halt Kollegen aus der Instandhaltung, die machen den Baustein bei AWL gleich mal wieder zu und gucken wieder in die Stromlaufpläne...
Mit Sprungleisten, 5 Klammerebenen, Indirekter Aressierung oder Spaghettispringerei können unsere Instandhalter nix anfangen.


> Aber gleichzeitig werden die einfachsten Funktionen in SCL geschrieben.
> Können das die Instandhalter besser lesen?


 
Wenn uns eine Fremdfirma einen SCL-Baustein mit drei IF-Anweisungen unterschustern will, dann darf der Progger das gleich mal in FUP umändern, sonst gibt es keine Abnahme. Auch Unternehmen mittlerer Größe können es sich inzwischen nicht einfach so leisten, alle MA zum SCL-Lehrgang beim S. anzumelden.
Bei Umfangreicheren Dingen wie Interpolation, Rechnerei usw. sehe ich das genauso wie die meisten hier. Ich komme damit auch klar. Das sind dann aber auch Bausteine, die nicht unbedingt den Zylinder oder den Antrieb steuern.

Meine Meinung / Erfahrungen
Gruß Approx


----------



## peter(R) (4 Juni 2010)

@ Paule
JA wie Approx schon schrieb genau so gehe ich da dran.
Ich muss das Programm nur schreiben und die Anlage in Betrieb nehmen.
Die Instandhalter und Bediener müssen jahrelang damit leben !!!

peter(R)


----------



## Paule (4 Juni 2010)

Approx schrieb:


> Es gibt halt Kollegen aus der Instandhaltung, die machen den Baustein bei AWL gleich mal wieder zu und gucken wieder in die Stromlaufpläne...
> Mit Sprungleisten, 5 Klammerebenen, Indirekter Aressierung oder Spaghettispringerei können unsere Instandhalter nix anfangen.


Ja Approx,
das kenne ich auch.
Aber AWL ist doch nicht gleichbedeutend mit Sprungleiste, Indirekter Adressierung und Spaghettispringerei.

Wenn Indirekte Adressierung nötig ist dann wirst auch Du es damit machen, oder nicht?

Ich kann doch das normale Bitgeschubse auch in AWL schreiben und komme da sogar mit weniger Klammern aus als FUP erzeugen würde.

```
U E 1.0
   U E 1.1
   O
   U E 1.2
   U E 1.3
   O E 1.4
   = A 1.0
 
   L MW 2
   L 5
   >I
   U M 4.0
   = A 1.1
```
 
Stehe ich hier wirklich alleine da mit dieser Meinung? :shock:
Ich glaube ich werde mal ein bisschen in FUP reinschnuppern.


----------



## SPSKILLER (4 Juni 2010)

Paule schrieb:


> Stehe ich hier wirklich alleine da mit dieser Meinung? :shock:


 
NEIN!!!
Aber mir ist die Diskussion zu sinnlos und zu mühselig.


----------



## dalbi (4 Juni 2010)

Paule schrieb:


> ...Stehe ich hier wirklich alleine da mit dieser Meinung? :shock:
> Ich glaube ich werde mal ein bisschen in FUP reinschnuppern.



Hi,

Du bist nicht allein. 

Gruss Daniel


----------



## Paule (4 Juni 2010)

SPSKILLER schrieb:


> NEIN!!!
> Aber mir ist die Diskussion zu sinnlos und zu mühselig.


Hast Recht,
ich klinke mich jetzt hier auch aus. 
Soll doch jeder machen was er will.


----------



## MSB (4 Juni 2010)

Approx schrieb:


> Genau SO gehe ich an die Sache heran!
> Es gibt halt Kollegen aus der Instandhaltung, die machen den Baustein bei AWL gleich mal wieder zu und gucken wieder in die Stromlaufpläne...
> Mit Sprungleisten, 5 Klammerebenen, Indirekter Aressierung oder Spaghettispringerei können unsere Instandhalter nix anfangen.



Das einzige was ich an der Sache so gar nicht verstehe:
KOP/FUP <> nachvollziehbares Programm, jedenfalls nicht grundsätzlich.

Wenn ich in AWL 5 Klammerebenen "brauche", dann ist der KOP/FUP Schwanz der dabei rauskommt sowieso so lang,
das er nicht mehr sinnvoll beobachtbar ist, egal mit was.

Indirekte Adressierung, so diese denn im speziellen Fall nötig ist, geht ohnehin ausschließlich in AWL bzw. SCL.

Spaghettispinnerei ist jetzt bei dem Zeug das ich so kenne sicherlich auch kein Argument,
für welche Sprache/Werkzeug auch immer, das schafft man mit KOP genau so "effizient" wie in AWL.

Mfg
Manuel


----------



## peter(R) (4 Juni 2010)

Mag ja sein, dass ich dafür zu doof bin aber wenn ich die beiden gleichen Netzwerke in FUP und AWL betrachte, dann erschliesst sich mir die Funktion in FUP sofort in AWL aber erst neach einigem Nachdenken.

peter(R)


----------



## Ralle (4 Juni 2010)

peter(R) schrieb:


> Mag ja sein, dass ich dafür zu doof bin aber wenn ich die beiden gleichen Netzwerke in FUP und AWL betrachte, dann erschliesst sich mir die Funktion in FUP sofort in AWL aber erst neach einigem Nachdenken.
> 
> peter(R)



Da gebe ich dir auch Recht, obwohl ich eine ganze Menge in AWL programmiere (natürlich wenn es um Zeiger etc. geht), schaue ich mir derartige Logik-Netzwerke auch fast immer in KOP/FUP an, gerade beim Debuggen. Auch SCL halte ich für solche Sachen eher für ungeeignet und frage mich immer wieder, wie das die Jungs machen, die ausschließlich SCL oder ST nutzen.


----------

