Umrechnung in AWL

hans55

Level-1
Beiträge
32
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich hab wieder mal ein Anfängerproblem.

Ich möchte eine Umrechnung machen.
Am Eingang liegen U/s an: 16384 Bit entspricht 20 U/s
Am Ausgang sollen U/min rauskommen.
Wie macht man sowas?

Wenn 16384=20 U/s dann sind 13,6533 = 1 U/min
Wie stelle ich das in AWL dar? Kann mir da einer helfen?

Danke!
 
Verstehe ich nicht, was Du meinst:

16384 = 20U/s = 1200 U/min

L EW
T AW

Was ist Dein Problem genau?
Was willst Du machen?
Welche Steuerung?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Borromeus!
Am Eingang liegt eine Drehzahl an bei der 16384 = 20U/s entspricht.
Am Ausgang sollen Umdrehungen pro Min rauskommen.

Die Steuerung ist z.B. eine S7 300.
 
Wie skaliert?

Wenn Du sagst 0-20U/s

Eingang = Ausgang

kommen einfach 0-1200U/min raus.

Das ist wie: 1000 kcal am Eingang sind 4187kJoule am Ausgang.
 
Hallo hans55,

am besten benutzt du dafür den FC105 "Scale" aus der bei STEP7 mitgelieferten Bibliothek "Standard Library"/TI-S7 Converting Blocks. Damit kannst Du analoge Eingänge sehr komfortabel auf die jeweils gewünschten Größen skalieren, in dem Du Minimal- und Maximal-Wert vorgibst. Minimal wäre vermutlich 0 und der Maximal-Wert gleich 20 U/s entsprechen 20*60= 1200 U/min.

Gruß Hagen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das ganze soll in einen FB rein, der am Eingang Drehzahlen sammelt und diese am Ausgang zur Verfügung stellt.
16384 entsprechen 20Umdrehungen pro Sekunde

Muß ich denn keine Skalierung angeben?
Am Eingang halt 16384 = 20U/s
Am Ausgang 16384 = 1200U/Min

Oder wie?

Oder einfach L EWXX
T AW XX
 
Hallo hans55,

was für ein Ausgang am FB soll das denn sein? Ein echter Hardware-Ausgang oder nur eine Integer-Variable die beim Eingangswert 16384 den Wert 1200 ausgibt?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ich frage mal umgekehrt:
was "erwartet" sich der Mensch oder der folgende Programmteil vom Ausgang? Geht das in eine Visualisierung?

Wer hat Dir diese Aufgabe gestellt und was gesagt?
 
dein drehgeber liefert also den wert INT 16384 bei 20 U/s
daher wäre also INT 819 1 U/s.

du willst aber nicht U/s sondern U/min an eine ausgangsvariable also rechnest du:
Code:
L #eingangsvariable 
L 819
/I
L 60
*I
T #ausgangsvariable

grüsse
 
Aufgabenstellung ist:
Einen FB zu schreiben, der 2 Drehzahlen sammelt die im og. Format vorliegen, und diese dann am Ausgang in einer Struktur als U/Min zur Verfügung stellt.
 
Hallo Funkdoc!
Ja genauso habe ich das gemeint. Jedenfalls denke ich, dass ich die Aufgabenstellung so verstanden habe.
Danke!


Noch eine Frage:
Da steht bei manchen immer ...
////////////////////////////////////////
Beiträge: xxx
Für Beiträge bedankt: 16
Erhielt 39 Danke für 37 Beiträge
////////////////////////////////////////

Braucht man das? Wie bedankt man sich denn? Recht es nicht aus wenn ich einfach Danke sage?
Gruß
Hans
 
dein drehgeber liefert also den wert INT 16384 bei 20 U/s
daher wäre also INT 819 1 U/s.

du willst aber nicht U/s sondern U/min an eine ausgangsvariable also rechnest du:
Code:
L #eingangsvariable 
L 819
/I
L 60
*I
T #ausgangsvariable
grüsse

Hallo!

Code:
L #eingangsvariable 
L     L#60
*D
L     L#819
/D 
T #ausgangsvariable
Ich würde den Code so machen da es viel genauer wird weil die Rundungsfehler von der division nicht noch mit 60 Multipliziert werden sondern durch die Multiplikation vorher überhaupt kleiner werden.

Wenn du es genau brauchst dann müsstest du in real umwandeln und zum schluss wieder zurückwandeln

godi
 
Hallo Godi!
Es sollte schon genau sein.
Ich habs gerade im Simulator PLCSIM testen wollen, es kommt leider nix raus.

Jetzt hab ich dein Prog. drin :
Das schaut schon besser aus.

INPUT = 16384 OUTPUT= 1200
1000 73 richtig wäre 73,242
100 7 richtig wäre 7,342
10 0 0,7

Bei kleinen Drehzahlen wirds extrem ungenau.
 
Zurück
Oben