- Beiträge
- 1.784
- Reaktionspunkte
- 369
-> Hier kostenlos registrieren
Hallo,
ich hab eine EL3052 Karte und ein Drucktransmitter von ifm, welcher 0..16bar in 4..20mA ausgibt.
Beckhoff bietet ja nicht wie Siemens fertige Funktionen zum normieren und skalieren.
Da Twincat meine Entwicklungsumgebungen nicht mag (die Runtime mag keine Virtualisierung) kann ich's leider nicht lokal testen.
Ich würde gerne den erhaltenen Integerwert als Realzahl in bar darstellen.
Aktuell sieht das ganze so aus, wenn ich die FAQ von @oliver.tonn richtig verstanden habe:
Passt das so? Wie bekomme ich jetzt die Skalierung hin?
Danke!
ich hab eine EL3052 Karte und ein Drucktransmitter von ifm, welcher 0..16bar in 4..20mA ausgibt.
Beckhoff bietet ja nicht wie Siemens fertige Funktionen zum normieren und skalieren.
Da Twincat meine Entwicklungsumgebungen nicht mag (die Runtime mag keine Virtualisierung) kann ich's leider nicht lokal testen.
Ich würde gerne den erhaltenen Integerwert als Realzahl in bar darstellen.
Aktuell sieht das ganze so aus, wenn ich die FAQ von @oliver.tonn richtig verstanden habe:
Code:
VAR
ValueRaw : INT;
ValueReal : REAL;
ValueMax : REAL := 32767.0; // Max integer
ValueDiff : REAL := 16.0; // Sensor range
END_VAR
ValueReal:= INT_TO_REAL(ValueRaw) * ValueDiff / ValueMax;
Passt das so? Wie bekomme ich jetzt die Skalierung hin?
Danke!