Beruflich Dokumente
Kultur Dokumente
Fakultät Maschinenbau
Studiengang Luftfahrttechnik
Vorgelegt von:
Maximilian Hefele
Matrikelnummer: 00078396
Prüfungsrechtliche Erklärung
Ich erkläre hiermit, dass ich die Arbeit selbständig verfasst, noch nicht anderweitig für
Prüfungszwecke vorgelegt, keine anderen als die angegebenen Quellen oder Hilfsmittel
benützt sowie wörtliche und sinngemäße Zitate als solche gekennzeichnet habe.
(Datum)
_________________________
Vorname Name
Kurzfassung II
Kurzfassung
Entwickelt wird ebenso eine grafische Benutzeroberfläche auf der sowohl in einen manuellen
Modus als auch in einen Automatik-Modus geschalten werden kann. Bei letzterem ist die
Vorgabe sequenzielle Stufenprofile zu erstellen, um damit Wasserpumpen aus dem
Automobilbereich zu vermessen und Pumpenkennfelder aufzunehmen. Dabei sollen sowohl
Pumpen mit einer Ansteuerung über Pulsweitenmodulation (PWM) als auch Pumpen mit
einem LIN-Bus Protokoll ansteuerbar sein.
Abkürzungsverzeichnis III
Abkürzungsverzeichnis
CSV Comma Separated Values
CVT Current Value Table
KM-Pumpe Kühlmittelpumpe
LIN Local Interconnect Network
NI National Instruments
PWM Pulsweitenmodulation
STM Statemachine
TDMS Technical Data Management Streaming
VI Virtuelles Instrument
Inhaltsverzeichnis IV
Inhaltsverzeichnis
Prüfungsrechtliche Erklärung....................................................................................... I
Kurzfassung................................................................................................................ II
Abkürzungsverzeichnis .............................................................................................. III
Inhaltsverzeichnis ...................................................................................................... IV
1 Einführung ............................................................................................................ 1
2 Übersicht Prüfstand.............................................................................................. 2
3 Verwendete Hardware ......................................................................................... 3
3.1 NI-Hardware .................................................................................................. 3
3.1.1 cDAQ-9133 Controller ............................................................................. 3
3.1.2 Input/Output-Module ............................................................................... 4
3.2 Spannungsversorgung .................................................................................. 5
3.2.1 12V DC-Netzteil ...................................................................................... 5
3.2.2 24V DC-Netzteil ...................................................................................... 6
3.3 Messtechnik Kühlmittelpumpen ..................................................................... 6
3.3.1 Pulsweitenmodulation (PWM) ................................................................. 6
3.3.2 LIN-Bussystem........................................................................................ 7
3.4 Messtechnik Kühlmittelkreislauf..................................................................... 9
3.4.1 Druckmessung ........................................................................................ 9
3.4.2 Volumenstrommessung .......................................................................... 9
3.4.3 Temperaturmessung ............................................................................. 10
3.4.4 elektrische Strommessung .................................................................... 10
3.5 Schaltplan .................................................................................................... 11
4 Prüfstandsteuerung und Regelung mit LabVIEW ............................................... 12
4.1 LabVIEW ..................................................................................................... 12
4.2 Messgerätetreiber NI DAQmx ..................................................................... 16
4.3 Programmfunktionen und Softwareoberfläche ............................................ 17
4.3.1 Manueller Modus .................................................................................. 19
4.3.2 Automatikmodus und Erstellung Simulationsprofile .............................. 20
4.3.3 TDMS File-Viewer ................................................................................. 23
4.3.4 Diagnosen ............................................................................................. 24
4.4 Programmstruktur ........................................................................................ 26
4.4.1 Projekterstellung ................................................................................... 26
4.4.2 Hauptapplikation WP_Main.vi ............................................................... 27
4.4.3 Allgemeiner Modulaufbau eines SubVI ................................................. 30
Inhaltsverzeichnis V
1 Einführung
Im Laufe der letzten Jahre lässt sich vor allem in der Automobilbranche der Umstieg der
herkömmlichen Antriebstechnologien zu modernen elektrifizierten Technologien erkennen. Zu
nennen sind hier vor allem umwelttechnische Gründe, um den Wirkungsgrad weiter zu
steigern. Dieser Wandel ist in Deutschland gesellschaftlich, politisch und wirtschaftlich immer
stärker verankert und wird immer konsequenter in Forschung und Entwicklung vorangetrieben.
Prognosen der deutschen Regierung rechnen daher bis 2030 mit bis zu 10 Millionen
zugelassenen Elektrofahrzeugen. Dies bedeutet vor allem eine Abkehr von Otto- und
Dieselmotoren hin zu Speicherbatterien und Brennstoffzellen.
Ziel dieser Arbeit ist es mit Hilfe der objektorientierten graphischen Programmiersprache
LabVIEW von National Instruments die Ansteuerung des Prüfstandes zu entwerfen. Dabei
werden einige Funktionen benötigt, um einen fehlerfreien und sicheren Betrieb zu
gewährleisten. Im Vordergrund steht die Erfassung der Messgrößen Druck, Temperatur und
Volumenstrom. Durch diese Messdatenaufzeichnung erhält der Benutzer stets sämtliche
Parameter des thermodynamischen Kreislaufs, um daraus Schlüsse für eine konstruktive
Umgestaltung beziehungsweise Anpassungen im Kühl-/Heizkreislauf vorzunehmen.
Außerdem sollen die Wasserpumpen eine PWM-, sowie eine LIN-Ansteuerung erhalten und
die Temperatur der im Kreislauf befindlichen Flüssigkeiten mittels PID-Regler in einem
geeigneten Temperiergerät angesteuert werden.
2 Übersicht Prüfstand
Dieses Kapitel dient dem Leser, einen allgemeinen Überblick über den Prüfstand zu erhalten
sowie einen Zusammenhang zwischen der Hardware und der Software herzustellen.
Konstruktion, Planung und Aufbau waren Teil einer vorangegangenen Bachelorarbeit, welche
ebenfalls im Labor G214 an der Technischen Hochschule Ingolstadt erstellt wurde (Semin,
2021).
3 Verwendete Hardware
Um alle elektronischen und elektrischen Bauteile geschützt in den Prüfstand zu verbauen
wurde ein Schaltschrank verwendet. In diesem befinden sich neben dem Hauptcomputer des
Prüfstandes die auf den nachfolgenden Seiten beschriebenen Komponenten, die für den
Betrieb des Prüfstands notwendig sind. Die Anforderungen an den Schaltschrank sind die
Verschließbarkeit sowie ein Spritzwasserschutz nach IP54. Außerdem laufen im Schaltkasten
sämtliche Verkabelungen der in der oberen Prüfstandhälfte verbauten Sensoren, Schaltern
und Pumpen zusammen.
3.1 NI-Hardware
3.1.1 cDAQ-9133 Controller
Zentraler Rechner des Prüfstandes ist ein cDAQ-9133 der Firma National Instruments. Mit
Hilfe der darauf installierten Software LabVIEW wird die Ansteuerung und Regelung auf einer
Windows Oberfläche verwirklicht. Der Controller besitzt einen nichtflüchtigen Speicher mit
16GB sowie zahlreiche Anschlussmöglichkeiten. Benutzt wird der Ethernet Anschluss für das
LAUDA Temperiergerät, ein USB-Anschluss und ein Monitoranschluss für den Bildschirm.
Die Schnittstellen des Gehäuses können mit bis zu acht I/O Modulen der C-Series erweitert
werden. Diese lassen sich durch Einstecken in die entsprechenden Slots in das System
integrieren.
3.1.2 Input/Output-Module
Mit Hilfe der vier unterschiedlichen Messkarten werden sämtliche Messsignale der
Temperatur,- Volumenstrom und Drucksensoren erfasst, um sie anschließend im Rahmen der
Softwareansteuerung in die gewünschten Einheiten umzurechnen. Außerdem werden zwei
weitere Steckkarten verwendet, um Signale für die Pulsweitenmodulation sowie den LIN-Bus
zu generieren. In folgender Tabelle sind alle im Prüfstand verbauten I/O-Module aufgeführt:
3.2 Spannungsversorgung
Die Spannungsversorgung der elektrisch versorgten Bauteile im Schaltschrank wird mit Hilfe
zweier unterschiedlicher Netzteile gewährleistet. Beide Transformatoren lassen sich auf DIN
genormte Montageschienen mit 35mm montieren.
Außerdem gibt es einige Bauteile die direkt mit der 230V Eingangsspannung bestromt werden:
ein an der Seite des Schaltschranks verbauter Lüfter, um Abwärme der elektrischen
Komponenten abzuführen
Verbaut ist das Netzteil HSE1000 der Firma CAMTEC, welches die 230V Eingangsspannung
auf 12V Gleichstrom transformiert. Der maximale Ausgangsnennstrom beträgt 50A bei einem
Wirkungsgrad von mindestens 91%. Versorgt werden die im Kühlmittelkreislauf verbauten
PWM- oder LIN-Pumpen, welche mit einer 12V Spannung arbeiten.
Die Drucksensoren und die Volumenstrommesser benötigen eine 24V Spannung, ebenso wie
der cDAQ-9133 Controller. Auch das Türüberwachungssystem wird mit dieser Spannung
betrieben. Dazu ist im Steuerschrank das Netzteil SDR-120-24 eingebaut, welches einen im
Vergleich zum HSE100 Gerät sehr viel geringeren Ausgangsnennstrom von 5A liefert.
Die Pumpe wird in den blau schraffierten Flächen mit der Spannung Umax von 12V
angesteuert, während in der Pausephase der Stromfluss unterbrochen ist. Dadurch ergibt sich
folgendes Verhältnis bestehend aus der Dauer eines Pulses und der Dauer der Periode:
𝐼𝑚𝑝𝑢𝑙𝑠𝑑𝑎𝑢𝑒𝑟
𝐷𝑢𝑡𝑦𝐶𝑦𝑐𝑙𝑒 =
𝑃𝑒𝑟𝑖𝑜𝑑𝑒𝑛𝑑𝑎𝑢𝑒𝑟
Verwendete Hardware 7
Je nach Veränderung des DutyCycle verschieben sich die Anteile von Puls und Pause um so
eine andere Effektivspannung zu generieren. Diese ist in Abbildung 3-3 durch die grüne Fläche
markiert und ist genauso groß wie die Flächen der Pulse.
Durch dreiadrige Kabel geht die ±12𝑉 Spannung sowie das PWM Stellsignal zu den KM-
Pumpen. In ersten Testversuchen zeigte sich am Oszilloskop, dass das generierte
Rechtecksignal Überschwinger an den Stufen sowie schwingungsüberlagerte Plateaus
aufwies.
S1
Zu sehen ist die Spannungsversorgung durch Vsup und COM, sowie die Signalleitung
bezeichnet mit DO. Der Schalter S1 stellt die PWM-Ansteuerung der Pumpe dar. Durch NI war
zwar vorgesehen einen 10kΩ Widerstand zu benutzen, allerdings zeigte sich am Prüfstand,
dass auch ein 1kΩ Resistor ausreichend ist.
3.3.2 LIN-Bussystem
Als zweiter Typ Pumpe dient ein Prototyp welche im Gegensatz zu ersterer mit Hilfe eines LIN
Bussystems angesteuert wird. Dieses System dient vor allem in Automobilnetzwerken der
Kommunikation zwischen Steuergeräten und Verbrauchern wie z.B. KM-Pumpen. Das dabei
verwendete Multiplex-Verfahren bündelt dabei mehrere Signale und sendet eine einzige
Nachricht.
Der LIN-Bus besteht aus einer Master-Slave Architektur. Dies bedeutet der Master kann
bestimmen wann und welche Informationen übertragen werden. In Abbildung 3-5 ist der
Aufbau einer LIN-Nachricht dargestellt. Der Nachrichten-Header wird zunächst vom Master an
die KM-Pumpe gesendet, welche als Slave lediglich die Daten empfängt und im Anschluss
umsetzt.
Um das Verhalten vom Master zum Slave zu definieren wird dies in einer entsprechenden
Eigenschaftsdatei namens LIN Description File (LDF-File) abgelegt. Dieses legt neben
Reihenfolgen und Zeitverzögerungen von Nachrichten auch das Verhalten eines Slaves auf
jede mögliche Anweisung vom Master fest. Sollte der Master beispielsweise vorgeben eine
KM-Pumpe mit einer bestimmten Drehzahl zu starten, ist im LDF-File die Antwort des Slaves
exakt festgelegt.
3.4.2 Volumenstrommessung
Die Volumenströme werden mittels zweier Durchflussmessgeräte Promag Proline H300 von
der Firma Endress+Hauser erfasst. Diese basieren auf einem magnetisch-induktiven
Messprinzip, welches nahezu unabhängig von den Zustandsgrößen Dichte, Temperatur und
Druck ist. Außerdem entsteht kein Druckverlust durch Querschnittsverengung. Ein vieradriges
Kabel liefert auf zwei Adern die ±24V Versorgung sowie auf zwei Adern das Signal, welches
ebenfalls geerdet werden muss.
Der Messbereich ist im Menü durch optische Tasten beliebig einstellbar. Im Prüfstand ist bei
beiden Geräten ein Bereich zwischen 0-60 l/min definiert worden.
Verwendete Hardware 10
3.4.3 Temperaturmessung
Um die Leistung der Wasserpumpen zu bestimmen benötigt man eine Strommessung sowie
eine Spannungsmessung. Um erstere zu realisieren ist der Stromsensor IsoBlock I-FG der
Firma Verivolt eingesetzt. Der Wert in einem Messbereich zwischen 0 und 25 A wird in ein
Ausgangssignal zwischen -10V und +10V umgewandelt und anschließend in der Software mit
Hilfe der Messkarte NI9205 exakt berechnet.
Um eine dauerhafte Stromversorgung der Wasserpumpen zu vermeiden ist ein Finder Relais
94.02 Relaissockel mit Einsteckrelais vorgeschalten. Dieses lässt sich im Prüfprogramm
ansteuern, um zu gewährleisten, dass die Pumpen nur dann bestromt werden, wenn der
Benutzer die Pumpen über die Prüfstandsoftware aktiviert.
Verwendete Hardware 11
3.5 Schaltplan
Eine Entwicklungsumgebung, die genau dies verkörpert wurde 1986 von der Firma National
Instruments geschaffen. LabVIEW (Laboratory Virtual Instrumentation Engineering
Workbench) eignet sich besonders für Mess-, Regel- und Prüfstandanwendungen, da
dieselben Standardbausteine der typischen Sprachen wie beispielsweise in C++ oder Python
vorhanden sind und sich auch objektorientiert Programmieren lässt. Durch integrierte
Hardwaretreiber ist die Kommunikation mit denen im Prüfstand verbauten NI-Modulen
unkompliziert zu realisieren. Auch für Messdatenerfassung sowie die Ansteuerung von
Pumpen, Sensoren oder Relais eignet sich die Programmiersprache gut, da ein sofortiges
Zusammenspiel von Hard- und Software sichtbar, und damit ein schnelles Eingreifen möglich
ist. National Instruments liefert dabei softwareseitig eine Vielzahl an Graphen, Diagrammen
und Anzeigen, die auf der Benutzeroberfläche beliebig zusammenzustellen sind. Dies
vereinfacht das Erstellen der Programmoberfläche hinsichtlich Variabilität und Design. Im
Folgenden sollen die wichtigsten Elemente dargestellt werden, um in Abschnitt 4.3 die
Zusammenhänge zu verstehen.
In LabVIEW wird in sogenannten VIs programmiert. Dies ist eine Abkürzung für Virtuelles
Instrument. Bei Erstellen eines neuen Programms gibt es stets ein Frontpanel sowie ein
Blockdiagramm. Ersteres stellt die graphische Benutzeroberfläche dar, auf der alle Bedien-
und Anzeigeelemente durch Verschieben mit der Maus anzuordnen sind. Aus der
Elementepalette, welche in Abbildung 4-1 zu sehen ist können diese Objekte ausgewählt
werden. Der Programmcode wird im Blockdiagramm erstellt. Dort geschieht die eigentliche
Programmierung, indem aus einer Funktionspalette unter anderem Konstanten, Arrays oder
übergeordnete Strukturen ausgewählt werden. Jedes Element wird als rechteckiges Symbol
angezeigt und verfügt über Anschlüsse, an denen entweder Eingangsgrößen oder
Ausgangsgrößen anzuschließen sind. Ein solches Element, welches Funktionen in einem
laufendem Programm ausschließt nennt man Knoten.
Prüfstandsteuerung und Regelung mit LabVIEW 13
Da der Platz in einem Blockdiagramm begrenzt ist, wird mit zunehmender Komplexität des
Programms der Programmablauf immer unübersichtlicher. Deshalb besteht die Möglichkeit ein
VI selbst mit Anschlüssen zu versehen und es als SubVI zu verwenden. In anderen
objektorientierten Programmiersprachen wird diese Form auch als Unterprogramm oder
Subroutine bezeichnet.(vgl National Instruments 2018)
Die gängisten Datentypen die auch in der Software zum Wasserpumpenprüfstand benutzt
werden zeigt folgende Abbildung:
Damit der Programmcode jederzeit logisch und richtig ausgeführt wird, bietet LabVIEW
gewisse Ausführungsstrukturen, die diese steuern können. Dazu zählen vor allem Schleifen,
Case-Strukturen und Sequenzen. Im folgenden soll auf die wichtigsten eingegangen werden,
da diese auch elementare Bestandteile der Prüfstandssoftware sind.
Anders verhalten sich die For-Schleifen. Diese führen einen Programmablauf so oft aus wie
festgelegt. Damit ist die Iterationsanzahl fest vorgegeben. Die Anzahl der Durchgänge wird im
Zählterminal in der linken oberen Ecke mittels eines numerischen Wertes von außerhalb der
Schleife entschieden. Ein Iterationsterminal zählt parallel die Durchläufe startend bei i=0 (vgl.
Mütterlein 2009).
Case-Strukturen zählen ebenso wie die Schleifen zu wichtigen Ausführungsstrukturen für die
LabVIEW Programmierung. Je nach den Eingangswerten ist hierbei immer nur ein Fall
aktiviert. Dabei kann es sich lediglich um eine „TRUE-FALSE“ Entscheidung handeln oder
auch um mehrere Fälle aus denen ausgewählt wird. Dieses Element ist äquivalent zu den If-
Then-Else bzw. Switch Funktionen der befehlsorientierten Programmiersprachen.
Mittig oben werden die verschiedenen Cases eingetragen, während auf der linken Seite der
Selektoranschluss in Form eines grünen Fragezeichens angebracht ist. Wird dort ein
Prüfstandsteuerung und Regelung mit LabVIEW 15
boolescher Eingangswert verbunden handelt es sich stets um einen „TRUE-FALSE“ Case. Bei
Enum-Werten oder Strings sind dagegen beliebig viele Cases möglich.
Zuletzt werden noch die Schieberegister behandelt, da diese in der Prüfstandssoftware häufig
benötigt werden. Diese werden benötigt, um in For- und While-Schleifen auf Daten von
vorangegangenen Schleifendurchläufen zurückzugreifen. Es lassen sich beliebig viele
Register verwenden, um verschiedene Datentypen zu speichern. Zu erkennen sind diese
Elemente auf der rechten und linken Seite einer Schleife durch Pfeile nach oben bzw. nach
unten.
Prüfstandsteuerung und Regelung mit LabVIEW 16
Um mit den NI-I/O-Modulen sowie dem NI-9133 Controller zu kommunizieren werden spezielle
Treiber in LabVIEW benötigt. Diese müssen von der National Instruments Seite
heruntergeladen werden, um darauf bei der Programmierung zugreifen zu können. Dazu bietet
LabVIEW mit Hilfe des Treibersatzes DAQmx eine große Anzahl an VIs und Funktionen in
einer eigenen Bibliothek.
Durch das interne LabVIEW Tool NI Measurement & Automation Explorer lassen sich
sämtliche Geräte und Schnittstellen konfigurieren. Bei den anfänglichen Tests in der
Entwicklungsphase der Software wurden so alle Kanäle und Tasks getestet. Außerdem wurde
jedem Modul ein Slot im Modulkasten sowie ein eindeutiger Name zugewiesen, welcher in
sämtlichen VIs benutzbar ist. Wird in Zukunft ein Modul hinzugefügt muss dieses über das
Tool integriert werden. Außerdem lassen sich auf der linken Seite unter „Skalierungen“ die
Umrechnungen wie in Kapitel 4.7.2 anpassen beziehungsweise weitere hinzufügen.
Prüfstandsteuerung und Regelung mit LabVIEW 17
Dieses Kapitel behandelt sämtliche Programmfunktionen sowie die GUI bestehend aus
Anzeigemodulen und Eingabefelder.
Durch Starten des Programms wird die „MainPage“ bestehend aus einem Hydraulikplan
angezeigt.
Auf der linken Seite ergeben sich für den Benutzer diverse Auswahlmöglichkeiten. Einstellbar
sind der Betriebsmodus „Manuell“ oder „Automatik“, sowie die Strömungsrichtung durch die
Hauptstränge linksläufig oder rechtsläufig (Position 1).
Wird ein Betrieb mit Temperierung gewählt lässt sich ein Sollwert für das externe Pt100
Element am WÜT sowie die interne Leistungsstufe der im LAUDA verbauten Umwälzpumpe
einstellen. Die möglichen Eingabewerte liegen für die Temperatur im Bereich zwischen -20°C
und 90°C sowie für die Pumpenstufe ein Wert zwischen eins und acht. Auch die im
Wärmeübertrager vorliegende Ist-Temperatur ist einsehbar (Position 2).
Bezüglich der Ansteuerung der Kühlmittelpumpen kann zwischen einer PWM und einer LIN-
Ansteuerung ausgewählt werden. Wird PWM gewählt lassen sich die zwei Sollwerte
„Frequenz“ und „DutyCycle“ eingeben. Ist die LIN Schaltfläche aktiv verschwinden diese
Eingabefenster und es kann eine gewünschte Drehzahl vorgegeben werden. Es besteht
ebenso wie bei den Grenzwertdiagnosen die Möglichkeit durch Drücken der Schaltfläche
„Informationen?“ sich die korrekten Anschlusspläne der Kabel in Form eines Bildes
anzuzeigen. Im unteren Bereich sind die drei wichtigsten Pumpendaten Spannung, Strom und
Leistung aufgetragen (Position 4).
Die Software besitzt im Zentrum der Oberfläche drei mögliche Auswahlreiter. Diese sind zum
einen die „MainPage“, “Sensoren“ und „Pumpendaten“. Ist der Automatikmodus aktiviert sind
wie in Abbildung 4-6 zu sehen auf der linken oberen Seite die wichtigsten Daten zur
ausgewählten Pumpe einsehbar. Direkt darunter befinden sich drei Zeigerelemente welche
den Druck vor und nach der Pumpe sowie den daraus errechneten Differenzwert anzeigen.
Außerdem geben die Anzeigefelder die Spannung und den Strom der Pumpe sowie, aus
diesen Messgrößen berechneten Werte für die elektrische Leistung, die hydraulische Leistung
sowie den Wirkungsgrad. Die rechte Anzeigehälfte ändert sich je nach Auswahl der
Strömungsrichtung in Rechtslauf beziehungsweise Linkslauf. Daraufhin sind für den Bediener
die wichtigsten Kenngrößen der Sensoren graphisch und numerisch sichtbar gemacht
(Position 5).
Prüfstandsteuerung und Regelung mit LabVIEW 19
Auf der rechten Seite sind die Statusbits für das Finder Relais und die Grenzwertdiagnosen
platziert. Diese zeigen jederzeit an ob Grenzwerte überschritten wurden und ob das Finder
Relais aktiviert ist (Position 6).
Der manuelle Modus eignet sich besonders für Testfahrten oder um Parameter vor
Langzeittests abzuprüfen.
Die richtige Stellung der Kugelhähne lässt sich durch Anklicken des Kästchens rechts neben
der Auswahl der Strömungsrichtung in Form eines Bilds anzeigen. Nach 30 Sekunden oder
durch Berühren mit dem Mauszeiger verschwindet dieses wieder.
Prüfstandsteuerung und Regelung mit LabVIEW 20
Der Automatikmodus setzt eine vorher erstellte Simulationsdatei, welche der Benutzer direkt
im Programm erstellen kann, voraus. Diese Datei wird in TDMS erstellt, ein speziell von
National Instruments entwickeltes Format um Datensätze organisiert und skalierbar
abzuspeichern. Dazu gibt es in der Software ein eigens entwickeltes Tool namens „Editor-
Simulationsdateien“ welches sich im Menüreiter „Tools“ befindet.
Die erste Stufe sowie die letzte Stufe sind immer vorgegeben. Dies bedeutet, dass sich Pumpe
und LAUDA vor und nach dem Prüflauf im Grundzustand befinden. Danach besteht die
Möglichkeit beliebig viele Zeilen als sogenannte „Vorkonditionerung“ zu erstellen. Dies ist
gedacht, um die Temperierung des Kreislaufs nicht in jede Wiederholung des Prüfablaufs
miteinzubeziehen. Die Stufen dazwischen sind benutzerseitig beliebig einstellbar indem
entweder eine neue Zeile angelegt wird oder eine bestehende überarbeitet werden kann. Um
eine eindeutige Zuordnung zu erstellen, wird ein Index sowie ein Label erstellt. Darüber hinaus
sind 3 verschiedene Stufentypen auswählbar:
Prüfstandsteuerung und Regelung mit LabVIEW 21
Nach einer Pumpenstufe kann ein Wert eingegeben werden, nach dem in die nächste Stufe
geschalten wird. Für die LAUDA-Abschnitte ist es jedoch sinnvoller einen Abbruch-Zeitwert
einzutragen. Wird innerhalb dieser Zeit die gewünschte Temperatur seitens Temperiergerät
nicht erreicht, wird der Prüflauf abgebrochen und mit entsprechenden Fehlermeldungen
angezeigt. In einer Zeitstufe lassen sich beliebig Weiterschaltungen bzw. Abbruch der Stufen
eintragen. Mit der Schaltfläche Neu wird der Simulationseditor wieder in den Grundzustand
versetzt. Durch die Schaltfläche Speichern öffnet sich ein erneutes Fenster. Dort lassen sich
ein Speichername, sowie Angaben zu Ersteller, Abteilung und eine Beschreibung einfügen.
Zwei weitere Möglichkeiten zum späteren Programmablauf sind dort auswählbar. Zum einen
ist die die Anzahl der Wiederholungen, welche die Stufen zwischen der „Vorkonditionierung“
und der letzten Stufe durchlaufen sollen. Zum anderen muss der Benutzer festlegen, wie viele
Stufen eben diese „Vorkonditionierung“ umfasst.
Die Erfahrungen mehrerer Testläufe haben ergeben, dass die Temperierung des LAUDA
durch die interne Regelungstechnik träge abläuft. Deswegen ist es angebracht zunächst in
einer ersten Vorkonditionierung die gewünschte Temperatur mit laufender Kühlmittelpumpe zu
erreichen. Dabei sollte eine recht hohe Abbruchzeit gewählt werden, um sicher zu gehen, dass
Tsoll auch erreicht wird. Da der PID-Regler im Temperiergerät anschließend um diesen Wert
mit Schwankungen von bis zu ±3°𝐶 reagiert kann dies durch eine zweite Vorkonditionierung
kompensiert werden, indem die gewünschte Temperatur einige Zeit gehalten wird.
Nach Erstellen eines Prüfablaufes wird durch Auswählen des Automatikmodus in Position 1
der dafür vorgesehene Bereich auf der Programmoberfläche in Position 7 freigeschalten.
Durch Drücken der Schaltfläche Prüflauf starten öffnet sich folgendes Fenster:
Zunächst lassen sich sämtliche Informationen über die eingebaute Pumpe eingeben. Durch
Drücken auf die Schaltfläche rechts lässt sich eine Teilenummer, der Hersteller, eine
Seriennummer sowie Art der Ansteuerung eingeben. Die Ansteuerung wahlweise über PWM
oder LIN muss mit der erstellten Simulationsdatei übereinstimmen. Andernfalls ergibt sich eine
Fehlermeldung (Position 8).
Prüfstandsteuerung und Regelung mit LabVIEW 23
Anschließend wählt der Bediener eine zuvor erstellte Simulationsdatei aus. Dabei kann über
die Schaltfläche Durchsuchen im Windows-Dateipfad die richtige Datei ausgewählt werden.
Auf der rechten Seite sind sämtliche wichtige Informationen nochmals einsehbar (Position 9).
Der Bediener sieht während des Prüflaufs ständig sämtliche Werte der Sensoren sowie die
Graphen. Es ist nicht möglich in Position 2 und in Position 4 Werte zu verändern, jedoch sind
die Istwerte einsehbar. Sämtliche Diagnosen in Position 3 sind allerdings weiterhin
deaktivierbar.
Am Prüfstand sind alle Simulationsprofile sowie auch die Messergebnisse in Form des TDMS
Formats gespeichert. Es ist für den Benutzer möglich diese mittels eines Speichermediums
über den verbauten USB-Port an der Seite des Gehäuses zu kopieren. Diese sind im Ordner
Files in den zwei Unterordnern Simulationsdateien und Ergebnisdaten abgelegt. Über ein
spezielles Add-In für Excel namens „TDM Importer“ welches kostenfrei von der National
Instruments Seite herunterladbar ist können diese Dateien geöffnet werden. Eine Alternative
ist die Datenverwaltungssoftware DIAdem welche geeignet für die Untersuchung, Auswertung
und Protokollierung von Messwerten ist.
Um diesen Vorgang zu umgehen ist im Programm unter Tools ein TDMS-Viewer eingepflegt.
Mit dieser Funktion der Software lassen sich im laufenden Betrieb Simulationsprofile und
gespeicherte Messwertergebnisse anschauen. Durch Drücken der entsprechenden
Auswahlfläche öffnet sich ein Windows-Fenster in welchem eine Datei in einem Dateipfad
ausgewählt werden kann. Danach öffnet sich das in Abbildung 4-10 zu sehendem Fenster. Auf
der linken Seite können nach Ausklappen der Baumstruktur alle gespeicherten Parameter
eingesehen werden. Auf der rechten Seite gibt es die Möglichkeit diese Daten entweder in
einer Tabelle oder in einem Graphen darzustellen. Außerdem befinden sich im ersten Tab die
Prüfstandsteuerung und Regelung mit LabVIEW 24
erstellten Eigenschaften und die dazugehörigen Werte. Dazu gehören unter anderem der
Name, der Variablentyp und eine Beschreibung des jeweiligen Parameters.
4.3.4 Diagnosen
Für den fehlerfreien und sicheren Ablauf der Prüfstands Steuerung wurde vor Beginn im
Rahmen einer anderen Bachelorarbeit sowie in der Dokumentation des Projektes einige
Fehlerfälle und Fehlbedienungen erarbeitet. Dadurch ist es notwendig spezielle Diagnosen
einzuführen um Schäden am Gerät sowie auch Gefahren für den Bediener auszuschließen.
Es existieren deshalb vier Überwachungen, welche allerdings über Bedienelemente auf der
Oberfläche aktivier- und deaktivierbar sind:
Durch Drücken des Kontrollkästchens in Position 3 der Abbildung 4-5 öffnet sich ein Hinweis
welcher die aktuellen Einstellung zeigt. Dabei exisitert für jede Überwachung ein Grenzwert
als auch eine Zeitverzögerung, nach welchem die Diagnose sich aktiviert. Beide Werte sind
für den Benutzer in den CSV-Files jederzeit veränderbar. Allerdings muss das Programm nach
einem Überschreiben der Werte geschlossen und wieder gestartet werden um die neuen
Parameter verwenden zu können. Sobald eine Diagnose anschlägt, ist dies durch eine rote
Statusbit in Position 6 der Abbildung 4-5 dargestellt. Es werden weiterhin bei allen vier
Grenzwertüberwachungen stets die Kühmittelpumpe durch Schalten des Finderrelais auf
FALSE sowie das Temperiergerät ausgeschalten. Außerdem erscheint auf dem Bildschirm
eine Warnmeldung. Anschließend muss der Fehler durch Drücken der Schaltfläche Quittieren
gelöscht werden um die Software wieder bedienen zu können.
Die Türüberwachung stellt die einzige Diagnose dar, welche den Prüfer schützen soll. Dabei
stellt vor allem das Berühren der bis zu 90°C heißen Edelstahlrohre das größte
Sicherheitsrisiko dar. Umgesetzt wurde dieser Sicherheitsschutz durch einen Stromkreis mit
24V Spannungsversorgung welcher durch 2 Schalter an beiden Türen, sowie das NI9203
Modul fließt. Sind die Türen geschlossen fließt ein Strom von ~0,02𝐴 durch die Leitungen.
Wird eine Türe im laufenden Betrieb geöffnet erkennt die Strommesskarte dies an die
Diagnosefunktionen weiter.
Volumenstrom Pumpe läuft und nach 10s ergibt sich kein Volumenstrom bei
eingestelltem Grenzwert
Prüfstandsteuerung und Regelung mit LabVIEW 26
4.4 Programmstruktur
4.4.1 Projekterstellung
Um die Software von Anfang an klar strukturiert und in einem gewissen Rahmen zu erstellen
wird eine übersichtliche Ordnerstruktur in Form eines Projektes entworfen:
Sämtliche Dateien und VIs sind in den entsprechenden Unterordnern abgelegt. Da der
Prüfstand mit einem Windows-Betriebssystem läuft, liegen die meisten Objekte in einem mit
[HOST] benannten Ordner. Dort untergeordnet befinden sich folgende Unterteilungen:
[DLG]: Dialogfenster welche sich vom Benutzer auf der Oberfläche aufrufen lassen.
Dazu zählen vor allem Funktionen im Automatikmodus wie die Pumpendatenbank
[TD]: TypeDefs in denen States für die StateMachines oder auch Cluster definiert
werden
Alle benötigten SubVIs und benutzen TestVIs befinden sich in derselben hierarchischen
Unterebene. Ganz am Ende des [HOST] Verzeichnisses ist noch das Haupt-VI
[HOST]WP_Main.vi über welche sich die komplette Prüfstands Ansteuerung starten lässt. Des
Weiteren liegen in Position 2 die einzelnen Module. Diese sind unterteilt in die Diagnosen, die
FileIO sowie sämtliche NI-Modulkarten und den LAUDA. In Position 3 ist sämtlicher externer
Code abgelegt, welcher sich aus dem SimFileEditor, dem TDMS-FileViewer sowie dem
Errorhandling zusammensetzt. Außerdem gibt es noch den Ordner Files in welchem die CSV-
Dateien abgelegt sind (siehe Abschnitt 4.5).
Es gibt als Eingangsgrößen eine Datenleitung sowie eine „Errorleitung“. Erstere transportiert
sämtliche Datensätze durch das VI zu den nachfolgend behandelten SubVIs. Die „Errorleitung“
überprüft ständig auf mögliche Fehler und leitet diese weiter an höhere Instanzen. Dort werden
Fehler gesammelt und dem Bediener auf der Oberfläche angezeigt.
Als Erstes wird im WP_Init.vi die zentrale Initialisierung durchgeführt. Dazu gehört das Anlegen
eines Main-Clusters, welcher in sämtlichen SubVIs abgerufen werden kann. Ein Cluster lässt
Daten unterschiedlicher Typen gruppieren. Dies sorgt für übersichtlichere Blockdiagramme
und es werden wesentlich weniger Anschlussfeldanschlüsse benötigt. Durch die Funktion
„Aufschlüsseln“ lassen sich in den jeweiligen SubVIs die benötigten Elemente herausziehen,
um sie dort weiterzuverarbeiten. Dabei kann es sich um numerische oder boolesche Werte bis
hin zu Arrays oder Strings handeln.
5
2
Ein weiterer wichtiger Schritt in der Initialisierung stellt das Anlegen der sogenannten „Queues“
für das gesamte Programm dar. Diese dienen der Datenübertragung zwischen zwei Stellen in
einem Blockdiagramm oder auch zwischen zwei VIs. Beim Auslesen wird stets das zuerst
gespeicherte Element auch zuerst wieder ausgelesen. Es werden allerdings keine Elemente
überschrieben, sobald die Maximalgröße der „Queue“ erreicht wurde (Georgi, 2015). Diese
Form der Datenübertragung ist wichtig, um eine Parallelverarbeitung des Programms zu
gewährleisten und somit auch dem Prozessor keine unnötigen Wartezeiten zu generieren.
Weiterhin können große Mengen an Daten wie durch eine Art „Schlauch“ an andere VIs
transportiert werden, die dann nacheinander abgearbeitet werden. Ein Teil der Queues
überträgt Datensätze, wie zum Beispiel Messergebnisse von den Drucksensoren, während
andere Kommandos weitergeben.
Das CheckExit.vi überprüft ständig ob sich eines der anderen SubVIs geschlossen hat. Diese
Subroutine ist im Verlauf des Programms immer eingebaut. Sollte sich ein Modul geschlossen
haben wird dies durch die Datenqueue an die nächsthöhere Instanz weitergeleitet. Ebenso
können von einem in der Hierarchie höher angelegten VI Befehle kommen das Modul zu
schließen. Sollte dies der Fall sein, wird dies ausgeführt und anschließend Rückmeldung
erstattet (Position 2).
Abbildung 4-14 zeigt das SubVI [HOST]WP_Module.vi welches in Abbildung 4-13 zu sehen
ist. Zunächst werden die Daten aus der Eingangsqueue in einem weiteren SubVI
aufgeschlüsselt und an acht Cluster weitergeschickt. Somit erhält jedes Modul nur die
jeweiligen Befehlssätze und Daten, die es benötigt. Deshalb hat auch jedes Element in den
Clustern einen eindeutigen Namen, in dem das Zielmodul enthalten ist (Position 3).
Auf der rechten Seite befindet sich die Deinitialisierung. Dort werden sämtliche Queues
zerstört damit sich das VI sauber schließt und gibt den Error-Pfad wieder an die nächsthöhere
Instanz aus (Position 5).
Das SubVI [HOST]WP_Logging.vi wurde zu Anfang des Projektes angelegt, ist allerdings ohne
Programmcode und wird derzeit nicht benutzt.
4.3.6
Da die Struktur und der Aufbau jedes Moduls ähnlich ist wird in diesem Abschnitt das NI9474
Main.VI beispielhaft detailliert behandelt. In diesem wird die PWM-Signalgenerierung
umgesetzt sowie das Finder Relais geschalten. Die anderen Module verhalten sich analog
dazu.
Um sämtliche VIs in der Software liegt stets eine Case-Struktur, die einen möglichen Fehlerfall
aus einer höheren Ebene abprüft. Zu erkennen ist diese, durch den grünen Rahmen, welcher
erscheint, sobald man den error-in Cluster mit dem Selektoranschluss verbindet. Sollte ein
Fehler anliegen wird das VI nicht gestartet. Der Fehlerfall wird durch den error out Cluster an
das Modul aus Abbildung 4-14 weitergeleitet.
Zunächst wird auf der linken Seite in einem Init.vi die Initialisierung begonnen. Aus diesem
zweigt sich der pink gefärbte clMain_Modul benannte Cluster in die weiterführenden SubVIs
ab. In dieser Leitung werden alle wichtigen Informationen und Befehle transportiert, welche
zur weiteren Verarbeitung benötigt werden. Die gelb gefärbten Linien stellen die Error
Verbindungen dar. Sollten in einem Bereich des Programms Fehler auftreten, stellen diese
sicher, dass keiner davon verloren geht. Sobald die Initialisierung abgeschlossen ist, arbeiten
drei Sub-VIs parallel ihre Aufgaben ab.
Das CheckExit.vi soll nicht näher beschrieben werden, da dies bereits im vorherigen Kapitel
geschieht. Darunter befindet sich das STM.vi in welchem die Hauptabläufe des Programms,
sowie die dynamische Programmierung erfolgt. Ebenfalls in dieser Ebene liegt das CVT.vi. Da
viele verschiedene VIs gemeinsame Variablen nutzen dient diese Struktur als gemeinsame
Datenbank mit den aktuellen Werten.
Aus allen drei SubVIs laufen die gelben Fehlerleitungen zum DeInit.vi, in welche sämtlichen
Instanzen zerstört werden, um das VI sauber zu beenden.
Im Folgenden werden die Initialisierung, die Statemachine, die CVT sowie die Deinitialisierung
näher beschrieben.
Prüfstandsteuerung und Regelung mit LabVIEW 32
Wie in jeder Initialisierung im Projekt wird auch hier ein Cluster für dieses Modul erstellt und
zunächst mit passenden Voreinstellungen belegt. Im Zentrum dieses VI steht eine Case-
Struktur. Diese setzt sich aus fünf unterschiedlichen Fällen zusammen, welche auf der linken
Seite durch „Enums“ belegt werden. Bei einem Element des Enum-Typs werden Auswahllisten
erstellt. Dabei kann aus einer Liste von Strings der gewünschte ausgewählt werden und mit
einem numerischen Wert versehen werden. In Abbildung 4-16 ist beispielsweise der Eintrag
„Externe Daten“ auf den Wert „0“ gesetzt, damit die Software mit numerischen Werten arbeiten
kann. Wird ein Enum-Element mit dem Selektoranschluss einer Case-Struktur verknüpft
werden diese Werte auch dort in derselben Reihenfolge übernommen (vgl. National
Instruments 2018). Die fünf existierenden Fälle sollen in der nachfolgenden Tabelle erläutert
werden:
Case Beschreibung
CVT-Values lesen / schreiben Ermitteln sämtlicher Daten aus den Current Value Tables
In diesem Kapitel soll die allgemeine Statemachine eines Moduls erklärt werden. Dieses SubVI
ist in Abbildung 4-15 mittig unter dem CheckExit.vi zu sehen. Zunächst soll beschrieben
werden, was eine Statemachine ist und wie sie im Allgemeinen funktioniert. Eine Statemachine
hat die Funktion eines Zustandsautomaten. Es handelt sich dabei um eine
Programmierarchitektur, die Werte oder Befehle dynamisch aus einem vorherigen Zustand in
einen nächsten Zustand überträgt. Diese Struktur funktioniert, indem sie entweder beim
Zustandsübergang oder in einem Zustand bestimmte Aktionen ausführt.
Ein Zustand in der Statemachine des Moduls NI9474 ist zum Beispiel „Init“, „Create Task“ und
„Stop Task“. Um den Ablauf dieser Struktur zu gewährleisten muss bestimmt werden, wann
und zu welchem Zustand gewechselt werden soll. Dies kann entweder programmatisch durch
ein Enum in der Case-Struktur des Zustandes geschehen oder auch durch ein vom Benutzer
des Prüfstands ausgelöstes Ereignis. Dies kann ein Drücken eines Knopfes oder das
Auftauchen einer Fehlermeldung sein. Für eine Statemachine benötigt man dabei drei
Strukturen, wie auch in Abbildung 4-17 zu sehen ist: (vgl. National Instruments, 2021)
Prüfstandsteuerung und Regelung mit LabVIEW 34
Element Beschreibung
Nun sollen noch die einzelnen Zustände der Statemachine im Fall des Moduls NI9474 erläutert
werden. Wie aus Abbildung 4-17 zu entnehmen ist wird zuerst stets in das „Init“ gesprungen.
Anschließend verweilt das Programm im Zustand „Idle“.
1
2 3
Dieser Zustand liest die im Main Cluster gespeicherten Objekte qLocExit und qExtCMD aus.
Ersteres beinhaltet eine Information ob das Modul sich schließen soll oder nicht. Zweiteres
überträgt Kommandos, wie beispielsweise einen Pumpenstart ausgelöst durch den Benutzer
(Position 1).
Sollte im Element qExtCMD ein Befehl stehen, wird dies in einer Case-Struktur je nach
Befehlsart umgesetzt. Dies kann ein Schalten des Finder Relais sein oder auch ein Start der
Wasserpumpe. Konkret kann dies durch eine Eingabe des Benutzers auf der Oberfläche oder
durch den Automatikmodus geschehen. Bekommt die Struktur den Wert „False“ werden die
Zustände „Externe Kommandos auswerten“ sowie „Paramter ueberschreiben“, wie in
Prüfstandsteuerung und Regelung mit LabVIEW 35
Abbildung 4-17 gezeigt, ausgeführt. Wird der Wert „True“ übermittelt verharrt die Statemachine
weiterhin im Zustand „Idle“ (Position 2).
Auf der rechten Seite befindet sich eine zweite Case-Struktur die das Modul beendet, sobald
entsprechende Daten im qLocExit Objekt abgespeichert sind. Auch in dieser Case-Struktur
verweilt die Statemachine im „Idle“ Zustand sofern keine Informationen zur Beendigung des
Moduls existieren (Position 3).
Sobald die Statemachine in den Zustand „Externe Kommandos auswerten“ fällt werden dort
die Befehle, wie beispielsweise „DutyCycle“ und Frequenz oder Zustand der Pumpe
interpretiert. Dazu gehören auch die Anschlüsse der Signalkabel an der Modulkarte NI9474
für PWM-Pumpe und Finder Relais. Diese werden von LabVIEW für die Benutzung der
richtigen Kanäle und Zähler benutzt.
Sind alle Parameter übergeben werden in der Statemachine die Zustände „Create Task“,
„Online- / Run-Modus“, „Stop Task“ sowie „Idle“ weitergegeben. Dies bedeutet, dass zunächst
ein Task eröffnet wird, und sich die Pumpe dann im Online-Modus befindet. Dort verweilt das
Programm bis ein Befehl zum Schalten des Relais und damit ein Stoppen des Tasks vorliegt.
Die Reihenfolge ist in diesem Fall von Bedeutung, damit nach Beenden der Pumpe das
Programm wieder im Ursprungszustand „Idle“ verweilt.
Die Erzeugung eines Tasks zum Schalten eines Relais und zur PWM-Signalerzeugung in
Bezug auf die DAQmx Programmierung soll in einem seperaten Kapitel behandelt werden.
Im gesamten Programmcode sind große Mengen an Daten und Werten vorhanden, die
zwischen den VIs transportiert werden. Dabei greifen sämtliche VIs auf denselben Datensatz
zurück. Die Current Value Tables (CVT) fungieren dabei als zentrale Datenbank, in der stets
die aktuellen Werte aller Elemente abgespeichert sind. Durch Einbinden der CVT-Treiber
werden in LabVIEW die Funktionen und Bibliotheken der CVT eingebunden.
Abbildung 4-19 zeigt die Current Value Tables des Moduls NI9474. Die Inhalte der einzelnen
SubVIs werden in folgender Tabelle dargestellt:
SubVI Beschreibung
CVT_WriteData Schreiben der aktuellen Daten in die CVT und Senden dieser an die
Statemachine
Die Deinitialisierung ist stets der letzte Schritt in einem Modul. Dort werden sämtliche
Referenzen, bestehend aus den Queues und Clustern durch die Funktion „Queue zerstören“
freigegeben. Sollten Fehler bis in diesen Programmteil aufgetreten sein, werden diese im
Ausgangswert an die nächsthöhere Instanz weitergeleitet.
4.4.8 Taskerstellung
Im Folgenden wird anhand eines Beispiels aus der Statemachine des Moduls NI9474 die
Programmierung mit den vordefinierten NI-DAQmx Funktionen näher beschrieben. Diese
Bibliotheken werden im Kapitel 4.2 behandelt. In diesem Fall handelt es sich um die
Ansteuerung des Finder Relais sowie der PWM Pumpe.
Zunächst wird auf die Ansteuerung des Finder Relais eingegangen. Dieses wird geschalten,
um die Wasserpumpen mit Strom zu versorgen.
Abbildung 4-21 ist ein Auszug aus dem VI [HOST]STM_CreateTask.vi aus dem Modul NI9474.
Wie in einem vorherigen Kapitel beschrieben ist es Teil der Statemachine und beschreibt den
Zustand, in dem ein Task für den Pumpenstart erstellt wird. Der Programmcode liegt in einer
Case-Struktur, wobei „Case 0“ das Schalten des Finder Relais behandelt und in „Case 1“ die
Programmierung der Pulsweitenmodulation für die Wasserpumpe erstellt wird.
Zunächst wird mit dem VI DAQmx – Task erzeugen ein Task erstellt. Anschließend erstellt ein
zweites VI einen virtuellen Kanal, um digitale Signale zu erzeugen. Da das Finder Relais nur
boolesche Werte annimmt, handelt es sich um eine „TRUE/FALSE“ Entscheidung. Aus der
pink gefärbten Leitung im linken oberen Eck wird die Information sDO_Lines“ aus dem Cluster
ausgelesen. Dabei wird der Steckplatz cDAQ1_05_NI9474_01/port0/line0:3 der Modulkarte
NI9474 ausgelesen an der das Finder Relais angeschlossen ist. Diese Information wird aus
den CSV Dateien bezogen, welche in einem folgenden Kapitel behandelt sind (Position 1).
Mit dem VI DAQmx – Task starten wird die Signalgenerierung begonnen. Dadurch ist das
Finder Relais permanent geschalten, bis von einem anderen VI der Befehl zum Stoppen
Prüfstandsteuerung und Regelung mit LabVIEW 38
erfolgt. Außerdem sieht man darunter eine Begrenzung für die digitalen Eingänge. Dieser Wert
ist auf „1“ gestellt, da zum Zeitpunkt der Auslieferung ein Relais verbaut war. Sollten in Zukunft
weitere hinzukommen, kann dies hier verändert werden. Abschließend werden alle Elemente
gebündelt und im Cluster abgespeichert. Somit sind alle Einstellungen in der STM im
darauffolgenden Zustand vermerkt und aktiv.
3 4
„Case 1“ behandelt die Ansteuerung der Pulsweitenmodulation. Auch hier werden VIs aus der
DAQmx Bibliothek verwendet und es ist eine Ähnlichkeit zu erkennen.
Auch in diesem Case wird zunächst ein virtueller Task erzeugt. Aus dem Cluster werden die
vom Benutzer eingegebenen Sollwerte für den DutyCycle und die Frequenz ausgelesen.
Ebenso wird der Terminalkanal ausgelesen, an dem die PWM Pumpe mit dem Signalkabel im
Schaltschrank angeschlossen ist. Im Fall der PWM Pumpe ist dies an der Karte 9474 der Kanal
cDAQ1_05_NI9474_01/PFI4. Sobald alle Eingangswerte vorhanden sind, wird im VI DAQmx
– Kanal erzeugen ein Kanal zur Generierung digitaler Impulse, bestehend aus Tastgrad und
Frequenz eröffnet (Position 3).
Anschließend wird der sogenannte „Sample Mode“ festgelegt. Da das Signal der Pumpe
kontinuierlich gesendet werden soll wird dies durch „Continuous Samples“ ausgewählt. Final
kann mit dem VI DAQmx – Task starten die Pumpe gestartet werden. Ebenso wie im ersten
Fall werden auch hier sämtliche Einstellungen im Cluster vermerkt und für eine weitere
Verfügung in der STM bereitgestellt (Position 4).
Prüfstandsteuerung und Regelung mit LabVIEW 39
In diesem Unterkapitel geht es um die CSV-Dateien, welche alle benötigten Daten der
Prüfstandssoftware enthalten. Es handelt sich um ein Dateiformat um Daten in Tabellenform
darzustellen. In LabVIEW lassen sich diese Daten mit Funktionen der CSV-Bibliothek laden.
Dabei stellt stets eine Zeile einen unabhängigen Datensatz dar. Getrennt sind die einzelnen
Abteile durch Semikolons. Die erste Zeile dient als Kopfzeile und beschreibt den
grundlegenden Aufbau der folgenden Zeilen.
Für die Software des Prüfstands existieren insgesamt 12 verschiedene CSV-Dateien mit
identischem Aufbau. Dazu gehören neben den einzelnen Modulen auch Dateien für den
Automatik Modus, die Datenspeicherung, die Diagnosen und für die Visualisierung. Folgende
Tabelle listet die Einträge der Kopfzeile auf und beschreibt deren Aufgabe bzw. Funktion. In
den darunter stehenden Zeilen sind exemplarische Einträge der CSV-Datei aufgelistet.
Spalte Beschreibung
Min-/Max-/Error Value Minimale und Maximale Werte welcher der Default Wert
annehmen kann
Sämtliche CSV-Dateien befinden sich auf dem HOST-PC der Prüfstandssoftware. Sollte der
Benutzer eine Änderung an den Werten vornehmen ist folgender Ablauf durchzuführen:
1) Prüfstandsoftware schließen
C:\Users\ZFN\Desktop\Prüfstandssteuerung\99_Builds\THI_Wasserpumpe\Kfz_Wa
sserpumpe\Files
3) Nur die Werte der Default-Zeile und der Speichern-Zeile verändern, da sonst
Zeilensätze fehlerhaft ins das Programm geladen werden und anschließend
Abspeichern
4) Prüfstandsoftware starten
Da die Änderung der Grenzwerte in den Diagnosen am wahrscheinlichsten ist, soll dies noch
im Detail erläutert werden.
Es handelt sich in Abbildung 4-24 um einen Ausschnitt aus der CSV-Datei Diagnose. Aus
Gründen der Übersichtlichkeit wurden nach den jeweiligen Diagnosen für Temperatur, Druck
und Volumenstrom Leerzeichen eingefügt, welche normalerweise nicht vorhanden sind. In den
rot umrahmten Zeilen, lassen sich durch Ändern der Spalte „Default-Value“ die Diagnosewerte
ändern. Dies stellt dann die Werte dar, welche auf der Benutzeroberfläche in Abbildung 4-5
angezeigt werden. Auch der Wert für den Türkontakt könnte hier verändert werden, ist aber
nicht vorgsehen, da der Stromkreis stets gleichbleibend ist. Die Einstellung der Wartezeiten in
den Diagnosen ist ebenso analog zu den Grenzwerten in dieser Datei möglich.
Prüfstandsteuerung und Regelung mit LabVIEW 42
Nach Erstellen der Prüfstandssoftware lässt sich das Hauptprogramm zunächst über das VI
[Host]WP_Main.vi öffnen und starten. Dies würde den Benutzer allerdings bei jedem Start
zwingen, zunächst den Projektordner zu öffnen und anschließend in der komplexen
Ordnerstruktur die richtige Datei herauszusuchen. Um dies zu vereinfachen, soll auf dem
Desktop lediglich eine ausführbare Datei mit dem Namen Kfz-Prüfstand.exe vorliegen, welche
über Doppelklick das Programm startet. Um diese zu generieren, muss zunächst der
Projektexplorer aus Abbildung 4-12 geöffnet werden. Durch einen Linksklick auf die letzte Zeile
„Build-Spezifikationen“ lässt sich durch Drücken auf „Neu“ und dann auf „Quellcodepaket“ ein
Fenster öffnen.
Auf der linken Seite sind verschiedene Kategorien zu sehen. Unter „Informationen“ lässt sich
ein gewünschter Speicherort sowie eine Beschreibung hinzufügen. Im Reiter „Quelldateien“
liegen sämtliche Objekte aus dem Projektordner. Durch Hinzufügen der [HOST]WP_Main.vi
wird aus diesem VI die spätere ausführbare Datei deklariert. Durch Drücken der Schaltfläche
„Erstellen“ beginnt LabVIEW eine EXE-Datei zu generieren.
Prüfstandsteuerung und Regelung mit LabVIEW 43
𝑈
𝑃 = [𝑊]
𝐼
Der Strom I wird durch den Stromsensor und anschließend über die Messkarte NI-9205
ermittelt. Die jeweilige Spannung wird direkt über eine das NI-9229 Modul gemessen (siehe
Abschnitt 3.3.2).
Um die hydraulische Leistung zu berechnen wird der Differenzdruck von Saug- und Druckseite
an der Pumpe benötigt. Anschließend ergibt das Produkt aus dem Volumenstrom und dem
errechneten Differenzdruck die gewünschte Kenngröße:
∆𝑝 = 𝑝 −𝑝
𝑙
𝑃 = 𝑉 ∗ ∆𝑝 [𝑏𝑎𝑟]
𝑚𝑖𝑛
Durch Umrechnung der Einheiten des Volumenstroms in die Basiseinheiten Meter und
Sekunden sowie der Umwandlung der Druckdifferenz in Pascal erhält man folgende
Gleichung:
0,001 𝑚 𝑉 ∗ ∆𝑝
𝑃 = 𝑉 ∗ ∗ ∆𝑝 ∗ 10 𝑃𝑎 = [𝑊]
60 𝑠 0,6
Als abschließende Berechnung wird der Wirkungsgrad der Pumpe bestimmt. Dieser setzt sich
aus dem Quotienten der hydraulischen Leistung zur elektrischen Leistung zusammen:
𝑃
𝜇=
𝑃
Prüfstandsteuerung und Regelung mit LabVIEW 44
4.7.2 Skalierungen
0 dm³/min 4mA
60 dm³/min 20mA
Unter der Voraussetzung eines linearen Zusammenhangs zwischen Messsignal und Messwert
lässt sich die Gleichung mit zwei Unbekannten aufstellen:
𝑑𝑚
𝑉 = 𝑎 ∗ 𝐼[𝑚𝐴] + 𝑏
𝑚𝑖𝑛
Durch Einsetzen der Werte in die Gleichung und Umstellen ergibt sich nach einigen
Berechnungen folgende Gleichung für die Skalierung der Volumenstromsignale:
𝑑𝑚
𝑉 = 3,75 ∗ 𝐼[𝑚𝐴] − 15
𝑚𝑖𝑛
LabVIEW hat dafür eigene Funktionen, die diese Berechnung ebenfalls durchführen. Wie in
Abbildung 4-12 zu sehen verbergen sich hinter dem Ordner „Scales“ drei Umrechnungen für
Volumenstrom, Druck und Strom der Pumpe.
Das Spannungseingangsmodul NI9205 kann Signale im Bereich zwischen -10V und +10 V
erfassen. Die Drucksensoren liefern folgende Werte:
0 bar 0V
4 bar 10V
5 Inbetriebnahme
5.1 Manuelle Aufnahme Pumpenkennfeld und Wirkungsgradkennfeld
Um die Plausibilität der Messergebnisse festzustellen, wird die in Abschnitt 3.3.1 beschriebene
CWA100 Wasserpumpe mit Pulsweitenmodulation der Marke Pierburg vermessen. Durch
schrittweises Zudrehen des Kugelhahnes KH11, welcher direkt vor dem Volumenstrommesser
V1 angebracht ist (siehe Abbildung 2-1), wird die Durchflussrate bei steigender Druckdifferenz
über der Pumpe gedrosselt.
Zunächst wurde bei vollständig geöffnetem Kugelhahn der maximale Volumenstrom (100%)
bestimmt. In Abstufungen von 20% wurde der jeweilige Volumenstrom berechnet und durch
Schließen des Kugelhahns eingestellt. An jedem Betriebspunkt wurde nach kurzer Verweilzeit
die Druckdifferenz über der Pumpe sowie der Wirkungsgrad auf der „MainPage“ abgelesen.
Abbildung 5-1 zeigt beispielhaft die gemessenen Werte bei drei unterschiedlichen Werten für
den „DutyCycle“.
Auf Basis der so ermittelten Messwerte konnten ein Pumpenkennfeld sowie ein
Wirkungsgradkennfeld aufgenommen werden. Die Vermessung der CWA100 Pumpe lieferte
vergleichbare Erkenntnisse zu einer Masterarbeit der OTH Regensburg, in der eine baugleiche
Pumpe auf einem anderen Prüfstand getestet wurde. Bei PWM-Signalen ≤ 20% wurden kaum
aussagekräftige Werte erkannt. Die Durchflussrate bewegte sich in Bereichen um den
Nullpunkt. Im Test konnte dann bei Erhöhung um 10% auch ein Anstieg der Volumenstromlinie
und der Druckdifferenzlinie erreicht werden.
Inbetriebnahme 47
Die Obergrenze von 90% „DutyCycle“ wurde gewählt, da sich darüber hinaus keine
nennenswerten Veränderungen ergeben haben (Vgl. Mosandl, 2018).
In gleicher Weise konnte ein Wirkungsgradkennfeld aus den ermittelten Werten erzeugt
werden. Auch dieses Diagramm entsprach den erwarteten Verläufen.
6 Fazit
Zum Abschluss dieser Arbeit soll ein Fazit gezogen werden. Für den Kühlmittelpumpen-
Prüfstand wurde zunächst die komplette Verkabelung der Sensoren sowie der elektronischen
Bauteile durchgeführt. Dazu wurden in einem passenden Schaltschrank die Elemente
verbunden. Auch ein Schaltplan ist in diesem Zuge entwickelt worden. Nach Fertigstellung der
mechanischen und elektrischen Komponenten wurde mit Hilfe der graphischen
Programmiersprache LabVIEW die Ansteuerungssoftware erstellt. Dabei wurde eine
übersichtliche Benutzeroberfläche entworfen, um auch projektfremden Benutzern eine
eindeutige Bedienung des Prüfstandes zu ermöglichen. Mittels Eingaben über Tastatur und
Maus lässt sich die Ansteuerung auf einem Windows-PC durchführen.
Es wurde die Messdatenerfassung der vier Drucksensoren, der fünf Temperaturfühler sowie
der zwei Durchflussmessgeräte umgesetzt. Weiterhin wurde ein LAUDA-Temperiergerät
angesteuert, welches in einem Bereich zwischen -20°C und +90°C die Kühlmittelflüssigkeit
aufheizen beziehungsweise abkühlen kann. Die Ansteuerung der Wasserpumpen wurde
sowohl für eine Ansteuerung über Pulsweitenmodulation als auch über einen LIN-Bus
realisiert.
Im Rahmen der Inbetriebnahme des Prüfstandes wurde ein Wirkungsgradkennfeld sowie ein
Pumpenkennfeld einer bereits vermessenen PWM-Pumpe aufgenommen. Hierbei zeigte sich
eine gute Übereinstimmung mit den an der OTH Regensburg erzielten Ergebnisse.
Literaturverzeichnis VI
Literaturverzeichnis
GEORGI, Wolfgang und Philipp HOHL, 2015. Einführung in LabVIEW. 6. Auflage. München:
Fachbuchverlag Leipzig. ISBN 978-3-446-44272-6
MÜTTERLEIN, Bernward, 2009. Handbuch für die Programmierung mit LabVIEW. 2. Auflage.
Heidelberg: Spektrum Akademischer Verlag. ISBN 978-3-8274-2337-5
NATIONAL INSTRUMENTS, 2018. Hilfe zu LabVIEW 2018. [online]. [Zitat vom 28.07.2021].
Verfügbar unter: https://zone.ni.com/reference/de-XX/help/371361R-0113/
Abbildungsverzeichnis
Abbildung 2-1: Schema Kühlkreislauf im Prüfstand .................................................... 2
Abbildung 3-1: cDAQ-9133 Controller mit I/O-Modulen der C-Serie, National
Instruments ................................................................................................................. 3
Abbildung 3-2: Netzteile.............................................................................................. 5
Abbildung 3-3: Schema Pulsweitenmodulation und Begriffsdefinition ........................ 6
Abbildung 3-4: Schaltungsaufbau PWM-Pumpe; National Instruments ...................... 7
Abbildung 3-5: Aufbau einer LIN-Nachricht ................................................................ 7
Abbildung 3-6: Schaltungsaufbau LIN-Pumpe, National Instruments ......................... 8
Abbildung 3-7: Aufbau Drucksensoren und Schaltungsbelegung ............................... 9
Abbildung 3-8: Schaltungsbelegung Volumenstrommessgerät ................................ 10
Abbildung 3-9: Schaltplan ......................................................................................... 11
Abbildung 4-1: Elementepalette und Funktionspalette ............................................. 13
Abbildung 4-2: Datentypen in LabVIEW ................................................................... 13
Abbildung 4-3: For-Schleife, While-Schleife und Case-Struktur ............................... 14
Abbildung 4-4: NI Measurement & Automation Explorer .......................................... 16
Abbildung 4-5: Bedienoberfläche Prüfstandsteuerung ............................................. 17
Abbildung 4-6: Wichtige Pumpendaten .................................................................... 19
Abbildung 4-7: Erstellung Simulationsprofile ............................................................ 20
Abbildung 4-8: Aufbau Simulationsdatei ................................................................... 21
Abbildung 4-9: Prüflaufeinstellungen ........................................................................ 22
Abbildung 4-10: TDMS File-Viewer .......................................................................... 24
Abbildung 4-11: Diagnosewerte................................................................................ 24
Abbildung 4-12: Projektexplorer ............................................................................... 26
Abbildung 4-13: Hauptapplikation ............................................................................. 28
Abbildung 4-14: WP_Module.vi ................................................................................ 29
Abbildung 4-15: Main.vi NI9474................................................................................ 30
Abbildung 4-16: Initialisierung Modul NI9474 ........................................................... 32
Abbildung 4-17: Statemachine.................................................................................. 33
Abbildung 4-18: Zustand Idle .................................................................................... 34
Abbildung 4-19: Current Value Tables ...................................................................... 35
Abbildung 4-20: Deinitialisierung eines Moduls ........................................................ 36
Abbildung 4-21: Ansteuerung Finder Relais ............................................................. 37
Abbildung 4-22: Ansteuerung PWM Pumpe ............................................................. 38
Abbildung 4-23: CSV-File Diagnosen ....................................................................... 40
Abbildung 4-24: CSV-Datei Diagnose ...................................................................... 41
Abbildung 4-25: Erstellen EXE Datei ........................................................................ 42
Abbildung 4-26: Skalierung Volumenstromsignale ................................................... 44
Abbildung 5-1: Excel mit Messwerten ....................................................................... 46
Abbildung 5-2: Pumpenkennfeld............................................................................... 47
Abbildung 5-3: Wirkungsgradfeld.............................................................................. 47
Anhang: Schaltplan VIII
Anhang: Schaltplan
Anhang: Schaltplan IX
Anhang: Schaltplan X
Anhang: Schaltplan XI
Anhang: Schaltplan XII
Anhang: Schaltplan XIII