Grundsätzlich: Warum AWL ?

Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo tymanis,

..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
 
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 :ROFLMAO:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Vierlagig,

ich bin dir noch eine Antwort schuldig.


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.

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

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


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
 
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
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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.
 
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.
 
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
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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.
 
Zuletzt bearbeitet:
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
 
Zuletzt bearbeitet:
@ 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)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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.
Code:
   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? :oops::shock:
Ich glaube ich werde mal ein bisschen in FUP reinschnuppern. ;)
 
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
 
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)
 

Anhänge

  • AWL.jpg
    AWL.jpg
    71 KB · Aufrufe: 67
  • FUP.jpg
    FUP.jpg
    87,2 KB · Aufrufe: 66
Zuviel Werbung?
-> Hier kostenlos registrieren
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.
 
Zurück
Oben