Programme initialisieren (OpenG INI)

In LabVIEW Programmen gibt es meist viele Parameter, welche zum Beispiel je nach verwendeter Hardware, oder bei einem bestimmten Prüfaufbau, oder bei verschiedenen Prüflingen geändert werden müssen, damit sich die implementierte Funktionalität entsprechend anpasst.

Beispiele für Parameter in LabVIEW Code sind, Pfade, Abtastraten, Username, Hardware Name, Kanal Informationen usw. Im Eifer des Gefechts werden diese oft nur als Konstanten im Blockdiagramm implementiert. Dies erschwert die Wartbarkeit, Lesbarkeit und erhöht den Debugging Aufwand und schränkt auch die Wiederverwendbarkeit ein.

Dies wollen wir lösen, indem wir veränderbare Parameter in Dateien auslagern, welche zu Programmstart eingelesen werden und so zum Beispiel unseren LabVIEW Cluster mit Initialwerten befüllen. Dafür können verschiedenste Ansätze gewählt werden, wie zb. INI, CSV, JSON, XML Dateien oder auch Datenbank Abfragen.

Im heutigen Post konzentrieren wir uns auf INI Dateien. Dazu gibt es eine Erweiterung im VI Package Manager, genannt OpenG Variant Configuration File Library. Mit dieser Erweiterung kann man mit sehr wenig Aufwand eine skalierbare Lösung implementieren, welche automatisch aus einem LabVIEW Cluster eine entsprechende INI Datei erstellt.

OpenG Variant Configuration File Library im VI Package Manager

Nach dem herunterladen und installieren findet man im Blockdiagramm unter OpenG die OpenG Variant Configuration File Library.

Um aus einem LabVIEW Cluster (in diesem Beispiel myCluster.ctl) eine INI Datei zu erzeugen sind lediglich 3 VI´s aus der Palette notwendig. Das erste VI “Open Config Data.vi” legt die INI Datei am definierten Pfad an. Das zweite VI “Write INI Cluster__ogtk.vi” wandelt den typdefinierten Cluster in die Struktur einer INI Datei um und schreibt diese in die Datei. Das dritte VI “Close Config Data.vi” schließt die INI Datei. Rechts im Bild sieht man, wie die generierte INI Datei aussieht. (geöffnet in VSCode) Die ASCII Datei kann mit jedem Text Editor geöffnet und auch editiert werden.

Umgekehrt wollen wir in unserer Applikation die INI Datei einlesen und damit unseren LabVIEW Cluster initialisieren. Dafür benötigen wir ebenfalls nur wenige VI´s aus der OpenG Palette. Erstes VI “Open Config Data.vi” zum Öffnen der INI. Das zweite VI “Read INI Cluster__ogtk.vi” liest die Daten aus der INI Datei und mapped diese mit der Cluster Struktur und gibt diese als Variant aus. (auf Basis der Cluster Konstante My_Cluster) Dieser Variant muss jetzt noch mit “Variant to Data” (drittes VI) in den tatsächlichen Cluster Datentyp umgewandelt werden. Das vierte VI “Close Config Data.vi” schließt die INI Datei.

Die Parameter können nun mit einem beliebigen Text Editor geändert werden. Mit diesem Code kann bei Programm-Start die geänderte INI Datei eingelesen werden und so den LabVIEW Cluster initialisieren.

Diese und viele weitere Tricks lernt ihr in unseren Schulungen und Consultings. Link zu den Terminen

Link zum Beispielprojekt:
Die Programm Beispiele stellen nur einen Ausschnitt einer Gesamtapplikation dar. Verwendung der Code Beispiele auf eigene Gefahr.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert