TIA Analogwert skalieren, invertieren und korrigieren

Gustel

Level-2
Beiträge
40
Reaktionspunkte
4
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
irgendwie seh ich den Wald vor lauter Bäumen nicht mehr ;)
Ich habe eine Füllstandanzeige über einen Seilzugsensor 0-10V. D.h. bei Weg=0cm (0V) ist AI=0 und bei Weg=2200cm (10V) ist AI=27648. Den Wert von AI jetzt mit Norm und Scale auf cm zu bringen ist kein Problem.

Jetzt brauch ich aber den Wert invertiert, korrigiert und in Prozent (für Anzeige am Panel) d.h.

AI 23000 = 0% und AI 5000 =100%

Den Wert invertieren und in Prozent hab ich jetzt mit der Formel
Y=m*x+b
m=(Ymax-Ymin)/(Xmax-Xmin)
b=Ymax-Xmax*m
X= Wert von AI und Y=Errechneter Wert
hinbekommen. Da ist aber dann 100% = 0 und 0%=27648

Wie mach ich das aber mit der Korrektur?
Oder ist mein Lösungsansatz völlig für die Füße??
Vielen Dank
Gruß
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich hatte nicht sogfältig genug die Aufgabenstellung gelesen. Mein Kommentar beabsichtigte nur die Invertierung.

Nimm doch einfach den fertigen Skalier-Baustein, um aus dem Analogsignal deinen Weg zu bilden.
Mit einem zweiten Skalier-Baustein, kannst du für die VISU die Umrechnung in % ausgeben.
Indem du min und max tauscht, invertierst du die Kennlinie.
 
vielen Dank für die Hilfe,
aber leider funktionieren beide Lösungsvorschläge nicht.
@Larry Laffer
die Steigung m wären dann bei 100% / (5000-23000) = -0,00555 - wenn ich das jetzt einsetze in Y=m*X+b kommt bei einem X von z.B. 23000 (sollten 0% sein) -5127 raus. Wenn ich den Offset direkt von X abziehe Formel Y=m*(X - b) komme ich auf -99,9
Oder hab ich da was falsch verstanden?

@Kabeläffle
scale_x scheint das nicht zu invertieren wenn ich für min=100 und max=0 angebe.

Den Weg bilde ich über norm_x, um den Analogwert zu normieren, danach den normierten Wert auf scale_x um daraus den Weg zu machen.

Aber den Analogwert in cm umzuwandeln brauch ich nicht wirklich.
Vielleicht ist es noch wichtig das ich als CPU eine 1214 hab.
Gruß
 
Wenn Dir Mathebasics so schwer fallen, versuch es doch in zwei Schritten:
1. Bilde Deinen Prozentwert steigend auf einer Hilfsvariablen ab.
2. Berechne den gewünschten Wert nach dem Ansatz Endwert = 100 - Hilfswert.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@Kabeläffle
scale_x scheint das nicht zu invertieren wenn ich für min=100 und max=0 angebe.

Soviel ich weiß, geht der Scalebaustein unter TIA nicht mehr mit kleiner Max-Grenze wie die Min-Grenze.
Schau mal drauf was bei Ret_Val ausgegeben wird, sollte 0000 sein)

Ich hab dass dann so gelöst das ich als Max 0 genommen habe und als Min -100.
Dann ist das Ergeniss zwar negativ, aber das anschließend wieder *-1 und es wieder positiv
 
Zurück
Oben