Umrechnung DINT auf REAL

Bummekrampe

Level-1
Beiträge
1
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute.
hab mal eine Frage,bin gerade dabei eine Tanksteuerung zu programmieren, hab eine Analogen Eingang 4-20mA
der als Datentyp DINT deklariert ist, nun möchte ich den Wert 4-20mA in meiner Visualisierung darstellen als
0-100%. Wie bekomme ich jetzt es hin das er mir den Messwert umrechnet?
Wäre dankbar um einen kleinen Tipp. ;)

Typ Untergrenze Obergrenze
DINT -2147483648 2147483647

FUNCTION_BLOCK Tank_02
VAR_INPUT
Analoger_Eingang DINT; (*Analoger Eingang 4-20mA*)
END_VAR
VAR_OUTPUT
Anzeige:REAL; (*0-100%*)
END_VAR
VAR
Diff : DINT;
END_VAR


Anzeige:=(Analoger_Eingang*(100 / 52428);
 
Du mußt den Wert skalieren. Entweder selber machen oder mal bei oscat schauen..

MfG CAS
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Anzeige:=(Analoger_Eingang*(100 / 52428);
Was ist denn dieser gelbe Kreis mit den Punkten darin für ein IEC-Operator, und wie kriegt man den in CoDeSys eingegeben?;)

Also, der Ansatz stimmt doch schon, allerdings glaube ich kaum, dass der Analogeingang den gesamten DINT-Wertebereich ausschöpfen wird. Also erst mal in der Spec der Analogklemme oder des Analogmoduls nachschauen oder Min-/Max-Zahlenwert durch Versuch ermitteln.
Und wenn das Ergebnis einer arithmetischen Operation vom Typ Real sein soll, muss mindestens einer der Operanden auch Real sein, also z. B. "Analoger_Eingang*100.0/MaxEingangswert".
 
Zurück
Oben