Step 7 Statuswort Vergleichsoperationen

NoPro

Level-2
Beiträge
14
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen, ich brauche mal wieder eure kompetente Hilfe:confused:

Ich bin momentan dabei einen Baustein von AWL nach SCL zu "übersetzen". Jedoch bin ich beim folgenden Programmteil etwas unsicher wie ich das übersetzen soll. (Meine AWL Kenntnisse sind nicht die besten...)

hier der AWL Code:

[FONT=Verdana,Arial,Tahoma,Calibri,Geneva,sans-serif] L #Input.PWE
UD DW#16#1
U ==0
= #ReadingError
[/FONT]
Meine Frage ist, wann wird #ReadingError wahr?

Ich habe die Hilfe bereits gelesen, aber scheinbar nicht ganz verstanden. Meine aktuelle Theorie ist, das #ReadingError kommt wenn #Input.PWE eine ungerade Zahl ist.

Vielen Dank für eure Hilfe

Gruss NoPro
 
Moin,
das ist ja schon richtig alte Schule.
Ich versuche mich mal an einer Erklärung:
Code:
[COLOR=#333333]L  #Input.PWE   // hier werden wohl Peripherie-Eingänge gelesen, die in deinen Baustein via Inputs übergeben werden?[/COLOR]
[COLOR=#333333]UD DW#16#1      // hier werden die gelesenen Eingangsbits mit 00000000000000000000000000000001 ausmaskiert[/COLOR]
[COLOR=#333333]U  ==0          // hier werden die Statusbits [/COLOR](A0 = 0) UND (A1 = 0) aus der vorherigen UND-Verknüpfung abgefragt[COLOR=#333333]
[/COLOR][COLOR=#333333]=  #ReadingError[/COLOR]
Die besagten Statusbits sind folgendermaßen zu erklären:
Siemens Hilfe:
Wenn im Ergebnis einer Wortverknüpfung alle Bits "0" sind, wird das Statusbit A1 auf "0" zurückgesetzt. Wenn mindestens ein Bit im Ergebnis "1" ist, wird das Statusbit A1 auf "1" gesetzt.
Also müsste ReadingError true werden, wenn das Bit 0 in Input.PWE 0 ist.

Praktisch könnte ich mir das so erklären, dass auf einer Eingangskarte an Eingang x.0 feste 24V aufgelegt sind und man diese mit obigen Code abprüft. Ist die Eingangskarte nicht erreichbar, also keine 24V auf dem Eingang oder die Eingangskarte gezogen, so gibt es deinen ReadingError.
 
Zuletzt bearbeitet:
Zurück
Oben