Step 7 C7 613 Gerät Darstellung von Zahlen

Fileplayer

Level-1
Beiträge
67
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo liebe Profis, ich kann zwar auch ein bisschen aber hier bin ich am verzweifeln !

Ich schildere mal das Problem :

Ich zähle die Impulse an einen Eingang pro Sekunde. Wenn denn die Sekunde zuende ist wird die Anzahl der Impulse (im Regelfall 5 bis 6) die zur Zeit noch in
einen Integer liegen umgewandelt in eine Fließkomma Variable (Real). Dann wird dieser Wert mit 0.452 malgenommen. So das funktioniert auch alles.

Jetzt soll das Ergebnis dieser Berechnung auf dem HMI (Anzeige) dargestellt werden. Und zwar 3 Vorkomma und 1 Nachkomma Stelle. Eingeben und Compiliren geht alles nur wenn es den zur Laufzeit angezeigt werden soll erfolgt immer (ausser der Wert ist 0, dann erfolgt als Ausgabe 0.0) als Ausgabe ###.#

Ich gehe davon aus und das ergebnis sagt es auch das die Berechnung OK ist. Habe mal Beispielcode eingegeben !

// gr/sek Katalysator
L DB21.DBW 0 // noch Int Impulse pro Sek
ITD // 16Bit GZ in 32Bit GZ
DTR // 32Bit GZ in GZP
T DB21.DBD 2 // nur hier gespeichert

L DG21.DBD 2 // wieder laden
L 2.45000e-001 // noch ne Real Zahl
*R
T db21.DBD6 // Ergebnis hier speichern

// hier nun für die Anzeige :

Variable im Prozessbild:
Position : 35
Feldlänge : 5
Format : Dezimal
Nachkommastellen : 1

Adresse:
Bereich : Datenbaustein
DB-Nr. : 21
Datentyp : "D"-DWORD
Adresse : 6

Feldtyp :Ausgabefeld

Vieleicht kennt jemand von euch ja auch solche Probleme, ich jedenfalls bin an Verzweifeln. In meiner Not wandel ich die Real Variable wieder in Int um (Runden). Das ist nartürlich nicht optimal aber besser als ###.# Ich hoffe mein problem ist deutlich geworden sonst fragt bitte nochmal nach. Ich suche im Moment noch eine Lösung um das ganze S7 Programm anzuhängen.

Vielen Dank für jegliche Hilfe !

Danke sagt Günni
 
Also wenn ich die Doku von dem Teil richtig verstehe, dann kann das Gerät schlicht und ergreifend keine Real Zahlen anzeigen, sonst müsstest du das auch explizit als Datentyp auswählen (können).

D. h. Das Endergebnis deiner Berechnung musst du mit entsprechender Anzahl Nachkommastellen als Int oder DInt zur Anzeige bringen.

Mfg
Manuel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Manuel, Danke für deine Antwort !

Das ist aber nicht toll. Wie soll ich das denn anders darstellen. Kannst Du mal ein beispiel posten ?

Eine Int Var für den Vorkomma wert und eine Intwert für den Nachkomma-Wert ??

Danke sagt Günni
 
Einfach ein Int mit z. B. 1234 das würde dann gemäß deiner obigen Einstellungen als 123,4 angezeigt.

L DB21.DBD6
L 10.0
*R
RND
T myDINT

Mfg
Manuel
 
Zurück
Oben