AWL Norm

RobiHerb

Level-2
Beiträge
679
Reaktionspunkte
113
Zuviel Werbung?
-> Hier kostenlos registrieren
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)?
 
Dieses gilt für Siemens 300er und 400er CPUs
..
Darf man auf eine Marke(Label) springen, die nicht Anfang eines Netzwerks ist?...
Ja
..
Darf man zurück springen?
...
Ja
..
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 ":"
...
..
Sind doppelte Ladebefehle erlaubt (nicht sinnvoll aber trotzdem)?
Was meinst du da genau mit?
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Nicht Siemens

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?
 
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
 
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.
 
Zurück
Oben