Electronic Blood Pressure Device


Das Projekt besteht aus der Aufgabe ein Funktionstestprogramm für ein elektronisches Blutdruckmessgerät zu entwickeln. Der Prüfling stellt eine linuxbasierte Elektronik dar, mit der mittels Kommandozeilenargumenten über USB kommuniziert wird. Das Prüfsetup besteht im wesentlichen aus einem Drucksensor, einem Blutdrucksimulator, einem Multimeter sowie einer DC Quelle. Die Testperipherie ist ebenfalls über USB oder diversen USB-RS232 Wandlern mit dem Prüfrechner verbunden. Das Prüfprogramm sollte mittels LabView entwickelt werden und dem Prüfer die Möglichkeit geben einen kompletten sequenziellen Prüfablauf durchzuführen oder aber auch nur einzelne Test auszuwählen und durchzuführen. Die generierten Prüfdaten sollten in einer SQL Datenbank mit vordefinierter Tabellenstruktur hinterlegt werden.


There was the request for the developement of a test software for an electronic blood pressure device. The DUT is a linux based electronic. The communication with the device is done over command line arguments, which are sent over USB. The hardware test setup consists mostly of a pressure sensor, a blood pressure simulator, a multimeter and a DC Source. All peripheral test hardware is also connected to the testcomputer over USB or several RS232-USB converter. The LabView test program should give the tester the ability to run a complete sequencial testrun with all test included or choose one or more specific tests which are run individually. The generated test data is saved in a SQL database with predefined tables and permissions.


Functional Test Program based on Queued Message Handler


Das Funktionstestprogramm basiert auf der Queued Message Handler Standard Architektur von LabView. Durch die fortgeschrittenen Anforderungen an das Testprogramm (Einzelausführung von Tests, unabhängige, permanente Druckerfassung, Datenbankzugriffe, etc.) ist die Verwendung einer belastbaren Architektur alternativlos. Die parallele Struktur dieser Architektur stellt sicher, dass das Testprogramm trotz Codeausführung und Nutzerinteraktion stets performant bleibt. Beispielsweise ist es essentiell, dass die permanente Druckerfassung stabil und zuverlässig funktioniert um zu jedem Zeitpunkt korrekte Druckwerte trotz Testsequencing und Benutzeraktion zu liefern. Durch das stabile Grundprogramm können nun 16 verschiedene Funktionstest implementiert werden. Mit jedem einzelnen Test werden bestimmte Funktionsbereiche des Gerätes überprüft (Drucküberwachung, Pumpleistung, Funktion der Buttons, Stromaufnahme in verschiedenen Betriebszuständen, etc…)


The test program is based on a standard LabView architecture which is called „Queued Message Handler“. Because of the sophisticated requirements for the testsoftware (single step execution, independent, permanent pressure acquisition, database connectivity) an stable program architecture is a fundamental precondition. The parallel structure of this program architecture ensures a good performance of the testprogram while executing the code. For example is it essential that there is a stable and reliable pressure acquisition despite of user interaction and testsequencing. Because of the stable program architecture it was possible to integrate 16 functional tests. With each test, specific functional areas of the device can be tested, i.e. overpressure detection, pressure characteristics, button functionality, current load during different operational modes,…)


 

NI LabView Database Connectivity Toolkit


Eine zentrale Anforderung an die Prüfsoftware ist die erzeugten Testdaten dauerhaft in einer SQL Datenbank zu hinterlegen. Die dafür vorgesehene Datenbank wurde mit vordefinierten Tabellen- und Wertedefinitionen (Primärschlüssel, Datentypen, Datumsformat, etc…) auf einem Kundenserver installiert. Der Zugriff auf die SQL Daten erfolgt mittels dem LabView Zusatzpaket „Database Connectivity Kit“. Entsprechend den Anforderungen werden mittels SQL Befehlen Werte in der Datenbank überschrieben oder neue Einträge erzeugt. Dies erfolgt elegant mittels SQL Queries. Theoretisch ist es möglich den Datenbankzugriff auch per Hand mittels ActiveX Funktionen von Windows zu programmieren. Aus praktischer Sicht kann ich nur raten den extra Betrag auszugeben und Zeit sowie Frustration zu sparen.


A central requirement for the test software was the ability to save the created measurement data permanently in a SQL Database. The designated database was installed on a customer database server with predefined tables and definitions, like primary key and datatypes. The connection to the database is established by using the VI’s of the „NI LabView Database Connectivity Kit“. According to the requirements the generated test data is saved to the database or overwrites already existing values. This is done by generating SQL commands which are sent with queries to the database. Theoretically, it is possible to code the db access by using the ActiveX functionality of Windows, but practically, I can only recommend to spend the extra money for the connectivity kit to save time and disfunctionality.