Carl-Engler-Schule Karlsruhe 1 (8) cDAQ-Modul: Universalmodul NI 9219 cDAQ-Modul: Universalmodul NI 9219 1. Aufbau und Grundfunktionen Das Modul hat vier Kanäle, über die mit einem einheitlichen Takt auch unterschiedliche Messgrößen ge messen werden können. Die Messungen erfolgen gleichzeitig, es wird nicht zwischen den einzelnen Messkanälen umgeschaltet (kein Scannen). Die maximale Messgeschwindigkeit richtet sich nach dem langsamsten Kanal. Die Umsetzung erfolgt in jedem Kanal mit einem 24bit-DeltaSigma-ADU. Alle Messfunktionen erfolgen potentialfrei (differentiell). Die Kanäle sind gegeneinander isoliert. Spannungen und Ströme werden bipolar gemessen. Die Messungen lassen sich intern takten. Wahlweise kann eine hohe Messgeschwindigkeit bzw. eine hohe Auflösung eingestellt werden. Bei den einstellbaren Messgeschwindigkeiten werden die Daten nach Abschluss der Aktion im jeweils eingestellten Erfassungsmodus mit der gleichen Übertragungsgeschwindigkeit in den Arbeitsspeicher des Computers übertragen. Verzögerungen können nur durch die Verarbeitung im Programm entstehen. Der interne Messbereich wird automatisch an den bei der Task-Definition angegebenen Messbereich angepasst. Ein engerer Messbereich führt dabei zu einer höheren Auflösung. Technische Dokumentation: 374473.pdf 2. Messfunktionen und Technische Daten 2.1 Gleichspannungsmessung Interne Messbereiche sind ±125mV, ±1V, ±4V,±15V und ±60V bei einem Innenwiderstand von 1MΩ. 2.2 Strommessung Die Strommessung erfolgt durch eine Spannungsmessung über einem internen Widerstand mit einem Messbereich von ±25mA bei einem Innenwiderstand von 40Ω. Damit können Bauteile mit Einheitssignal direkt angeschlossen werden. 2.3 Widerstandsmessung Bei der Widerstandsmessung wird ein eingeprägter Strom durch das Bauteil geleitet und der zugehörige Spannungsabfall gemessen. Widerstände können im 1kΩ- und im 10kΩ-Bereich gemessen werden. 4-Wire zur Kompensation der beiden Zuleitungswiderstände 3-Wire Messung eines Leitungswiderstanden, Multiplikation mit 2, Kompensation 2-Wire Leitungswiderstände werden mitgemessen Die ersten beiden Verfahren werden auch verwendet, wenn Temperatur mit RTDs (Pt100, Pt1000) gemessen wird. 2.4 DMS-Brückenschaltung Im Halbbrücken-Modus wird mit einer konstanten Spannung versorgt, die Spannung in der Mitte gemessen und ins Verhältnis zur Versorgungsspannung gesetzt. Im Vollbrücken-Modus wird mit einer konstanten Spannung versorgt, die Spannung als Differenz in den Mitten gemessen (Brückenspannung) und ins Verhältnis zur Versorgungsspannung gesetzt. Die Versorgung der Brücke erfolgt (abhängig von den Brückenwiderständen) mit 2,0V bis 2,7V 2.5 Thermoelement Jeder Anschlussblock der vier Kanäle enthält einen eigenen temperaturabhängigen Widerstand (RTD), mit dem die Temperatur am Anschluss als Vergleichstemperatur gemessen wird (CJC: Cold Junction Correction; CJT: Cold Junction Terminal). Die Richtigkeit bei deutlich höherer Präzision beträgt dabei ±1K. ni9219.odt Nov 2010 www.ces.karlsruhe.de/culm/ Seite 1 von 8 Carl-Engler-Schule Karlsruhe 3. cDAQ-Modul: Universalmodul NI 9219 2 (8) Task-Definition Das Instrumentierungs-Konzept betrachtet den Computer, die daran angeschlossene Hardware und die dafür definierten Tasks und Skalierungen als eine Einheit. Sie wird im „Measurement and Automation Explorer MAX“ verwaltet. Eine Übertragung der zu dieser Konfiguration gehörenden Daten auf einen anderen Computer ist nicht ohne Weiteres möglich und sinnvoll, da eine Funktion dann nicht mehr gewährleistet werden kann. Bei hoher Messgeschwindigkeit sind 100 Messungen pro Sekunde möglich, die Abtastfrequenz ist dabei 100Hz, das Abtastintervall 10ms. Bei geringer Messgeschwindigkeit (hohe Auflösung) sind 2Hz möglich. Zwar sind die Task- und Skalierungseigenschaften auch aus einem LabVIEW-Programm heraus mit den entsprechenden Eigenschafts- und Methodenknoten beeinflussbar, sie sollen aber im Rahmen dieser Einführung nicht betrachtet werden. 4. Skalierungen 4.1 Skalierungsfunktion Sensoren reagieren auf physikalische Größen und geben eine entsprechende elektrische Größe zur Messung aus. Aus der gemessenen elektrischen Größe (unskalierte Werte x) muss daher die zugehörige physikalische Größe (skalierte Werte y) mit Hilfe einer Skalierungsfunktion berechnet werden. Dieser Vorgang wird oft wenig zutreffend als Linearisierung beschrieben. Mit dem „Measurement and Automation Explorer MAX“ lassen sich einige typische Skalierungen erstellen. Sie lassen sich jeweils beliebig einem Task zuordnen. Andere Skalierungen lassen sich in einem zugehörigen LabVIEW-Programm durch vorbereitete Programm-Module oder mit Hilfe von Rechenformeln realisieren. Die Ermittlung einer solchen Funktion nennt man Kalibrierung. 4.2 Lineare Skalierung (Linear, Bereiche umrechnen) Wird der Zusammenhang durch eine Lineare Funktion (Gerade) beschrieben, gibt es zwei Möglichkeiten: a) Für die Funktionsgleichung y(x)=m*x + b werden die Parameterwerte für die Steigung m und den yAbschnitt b angegeben. Die zugehörige Umkehrfunktion ist x(y)=(y – b)/m. b) Die Gleichung der Linearen Funktion wird durch die Eingabe der Koordinaten des Anfangs- und des Endpunktes des Skalierungsbereichs festgelegt. Signalwerte außerhalb dieses Bereichs sind nicht zulässig. 4.3 Polynom-Skalierung (Polynom) Die Koeffizienten des Polynoms vom Grad n mit der Funktionsgleichung y(x)=an*xn+...+a2*x2+a1*x+a0 müssen zuvor mit einem anderen System (z.B. Tabellenkalkulation) als Interpolations- oder Approximationspolynom ermittelt werden. Zusätzlich müssen im MAX auch die Koeffizienten des Polynoms x(y)=bn*yn+...+b2*y2+b1*y+b0 zur Umkehrung angegeben werden, das sich nicht aus dem y(x)-Polynom abgeleitet werden kann (es wird bei der Signalausgabe angewendet). 4.4 Stückweise lineare Skalierung (Tabelle) Eine nichtlineare Skalierung-Kennlinie kann durch die Eingabe von Datenpunkten innerhalb des Mess-bzw. Skalierungsbereichs festgelegt werden. Im MAX werden die Intervalle linear interpoliert (durch Geradenstücke). 4.5 andere Skalierungen Andere Skalierungen lassen sich durch die Verwendung spezieller mathematischer Funktionen beschreiben wie Potenzfunktion Exponentialfunktion Logarithmusfunktion Cosinusfunktion Splinefunktion Bezierfunktion oder durch die Eigenschaften, ob sie zwischen den Datenpunkten interpolierend, ausgleichend (approximierend) oder glättend sind. ni9219.odt Nov 2010 www.ces.karlsruhe.de/culm/ Seite 2 von 8 Carl-Engler-Schule Karlsruhe 5. cDAQ-Modul: Universalmodul NI 9219 3 (8) Datentypen 5.1 Einzelwert DBL Obwohl weitere Datentypen möglich sind, wird hier für einzelne Messwerte immer der Datentyp Double DBL verwendet, da seine Auflösung über der aller typischen Messignalen liegt. Intern (im VI) wird immer mit maximaler Auflösung gerechnet. Die Darstellung auf dem Front Panel kann jedoch sehr unterschiedlich sein. Bei unbekannter Größenordnung des Messwerts sollte immer die Darstellung mit Zehnerpotenzen (Exponentialdarstellung) verwendet werden. 5.2 Array mit DBL-Daten Messreihen bestehen aus einer Folge von Einzelwerten gleichen Typs und lassen sich in einem Array (Feld, 1D-Matrix) zusammenfassen. Die Nummerierung der Einträge beginnt mit der Null. Arrays können miteinander oder mit Einzelwerten verknüpft werden, so dass in vielen Fällen der Einsatz einer Schleife im Programm vermieden werden kann. Außerdem sind Schleifen in der Lage, bei jedem Durchgang den folgenden Einzelwert eines Arrays zu lesen bzw. zu schreiben. 5.3 Waveform (Signalverlauf) Die Waveform ist eine spezielle Form einer Variablen für Daten, die in einem festen Zeittakt erfasst wurden. Neben der Folge der Einzelwerte sind die Anfangszeit t0 und die Taktzeit dt gespeichert. Dies erleichtert die zeitrichtige Darstellung in Diagrammen, die Wertzuordnung bei Berechnungen und den Wechsel zwischen Zeit und Frequenz-Domäne. Im vorliegenden Beispiel werden 12 Zufallszahlen in einem Takt von 500ms erzeugt, über einen indizierenden Tunnel zusammen mit der Taktzeit in s und der Anfangszeit aus der Systemuhr des Computers in eine Waveform gepackt und im Signalverlaufs-Graphen mit Datum und Zeit dargestellt. Aus der Waveform werden die Zufallswerte extrahiert und dem indizierenden Tunnel der While-Schleife übergeben. Diese holt im Sekundentakt Wert für Wert (ohne Zähler) und zeigt ihn an. Die Schleife wartet mit dem letzten Wert, bis die Stop-Taste gedrückt wird. In der Zählschleife kann auch eine durch die Schleife getaktete Einzelmessung mit dem NI9219 stehen. Statt der Schleife ist auch eine einmalige Übernahme von N-Samples in die Waveform möglich (Parametrierung: Analog – Ein Kanal – Mehrere Samples – Signalverlauf). ni9219.odt Nov 2010 www.ces.karlsruhe.de/culm/ Seite 3 von 8 Carl-Engler-Schule Karlsruhe 6. cDAQ-Modul: Universalmodul NI 9219 4 (8) Datenübernahme in LabVIEW 6.1 Erfassungsmodus 1 Sample An das Modul wird ein Software-Triggersignal gesendet. Die Messung wird ausgeführt. Der Wert der Erfas sung wird übernommen. Eine maximale Wartezeit (timeout) kann eingestellt werden. Wird innerhalb dieser Zeit kein Messwert geliefert, erfolgt eine Fehlermeldung und das Programm wird angehalten. Die Taktung einer Messreihe muss dann vom Programm vorgenommen werden, wobei allerdings nur wesentlich ge ringere Taktraten erreicht werden können. Im angezeigten Beispiel werden die Werte der Thermospannung eines Thermoelements in einem Takt von 0,5s=500ms erfasst. 6.2 Erfassungsmodus 1 Sample (HW getaktet) Eine Taktung durch ein äußeres Signal (Hardware-Takturng) ist nur möglich, wenn sich das Modul in einem CompactRIO-Chassis befindet. 6.3 Erfassungsmodus N Samples An das Modul wird ein Software-Triggersignal gesendet. Die bei der Task-Definition (z.B. im MAX) eingestellte Anzahl N von Messungen wird im eingestellten Zeittakt ausgeführt. Die Werte der Erfassung werden übernommen. Die Anzahl der zu übernehmenden Werte n kann im Programm-Modul angegeben werden (n≤N). Da die Daten nicht im Modul, sondern im Arbeitsspeicher (RAM) gespeichert werden, kann N auch sehr groß sein und viele Tausend Messwerte umfassen. Dann ist für die Datenübernahme und auch für viele Auswertefunktionen keine Schleife erforderlich. Im Beispiel werden alle Messwerte mit dem Faktor 2 multipliziert (rote Kurve). Bei einer Wiederholung des Vorgangs entsteht zwischen den einzelnen Blöcken eine zeitliche Lücke, die durch die Ausführungsgeschwindigkeit des Programms bestimmt wird. ni9219.odt Nov 2010 www.ces.karlsruhe.de/culm/ Seite 4 von 8 Carl-Engler-Schule Karlsruhe cDAQ-Modul: Universalmodul NI 9219 5 (8) Bei der Parametrierung des Moduls zur Datenübernahme ist zu beachten: Anzahl Samples pro Kanalgibt die Anzahl der zu lesenden Samples an. Wenn Sie diesen Eingang offen lassen oder auf -1 setzen, wird die Anzahl der Samples automatisch bestimmt, und zwar je nachdem, ob fortlaufend Samples erfasst werden sollen oder nur eine bestimmte Anzahl. Bei der fortlaufenden Erfassung von Samples, liest das VI bei der Einstellung dieses Eingangs auf -1 alle Samples aus, die sich gerade im Puffer befinden. Wenn mit dem Task eine bestimmte Anzahl von Samples erfasst wird und Sie diesen Eingang auf -1 setzen, wartet das VI bis zur Erfassung der angegebenen Anzahl von Samples und liest diese dann aus. Timeout gibt an, wie viele Sekunden lang auf Samples gewartet werden soll. Nach Ablauf dieser Zeit gibt das VI einen Fehler und alle vor dem Timeout gelesenen Samples aus. Die Voreinstellung für den Timeout lautet 10 Sekunden. Wenn Sie Timeout auf -1 setzen, wartet das VI für eine unbegrenzte Zeit. Beim Timeout 0 versucht das VI ein Mal, die gewünschten Samples zu lesen. Ist das nicht möglich, gibt es einen Fehler aus. ni9219.odt Nov 2010 www.ces.karlsruhe.de/culm/ Seite 5 von 8 Carl-Engler-Schule Karlsruhe cDAQ-Modul: Universalmodul NI 9219 6 (8) Im Beispiel werden bei einer im MAX eingestellten Taktrate von 1Hz jeweils 8 Werte gemessen. Anschließend wird eine neue Messung gestartet (Erfassungsmodus N Samples, N=8). Das Signalverlaufs-Diagramm zeigt (ohne Löschung) auch Daten aus vergangenen Schleifendurchläufen an. 6.4 Erfassungsmodus kontinuierlich Nach der Erfassung von N Samples wird im vorgegebenen Zeittakt mit der Messung des nächsten N-Sample begonnen. Um eine kontinuierliche Messreihe zu erhalten, deren Takt nicht von der Ausführungsgeschwindigkeit des Programms, sondern vom Modul bestimmt wird, kann kontinuierlich bei N=1 Sample eine Abtastrate von maximal 100Hz erreicht werden, falls die Aktionen innerhalb der Schleife nicht sehr viel Zeit beanspruchen. Jeder neue Wert wird an das vorhandene Array angehängt. Es ergibt sich eine übersichtliche Programmstruktur. Das Signalverlaufs-Diagramm zeigt (ohne Löschung) auch Daten aus vergangenen Programmdurchläufen an (hier 100 Werte, davon sind die letzten 8 aktuell). Alternativ kann der zeitliche Ablauf der Programmausführung vom Erfassungstakt entkoppelt werden, wenn mit „Anzahl der Samples=-1“ jeweils die Daten ausgelesen werden, die sich gerade im Puffer befinden. Auch diese Blöcke müssen aneinander gehängt werden, wenn sie weiterhin im Programm zur Verfügung stehen sollen. ni9219.odt Nov 2010 www.ces.karlsruhe.de/culm/ Seite 6 von 8 Carl-Engler-Schule Karlsruhe 7. cDAQ-Modul: Universalmodul NI 9219 7 (8) Skalierungen mit MAX 7.1 Grundlagen zur Skalierung Ein Sensor reagiert auf eine physikalische Größe, die Merkmalsgröße und und gibt ein entsprechendes Signal aus, an dem die Signalgröße gemessen wird. Ein Aktor wird durch eine Signalgröße angesteuert und beeinflußt im Prozess eine Merkmalsgröße. Bei der Skalierung wird eine mathematische Beziehung zwischen der messbaren Signalgröße (unskaliert) und der zugehörigen Merkmalsgröße (skaliert) hergestellt. In der hier benötigten Form läßt sich damit aus der Signalgröße die Merkmalsgröße berechnen (Analysenfunktion). Gewonnen wird sie meist über die Umkehrfunktion, also durch eine Kalibrierung (Kalibrierfunktion). Die Skalierung muss daher durch eine Funktion erfolgen, die im Anwendungsbereich umkehrbar eindeutig ist. Wird bei der Task-Definition eine Skalierung eingesetz, sind als Grenzen nicht die Signalwerte, sondern die zugehörigen skalierten Merkmalswerte anzugeben. Diese müssen bei einer Messung durch den zur verfügung stehenden Messbereich auch tatsächlich erreicht werden können. 7.2 Typische Skalierungsarten 7.2.1 Skalierung von Abbildungsbereichen (linear) Durch die Anfangs- und Endpunkte der beiden Bereich ergibt sich eine Lineare Funktion (Geradengleichung), die in ihrer mathematischn Form allerdings nicht angezeigt wird. 7.2.2 Lineare Skalierung (Gleichung) Die zugehörige Gleichung wird automatisch im Bereich 0 ≤ x ≤ 10 zehn Datenpunkten dargestellt, kann aber in belibeigen Bereichen zur Berechnung verwendet werden. mit In der Messpraxis wird man häufig Streuungen in den Signalwerten haben, die durch eine Lineare Regression ausgeglichen werden. Dann ist die Gleichung der Regressionsgeraden einzusetzen. Im vorliegenden Fall können keine negativen Widerstände gemessen werden. Der kleinste messbare Widerstand beträt 0,04Ω, der größte 10500Ω. Als Messbereich dürfen hier also nur Werte im Bereich von 3,02mm bis 5253mm angegeben werden. Der tatsächliche Messbereich kann natürlich viel kleiner sein. ni9219.odt Nov 2010 www.ces.karlsruhe.de/culm/ Seite 7 von 8 Carl-Engler-Schule Karlsruhe 8 (8) cDAQ-Modul: Universalmodul NI 9219 7.2.3 Polynomskalierung Da zur Polynomfunktion im Allgemeinen keine geschlossene Umkehrfunktion existiert, muss bei Bedarf auch die Umkehrfunktion durch eine Polynomfunktion angenähert werden. In beiden Fällen müssen die Koeffizienten der Polynome außerhab des MAX bestimmt werden. Zur Verfügung stehen entsprechende Operationen z.B. in der LabVIEWUmgebung oder als Funktion in einer Tabellenkalkulation. y = 0,00260x4 - 0,04282x3 + 0,28819x2 + 0,09788x - 2,00794 Im angezeigten Beispiel wurden die Ausgleichspolynome (hier jeweils 4. Grades) mit der Tabellenkalkulation bestimmt. Es ist zu erkennen, dass in den beiden Rechenrichtungen nicht exakt die gleichen Datenpunkte vorkommen. 12 Masse m in kg 10 8 (vorwärts) 6 4 2 0 -2 0 2 4 6 8 4 10 y = -0,00097x + 0,01862x3 - 0,13737x2 + 1,17780x + 3,14947 12 -4 Spannung U in V (rückwärts) Spannung U in V 10 8 6 4 2 0 -4 -2 0 2 4 6 8 10 12 Masse m in kg 7.2.4 Tabellenskalierung Im MAX wird die punktweise vorgegebenen Skalierung als Lineare Interpolationsfunktion ausgeführt. Für jedes Teilintervall wird eine eigene Lineare Funktion (Gerade) bestimmt. Bei der Anwendung auf einen Signalwert wird das zugehörige Intervall ermittelt und mit dessen Funktionsgleichung der Merkmalswert berechnet. Entsprechend funktioniert die umgekehrete Anwendung. ni9219.odt Nov 2010 www.ces.karlsruhe.de/culm/ Seite 8 von 8