LabVIEWForum.de
DAQ 9203 mit Scale Function - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: DAQ 9203 mit Scale Function (/Thread-DAQ-9203-mit-Scale-Function)

Seiten: 1 2


DAQ 9203 mit Scale Function - Selectah83 - 14.12.2012 11:46

Hi Leute,

Von einem Vorgänger habe ich ein ähnlich aufgebautes (aber komplexeres) Programm bekommen, welches ich nachgebaut habe um die Systematik zu verstehen.
Verstehe nicht, warum das Scaling mit dem invertierten Polynom notwendig ist. Eigentlich müsste doch eine der beiden Scaling Funktionen ausreichen, oder nicht?
Wenn das Programm eine Wertänderung des Polynoms bekommt, läuft es nicht mehr und es tritt der Error -200077 auf. Dabei sollte der Scaling Wert dem Task doch relativ egal sein, oder nicht?


RE: DAQ 9203 mit Scale Function - GerdW - 14.12.2012 12:51

Hallo Selectah,

Zitat:Verstehe nicht, warum das Scaling mit dem invertierten Polynom notwendig ist.
Weil die Funktion "Skalierung erzeugen" dies so verlangt. Steht in der Kontexthilfe...

Zitat:Dabei sollte der Scaling Wert dem Task doch relativ egal sein, oder nicht?
Nicht, solange du beim "Kanal erzeugen" eine Skalierung vorgibst und auch noch deren Einheit verwenden willst...

Zitat:Wenn das Programm eine Wertänderung des Polynoms bekommt, läuft es nicht mehr und es tritt der Error -200077 auf.
Was für eine Änderung? Beispielwerte?

Warum überhaupt die Skalierung per Polynom? Du rechnest doch nur mit 2 Stützstellen, dafür reicht die Skalierung per "Linear" oder "Bereiche umrechnen" locker aus - und die verlangen keine inversen Polynome...


RE: DAQ 9203 mit Scale Function - Selectah83 - 14.12.2012 15:44

Hallo Gerd,

vielen Dank für deine rasche Antwort.
Da es sich im Eigentlichen um ein wesentlich komplexeres Programm handelt bei dem mein Vorgänger in Betracht gezogen hat, komplexere Polynome ebenfalls zu bearbeiten, sieht das Programm vor, Polynomwerte an anderer Stelle einzupflegen. Diese Polynomwerte werden aus einer TDMS Datei ausgelesen und übergeben. Der programmiertechnische Aufwand wäre jetzt zu hoch, das ganze auf Linearität umzuschreiben.

Änder ich jetzt den Wert a0 oder a1 des Polynoms, so tritt sofort der Fehler auf. Ändert man den Wert 7812,5 auf 400 so tritt der besagte Fehler auf. Ich lese über das NI Modul verschiedene Sensoren aus, die unterschiedliche Polynome verlangen. So ganz verstehe ich aber noch nicht den Zusammenhang zwischen dem auftretenden Fehler und dem Polynom.

In dem komplexeren Programm gibt es Sensoren, die mir Temperatur, Druck und Volumenstrom anzeigen sollen. Es wird ebenfalls schon in der TDMS Datei nach den unterschiedlichen SI Einheiten differenziert.
Was genau hat denn das Verwenden der gewünschten Einheit mit der Skalierung des Polynoms zu tun?
Setze ich z.B. zwei verschiedene Drucksensoren für den Bereich von 400 und 600bar ein, so ändert sich doch automatisch bei einem genormten Signal per Stromstärke von 4-20mA das Polynom.


RE: DAQ 9203 mit Scale Function - GerdW - 14.12.2012 16:03

Hallo Selectah,

ok, du verwendest anscheinend auch kompliziertere Polynome als nur 1. Ordnung...

Guck dir die Fehlermeldung mal genau an, da wird nicht nur der Fehlercode genannt, sondern auch eine Begründung dafür. Genau genommen kommt diese Fehlermeldung von der Funktion "Kanal erzeugen", da du dort ein festes Min/Max vorgibst. Dieses Min/Max hast du als Stromwert vorgegeben, obwohl du dies aber schon in skalierten Einheiten angeben solltest!


RE: DAQ 9203 mit Scale Function - Selectah83 - 14.12.2012 16:09

ok. Das macht definitiv auch Sinn. Das hatte ich vorher aber auch schon ausprobiert und es hatte ebenfalls eine Fehlermeldung gegeben. Ich versuchs aber nochmal. Melde mich dann später.

Danke.


RE: DAQ 9203 mit Scale Function - Selectah83 - 14.12.2012 16:28

Also ich habe meine Werte jetzt all geändert. Nun schreibt er mir aber beim SensorMin Wert vor, dass der Bereich genau zwischen -199,2 und -200,8 z.B. liegen soll.
Wenn ich jetzt z.B. einen Sensor hätte, der von -100 bis -150 ein verändertes Polynomverhalten hätte, was ich abbilden möchte, ginge das gar nicht!?
Diese Mindest- und Maximalwerte sind mir immer noch ein Rätsel. :/


RE: DAQ 9203 mit Scale Function - GerdW - 14.12.2012 17:38

Hallo Selectah,

in den Fällen, wo ich die Skalierung nutze (aber nur mit linearer Skalierung/2Punkt), rechne ich mir immer aus elektr. Messbereich und Skalierung den physikalischen Messbereich aus und gebe den als Min/Max vor. Hat immer funktioniert!

Mit Polynomen habe ich bei DAQmx noch nicht gearbeitet. DAQmx-Skalierungen nutze ich momentan eher selten, da ich bei unseren Prüfständen mit 2 Polynomen pro Messwert arbeite (eines für die Messstrecke ohne Sensor, ein Polynom für den Sensor)...


RE: DAQ 9203 mit Scale Function - Selectah83 - 04.01.2013 20:00

Hi Gerd,

ich arbeite an dieser Stelle nun auch wie von dir vorgeschlagen mit der Funktion "Linear". Dennoch kann ich immer noch nicht nachvollziehen warum diese Min- und Max-Werte von den DAQmx Treibern erwartet werden. In meinen Augen kann das der Software scheissegal sein, wie groß ein Wert werden kann. Bei 18 unterschiedlichen Sensoren mit diversen Polynomen ist es echt umständlich alle Polynomgrößen (auch wenn sie noch so linear verlaufen) auf den Wert anzupassen, der gewünscht wird. Das sind in meinen Augen Belanglosigkeiten, die unnötig aufhalten. Wüsste gern mal von einem LabVIEW Guru, was für einen tieferen Sinn (den sie wohl hoffentlich auch haben) haben...


RE: DAQ 9203 mit Scale Function - GerdW - 05.01.2013 11:16

Hallo Selectah,

zu den Interna der DAQmx-Treiber kann ich nicht viel sagen, da solltest du mal mit einem AE aus München (oder vielleicht besser Austin) sprechen...

Zitat:Bei 18 unterschiedlichen Sensoren mit diversen Polynomen ist es echt umständlich alle Polynomgrößen
Echt? Das ist eine Rechnung, die man in einer FOR-Loop automatisch ausführen lässt...


RE: DAQ 9203 mit Scale Function - rasta - 05.01.2013 12:16

(04.01.2013 20:00 )Selectah83 schrieb:  Hi Gerd,

ich arbeite an dieser Stelle nun auch wie von dir vorgeschlagen mit der Funktion "Linear". Dennoch kann ich immer noch nicht nachvollziehen warum diese Min- und Max-Werte von den DAQmx Treibern erwartet werden. In meinen Augen kann das der Software scheissegal sein, wie groß ein Wert werden kann. Bei 18 unterschiedlichen Sensoren mit diversen Polynomen ist es echt umständlich alle Polynomgrößen (auch wenn sie noch so linear verlaufen) auf den Wert anzupassen, der gewünscht wird. Das sind in meinen Augen Belanglosigkeiten, die unnötig aufhalten. Wüsste gern mal von einem LabVIEW Guru, was für einen tieferen Sinn (den sie wohl hoffentlich auch haben) haben...

Hallo Selectah,
bin zwar kein Guru aber dennoch mein Erklärungsversuch:
Aus der Hilfe-DAQmx Create Virtual Channel

Input Limits (Maximum and Minimum Values)
Input limits are the maximum and minimum values you expect to measure, after any scaling, including custom scaling. Input limits are sometimes confused with device range. Device range refers only to the input range of a particular device. For instance, the device range for a DAQ device might be 0 to 10 V, but that device might be used with a temperature sensor that outputs 100 mV for every 1 °C. The input limits in that case could be 0 to 100, with 10 V corresponding to 100 °C.

Input limits in a smaller range can improve the precision of your measurement. If, in the previous example, you knew that the temperature would never be higher than 50 °C, you could choose a minimum value of 0 and a maximum value of 50. The device can then detect smaller differences in temperature because it is digitizing a voltage between 0 and 5 V, rather than 0 and 10 V.


Beispiel:
Einige Devices /Module können verschiedene Spannungsbereiche messen z.B. ±60 V, ±15 V, ±4 V, ±1 V, ±125 mV NI9219. Wenn Du 100mV messen willst ist der Spannungsbereich 125mV auszuwählen da dieser die höchste Auflösung/Messgenauigkeit bietet.

Dies gilt ebenfalls für die Skalierung.

Gruß
Ralf