1.1 Übersicht
1.2 Floating Point Arithmetik und Allgemeine Matlab Grundlagen
1.3 Simulink Grundlagen
1.4 Behandlung eines Dirac Impuls im Freqünzbereich
1.4.1 Aufgabenstellung
1.4.2 Verfahren
1.4.3 Realisierung
1.4.3 Funktionsneuheiten
1.4.4 Wichtige Erkenntnisse
1.5 WAV File
1.5.1 Aufgabenstellung
1.5.2 Verfahren
1.5.3 Realisierung
1.5.3 Funktionsneuheiten
1.5.4 Wichtige Erkenntnisse
2.1 DAQ Hardware mit Matlab nutzen
2.2 DAQ Hardware mit Matlab nutzen
2.3 Data Acquisition mit Matlab
2.3.1 Aufgabenstellung
2.3.2 Realisierung
2.3.3 Erkenntnisse
2.4 Data Acquisition mit Simulink
2.4.1 Aufgabenstellung
2.4.2 Realisierung
2.5 Einführung in LabView
2.5.1 Aufgabenstellung
2.5.2 Grundlagen
2.5.2.1 Probe
2.5.2.2 Highlighting Funktion
2.4.2.3 Unterschied zwischen Indizierter-und Nicht Indizierter Ausgabe
2.4.3 Realisierung
2.4.3.1 Realisierung mit for Schleife
2.4.3.2 Realisierung mit while Schleife
2.4.3.2 Realisierung einer Sinusausgabe mithilfer einer zeitgesteürten While Schleife
3.1 Arbeiten mit dem DAQ Assistent unter LabView 8.5.1
4.1 Messen eines PT Elementes
5.1 Messen einer Schaltungsbrücke
5.2 Drehzahlmessung
5.3 Entfernungsmessung
6.1 Identifikation eines Systems
Dies ist eine kostenlose Leseprobe, das gesamte Dokiument erhalten sie um 5€
1.1 Übersicht
Tagebuch 40%Jede übung muss reproduzierbar sein.
Abschlussquiz 30% (Abschlussübung)
Studierbarkeit 30% (Occassional Homework -> etwas kleines bis zum nächsten Mal)
1.2 Floating Point Arithmetik und Allgemeine Matlab Grundlagen
Matlab Befehl: format longDie Ausgabe wird in double precission gemacht. Es wirkt sich nicht auf das Rechnen von Matlab aus
Rechnet man 1/3 * 3 und subtrahiert in einem weiteren Rechenschritt 1 so erhält man nicht 0.
.m Files sind Matlab Skripts welche man zur Dokumentation und Wiederholung des Skriptes benutzen kann.
Dies ist bei normaler Eingabe nicht derartig komfortabel möglich.
über File --> New--> Blank M-File lässt sich ein derartiges M-File erstellen.
Nach dem Speichern lässt sich das m File mit der run("Dateipfad") Routine ausführen.
function F = my_fibonacci(upper_bpound)
format long;
F=zeros(upper_bound,1);
F(1)=1;
F(2)=1;
for n03:upper_bound
F(n)=F(n-1)+F(n-2);
end
Matlab erlaubt das F zur Laufzeit zu machen. Somit kann ich mir das
F=zeros(upper_bound,1); sparen. Jedoch ist es perfomanter wenn ich das davor mache und nicht jedes mal in der for schleife.
Gebe ich den upper_bound davor an , so ist es um ca. 1000 schneller. Matlab meldet jedoch wenn es in der Laufzeit immer neu erstellt, ein Warning.
Mit help my_fibonacci kann ich die Kommentare ausgeben welche direkt unter der function angegeben werden.
Mit % kann man kommentieren.
Blöcke in Matlab werden mittels end beendet.
Die Ausgabe erfolgt mit disp ('Hallo Welt');
Mit sprintf kann ich in eine Variable schreiben. result=sprintf('asdf'); schreibt "asdf" in result , lässt man das result= weg, so wird das in ans geschrieben.
In Matlab wird statt default der die Anweisung otherwise verwendet.
Mittels tic und toc kann ich eine Ausgabe verzögern. Mit tic wird die ausgabe gestoppt mit toc wieder eingeleitet.
Mit dem parfor Befehl kann ich For Schreifen Parallel durchführen.
Hierbei ist es relevant den Overhead der Parallelisierung zu beachten.
for n=1:10000 hier wird n um 1 erhöht standardmässig
alternativ kann ich n auch um 2 erhöhen for n=1:2:10000
Auch negative Schrittweiten für n sind möglich.
1.3 Simulink Grundlagen
Mit simulink wird simulink gestartet. Im Library Browser stehen die verschiedensten Toolboxen zur Verfügung, wobei weitere Toolboxen kommerziell zukaufbar sind. Für IMS sind die Data Acquisition Toolboxes primär relevant.Simulink schaut welche Hardware an den PC angeschlossen ist und zeigt hier beispielsweise die Soundkarte aber teilweise auch NI Hardware an.
über Simulation -> Configuration Parameter kommt man zu den Configurationsparametern.
Links sieht man ein Karteikartensystem. Für IMS ist Solver relevant. Die Simulationsdauer kann man hier einstellen. Primär wird unterschieden zwischen Fixed-Step und Variable Step.
Jede Simulinkschaltung wird in Diff gleichung umgewandelt. Bei Variable Step wird beispielsweise bei einer Flächenberechnung eines Rechtecksimpuls erkannt dass vor dem Rechteck nichts passiert. Sobald Matlab den Ansprung erkennt nimmt er die Werrte weitaus genaür auf.
Der Nachteil ist, es ist nicht bekannt wieviele werte zur verfügung stehen. Für die Fouriertransformation sollte man wissen wieviele Werte man hat .(z.b. bei einer analogen Wertemessung). Hier hilft der Fixed-Step Solver, so kann genau angegeben werden, in welchem Abstand die Werte ausgelesen werden sollen. So bekomme ich genaü Werte in einem definierten Abstand und weis genau welche Werte ich wie oft erhalte.
Die Solver Einstellungen (Bogacki,...) sind in IMS irrelevant.
Bei Variable-Step ist es möglich, einen maximal Step festzulegen. Hier wird Simulink gezwungen innerhalb dieser Zeit die Messung zu machen.
Bei gleicher Zeit ist Variable-Step im allgemeinen genaür, allerdings weis man nicht genau wie häufig Matlab misst.
1.4 Behandlung eines Dirac Impuls im Freqünzbereich
1.4.1 Aufgabenstellung
Es ist zu beweisen, dass der Dirac-Impuls unendlich im Freqünz bereich ist.1.4.2 Verfahren
Durch Subtraktion zweier Impulse welche gering voneinanderverschoben sind. Mit Zero-Order-Hold wird dann so abgetastet dass man nur einen Dirac-Impuls erhält.Geleitet wird nun der Wert in einen Buffer . mit der FFT wird das ganze vom Zeitbereich in den Freqünzbereich umgerechnet. Im Digitalen hat man keine kont. Werte sondern nur Abtastschritte. Aufgrund dessen wird bn ei der FastFouriertransformation anstatt der Fouriertransformation angewandt, da diese nicht angewandt werden kann.
Stellt man nun beim Start Step Pulse eine Sample Time von 0,01 so hat man bei einer Simulationszeit 0,256 genau 25,6 Samples.
Zu einem gewissen Zeitpunkt soll ein Step passieren. z.b. 5 Sekunden . Um einen Dirac Impuls zu erzeugen wird die Stop Time mit 5 Sekunden+Sample Time erstellt. Somit überschneiden sich die beiden Rechtecke in der Breite von 0,01. Die Höhe muss 100 sein um eine Fläche von 1 zu erreichen. Somit ist die Grundcharakteristika eines Dirac Impulses erfüllt.
Dieser Dirac Impuls wird Fouriertransformiert und daraufhin wieder Rücktransformiert, dies ergibt im Ende wieder einen Dirac Impuls.
1.4.3 Realisierung

Abb. 1 Matlab Schaltbild
Einstellungen der Bauteile:
| Start Step Pulse | Stop Step Pulse | Zero Order Hold | Buffer / Buffer 1 |
| Step time: 0.2 Final valü: 1/0.001 | Step time: 0.201 Final valü: 1/0.001 | Sample time: 0.001 | Output buffer size: 256 |
| Gain | Vector Scope (Bauteilnahme) | ||
| Gain: 1/256 | FFT Scope Time Scope |

Abb. 2 Dirac Impuls
1.4.3 Funktionsneuheiten
simout schreibt die Werte von der Simulation auf den Workspace und ist eine Struktur welche ich dann im Workspace nutzen kann.buffer muss auf 256 gestellt werden,damit der Buffer die Werte nach 256 (wenn aufgefüllt) ausgeschüttet werden und mittels FFT behandelt werden. Bei der Magintude FFT wird als FFT Length auch 256 gestellt. Erst sobald 256 werte bei diesem Block eintreffen, reagiert der Block und die FFT wird durchgeführt.
gain=1/n wobei n im Beispiel die Anzahl der Buffergrösse ist.
1.4.4 Wichtige Erkenntnisse
Erstellt man eine Datei mittels Matlab 2008b so kann es sein dass sie mit Matlab 2007b nicht mehr einwandfrei läuft. Es kann nötig sein, gewisse Blöcke neu zu erstellen wenn Fehler auftreten.Wenn man die Zero-Order Hold so einstellt, dass die Holdzeit schneller ist als die Zeit des Signals, dann wird nicht mehr ein Dirac-Impuls interpretiert sondern ein Rechteckssignal. Bei einer Fouriertransformation des Rechteckssignals (siehe Abb. 2) erhält man sin(x)/x im Gegesatz zur Fouriertransformation des Dirac-Impuls(siehe Abb. 3), wo man alle Freqünzen gleichermasssen erhält. Umso höher der Dirac-Impuls und umso feiner die Abtastung, desto mehr Bandbreite hat das Freqünzspektrum des fouriertransformierten Dirac-Impulses. Daraus folgt dass bei einem unendlich hohen Dirac-Impuls mit unendlich feiner Abtastung, wirkl. das ganze Freqünzspektrum zurückgeliefert wird.
1.5 WAV File
1.5.1 Aufgabenstellung
Es sind mehrere Wav Dateien gegeben, deren Amplitude, Freqünz und Form zu bestimmen sind.1.5.2 Verfahren
Um einen Wav File auszulesen gibt es einen Funktionsblock from wav file. Mit simout lässt sich die wav Datei exportieren in den workspace. Dann kann man mit plot() eine wav Datei auf den Bildschirm ausgben.1.5.3 Realisierung
home_tone_1.wav
home_tone_2.wav
home_tone_3.wav

Abb. 6 Die Sounddatei enhält einen Sinus mit der Freqünz ...
home_tone_4.wav
home_tone_5.wav
1.5.3 Funktionsneuheiten
Der Matlab Befehl wavread('test.wav') entspricht dem from wave file in Simulink.
1.5.4 Wichtige Erkenntnisse
2.1 DAQ Hardware mit Matlab nutzen
Mit ai=analoginput('nidaq','Dev5')
Nun muss der Channel 0 hinzugefügt werden. Ein Kanal ist ein Analogeingang der Hardware.Mit addchannel(ai,0) kann man nun den Kanal 0 dem AnalogInput ai hinzufügen.
ai.SampleRate=10000 ist es möglich die SampleRate (engl. Wort für Abtastrate) zu setzen. ai.SamplesPerTrigger gibt die möglichen Samples pro Trigger an.
get(ai) kann man weitere Informationen über den AnalogInput, welcher oben mit ai bezeichnet wurde, abfragen.Gleichermassen kann man mit set(ai) kann man die einzelnen Informationen setzen.
start(ai) ermöglicht das Starten des AnalogInput ai.wait(ai,2); gibt eine Anzahl der Sekunden zurück die das Programm warten soll.
2.2 DAQ Hardware mit Matlab nutzen
In Simulink gibt es eine DataAquasition Toolbox. Bei Analog Input holt er den gesamten Buffer,bei Analog Single Sample Input holt das Programm nur einen Wert. Klickt man doppelt auf da Analog Input Element, so kommt man die jeweilige Hardware und die jeweiligen Analog Eingänge selektieren, die man nutzen will. Der Ausgang kann mit einem Demux gesplittet werden. Der Funktionsblock geht davon aus dass er 2 Werte ausgibt ( Stereo).
2.3 Data Acquisition mit Matlab
2.3.1 Aufgabenstellung
Erzeugen Sie mti Hilfe eines Freqünzgenerators ein Sinussignal mit beliebiger Freqünz und Amplitude. Integrieren Sie anschliessend dieses Signal in Matlab(NIDAQ) und ermitteln Sie die Amplitude sowie die Freqünz. Die dazu benötigte Logik soll übersichtlich in einem .m-file hinterlegt werden.2.3.2 Realisierung
Am Freqünzgenerator wurde ein Signal von 300Hz erzeugt und mittels DAQ Hardware an den Computer angeschlossen:Matlab Code zum Auslesen aus dem Analogen Gerät:
daqhwinfo('nidaq')
ai = analoginput('nidaq','Dev1')
addchannel(ai, 0)
ai.SampleRate=10000
ai.SamplesPerTrigger = 10000
start(ai);
data = getdata(ai);
plot(data);
Im folgenden das m-File zum Herauslesen der Freqünz:
minamp = min(data);
maxamp = max(data);
text = sprintf('Amplitude: %2.3f bis +%2.3f', minamp, maxamp);
disp(text);
fftresult = abs(fft(data,10000))*2/10000;
fftresult2 = fftresult(1:(length(fftresult)/2));
fftmax = max(fftresult2);
for i = 1:size(fftresult2)
if fftresult2(i)==fftmax
freq = i;
end
end
text = sprintf('Freqünz: %2.0f', freq);
disp(text);
Das Programm gibt aus:
Amplitude: -4.680 bis +4.535
Freqünz: 296
Wir kontrollieren mittels plot(fftresult):
Man sieht, dass unser Programm zum Auslesen funktioniert!
2.3.3 Erkenntnisse
Wenn das Signal eine Amplitude von +-10 Volt überschneidet, so kann dies nicht mehr gemessen werden. Dies bedeutet, dass dieser Wert nicht mehr angezeigt wird. Man sieht im Diagramm folgerlich einen gedämpften Sinus, dessen Maximalwert bei 10 Volt abgeschnitten wird. Weiters ist zu beachten, dass das benutzte Modul NI 9215 Differenzsspannungen misst. Das bedeutet dass die 10 Volt zwischen AI0 und AI1 sind. Folgerlich sind gegen GND nur 5 Volt Maximalwert.2.4 Data Acquisition mit Simulink
2.4.1 Aufgabenstellung
Lesen Sie das in Aufgabe 1) erzeugte Sinussignal in Simulink ein und führen Sie die FFT durch. Geben Sie jeweils das Signal im Zeitbereich sowie im Freqünzbereich aus.2.4.2 Realisierung
Erzeugen Sie mti Hilfe e2.5 Einführung in LabView
2.5.1 Aufgabenstellung
Erstellen Sie ein Programm welches die Summe, ausgehend von einem beliebigen Startwert ,Neürwert=Alterert+Schleifenzähler ausgibt. Berücksichtuigen Sie dass der Startwert nur einmal zur Summe addiert werden darf.2.5.2 Grundlagen
Bei der Erstellung eines Labview Programms gibt es 2 Bereiche die der Benutzer nutzen kann. FrontPanel und Blockdiagramm. Im FrontPanel sieht man die Benutzeroberfläche die der Nutzer der entwickelten Anwendung ebenfalls sieht. Im Blockdiagramm steckt der Code dahinter. Hierbei ist zu bemerken dass Labview (mit Ausnahme von FormulaNodes,...) grafisch aufgebaut ist. Das bedeutet, das Coding erfolgt ähnlich zu Matlab ebenfalls per Drag&Drop.
2.5.2.1 Probe
Zum Debugging bietet Labview die Möglichkeit eine Probe einzusetzen.
Diese kann in der Werkzeugpalette gefunden werden.

Abb 10. Werkzeugpalette
In Abb. 11 sieht man eine Probe auf eine Leitung gehängt, so kann ausgelesen werden, welcher Wert gerade über die Leitung läuft. Dies ist bei sämtlichen Datentypen (auch selbsterstellten Clustern etc.) möglich.
2.5.2.2 Highlighting Funktion

Abb 13. Toolbar
Will man sich einen Gesamtüberblick über ein Programm verschaffen, so ist die Highlight Funktion eine praktische Hilfe. Sie kann in der Menüleiste (symbolisiert durch die Lampe) aktiviert werden. Im Blockdiagramm sieht man während der Laufzeit die Werte durch die Leitungen "laufen". WICHTIG! Dieser Prozess kostet Zeit. Das LabView Programm läuft langsamer als normal. Dies kann bei zeitkritischen Anwendungen zu einem Problem werden.
2.4.2.3 Unterschied zwischen Indizierter-und Nicht Indizierter Ausgabe
| Indizierte Ausgabe | Nicht indizierte Ausgabe |
![]() Abb. 10 Ansicht im Blockdiagramm ![]() Abb. 10 Ansicht im FrontPanel Die Indizierte Ausgabe gibt den akteullen Wert auf den Bildschirm während des Schleifendurchlaufs aus. Das bedeutet in jedem Schleifendurchlauf wird der jeweils aktülle Wert dem Array hinzugefügt. Der Benutzer sieht sämtliche bis dato an dieses Anzeigeelement übergebenen Werte. | ![]() Abb. 12 ![]() Abb. 13 Ansicht im FrontPanel Die Nicht indizierte Ausgabe gibt den akteullen Wert auf den Bildschirm während des Schleifendurchlaufs aus. Das bedeutet in jedem Schleifendurchlauf sieht man den jeweiligen aktüllen wert. Das bedeutet aber auch, dass nur der aktülle Wert gespeichert wird. Der Benutzer sieht nur den aktüllen Wert. |
2.4.3 Realisierung

Abb. 14 Oberfläche im FrontPanel
2.4.3.1 Realisierung mit for Schleife
In Abb 33 sieht man das Beispiel realisiert mit einer for Schleife
2.4.3.2 Realisierung mit while Schleife

Abb. 14

Abb.15 Stop if false
Abb. 16 Stop if TRUE
Die Abbildungen sind selbsterklärend. Klickt man nun auf
läuft das Pro 2.4.3.2 Realisierung einer Sinusausgabe mithilfer einer zeitgesteürten While Schleife
Zunächst wird wieder eine While Schleife erzeugt:
Abb. 17 Erzeugung einer While Schleife
Durch einen Klick auf den Rahmen kann die Schleife in einer zeitgesteürte While Schleife umgewandelt werden:
Dann erscheinen links und rechts der Scheife Felder mit Eigenschaften. Durch Doppelklick auf das linke Kästchen wird ein Fenster mit den Einstellungen geöffnet, wo wir die Werte auf die der Angabe einstellen:

Abb. 19 Einstellungen der Schleife
Weitere Elemente fügen wir mit einem Rechtsklick hinzu. Wir benötigen Bauteile aus Mathematik, und zwar einen numerischen Multiplizierer und eine trigonometrische Sinusfunktion.
Im Frontpanel erstellen wir ein Signalverlaufsdiagramm und schließen dann die Bauteile wie folgt im Blockdiagramm zusammen:

Abb. 20 Fertiges Blockdiagramm
Nach dem Starten der Simulation wie oben beschieben, zeigt das Frontpanel an:

Abb. 21 Ausgabe des Frontpanels
2.4.3 Erkenntnisse
Wir erkennen, dass das der aktülle Wert des Indizes benutzt wird, um mit dem Faktor 0,01 den Sinus zu berechnen uns auszugeben. Dadurch dass das Signalverlaufsdiagramm innerhalb der Schleife platziert ist, werden die Werte in Echtzeit und nicht gepuffert ausgegeben.
3.1 Arbeiten mit dem DAQ Assistent unter LabView 8.5.1
3.1.1 AufgabenstellungEs ist eine Diodenkennlinie mithilfe einer NI DAQ-9172 zu messen. Dieses Modul integriert in unserem Fall die Blöke NI 9263 und NI9215 wobei das NI9215 als Messmodul und das NI 9263
3.1.2 Realisierung
Mithilfe von LabView wurde folgende Messschaltung erzeugt. Hierbei wurde eine Spannung ausgegeben und selbige Spannung gemessen. Durch die gemessene Spannung lässt sich unter Wissen des Widerstandes der zugehörige Strom berechnen.

Stellt man nun Spannung und Strom auf einem Diagramm dar so ist zu erkennen dass der Strom bei einer Spannung von 1,7 Volt eklatant ansteigt.

Da eine Diode kein lineares Baülement ist steigt die Spannung an der Diode eklatant an.
4.1 Messen eines PT Elementes
4.1.1 AufgabenstellungZu messen ist ein PT Element bzw. deren resultierende Spannung. Diese Spannung ist der Temperatur gegenüberzustellen und somit ein Temperaturköffizient zu ermitteln.
4.1.2 Benutzes Messelement

Die Datenkarte NI9201 von NationalInstruments zeichnet sich durch 4 Eingänge zur Spannungsmessung aus. Die gemessene Spannung lässt sich dann per Labview verarbeiten.
Mittels LabView und der Datenkarte NI 9201 wurde die Spannung gemessen. Mit Hilfe der Anzeige auf dem Temperaturerzeugenden Bausteins wurde die Temperatur abgelesen. Stellt man nun Spannung und Temperatur gegenüber so kommt man auf folgende Tabelle:
Temperatur | mV | Faktor PT |
| 70,1 | 1,8 | 38,94 |
| 69,1 | 1,75 | 39,48 |
| 67,7 | 1,7 | 39,82 |
| 66,7 | 1,65 | 40,42 |
| 65,5 | 1,6 | 40,93 |
| 64 | 1,55 | 41,29 |
| 63 | 1,5 | 42 |
| 61,5 | 1,45 | 42,41 |
| 60,5 | 1,4 | 43,21 |
| 59,1 | 1,35 | 43,7 |
| 57,1 | 1,3 | 43,92 |
| 64,02 | 1,55 | 41,30 |
Gemessen wurde dies mit folgender LabView Schaltung:

Die Werte wurden in zwei Textfiles gespeichert, das Auswerten gestaltete sich allerdings etwas schwierig. Deswegen wurde die oben gezeigte Excel Tabelle zur grafischen Auswertung verwendet:

Es zeigt sich, das der Temperaturköffizient nicht ganz linear ist. Bei einer Verwendung der Spannung zur Temperaturmessung müsste also ein Korrekturfaktor eingebaut werden.
5.Labor, Donnerstag 04. Juni 2009
5.1 Messen einer Schaltungsbrücke
5.1.1 AufgabenstellungEs ist die Verwendung 4 DMS Streifen in einer Vollbrückenschaltung und die Verstärkung des Ausgangsmesswertes mittels eines OPV mit der Verstärkung 100. Zu messen die Ausgangsspannung bei unterschiedlicher Gewichten.
5.1.1 Messerkenntnisse
Nun wurde die Spannung bei angehängten Gewichten gemessen:
| Gewicht [kg] | Spannung[V] |
| 0 | 0,05 |
| 0,1 | 0,95 |
| 0,2 | 1,97 |
| 0,3 | 2,95 |
| 0,5 | 4,97 |
| 0,6 | 5,97 |
| 0,7 | 7 |
| 0,8 | 7,99 |
| 1 | 9,7 |
| 1,1 | 10,8 |
| 1,2 | 11,8 |
Aus den Werten erzeugen wir einen Graphen, der uns den linearen Zusammenhang zwischen angehängtem Gewicht und Spannung zeigt.

5.2 Drehzahlmessung
5.2.1 Aufgabenstellung
5.2.1 Messerkenntnisse
| Spannung Motor in Volt | Spannung Generator in Volt | Spannung Drehzahl 1V/1000min | Hz Drehzahl |
| 2,5 | 0,67 | 0,12 | 120 |
| 3 | 1,15 | 0,21 | 205 |
| 3,5 | 1,62 | 0,29 | 285 |
| 4 | 2,1 | 0,38 | 375 |
| 4,5 | 2,57 | 0,46 | 450 |
| 5 | 3,05 | 0,55 | 550 |
| 5,5 | 3,57 | 0,64 | 640 |
| 6 | 4 | 0,72 | 715 |
| 6,5 | 4,49 | 0,81 | 800 |
| 7 | 4,96 | 0,89 | 880 |
| 7,5 | 5,44 | 0,98 | 970 |
| 8 | 5,94 | 1,06 | 1050 |
| 9 | 6,92 | 1,24 | 1200 |
| 10 | 7,88 | 1,4 | 1390 |
| 11 | 8,78 | 1,57 | 1550 |
| 12 | 9,72 | 1,74 | 1725 |
5.3 Entfernungsmessung
5.3.1 AufgabenstellungMit dem gezeigten Aufbau wurde die durch Induktion erzeugte Spannung gemessen und daraus eine Tabelle erstellt:
5.3.1 Messerkenntnisse
| Entfernung | Spannung |
| 0 | 0 |
| 0,5 | 0,71 |
| 1 | 1,47 |
| 1,5 | 2,17 |
| 2 | 2,86 |
| 2,5 | 3,6 |
| 3 | 4,37 |
| 3,5 | 5,13 |
| 4 | 5,81 |
| 4,5 | 6,55 |
| 5 | 7,24 |
Jetzt werden die Messergebnisse in einem Graphen dargestellt.
Wir sehen, die Kennlinie verläuft linear.
6. Labor und Abschlussübung
Donnerstag 18./25. Juni 2009
6.1 Identifikation eines Systems
6.1.1 EinleitungLabview bietet die Möglichkeit anhand eines Schaltungsaufbaus, deren Funktionen und Auswertung der Messwerte einer Übertragungsfunktion zu berechnen. Dieses wird am Beispiel einer Temperaturstrecke ausgetestet.
Die Schaltung wird in Labview aufgebaut und funktioniert folgendermaßen:
Mittels der DAQ MX Blöcke wird Spannung auf Kühlung und Heizung des B&R Element angelegt. Der Ventilator soll bei Starten der Simulation dauerhaft kühlen. Vom DAQ Modul wird die Temperatur eingelesen. Die Analog eingelesenen Daten müssen nun in einen Datentyp Signalverlauf umgewandelt werden. Continous SISO erstelllt ein Modell für die reelle Temperaturregelstrecke.
Das B&R Simulationsmodul 4SIM00-01 ist mit 24 Volt zu versorgen. Ein gewisser Grundstrom ist zum Heizen nötig. Als Temperaturabhänigger Widerstand wird ein PT1000 benutzt, um die Temperatur auszulesen. An einer LED am Simulationsmodell kann man erkennen wenn das Bauteil zu heiß ist. In diesem Fall ist die Simulation von LabView abzubrechen. Allerdings haben wir auch in Labview eine Abbruchtemperatur von 69°C eingestellt, darauf wird später noch eingegangen.
Nun werden NI9219 Analog Input Moduls verwendet um Daten einzulesen. Über TEDS (ein Sensorstandard) könnte man Signale der Sensoren einlesen, dieser Standard wird bei uns aber nicht genutzt. Über die Terminals 3, 4, 5, 6 kann man EXO/HI, HI, EXO/LO, LO das Signal einlesen. Terminal 3 und 4 sind für "+" und 5,6 ist für "-". Dies entspricht den Anschlüssen des PT1000.
In LabView ist die Temperatur und nicht die Spannung zu messen. (In der Realität handelt es sich selbstverständlich um Spannungswerte, die Einstellungen müssen lediglich in LabView so gesetzt werden.) Der Widerstand des PT Elements ist standardmässig auf PT1000 zu stellen.
Die Sollwertkurve kann selbst definiert werden, entspricht diese dem Realverhalten so ermittelt LabView ein gutes G(s).
Das Modul 4SIM00-01 bietet zusätzlich auch einen Anschluss der im Falle einer Überhitzung auf High geht. Somit kann beispielsweise mittels Datenkarte dieses Flag eingelesen werden und ein weitererhitzen vermieden werden indem eine Software entsprechend hierauf reagiert.
Der PT1000 Ausgang liegt auf X2 Port 16 und 17 und wird an die NI Karte 9219 bei 3,4,5,6 angeschlossen. Da es sich um eine Messbrücke handelt sind 4 Anschlüsse zu nutzen. Dies geht aus dem ausgegebenen Datenblatt hervor.
Die Ports 14 und 15 auf X2 sind für Heating und Cooling und werden an dem NI 9263 zur Steuerung angeschlossen. Sie simulieren die Anschlüsse für Heizung und Lüfter.
Wichtig ist dass man sowohl auf dem National Instruments und dem B&R Simulationsgerät die gleiche Masse nutzt.
Wenn die obige und die untere Bedingung erfüllt sind(TRUE) wird geheizt.
(Verknüpfung mittels AND Gatter)
Die obere Bedingung wird i%30 zwischen 10 und 30 erfüllt. Die untere Bedingung wird immer zwischen 0 und 10 erfüllt.
Dass heisst i%30 zwischen 0 und 10 ist oben immer FALSE und unten immer TRUE.
Dies bedeutet, dass i%30 zwischen 0 und 10 nie geheizt wird.
Da jede Messung eine Sekunde dauert (eingestellt bei den DAQ MX Elementen 1 Sample pro Sekunde), wird in der Zeit zwischen 0 und 10 Sekunden nicht geheizt.
Selbige Funktion wird nun für das Heizen verwendet wobei die 10 addiert werden.
Wird nun beispielsweise eine Heizdauer von 10 eingestellt, so ist die Summe von 10 und Dauer Heizen 20.
i %30 bewegt sich im Wertebereich 0-29. Die zuvor berechneten 20 sind im Bereich von i%30 0-19 grösser. Das bedeutet dass die untere Bedingung zwischen 10 und 19 TRUE ist. Das führt zu eine Heizen im Bereich von 10 und 19.
In diesem Beispiel wird zwischen 0 und 10 nicht geheizt
10 und 19 wird geheizt und 20 und 29 wird nicht geheizt.
Die Konstante 120 gibt an wie lang die Simulation maximal läuft wenn der Benutzer zuvor nicht Stop drückt. Überschreitet i diesen Wert wird der Ausgang TRUE gesetzt. Da der Stop Button und diese Bedingung mit OR verknüpft sind muss nur eine der Bedingungen TRUE sein um die Schleife zu beenden. Weiters wird die Schleife abgebrochen wenn eine Temperatur größer 69 gemessen wird.

Nach Beenden der Schleife werden die Ausgänge wieder auf 0 gesetzt. Dies muss seperat gemacht werden. Dass die Funktionsblöcke erst nach der Schleife durchgeführt werden liegt daran dass Eingänge der Analog DBL Blöcke von Eingangswerten aus der Schleife abhängig sind. Diese Daten erhält der Block jedoch erst wenn die Schleife beendet wurde. Erst dann startet er.

Um das Heizen und die Temperatur in einem Signalverlaufdiagramm dazustellen muss man beide Signale in ein Diagramm zusammenführen. Hierzu wird die Funktion Array Erstellen genutzt.

LabView bietet fertige Funktionsblöcke um Bodediagramme, Ortskurven und Pol-Nullstellendiagramme zu erstellen. Das Bodediagramm dient uns zur Darstellung des Frequenzgangs, also dem Übertragungsverhaltens eines Dynamischen Systems.
Die Gesamtschaltung sieht also so aus:
6.1.2 Ergebnisse
Wir lassen unsere Simulation nun mit verschiedenen Werten für die Heizdauer jeweils 120 Sekunden laufen. Wir stellen zunächst 10 Sekunden Heizdauer ein:
Wir starten die Simulation und nach Ende der Simulationszeit wird uns die Übertragungsfunktion angezeigt:

So laden sie sich 34 Seiten Inhalt um 5€ herunter.
a.ploetzeneder@hotmail.com
ploetzeneder
118145310
ploetzeneder
gmail.com


