Fileplayer
Level-1
- Beiträge
- 67
- Reaktionspunkte
- 0
-> 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
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