Sie sind auf Seite 1von 62

Technische Hochschule Ingolstadt

Fakultät Maschinenbau
Studiengang Luftfahrttechnik

Erstellung einer Prüfstandsteuerung mit


Signalgenerierung zur Komponentenansteuerung
und Messdatenaufzeichnung mit Hilfe einer
objektorientierten Systementwicklungssoftware

Bachelorarbeit zur Erlangung des akademischen Grades


Bachelor of Engineering (B.Eng.)

Vorgelegt von:

Maximilian Hefele
Matrikelnummer: 00078396

Erstkorrektor: Prof. Dr.-Ing. Armin Soika


Zweitkorrektor: Prof. Dr.-Ing. Konrad Költzsch
Datum der Ausgabe: 23.03.2021
Datum der Abgabe: 17.08.2021
Prüfungsrechtliche Erklärung I

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.

Affing, den ___________

(Datum)

_________________________

Vorname Name
Kurzfassung II

Kurzfassung

In der vorliegenden Bachelorarbeit wird für einen Kühlmittelpumpen-Prüfstand die


entsprechende Ansteuerungssoftware entwickelt. Mit Hilfe der Software LabVIEW von
National Instruments werden die Steuerungsabläufe der Komponenten Kühlmittelpumpe,
LAUDA-Temperiergerät und Wärmeübertrager erstellt. Außerdem sind verschiedene Druck,-
Volumenstrom- und Temperatursensoren verbaut, dessen Messergebnisse genauestens
erfasst und dem Bediener angezeigt werden. Verschiedene Sicherheitskonzepte in Form von
Türkontakten und Grenzwertdiagnosen werden integriert, um einen sicheren Betrieb im Labor
zu gewährleisten.

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

4.4.4 Initialisierung eines Moduls ................................................................... 32


4.4.5 Statemachine (STM) ............................................................................. 33
4.4.6 Current Value Tables (CVT).................................................................. 35
4.4.7 Deinitialisierung eines Moduls............................................................... 36
4.4.8 Taskerstellung....................................................................................... 37
4.5 Comma Separated Values .......................................................................... 39
4.6 Erstellen einer ausführbaren Datei (EXE).................................................... 42
4.7 Berechnungen und Skalierungen ................................................................ 43
4.7.1 Berechnungen der Kenngrößen ............................................................ 43
4.7.2 Skalierungen ......................................................................................... 44
5 Inbetriebnahme .................................................................................................. 46
5.1 Manuelle Aufnahme Pumpenkennfeld und Wirkungsgradkennfeld ............. 46
6 Fazit ................................................................................................................... 48
Literaturverzeichnis ................................................................................................... VI
Abbildungsverzeichnis ............................................................................................ VII
Anhang: Schaltplan ................................................................................................. VIII
Einführung 1

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.

Diese Stromerzeuger sowie zusätzliche Nebenantriebskomponenten müssen in einem


geeigneten ideal abgestimmten thermodynamischen System temperiert werden. In vielen
aktuell erhältlichen Elektrofahrzeugen befinden sich genauso wie in den herkömmlichen
Fahrzeugen mit Verbrennungsmotor Kühlmittelpumpen, die mittels passender PWM-
Ansteuerung beziehungsweise über ein LIN-Bussystem die Temperatur erwärmter Bauteile
absenken. Zusätzlich wird meist im Winter im Fahrzeug Heizwärme benötigt, um den
Innenraum angenehm für Insassen zu gestalten oder um Scheiben aufzutauen.

Ein geeigneter Prüfstand kann dafür Kühlmittelpumpen bezüglich ihrer Fördercharakteristiken


beurteilen und den Temperatureinfluss auf diese ermitteln. Dieser wird in einer
vorangegangenen Arbeit hinsichtlich Konstruktion und Aufbau beschrieben (Semin, 2021).

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.

Nach genauer Dokumentation des LabVIEW Programmcode soll im Rahmen einer


Inbetriebnahme die Funktionalität des Prüfstandes durch Aufnehmen eines
Pumpenkennfeldes sowie eines Wirkungsgradkennfeldes bestätigt werden.
Übersicht Prüfstand 2

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).

Der Prüfstand dient dazu in der Automobilbranche verbaute Kühlkreislauf-Komponenten in


verschiedenen Testläufen abzuprüfen. Dazu zählen vor allem elektrisch angesteuerte KM-
Pumpen, welche mittels Schnellkupplungen in den Prüfstand integriert werden. Außerdem
lassen sich passive Rückschlagventile in die Schlauchverbindungen einsetzen.

Abbildung 2-1: Schema Kühlkreislauf im Prüfstand

Dabei existieren zwei baugleiche Kreislauf-Richtungen, welche durch Verändern der


Kugelhahn-Positionen durchflossen werden. Mittels unterschiedlicher Sensoren können alle
wichtigen Kenngrößen jederzeit aufgenommen werden. Auch eine Temperierung lässt sich
durch ein LAUDA Temperiergerät einstellen, um über einen Wärmeübertrager im oberen
Bereich des Prüfstandes mit den Kreisläufen zusammen zu wirken.
Verwendete Hardware 3

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.

Abbildung 3-1: cDAQ-9133 Controller mit I/O-Modulen der C-Serie, National


Instruments
Verwendete Hardware 4

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:

Bezeichnung I/O-Modul: Anschlüsse: Beschreibung:

NI9211 4 Temperatursensoren Temperaturmessmodul mit 4


Kanälen (+⁄− 80mV)

NI9203 2 Volumenstrommesser und Stromeingangsmodul mit 8


Tür Überwachung Kanälen (+⁄− 20mA)

NI9205 6 Drucksensoren und Spannungseingangsmodul


Verivolt mit 32 Kanälen (+⁄− 10mV)

NI9229 Verivolt Spannungseingangsmodul


mit 4 Kanälen (+⁄− 60V)

NI9474 PWM-Signalgenerierung Digitalmodul mit 8


und Finder-Relais stromliefernden Kanälen

NI9866 LIN Ansteuerung LIN-Bus Schnittstellenmodul


Verwendete Hardware 5

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

 drei seitliche Schuko Steckdosen in Reihe verschaltet

 Versorgungsspannung für LAUDA und Prüfstandmonitor

Um diese Elemente vor Kurzschluss oder Überlast zu schützen sind 3 unterschiedliche


Sicherungen LS1, LS2 und LS3 verbaut. Mit Hilfe des verbauten FI-Schalters der in der
Schaltung integriert ist werden Fehlerströme erkannt.

3.2.1 12V DC-Netzteil

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.

Abbildung 3-2: Netzteile


Verwendete Hardware 6

3.2.2 24V DC-Netzteil

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.

3.3 Messtechnik Kühlmittelpumpen


3.3.1 Pulsweitenmodulation (PWM)

In der Entwicklungsphase des Prüfstandes wurden zwei verschiedene Pumpentypen getestet.


Dabei handelt es sich zum einen um eine Serienpumpe CWA100 der Marke Pierburg mit einer
Leistung von ca. 100 W. Diese Pumpe wird durch die sogenannte Pulsweitenmodulation
angesteuert.

Abbildung 3-3: Schema Pulsweitenmodulation und


Begriffsdefinition

Da im Prüfstand kein Labornetzteil verbaut ist, um die Ausgangsspannung zu regulieren wird


auf ein anderes Prinzip zurückgegriffen. Ziel ist es dabei die KM-Pumpen mit verschiedenen
Geschwindigkeiten drehen zu lassen. Abbildung 3-3 zeigt das Tastverhältnis einer PWM-
Ansteuerung bestehend aus dem Puls und einer Pause, welche zusammen die Periode bilden.

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

Abbildung 3-4: Schaltungsaufbau PWM-Pumpe; National Instruments

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.

Abbildung 3-5: Aufbau einer LIN-Nachricht


Verwendete Hardware 8

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.

Abbildung 3-6: Schaltungsaufbau LIN-Pumpe, National Instruments


Verwendete Hardware 9

3.4 Messtechnik Kühlmittelkreislauf


3.4.1 Druckmessung

Die Druckmessung an den verschiedenen Stellen im Kreislauf wird durch sechs


Präzisionsdrucksensoren Typ P-30 der Firma WIKA gewährleistet. Diese haben einen
Messbereich zwischen 0 und 4 bar Absolutdruck bei einer Messungenauigkeit von 0,1%.
Ausgewählt wurden diese Messabnehmer aufgrund schneller Messraten von bis zu 1 kHz
sowie vernachlässigbarer Temperaturfehler im Bereich zwischen 10-60°. Die Verbindung zum
Schaltschrank ist mittels dreiadriger Kabel realisiert, welche die ±24V Spannung sowie das
Signal über einen Winkelstecker DIN 175301-803 A übertragen.

Abbildung 3-7: Aufbau Drucksensoren und Schaltungsbelegung

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

Abbildung 3-8: Schaltungsbelegung Volumenstrommessgerät

3.4.3 Temperaturmessung

Es befinden sich im Kreislauf insgesamt fünf Temperatursensoren. Mit vier Thermoelementen


des Typs-K wird die Kühlmitteltemperatur in den beiden Hauptsträngen ermittelt. Mittels eines
G ¼‘‘ Gewindes ragen die Sensoren bis zur Mitte der Rohre hinein. Durch ein PT100 Element
wird am Wärmeübertrager die Temperatur durch ein ähnliches Thermoelement gemessen.
Unterschiede bestehen in der Einbaulänge und in der Messung selbst, da diese Werte nicht
wie die der anderen vier Thermoelemente durch NI-Modulkarten erfasst werden, sondern
mittels des LAUDA-Temperiergerätes. Dieser nutzt den Wert im internen Regelkreis, um die
Solltemperaturwerte des Kühlwassers zu bestimmen.

3.4.4 elektrische Strommessung

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

Um die gesamte Verkabelung im Schaltschrank zu dokumentieren, wurde im Verlauf des


Projektes ein geeigneter Schaltplan erstellt. In Abbildung 3-8 ist die Übersicht abgebildet, auf
der sämtlichen Bauteile eingezeichnet sind. Im oberen Bereich ist der Eingang sämtlicher
Kabelstränge aus der oberen Prüfstandshälfte angebracht. Von dort aus wird über die
darunterliegende Klemmleiste die weitere Verteilung im Schaltschrank realisiert. Die restlichen
Seiten werden im Anhang hinterlegt. Seite zwei zeigt die Signalgenerierung der KM-Pumpe
und beinhaltet sämtliche beteiligte elektronische Bauteile und Kabelleitungen. Die Seiten drei
bis sechs betreffen alle verbauten Modulsteckkarten, Sensoren, Netzteile und weiteren
elektrischen Bauteile. Bei jedem einzelnen Element sind Eingänge und Ausgänge mit Angaben
zum jeweiligen Zielort vermerkt. Seite sieben zeigt die drei Klemmleisten X1, X2 und X3 mit
allen Ein- und Ausgängen sowie die Stromrichtungen in Form von Pfeilen.

Abbildung 3-9: Schaltplan


Prüfstandsteuerung und Regelung mit LabVIEW 12

4 Prüfstandsteuerung und Regelung mit LabVIEW


4.1 LabVIEW

Softwareentwicklung bedeutet heutzutage meistens zeilenweises Niederschreiben von


Programmcode. Für moderne technische Prozesse und immer komplexere Anwendungen in
der Industrie kann dies allerdings hinsichtlich Übersichtlichkeit nachteilig sein. Deswegen sollte
ein passendendes Entwicklungstool dem Anwender die Programmierung erleichtern, indem
die Abbildung der Prozesse graphisch auf dem Bildschirm sichtbar gemacht wird. Dabei
stehen Anschaulichkeit und Benutzerfreundlichkeit im Vordergrund.

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

Abbildung 4-1: Elementepalette und Funktionspalette

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:

Abbildung 4-2: Datentypen in LabVIEW


Prüfstandsteuerung und Regelung mit LabVIEW 14

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.

While-Schleifen sind eine gängige Form um einen gewissen Programmcode wiederholt


auszuführen. Dies geschieht so lange, bis eine Bedingung erfüllt ist. Realisiert ist dies über ein
Bedingungsterminal welches in Abbildung 4-3 im rechten unteren Eck zu sehen ist. Dieses
kann nur über einen booleschen Wert beendet werden. Weiterhin existiert ein
Iterationsterminal startend bei „0“. Gut geeignet ist dieser Typ vor allem wenn logische
Bedingungen und nicht die Anzahl der Durchgänge die Schleife beenden sollen.

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).

Abbildung 4-3: For-Schleife, While-Schleife und Case-Struktur

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

4.2 Messgerätetreiber NI DAQmx

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.

Abbildung 4-4: NI Measurement & Automation Explorer

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

4.3 Programmfunktionen und Softwareoberfläche

Dieses Kapitel behandelt sämtliche Programmfunktionen sowie die GUI bestehend aus
Anzeigemodulen und Eingabefelder.

Abbildung 4-5: Bedienoberfläche Prüfstandsteuerung (GUI)


Prüfstandsteuerung und Regelung mit LabVIEW 18

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).

Unabhängig vom Betriebsmodus lassen sich die vier vorhandenen Überwachungsdiagnosen


aktivieren beziehungsweise deaktivieren. Durch Drücken der Schaltfläche „Informationen?“
können die derzeitig eingestellten Grenzwerte eingesehen werden (Position 3).

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).

Abbildung 4-6: Wichtige Pumpendaten

4.3.1 Manueller Modus

Der manuelle Modus eignet sich besonders für Testfahrten oder um Parameter vor
Langzeittests abzuprüfen.

Dabei sind folgende Auswahlkriterien während des Programmablaufs wählbar:

 Strömungsrichtung in Verbindung mit den am Prüfstand manuell vorzunehmenden


Veränderungen der Kugelhahn- und Absperrventilpositionen

 Temperierung durch LAUDA

 Diagnosen bestehend aus Tür- und Grenzwertüberwachungen (siehe Abschnitt 4.3.4)

 Ansteuerung Wasserpumpe wahlweise über LIN oder PWM

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

4.3.2 Automatikmodus und Erstellung Simulationsprofile

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.

Abbildung 4-7: Erstellung Simulationsprofile

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

Stufe Einstellmöglichkeiten Beschreibung

Pumpe Status (EIN/AUS), Typ (PWM/LIN), Stufe, in der nur


Pumpenparameter pumpenspezifische
Parameter einstellbar sind

LAUDA Status (EIN/AUS), Solltemperatur, Pumpenstufe Temperierung möglich

Zeit Status Pumpe und LAUDA, sämtliche Flexibelste Variante, mit


Pumpenparameter sämtlichen
Auswahlmöglichkeiten

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.

Abbildung 4-8: Aufbau Simulationsdatei


Prüfstandsteuerung und Regelung mit LabVIEW 22

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:

Abbildung 4-9: Prüflaufeinstellungen

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).

In einem letzten Schritt wird ein Dateipfad eingegeben, an welchem die


Messdatenaufzeichnung abgelegt wird. Neben einem Dateinamen und einem Kommentar ist
es möglich die Aufzeichnungsschrittweite in Sekunden einzugeben. Sind sämtliche Parameter
eingestellt wird durch Drücken der Schaltfläche Start der Prüflauf begonnen (Position 10).

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.

Während des Automatikbetriebs sind in Position 7 die wichtigsten Informationen sichtbar.


Neben allgemeinen Informationen zum Programm sind dies Anzahl und Dauer der einzelnen
Stufen sowie, falls eingetragen, die aktuelle Bezeichnung. Im untersten Bereich befinden sich
zwei Fortschrittsbalken, welche den Einzelfortschritt der aktuellen Stufe sowie den
Gesamtfortschritt anzeigen.

4.3.3 TDMS File-Viewer

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.

Abbildung 4-10: TDMS File-Viewer

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:

Abbildung 4-11: Diagnosewerte


Prüfstandsteuerung und Regelung mit LabVIEW 25

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.

Die drei anderen Überwachugen sind dafür ausgelegt Schäden am Prüfstand


beziehungsweise den eingesetzten Pumpen zu verhindern. Hauptsächlich soll ein Überhitzen
von Wärmeübertrager und KM-Pumpe sowie zu hohen Drücken vermieden werden. Dies wird
vor allem durch mechansiche Fehlstellungen der Kugelhähne seitens des Bedieners
hervorgerufen. Dabei sind folgende Szenarien möglich:

Temperatur Differenz zwischen dem Pt100 Thermoelement am WÜT und den


zwei aktiven Temperatursensoren im Kreislauf übersteigt
eingestellten Wert

Druck Druckunterschied zwischen Druck- und Saugseite an der Pumpe


übersteigt eingestellten Wert

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:

Abbildung 4-12: Projektexplorer

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:

 [CTRL]: Spezielle graphische Anzeigen für die Softwareoberfläche wie beispielsweise


Thermometer, Zeigerelemente und Checkboxen

 [DLG]: Dialogfenster welche sich vom Benutzer auf der Oberfläche aufrufen lassen.
Dazu zählen vor allem Funktionen im Automatikmodus wie die Pumpendatenbank

 [FGV]: Funktionale Globale Variablen


Prüfstandsteuerung und Regelung mit LabVIEW 27

 [rtm]: Laufzeitmenü-Datei welche die Menüleiste erstellt

 [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).

4.4.2 Hauptapplikation WP_Main.vi

Der Aufbau des Haupt-VI ist in Abbildung 4-13 zu sehen.

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.

Ferner werden im WP_Init.vi die Ordnerstrukturen für die Pumpendatenbank, die


Simulationsdateien sowie die Messergebnisse angelegt. Dasselbe gilt für das Datenmapping
der einzelnen Module. Dabei werden die Objekte aus dem Main-Cluster ihren jeweiligen
untergeordneten Clustern der Module zugeordnet (Position 1).
Prüfstandsteuerung und Regelung mit LabVIEW 28

5
2

Abbildung 4-13: Hauptapplikation


4
3
1
Prüfstandsteuerung und Regelung mit LabVIEW 29

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: WP_Module.vi


Prüfstandsteuerung und Regelung mit LabVIEW 30

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).

In Kapitel 4.4.3 wird eines dieser SubVIs exemplarisch näher dargestellt.

Im SubVI [HOST] WP_Visualisierung_2.vi wird die grafische Benutzeroberfläche aus


Abbildung 4-5 erstellt. Dabei werden alle grafischen Anzeigen, Buttons, Bedienelemente und
Graphen angeordnet. Ebenso wird hier deklariert, welche Auswirkungen ein vom Benutzer
durchgeführtes Ereignis hat. Dies wird in LabVIEW mit Event-Strukturen gemacht. Diese
Elemente warten bis zu einem festgelegtem Zeitpunkt, ob vom Benutzer eine Eingabe
gemacht, oder ein Button gedrückt wird. Ist dies der Fall, wird der Programmcode innerhalb
der Event-Struktur durchgeführt (Position 4).

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.4.3 Allgemeiner Modulaufbau eines SubVI

4.3.4 4.3.5 4.3.7

4.3.6

Abbildung 4-15: Main.vi NI9474


Prüfstandsteuerung und Regelung mit LabVIEW 31

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

4.4.4 Initialisierung eines Moduls

Beginnend soll das Init.vi beschrieben werden:

Abbildung 4-16: Initialisierung Modul NI9474

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

Externe Daten Kommunikation mit übergeordneten Instanzen; Daten


senden und Befehle ausführen

Queues anlegen Anlegen der modulspezifischen Queues und Speichern


im Cluster cl_Main_NI9474

Defaultwerte Params Voreinstellungen für die Parameter des Finder Relais


sowie der PWM Pumpe

Defaultwerte Signals Voreinstellungen für Counter und DigitalIO Werte


Prüfstandsteuerung und Regelung mit LabVIEW 33

CVT-Values lesen / schreiben Ermitteln sämtlicher Daten aus den Current Value Tables

4.4.5 Statemachine (STM)

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.

Abbildung 4-17: Statemachine

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

While-Schleife Dauerhaftes Ausführen der Zustände

Case-Struktur Sämtlicher Programmcode eines Zustandes befindet sich in den


verschiedenen Cases

Schieberegister Beinhaltet alle Informationen zum Übergang in den nächsten


Zustand

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

Abbildung 4-18: Zustand Idle

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.

4.4.6 Current Value Tables (CVT)

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: Current Value Tables


Prüfstandsteuerung und Regelung mit LabVIEW 36

Um Variablen in der CVT zu verwenden, müssen diese zu Beginn der Programmierung


definiert werden. Nachdem im Init diese für die CVT initialisiert werden, lassen sich sämtliche
Werte verwenden. Dabei gibt es Schreib- und Lesefunktionen, um entweder Daten zu
speichern oder bestehende Werte zu laden.

Abbildung 4-19 zeigt die Current Value Tables des Moduls NI9474. Die Inhalte der einzelnen
SubVIs werden in folgender Tabelle dargestellt:

SubVI Beschreibung

CVT_ErrorHandling Fehlerbehandlung, Fehler anzeigen

CVT_ReadData Auslesen der aktuellen Daten aus der CVT

CVT_CalcData Verrechnung von Daten und Bestimmen der neuen Kenngrößen

CVT_WriteData Schreiben der aktuellen Daten in die CVT und Senden dieser an die
Statemachine

CVT_CheckExit Überprüfen ob sich das CVT-Modul beenden soll

4.4.7 Deinitialisierung eines Moduls

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.

Abbildung 4-20: Deinitialisierung eines Moduls


Prüfstandsteuerung und Regelung mit LabVIEW 37

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: Ansteuerung Finder Relais

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

Abbildung 4-22: Ansteuerung PWM Pumpe

„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

4.5 Comma Separated Values

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

Gruppe Übergeordnete Gruppe

Kanalname Festgelegter Name des Datensatzes

TAG-Name Eindeutiger Name für die Cluster

Datentyp Eindeutiger Datentyp, z.B. string, double, integer

Default-Value Eingestellter Wert; hier lassen sich sämtliche Werte


konfigurieren

Beschreibung Beschreibung des Datensatzes

Einheit Sofern eine Einheit existiert, ist diese hier festgelegt

Anzeigename Eindeutiger Name für die Messdatenabspeicherung

Min-/Max-/Error Value Minimale und Maximale Werte welcher der Default Wert
annehmen kann

Speichern? Wird hier eine „1“ eingetragen, speichert LabVIEW diesen


Eintrag in der Messdatenspeicherung mit ab
Prüfstandsteuerung und Regelung mit LabVIEW 40

Abbildung 4-23: CSV-File Diagnosen


Prüfstandsteuerung und Regelung mit LabVIEW 41

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

2) Gewünschte CSV-File aus folgendem Pfad auswählen:

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.

Abbildung 4-24: CSV-Datei Diagnose

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

4.6 Erstellen einer ausführbaren Datei (EXE)

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.

Abbildung 4-25: Erstellen EXE Datei

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

4.7 Berechnungen und Skalierungen


4.7.1 Berechnungen der Kenngrößen

Um die eingesetzten Kühlmittelpumpen in einem späteren Betrieb des Prüfstandes richtig


vermessen zu können werden einige Kenngrößen in der Software berechnet. Dazu gehören
neben der elektrischen und hydraulischen Leistung der daraus resultierende Wirkungsgrad.
Diese Werte sind in der Oberfläche jederzeit ablesbar, sowie können auch in der
Messdatenerfassung abgespeichert werden.

Die elektrische Leistung berechnet sich wie folgt:

𝑈
𝑃 = [𝑊]
𝐼
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

Da die Drucksensoren einen Spannungswert im Bereich 0-10V liefern und die


Volumenstromsensoren einen Stromwert von 4-20mA übergeben, müssen diese in der
Software passend umgerechnet werden. Anhand der Volumenstromsensoren soll die
Umrechnung beschrieben werden. Das Stromeingangsmodul NI9203 misst Werte im Bereich
zwischen 0-20mA.

Volumenstrom Signalausgang Volumenstrommesser

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
𝑚𝑖𝑛

Abbildung 4-26: Skalierung Volumenstromsignale


Prüfstandsteuerung und Regelung mit LabVIEW 45

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:

Druck Signalausgang Drucksensoren

0 bar 0V

4 bar 10V

Daraus ergibt sich folgende Gleichung:

𝑝[𝑏𝑎𝑟] = 0,4 ∗ 𝑈[𝑉]


Inbetriebnahme 46

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.

Abbildung 5-1: Excel mit Messwerten

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).

Abbildung 5-2: Pumpenkennfeld

In gleicher Weise konnte ein Wirkungsgradkennfeld aus den ermittelten Werten erzeugt
werden. Auch dieses Diagramm entsprach den erwarteten Verläufen.

Abbildung 5-3: Wirkungsgradfeld


Fazit 48

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.

Es wurden vier Diagnosen eingepflegt, welche verschiedene Grenzwertüberwachungen für


Druck, Temperatur und Volumenstrom durchführen, um im Notfall den Prüfstand
abzuschalten. Außerdem sind an den Türen Schalter angebracht, die in der Software
anzeigen, ob diese geöffnet oder geschlossen sind.

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

MOSANDL, Michael, 2018. Entwicklung eines Prüfstands zur energetischen Untersuchung


eines komplexen Nebentriebs für fahrzeugtechnische Anwendungen. Masterarbeit.
Regensburg: Ostbayrische Technische Hochschule Regensburg

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, 2019. Einführung zum Bussystem Local Interconnect Network


(LIN) [online]. [Zitat vom 14.07.2021]. Verfügbar unter: https://www.ni.com/de-
de/innovations/white-papers/09/introduction-to-the-local-interconnect-network--lin--bus.html

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/

NATIONAL INSTRUMENTS, 2021. Anwendungsentwurfmuster Zustandsautomaten. [online].


[Zitat vom 28.07.2021.] Verfügbar unter: https://www.ni.com/de-
de/support/documentation/supplemental/16/simple-state-machine-template-
documentation.html

SEMIN, Egor, 2021. Aufbau und Inbetriebnahme eines Fahrzeugkühlkreislauf-Prüfstands zur


Bestimmung von Betriebseigenschaften passiver Schaltelemente und Pumpenkennfelder.
Bachelorarbeit. Ingolstadt: Technische Hochschule Ingolstadt.
Abbildungsverzeichnis VII

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

Das könnte Ihnen auch gefallen