Bit-Zuweisung auf L ??

Joosy

Level-2
Beiträge
115
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Sehr geehrte Community,
ich bin grad dabei einiges an Programmvorgaben die in AWL programmiert wurden zu verstehen. Soweit ist vieles auch ganz easy. Allerdings verstehe ich eine Zuweisung nicht, die wie folgt lautet:
SET
SAVE
= L 8.1
.....
Dann folgt ein Vergleicher und nochmals die folgenden Zuweisung:
= L 8.2
.....
Weiter unten im Code wird dann mit U L 8.2 der gesetzte bzw. Zugewiesene Wert abgefragt.

Das SET und SAVE ist mir klar. Jedoch zu Zuweisung würde ich beispielsweise vesrtehen, wenn ich = M 8.1 schreiben würde. Aber das L ist mir ein Rätzel?

Mit freundlichen Grüßen
Joosy
 
L 8.1 bedeutet Zugriff auf die Lokaldaten des Bausteins. (Hier ein Bit)
Sieh mal oben in den Variablendeklarationen des Bausteins nach, dort gibt es den Bereich Temp. Auf diesen wird dann zugegriffen.
Das Ganze ist nicht unproblematisch, da man in diesen Tempbereich Variablen einfügen oder löschen kann. Dann werden die Zugriffe über L8.1 etc. nicht automatich mit berichtigt.
Der Kop/FUP-Editor benutzt diesen Bereich ebenfalls teilweise um die Darstellung in KOP oder FUP zu ermöglichen. Er nutzt dann freie Bereiche nach der letzten Variablendeklaration. Schaltet man dann in AWL um und versucht im Temp-Bereich eine weitere lokale Variable zu deklarieren, gibt es vom Editor eine Warnung.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Ralle,
Klasse erklärt und auch noch Zusatzinfo. Ich hatte mir das schon so gedacht, jedoch war ich nicht sicher. Das mit der Speicherbelegung durch KOP/FUP wusste ich überhaupt nicht. Ok, jetzt verstehe ich auch, darauf zu achten, in keinen bereits durch Variablen vordefinierten temporären Speicherbereich zu schreiben.
Dürfte ich mit der einen oder anderen Frage noch auf Dich zu kommen?

Schönen Gruß
Joosy
 
Du kannst hier im Forum immer Fragen.
Antworten kommen dann von den Leuten, die denken, dass sie den Sachverhalt erklären können. :-9
 
Sehr geehrte Community,
ich bin grad dabei einiges an Programmvorgaben die in AWL programmiert wurden zu verstehen. Soweit ist vieles auch ganz easy. Allerdings verstehe ich eine Zuweisung nicht, die wie folgt lautet:
SET
SAVE
= L 8.1
.....

Ich würde fast wetten, dass das nicht in AWL programmiert, sondern lediglich compiliert wurde.
 
Üblicherweise entstehen solche Konstrukte bei KOP/FUP -> AWL-Umschaltung
SET, SAVE, L x.y ist aber ein typisches SCL-Idiom, wenn die Option "OK-Flag Setzen" gesetzt ist.
x.y wird dann dann bei allen Anweisungen verknüpft und als BIE-Bit wieder ausgegeben.

Wenn an so einem Baustein in AWL weitergefummelt wird ist aber schon alles zu spät. Wobei ich kürzlich ein AWL Programm von jemandem bewundern durft - dagegen ist das SCL-Compilat die pure Logik. Denn dort hat der Code wenigstens noch einen Sinn.
 
... dagegen ist das SCL-Compilat die pure Logik. Denn dort hat der Code wenigstens noch einen Sinn.

Schaltet man bei SCL die Überprüfungen aus, dann ist der erzeugte AWL-Code an und für sich gar nicht schlecht und auch vernünftig lesbar.
Ersetzt man die kyrptischen Sprungmarken durch vernünftige Bezeichnungen und kommentiert zusätzlich, dann kann man das Ergebnis auch als AWL-Baustein verkaufen.
Natürlich immer vorausgesetzt, dass der SCL-Code "sps-tauglich" ist.
Bei vielen SCL-Programmieren wäre es nicht schlecht gewesen, wenn der Baukasten Der kleine Elekriker unter Christbaum gelegen wäre.

Daher finde ich es auch gut vom TE sich in AWL einzuarbeiten. Ist ja quassi die Muttersprache der CPU.

Gruß
Dieter
 
Zurück
Oben