Lösungsvorschlag für 2 Aufgaben (AWL)

drudge

Level-1
Beiträge
26
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich arbeite mich gerade etwas in AWL ein (habe vorher nur FUP programmiert) und habe hier 2 Übungsaufgaben, mit denen ich nicht so ganz zurecht komme.
Über die Lösung wäre ich sehr erfreut.


Aufgabe 1


Auf der BCD-Eingabe (EW6) wird eine Zahl von 0000 bis 0999 eingestellt. Diese soll im Datenbaustein DB1 im Gleitpunktformat (REAL) abgespeichert werden.

Ist die Zahl größer als dezimal 500, soll das Bit A8.0 eingeschaltet werden, ist sie kleiner als dezimal 200, soll Bit A8.7 „1“-Signal erhalten.
Ist die Zahl zwischen 200 und 500, ist Bit A8.3 =1 eingeschaltet.




Aufgabe 2


Im Datenbaustein DB2.DBD4 ist ein Wert1 (0…90) im REAL-Format gespeichert.
Auf der BCD-Eingabe (EW6) wird ein Wert2 von 0000 bis 0099 eingestellt.
Mit beiden Werten soll folgende Rechnung ausgeführt werden:

Ergebnis = (Wert1 + Wert2) x 1,5

Das Ergebnis soll im nächsten Speicherplatz des Datenbausteins DB2 im REAL-Format gespeichert und auf der vierstelligen BCD-Ausgabe (AW0) angezeigt werden.



Vielen Dank,

Markus
 
Hallo,

was VL sagen will:
so läuft das hier nicht
Es ist DEINE Hausaufgabe und DU sollst was lernen

--> also mal her mit deiner Lösung, dann wird darüber nachgedacht ;)



MfG
 
kennst du seine mutter, 4L?

nein, ich gehe aber davon aus, dass sie, wenn ich Erich Fromm in seinen Ausführungen Glauben schenken darf, zumindest hat er mein Vertrauen, auf Grund der ihr innewohnenden Mutterliebe wesentlich mehr Verständnis für diese dämliche Bitte hat.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Da sind nicht meine Hausaufgaben. ;)
Das sind Übungsaufgaben aus meinem Studienkolleg.

Wenn ich einen LösungsVORSCHLAG hätte, könnte ich wenigstens sehen, wie ich an so einer Aufgabe rangehe. Aus meinen Unerlagen heraus komme ich jedenfalls nicht auf die Lösung. Geschweige denn überhaupt auf einen Ansatz.


PS: Ich schreibe morgen mal meine Lösung hier rein. Die Beispielaufgaben sind immer ziemlich einfach und die Übungaufgaben ungleich schwerer. Das macht es nicht so leicht.

Hier mal die einfachere Beispielaufgabe mit Lösg.



Auf der BCD-Eingabe (EW6) wird eine Zahl von 0000 bis 0999 eingestellt. Diese soll im Datenbaustein DB1 im Datenwort 2 abgespeichert werden.
Ist die Zahl größer als dezimal 500, soll die Hälfte dieser Zahl berechnet und im Datenbaustein DB1 im nächsten Datenwort abgelegt werden. Außerdem soll dieser Wert auf der BCD-Anzeige (AW0) angezeigt werden.



Code:
L EW 6
BTI
L 500
>I
SPB Rechnen
L EW6
T DB1.DBW2

BEA

Rechnen: 
L EW6
BTI
L2
/I
ITB
T MW8

L MW8
T AW0

L MW8
T DB1.DBW4

BEA
 
Zuletzt bearbeitet:
wenn du in fup programmierst, erstelle deine aufgabe damit und schaust diese danach in awl an. mit der zeit siehst dudann, wie es aufgebaut ist und was du dir sparen kannst.....
 
Da sind nicht meine Hausaufgaben. ;)
Das sind Übungsaufgaben aus meinem Studienkolleg.

Wenn ich einen LösungsVORSCHLAG hätte, könnte ich wenigstens sehen, wie ich an so einer Aufgabe rangehe. Aus meinen Unerlagen heraus komme ich jedenfalls nicht auf die Lösung. Geschweige denn überhaupt auf einen Ansatz.


PS: Ich schreibe morgen mal meine Lösung hier rein. Die Beispielaufgaben sind immer ziemlich einfach und die Übungaufgaben ungleich schwerer. Das macht es nicht so leicht.

Hier mal die einfachere Beispielaufgabe mit Lösg.



Auf der BCD-Eingabe (EW6) wird eine Zahl von 0000 bis 0999 eingestellt. Diese soll im Datenbaustein DB1 im Datenwort 2 abgespeichert werden.
Ist die Zahl größer als dezimal 500, soll die Hälfte dieser Zahl berechnet und im Datenbaustein DB1 im nächsten Datenwort abgelegt werden. Außerdem soll dieser Wert auf der BCD-Anzeige (AW0) angezeigt werden.






L DB2.DBW 0
L DB2.DBW 2
<I
SPB DBW1
L DB2.DBW 0
L DB2.DBW 4
<I
SPB DBW1
L DB2.DBW 0
T MW 20
BEA

DBW1: L DB2.DBW 2
L DB2.DBW 4
<I
SPB DBW2
L DB2.DBW 2
T MW 20
BEA

DBW2: L DB2.DBW 4
T MW 20
BEA

die Lösung ist
a) unvollständig
b) nicht in code-Tags (siehe meine Signatur) und
c) ein Tipp: schau dir die Umwandlungen der Zahlenformate an
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Sorry, habe die Lösung editiert. Die war für ne andere Aufgabe.

Ich habe jetzt nicht verstanden, wie das mit dem 1-Signal im Bit 8.0 ...8.7 funktionieren soll. (1. Aufgabe im Startpost)
 
Zuletzt bearbeitet:
Ist die Zahl größer als dezimal 500, soll das Bit A8.0 eingeschaltet werden, ist sie kleiner als dezimal 200, soll Bit A8.7 „1“-Signal erhalten.
Ist die Zahl zwischen 200 und 500, ist Bit A8.3 =1 eingeschaltet.

ist doch einfach.

wenn ZAHL >500 dann A8.0
wenn ZAHL< 200 dann A8.7
wenn ZAHL>200 und< 500 dann A8.3

das kannst du in AWL ja fast so runtertippen wie es im Text steht.:rolleyes:
 
Also doch so einfach? Und ich konnte mir das nicht vorstellen - wenn man vor bäumen den Wald nicht sieht ;)
Bin aber auch erst seit dem WE mit AWL beschäftigt.

Bei den nächsten Aufgaben setze ich sofort meine Lösung mit drunter, damit sich keiner auf den Schlips getreten fühlt. Da kommen bestimmt noch ein haufen Fragen.

PS: Bins eit heute registriert, lese aber schon seit wochen hier mit. FAQ etc.
Also keine Bange vor unnötigen Fragen :)

Danke erstmal für die Hilfe.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
damit sich keiner auf den Schlips getreten fühlt.

aha, jetzt ist also der User auf der anderen Seite der Welt daran Schuld, dass DU nach einer Lösung gefragt hast und DU dir keine Gedanken über einen möglichen Lösungsvorschlag gemacht hast?
is ja nett.
schön dich hier im Forum begrüßen zu dürfen, wir brauchen mehr solche Leute wie dich!
 
Jetzt entspann dich doch mal :)

Das habe ich damit doch gar nicht gemeint. Natürlich hatte ich mir schon Gedanken dazu gemacht. Und deswegen habe ich nun auch geschrieben, ich werde in Zukunft direkt meinen Lösungsweg hier reinschreiben, damit es eben NICHT den Eindruck macht und keiner aufgrund dessen (zurecht) schimpft.


Ich hab deine Kritik ja zur Kenntnis genommen und find sie auch nachvollziehbar und deswegen mache ich es in hoffentlich künftig besser.


PS: Ich würde mich sehr freuen, wenn ich auch zukünftig auf deine Hilfe vertrauen kann/darf.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Das hatte ich schon rauseditiert, weil ich mir das dann doch nicht anmaßen wollte. Aber es kam mir im ersten Moment so vor, ohne dass es böse oder abwertend gemeint war.
Und wie ich sehe, war es auch gut so. ;)
 
Das kann gut sein.

Vielleicht aber fällt dir der Überlick leichter, wenn du mal deine Beiträge hier liest. Es gab hier 2 User die mir mit einem einzigen Beitrag mehr weitergeholfen haben, als du mit deinen 6.

Aber ich will mich nicht streiten mit dir. :)


Gute Nacht
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das kann gut sein.

Vielleicht aber fällt dir der Überlick leichter, wenn du mal deine Beiträge hier liest. Es gab hier 2 User die mir mit einem einzigen Beitrag mehr weitergeholfen haben, als du mit deinen 6.

Aber ich will mich nicht streiten mit dir. :)


Gute Nacht
ich kenne meine Beiträge hier, sowie die restlichen 6997 in diesem Forum.
demnächst gibt es ein Best Of.
wie auch immer, streite und diskutiere mit den Profis, nicht mit mir! da sind schon andere dran gescheitert...
 
Ich hoffe nur, die sind alle innhaltlich gehaltvoller, als in diesem Thread. ;)

Und nun reite davon, auf deinem hohen Roß. ;)
 
Zurück
Oben