Analogwerte verbiegen

Ralf110666

Level-1
Beiträge
24
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich habe gerade eine Blockade bei der Analogwert Verarbeitung. Wie skaliere ich um wenn die Endwerte nicht erreicht werden...weil z.b. ein Poti nicht 0-6K macht sondern nur 0-4k sprich die 27648 werden nie erreicht. Das ist besonders ärgerlich wenn man dann eine Anzeige am Ausgang hat die auf 4-20mA 0-100% anzeigen soll. Der FC105 skaliert ja nur über die volle Range...oder? Gibt es vielleicht einen anderen fertigen Baustein ungefähr folgende Parameter hat?

Input_min
Input_max
Messwert
Output_min
Output_max
umskalierter Wer

Gruß Ralf
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich habe gerade eine Blockade bei der Analogwert Verarbeitung. Wie skaliere ich um wenn die Endwerte nicht erreicht werden...weil z.b. ein Poti nicht 0-6K macht sondern nur 0-4k sprich die 27648 werden nie erreicht. Das ist besonders ärgerlich wenn man dann eine Anzeige am Ausgang hat die auf 4-20mA 0-100% anzeigen soll. Der FC105 skaliert ja nur über die volle Range...oder? Gibt es vielleicht einen anderen fertigen Baustein ungefähr folgende Parameter hat?

Scale
Input_min 0.0
Input_max 6.0

Unscale
Output_min 0.0
Output_max 4.0 (bei 4k Ohm steht dann da 100% am Ausgang)


Gruß Ralf

Nehme an, dass das ist was Du möchtest.

Gruß
Karl
 
Hallo Nordischerjung,

ja, den kannte ich schon. Aber der bezieht sich genau wie alles andere auf Idelabedingungen dh. da ist ein sensor der die volle Range des Normsignals ausnutzen kann (0-10V,4-20mA oä.). Wenn ich aber einen Sensor habe der das nicht kann, was mache ich dann? Wenn ich z.b. einen Wegaufnehmer 0-10V habe der auf 100mm mißt und nach 94mm Anschlag ist. dann wären meine 100% nicht bei 10V sondern eben drunter trotzdem will ich einen ausgang ansteuern der mit dann 0-100% anzeigen soll. Oder noch blöder...ein Poti am Eingang z.b 5K. Analogkarte kann nur 0-6K. Wenn man Poti anschließt und werte ermittelt stellt man fest es fängt bei 430 an und hört bei 22000 auf wie kriege ich es hin das es auf 0-27648 umskaliert wird?

Gruß Ralf
 
Mit diesem Programmchen kannst Du aus einer beliebigen Eingangs Range eine beliebige Ausgangs Rage machen.
Du gibst einfach deine min und max Eingangsteile ein, dann den min und max Ausgang den du haben möchtest.

peter(R)
 

Anhänge

  • Skalierung.zip
    414,3 KB · Aufrufe: 21
Zuviel Werbung?
-> Hier kostenlos registrieren
Aber das steht doch in dem link von Nordischerjung:

Die Funktion Werte skalieren (SCALE) wandelt einen ganzzahligen Wert (IN) in einen Realzahlenwert um, der in physikalischen Einheiten zwischen einem unteren und einem oberen Grenzwert (LO_LIM und HI_LIM) skaliert wird. Das Ergebnis wird in den Parameter OUT geschrieben. Die Funktion SCALE arbeitet mit der folgenden Gleichung:

OUT = [ ((FLOAT (IN) – K1)/(K2–K1)) * (HI_LIM–LO_LIM)] + LO_LIM

Die Konstanten K1 und K2 werden unterschiedlich gesetzt, je nachdem, ob der Eingabewert BIPOLAR oder UNIPOLAR ist.

· BIPOLAR: Es wird angenommen, daß der ganzzahlige Eingabewert zwischen -27648 und 27648 liegt, deshalb sind K1 = -27648,0 und K2 = +27648,0.

· UNIPOLAR: Es wird angenommen, daß der ganzzahlige Eingabewert zwischen 0 und 27648 liegt, deshalb sind K1 = 0,0 und K2 = +27648,0.
 
@ Tiegerente

genau das macht mein Programm doch. Es berechnet die Formel, allerdings sind K1 und K2 Variable.
Damit hat man dan Ein- und Ausgangsseitig alle Freiheit.

peter(R)
 
@peter

das Programm hatte ich vor meinem post nicht angesehen. Ich wollte Ralf noch einmal darauf hinweisen, dass die Lösung bereits genannt wurde um den Lerneffekt zu unterstützen :cool:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich habe erstmal versucht mit fc105,fc106 herumzuspielen. SPS geht immer in Stop (Meldung OB nicht geladen oder nicht möglich, bzw. kein FRB vorhanden.)

Dachte erst das es am PEW als Eingang liegt. Habe eine FC geschrieben, verschiebe PEW in MW, lese MW in FC105 gebe Limits als Konstante vor, als ausgang ein MD, damit gehe ich in FC106, wieder Konstanten für Limits und dann auf ein MW.


FC105,FC106 sind im AG vorhanden...warum zickt das AG?


Gruß Ralf
 
Konstanten richtig vorgegeben ??? REAL ??
Aber mit dem was du vorhast kommst du leider so nicht weiter da beide FCs immer von den KONSTANTEN K1 und K2 ausgehen
und die dürfen bei dem was du vorhast halt NICHT konstant sein.

peter(R)
 
Hallo Peter,
Hi_Lim = 6.0
Low_Lim= 0.0

Es ist auch keine der E/A rot gekennzeichnet in der FC. Möchte echt wissen warum FC 105 einen Stop der CPU auslöst. Ich hab den schon mal in einer Vipa Steuerung benutzt und mit Winsps programmiert, da gab es die Probleme nicht.

Gruß Ralf
 
und was sagt der Diagnosepuffer genau ??
Welche Variablen liegen wo am Fc 105 ??

Was hast du gegen mein Progrämmchen. Das macht genau was du willst und es funktioniert ! ;):ROFLMAO:

peter(R)
 
Hallo Peter,

ich habe den Baustein ausprobiert...der Wert Real_Anzeige ist statisch... dh Eingangsänderungen interessieren den gar nicht.

hat sich gerade erledigt ....gurmmel....hatte vergessen pew nach mw zu verschieben.

Bleibt nur noch das problem mit dem FC105...FC106 denn auch der 106er zickt rum und lässt die sps stoppen. und ich muss ja von dem real ausgangswert des Bausteins wieder einen int wert machen damit ich ihn auf ein AW schieben kann, oder?


Gruß Ralf
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
"zickt rum" ist etwas zu allgemein...

Wenn die SPS in Stop geht, kannst Da ja mal in die Diagnose schauen bzw. den Diagnosepuffer hier posten.
Sofern die Datentypen nicht passen, musst Du diese selbstredend entsprechend konvertieren.
 
Naja, das war nicht wirklich detailliert. Wenn Dein Problem gelöst ist, dann ist es ja gut...
Falls Du in der Zukunft noch einmal Fragen hast, kannst Du ja daran denken, möglichst genaue Informationen zu geben. Umso besser kann Dir dann auch geholfen werden.
 
Zurück
Oben