# AWL Norm



## RobiHerb (19 August 2009)

Gibt es irgendwo im Net eine Doku über die AWL Norm (wenn überhaupt genormt).

Mich interessieren wegen eines Interpreters Antworten auf folgende Fragen:

Darf man auf eine Marke(Label) springen, die nicht Anfang eines Netzwerks ist?

Darf man zurück springen?

Sind Namen/Bezeichner in der Länge begrenzt?

Sind doppelte Ladebefehle erlaubt (nicht sinnvoll aber trotzdem)?


----------



## marlob (19 August 2009)

Dieses gilt für Siemens 300er und 400er CPUs


RobiHerb schrieb:


> ..
> Darf man auf eine Marke(Label) springen, die nicht Anfang eines Netzwerks ist?...


Ja


RobiHerb schrieb:


> ..
> Darf man zurück springen?
> ...


Ja


RobiHerb schrieb:


> ..
> Sind Namen/Bezeichner in der Länge begrenzt?


Ja, ich glaube 4 Zeichen
Aus der Siemens Hilfe


> ...
> Die Sprungmarke kann aus bis zu vier Zeichen bestehen, von
> denen das erste Zeichen ein Buchstabe sein muß. Die Sprungmarke endet mit
> einem Doppelpunkt ":"
> ...





RobiHerb schrieb:


> ..
> Sind doppelte Ladebefehle erlaubt (nicht sinnvoll aber trotzdem)?


Was meinst du da genau mit?


----------



## marlob (19 August 2009)

Hier ein Link zum AWL-Handbuch von Siemens
http://support.automation.siemens.com/WW/view/de/18653496


----------



## marlob (19 August 2009)

RobiHerb schrieb:


> Gibt es irgendwo im Net eine Doku über die AWL Norm (wenn überhaupt genormt).
> ...


Gucke mal nach der DIN EN 61131


----------



## Rainer Hönle (19 August 2009)

Geht es um Siemens (S7) oder um IEC oder ..?


----------



## RobiHerb (19 August 2009)

*Nicht Siemens*



Rainer Hönle schrieb:


> Geht es um Siemens (S7) oder um IEC oder ..?



Es geht um eine nicht Siemens SPS, Entwicklungsbeginn ca. 1985 für die noch eine recht umfangreiche aktive AWL Software Basis besteht. 

Ein Interpreter für diese alten Software Pakete sollte sich möglichst an die "Norm" halten, damit nicht an allen Ecken und Enden Schmutzeffekte hochkommen.

Deshalb hier noch einmal die Fragen etwas detaillierter:

1.Was passiert, wenn ich auf eine Marke springe, wo z.B. ein WORT bearbeitet wird, ich von meiner Akku Herkunft aber gerade Bit Operationen ausführe. Ein Label am Anfang eines Netzwerks hat immer zur Konsequenz, dass der Akku neu geladen wird.

2.Zurück springen heisst, ich könnte mir eine Endlos Schleife bauen! Trotzdem erlaubt?

3.Mein alter MSDOS Compiler für diese SPS akzeptiert für Namen/Bezeichner/Marken 9 Zeichen, das erste Zeichen muss ein Buchstabe sein, Frage ist, sind sie alle signifikant oder schneidet der Compiler ggf. ab. (Ich denke, dass das damals jeder so implementiert hat, wie er es wollte)

4.Doppelte Ladebefehle, Beispiel:

L BIT_XYZ  -> im Akku steht ein Bit aber wir machen nix damit 
L 100         -> im Akku steht jetzt ein Wort, die Zeile vorher vergessen
ADD MW4711

Da ich hier über einen Interpreter mir Gedanken mache, ist das ggf. eine Falle, in die ich nicht reintappen möchte. 

Deshalb noch einmal die Frage, gab es seinerzeit (1980...) schon so etwas wie eine AWL Norm?


----------



## Larry Laffer (19 August 2009)

Hallo,

zu 1.) wenn du in eine Berechnung oder Verknüpfung springst, dann wird diese ab Einsprung bearbeitet. Ob das Ergebnis dann noch sinnvoll ist ist dann dein Problem.

zu 2.) Endlos-Schleife sind machbar ...

zu 3.) Label-Bezeichnungen sind (bei Siemens) nur bis 4 Zeichen machbar ...

zu 4.) Doppelte Lade-Befehle überschreiben im schlimmsten Fall den vorherigen Inhalt. Wichtig hier ist zu berücksichtigen, wie der Interpreter überhaupt arbeitet. Bei Siemens z.B. :
L Wert_1
L Wert_2
*I     // Operation betrifft die letzten beiden Lade-Befehle oder ein vorher ermitteltes Ergebnis
T Wert_3

Gruß
LL


----------



## Perfektionist (19 August 2009)

es gibt bis heute keine AWL-Norm. Und selbst die Abarbeitung von S7-AWL unterscheidet sich bei 300er und 400er CPUs voneinander, weil ein jeweils verschiedenes Prozessormodell, einmal eins mit zwei Akkus, das andere Mal mit vier Akkus zu Grunde liegt.

Es wird Dir also nichts anderes übrig bleiben, als aufgrund vorhandener Quelltexte auf das dahinterstehende Prozessormodell zu schliessen, sodenn Du keine Dokumentation über diesen AWL-Dialekt vorliegen hast.


----------

