"Exotische" Messbereiche von analog Eingangskarten (V und A) gesucht

Beiträge
6.549
Reaktionspunkte
1.572
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo liebe Forenmitglieder,
nachdem hier zum wiederholten Mal die Frage aufkam, "Ich messe ein analoges Signal, wie schaffe ich es, dass ... jetzt den Druck, die Temperatur, das Alter der Schwiegermutter anzeigt?". Möchte ich mich einmal hinsetzen und eine umfassende Anleitung zu dem Thema erstellen und hier ins Forum stellen. Dadurch werden die Fragen zwar nicht enden, aber dann kann man einfach auf diese Anleitung verweisen. Natürlich gibt es zu dem Thema auch schon genug Threads, aber da muss man sich seine Antwort eventuell auch erst zusammensuchen. Ich kenne mich mit dem Thema, denke ich mal, ganz gut aus, sollte ich auch wenn ich eine Anleitung tippen möchte, habe aber bei einem Thema doch noch eine Frage. Es soll bei der Anleitung nicht um "Spezialklemmen" gehen die den gewünschten Messwert (z.B. Temperatur) schon ausgeben, sondern um Standardklemmen die eine Spannung oder einen Strom messen. Es gibt ja Klemmen, die positive und negative Ströme und/oder Spannungen messen können. Ich kenne allerdings nur welche die das symmetrisch tun, also bei einer Spannungsmessung dann von -10V - 10V messen. Gibt es auch Klemmen bei denen dies nicht so ist. Über Beispiele wäre ich dankbar, da falls es sowas gibt und es auch halbwegs verbreitet ist, die Anleitung entsprechend geschrieben werden muss.
Da ich weder allwissend noch frei von Felern ( ;) ) bin kommt hier noch eine Frage an die Foren-Admins. Es wird am Anfang sicher den einen oder anderen Fehler in der Anleitung geben oder ich habe bestimmte Aspekte nicht berücksichtig. Dies würde ich natürlich umgehend korrigieren, allerdings möchte ich vermeiden, dass der Thread mit Kommentaren und Hinweisen überflutet wird, solche Dinge sollten via PN erfolgen. Könnt Ihr den Beitrag so sperren, dass nur ich weitere Einträge hinzufügen kann?
 
Wenn Dein Beitrag von den Admins in den FAQ-Bereich verschoben (oder kopiert) wird, dann darfst nur Du oder Admins da Antworten (Beiträge zufügen). Den Beitrag selbst kannst Du beliebig oft ändern.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Meinst du mit Symetrisch immer +-0?
Wenn ich nur Werte z.B. per Can-Bus gesendent bekomme muss ich den genauen Wertebereich ja nicht kennen.

Sofern ich die Werte die die Steuerung mir gibt nur für die Anzeige skalieren will reicht es für die meisten Zwecke dies über eine lineare Fukntion zu machen

Habe mir für die Anzeige solcher Werte mal folgdenen Funktionsbaustein gebastelt:

Code:
FUNCTION_BLOCK FB_Analogwertskalierung
VAR_INPUT
    minimal_Wert:UINT;//unterer Minimalwert    (Wert bei dem 0% ausgegeben wird)
    maximal_Wert:UINT;//oberer Maximalwert    (Wert bei dem 100% ausgegeben wird)
    Messwert:UINT;//aktueller Messwert
    unterer_normier_Wert:UINT;// Maßwert beliebiger Einheit (z.B. cm) der zu 0% ausgegeben wird
    oberer_normier_Wert:UINT;// Maßwert beliebiger Einheit (z.B. cm) der zu 100% ausgegeben wird
END_VAR
VAR_OUTPUT
    Prozentwert:INT;//Ausgabewert als Prozent
    normierter_Wert:INT;//Ausgegebener Maßwert
END_VAR
VAR
    prozent_real:REAL;//Prozentwert mit Komma
END_VAR

//Berechnung des Prozentwertes
    prozent_real:=((Messwert+0.1-minimal_Wert-0.1)/(0.1+maximal_Wert-minimal_Wert-0.1)); //Wert wird über Geradengleichung in Prozent skaliert, 0.1er Schritte zur konvertierung
    
//Ausgabe der Werte
    Prozentwert:=REAL_TO_INT(prozent_real*100); //Prozentwert wird als Zahl zwischen 0-100 ausgegeben
    normierter_Wert:=REAL_TO_INT((oberer_normier_Wert-unterer_normier_Wert)*(prozent_real)+unterer_normier_Wert); //normierter Wert wird aus Prozentwert berechnet und ausgegeben

Gruß
 
Hallo nielscho,
mit symmetrisch meinte ich, dass der maximale Wert sowohl in positive als auch negative Richtung betragsmäßig gleich hoch ist (z.B. -10V - +10V). Eigentlich wollte ich die Anleitung für analoge Eingänge tippen, aber Dein Beitrag hat mir gezeigt, dass eine Skalierung auch an anderer Stelle benötigt wird. Ich werde die Anleitung dann entsprechend ausrichten und asymmetrische Messbereiche vorsehn.
Die Frage hat sich hiermit dann erledigt.
 
Hi zusammen,

Gibt es für diese Anwendung nicht den Funktionsbaustein Trafo aus der standard.lib? Weil warum etwas neu erfinden, das bereits stabil existiert.

Gruß

Mavorkit

Gesendet von meinem SM-G389F mit Tapatalk
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Mavorkit,
Gibt es für diese Anwendung nicht den Funktionsbaustein Trafo aus der standard.lib? Weil warum etwas neu erfinden, das bereits stabil existiert.
danke für Deinen Tipp. Ich habe gerade kein reines Codesys zur Hand und kann mir die Bibliothek nicht anschauen und genau das ist einer der Gründe warum ich diesen FAQ Eintrag gerne schreiben möchte. Nicht jeder arbeitet mit dem Codesys von 3S und so ist nicht sichergestellt, dass es diesen FB/diese Funktion bei ihr/ihm gibt. In TC3 habe ich sie z.B. nicht gefunden. Bei der Anleitung geht es auch nicht darum einfach eine Gleichung hin zuschreiben, das ist schon des öfteren, unter anderem von mir, hier passiert, sondern um eine mehr oder minder ausführliche Erklärung zum Normalisieren von Werten.
 
Zurück
Oben