B&R: Gleitkommazahl verwenden

fighter

Level-1
Beiträge
29
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
hi,
Habe heute das erste mal was mit Gleitkommazahlen zu tun.
Ich bekomme auf einer AI - Karte ein Signal von einem Drucksensor (Range = 400 bar). Das möchte ich jetzt auswerten und dann Anzeigen am Display mit einer Nachkommastelle.

p_zyl := AI_p_zyl * 400 / 32767

p_zyl ist vom Datentyp ein INT

Habe es auch schon mit REAL versucht, da ich dachte das man so Kommazahlen darstellen kann.

Was mach ich bei meinen überlegungen falsch?

Habe es auch schon probiert einfach 10/3 zu teilen. aber es kommt immer 3 raus. wie kann ich also kommazahlen darstellen.

mfg
 
Versuch es mal so :
Code:
var
P_Zyl : REAL ;
 
und im Programm :
 
P_Zyl := INT_to_REAL (AI_p_zyl) * 400 / 32767 ;

dann sollte es gehen ...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
hi,
Danke für die schnelle antwort!

kann ich eine Real Variable so beschneiden das nur noch eine Kommastelle über bleibt? z.B. 3.33333 wird zu 3.3

Ist es eigentlich möglich im Automation Studio alle Variable löschen zu lassen die nicht benötigt bzw. verwendet werden?


mfg
 
Zuletzt bearbeitet:
Hallo fighter,

Habe es auch schon probiert einfach 10/3 zu teilen. aber es kommt immer 3 raus. wie kann ich also kommazahlen darstellen.

Das ist eine Division von Ganzzahlen und diese haben keine Nachkommastellen.

Code:
...=10 / 3.0
wäre eine Fliesskommadivison.

Wieso überhaupt REAL´s? Ändere deine Funktion auf
Code:
p_zyl := AI_p_zyl * [COLOR="Red"]4000[/COLOR] / 32767
am Display kannst du dann den Wert mit einem Nachkomma darstellen (zumindestens mit Visual Components).

Ist es eigentlich möglich im Automation Studio alle Variable löschen zu lassen die nicht benötigt bzw. verwendet werden?

STRG+F7
 
Wieso überhaupt REAL´s? Ändere deine Funktion auf
Code:
p_zyl := AI_p_zyl * [COLOR=Red]4000[/COLOR] / 32767
am Display kannst du dann den Wert mit einem Nachkomma darstellen (zumindestens mit Visual Components).

Genau. Wenn Du das nur wegen der Darstellung einer Nachkommastelle auf einem Panel haben willst, kannst Du einfach in der Visu eine Nachkommastelle definieren. Da wird dann z.B. ein Wert 100 übergeben und als 10,0 dargestellt.

Grüße Jens
 
Zurück
Oben