Forum: Offtopic AWL - Text verstehen


von M. K. (spawn30)


Lesenswert?

Hallo zusammen,

ich bin dabei mir ein S7 - Programm zu erarbeiten. Habe aber etwas 
schwierigkeiten den AWL - Code zu interpretieren. Vielleicht kann mir 
hier einer Helfen, indem er kurz erklärt was in welcher Zeile passiert.

Hier der Code:

      UN    #Read
      UN    #Write
      O     #Break
      O
      U(
      O     DBX  262.3
      O     DBX  262.2
      O     DBX  263.1
      )
      U(
      L     DBW  280
      L     0
      >I
      )
      =     L      8.0
      U     L      8.0
      UN    DBX  262.0
      =     L      8.1
      U     L      8.1
      SPBNB _00b
      L     W#16#2001
      T     DBW   10
_00b: NOP   0
      U     L      8.1
      U(
      L     DBW    0
      L     W#16#2001
      ==I
      )
      SPBNB _00c
      L     W#16#200
      T     DBW   10
_00c: NOP   0
      U     L      8.1
      BLD   102
      S     DBX  278.0
      U     L      8.0
      U(
      O(
      L     DBW  280
      L     0
      ==I
      )
      O
      UN    #Read
      UN    #Write
      O     #Break
      )
      R     DBX  260.1
      R     DBX  260.3
      U     L      8.0
      BLD   102
      R     #TIMEOUT
      U     L      8.0
      SPBNB _00d
      L     0
      T     DBW   20
_00d: NOP   0
      U     L      8.0
      SPBNB _00e
      L     W#16#0
      T     DBW   12
_00e: NOP   0
      U     L      8.0
      SPBNB _00f
      L     W#16#0
      T     DBW   14
_00f: NOP   0
      U     L      8.0
      SPBNB _010
      L     W#16#0
      T     DBW   16
_010: NOP   0
      U     L      8.0
      SPBNB _011
      L     W#16#0
      T     DBW   18
_011: NOP   0
      U     L      8.0
      SPBNB _012
      L     0
      T     DBW  264
_012: NOP   0
      U     L      8.0
      SPBNB _013
      L     0
      T     DBW  266
_013: NOP   0



Ich habe schon versucht mir die Geschicht mal als FUP aufzuzeichnen, 
stoße aber ab der Zeile 15 an meine Grenzen. Ich verstehe nicht wie nach 
der Zuweisung "= L 8.0" mit "U L 8.0" umgegangen wird, bzw. wie man das 
interpretieren soll.

MfG
M. Kirch

von marlob (Gast)


Lesenswert?

Die Anweisungen wo was mit = L 8.0, oder U L 8.0 oder BLD 102 stammen 
noch von einer Umwandlung von KOP bzw. FUP nach AWL.
In deinem Fall kannst du die Anweisungen "= L 8.0" und "U L 8.0"
ohne Funktionsverlust löschen

von marlob (Gast)


Lesenswert?

Sorry U L 8.0 wird noch öfter gebraucht also nicht löschen

von M. K. (spawn30)


Lesenswert?

Danke für die schnelle Antwort! Soll das heiße, dass das Netzwerk erst 
in FUP bzw. KOP geschrieben wurde, dann wahrscheinlich in AWL 
konvertiert und erweitert wurde und aufgrund der Erweiterungen nicht 
zurück konvertiert werden kann?

Kann man Irgendwo eine Art Liste bekommen, anhand welcher man 
nachvollziehen kann welche Zeilen S7 bei der Konvertierung selbstständig 
einbaut und warum?

MfG

von marlob (Gast)


Lesenswert?

>Danke für die schnelle Antwort! Soll das heiße, dass das Netzwerk erst
>in FUP bzw. KOP geschrieben wurde, dann wahrscheinlich in AWL
>konvertiert und erweitert wurde und aufgrund der Erweiterungen nicht
>zurück konvertiert werden kann?
Genau so ist es

>Kann man Irgendwo eine Art Liste bekommen, anhand welcher man
>nachvollziehen kann welche Zeilen S7 bei der Konvertierung selbstständig
>einbaut und warum?
Bei der Konvertierung baut Siemens meist Befehle ein
wie
= L 0.0  // also alles wo was mit L X.Y steht ist
U L 0.0  // meist von Siemens beim Konvertieren eingebaut worden
BLD 102  // alle BLD nnn Befehle werden auch beim Konvertiern eingebaut

Also wenn du solche Sachen im Programm siehst, dann ist das Programm 
wahrscheinlich von KOP/FUP nach AWL umgestellt worden. Man kann das zwar 
auch selber einbauen, macht aber wenig Sinn. Obwohl es Programmierer 
gibt, die auch mit den Lokaldaten (alles mit L X.Y) arbeiten. Aber BLD 
Befehle deuten immer auf eine Umwandlung hin.
Siehe auch hier
http://support.automation.siemens.com/WW/view/de/18653496
Kapitel 14.13

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.