Problem bei AWL Grundlagen

Aikapan

Level-2
Beiträge
29
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin,

wie kann ich folgenden AWL-Code verstehen?

Code:
A E0.0
A(
A E0.1
O E0.2
)
= A0.0

Is das das Gleiche wie:
Code:
A E0.0
A(
O E0.1
O E0.2
)
= A0.0

Oder sogar nur:
Code:
A E0.0
A E0.1
= A0.0
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich arbeite mich grad in ein bestehendes (recht umfangreiches) Software-Projekt ein und finde nun auch folgendes:

Code:
A #Fct_Blink_Left
A "DB Com Glob".Moving_front
A "1,0 sec Takt"
O
A #Error_Blink
A "0,4 sec Takt"
O #T_StartWarning
[...]
= #TrafficLight_Left

Da gehören doch zwingend Klammern rein, oder "funktioniert" es notgedrungen sogar so?!??
 
Das funktioniert auf jeden Fall ohne Klammern.
Aber um eine genaue Aussage zu machen solltest du schon schreiben wo du Klammern erwartest.;)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Dieser Code
Code:
A #Fct_Blink_Left
A "DB Com Glob".Moving_front
A "1,0 sec Takt"
O
A #Error_Blink
A "0,4 sec Takt"
O #T_StartWarning
[...]
= #TrafficLight_Left

ist gleichwertig mit diesem
Code:
A #Fct_Blink_Left
A "DB Com Glob".Moving_front
A "1,0 sec Takt"
O
A #Error_Blink
A "0,4 sec Takt"
O
A #T_StartWarning
[...]
= #TrafficLight_Left
oder diesem
Code:
A(
A #Fct_Blink_Left
A "DB Com Glob".Moving_front
A "1,0 sec Takt"
)
O(
A #Error_Blink
A "0,4 sec Takt"
)
O(
A #T_StartWarning
[...]
)
= #TrafficLight_Left
Jetzt deutlich;) Du brauchst also keine Klammern
 
Also ginge auch:

Code:
A #Fct_Blink_Left
A "DB Com Glob".Moving_front
A "1,0 sec Takt"
O #Error_Blink
A "0,4 sec Takt"
O #T_StartWarning
[...]
= #TrafficLight_Left

??
 
Code:
A(
A #Fct_Blink_Left
A "DB Com Glob".Moving_front
A "1,0 sec Takt"
)
O(
A #Error_Blink
A "0,4 sec Takt"
)
O(
A #T_StartWarning
[...]
)
= #TrafficLight_Left
Jetzt deutlich;) Du brauchst also keine Klammern

Am Anfang in der ersten Zeile gehört ein O, damit es insgesamt 3 verschiedene ODER-Zweige werden. (wegen Übersichtlichkeit ;) )
 
Zuletzt bearbeitet:
Gibt es eigentlich eine Möglichkeit solche AWL Codes mit Klammern in FUP/KOP umzuwandeln?
Eventuell ein eigenes kleines Programm dafür?

Vor allem wenn es der Simatic Manager aus diversen Gründen nicht kann?
 
Dazu kann man keine allgemeingültige Aussage treffen. Manchmal kommt es schon darauf an wie das AWL genau aufgebaut ist. Ist es ein längeres AWL Stück dann kann es sein dass man es auf mehrere Netzwerke verteilen muss.
Hinter einem Timer muss zB 3x NOP 0 stehen damit es übersetzt werden kann usw.
Einfach Netzwerk aufmachen und auf FUP umschalten. Wird es in FUP angezeigt ists gut wenn nicht dann.....

peter(R)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Gibt es irgendwo eine Zusammenfassung welche Syntax eingehalten werden muss damit man es umwandeln kann?

Das mit dem Aufteilen ist mir schon klar gewesen. Speziell wenn jemand in einem Netzwerk gleich 5x =XX verwendet.... Am besten dann noch so lange das es gar nicht auf eine Bildschirmseite passt. :icon_neutral:

Diese NOP0 Sache scheint mir auch aus der Steinzeit zu kommen.

Ich denke wenn es jemand schafft das ganze im Kopf umzuwandeln, sollte es doch die "günstige"
Siemens Software auch schaffen. :ROFLMAO:

Und da red ich jetzt noch nicht mal von Timern oder Sprungbefehlen oder sonstigem... da gehen ja oft ganz normale und/oder Verknüpfungen mit paar Klammern nicht mehr umzuwandeln.
 
Genau genommen ist es so, dass man selbst wenn man FUP programmiert eigentlich AWL programmiert. Man sieht es nur nicht. AWL kann somit nur umgewandelt werden wenn das was da programmiert wurde auch grafisch dagestellt werden kann.
Das hat aber auch gar nichts mit Steinzeit zu tun. Ich kann jedes beliebige Netzwerk in AWL so verzwirbelt programmieren dass es halt nicht dastellbar ist.
Wer das gaaanz früher mal gelernt hat ( als die Dinos noch durch den Wald liefen) hat das gleich so lernen müssen weil es halt nichts anderes gab. Da ich das halt vor 35 Jahren gelernt habe ist es halt noch drin.
Ein Programm das aus jedem AWL ein FUP macht möchtest du sicherlich nicht bezahlen das ist mit sinnvollem Aufwand nicht zu schaffen. In AWL kann man halt fürchterlich sauigeln da blickt man dann nach einer Woche selbst nicht mehr durch.
Da gilt dann es funktioniert und keiner weiss warum.
Da gibts - wenn es denn sein muss -nur eins. In kleine übersichtliche Stücke zerlegen uns so versuchen das Ganze zu verstehen. Übrigens sind zB Sprünge in FUP sehr viel unübersichtlicher als in AWL

peter(R)

P.S. Manche Sachen kann ma garnicht in FUP programmieren, da muss es AWL sein.
 
Wer das gaaanz früher mal gelernt hat ( als die Dinos noch durch den Wald liefen) hat das gleich so lernen müssen weil es halt nichts anderes gab. Da ich das halt vor 35 Jahren gelernt habe ist es halt noch drin.
Ich stamme auch noch aus dieser Generation. Da hat man sich das Programm als Kontaktplan aufs Papier gezeichnet und dann in AWL programmiert. War auch nicht so schlecht und manche Anlagen laufen jetzt noch !
 
Zurück
Oben