LabVIEW-Neuigkeiten

Community Browser
Showing results for 
Search instead for 
Did you mean: 

Re: Fünf verborgene Schätze in LabVIEW

‎06-24-2014 02:55 AM
‎06-24-2014 02:55 AM

Bei der Entwicklung von LabVIEW fließt viel Herzblut in die Erstellung neuer LabVIEW-Funktionen. Zu diesem Prozess gehören Spezifikationsdokumente, das Prüfen von Designs und Code, automatisierte und manuelle Testpläne, Dokumentation u. v. m. Anschließend haben wir eine Funktion, die dokumentiert, geprüft, vermarktet und offiziell unterstützt wird.

Doch was geschieht mit all den Funktionen, die nicht so viel Aufmerksamkeit erhalten – also beispielsweise solche, die nur für ein internes Team bei NI geschrieben wurden? Oder was ist mit jenen, die formal nicht ganz vollständig sind, aber eigentlich eine sehr nützliche API abgeben. Was passiert mit all diesen Funktionen?

Sie landen natürlich im Verzeichnis vi.lib ! Die meisten VIs aus der Schnelleinfügeliste oder den Paletten befinden sich im Verzeichnis [LabVIEW 20xx]\vi.lib. Doch auch viele andere VIs, die keine „offiziellen“ LabVIEW-Funktionen sind, stehen dort zur Verfügung.

Erfahren Sie mehr über diese inoffiziellen Bibliotheken, die in Ihrer LabVIEW-Installation bereits enthalten sind, und werden Sie Mitglied der Community Hidden Gems in vi.lib auf ni.com. Dort finden Sie auch eine Präsentation von Darren Nattinger, Principal Engineer in LabVIEW R&D, der regelmäßig einige dieser verborgenen Schätze vorstellt. Zu seinen Lieblingsbibliotheken gehören die folgenden:

1. VariantDataType VIsvi.lib\Utility\VariantDataType
Mit diesen VIs können Sie Variantdaten parsen, um mehr über den spezifischen Datentyp innerhalb der Variante zu erfahren. Es gibt beispielsweise ein VI, das die VariantDataType-VIs nutzt, um die Strings zu bestimmen, die zur Definition eines Enums verwendet werden.

https://decibel.ni.com/content/servlet/JiveServlet/downloadImage/38-16634-174957/494-286/hidden1.jpg

Ein anderes VI nutzt die VariantDataType-VIs, um zu bestimmen, ob eine Variante ein Fehler-Cluster ist:

https://decibel.ni.com/content/servlet/JiveServlet/downloadImage/38-16634-174958/661-243/hidden2.jpg

2. AdvancedString VIsvi.lib\AdvancedString
Diese VIs führen anspruchsvolle String-Manipulationen durch. Eines der nützlichsten VIs in diesem Verzeichnis ist das Match 1D String Array.vi, das die Elemente eines String-Arrays nach einem String mit anwenderdefiniertem Muster durchsucht. Im Grunde ähnelt es der Funktion 1D-Array durchsuchen, ist aber im Zusammenhang mit String-Arrays viel nützlicher:

https://decibel.ni.com/content/servlet/JiveServlet/downloadImage/38-16634-174959/576-294/hidden3.jpg

3. Libraryn VIsvi.lib\Utility\libraryn.llb
Diese VIs ermöglichen eine Vielzahl von Datei-I/O-Operationen, darunter solche an LLBs und Dateien innerhalb von LLBs. Einige der VIs in dieser Bibliothek werden offiziell unterstützt und befinden sich auch in der Schnelleinfügeliste und in den Paletten. Aber auch viele andere, „inoffizielle“ VIs in dieser Bibliothek sind durchaus hilfreich. So erstellt beispielsweise das Create Directory Recursive.vi einen Ordner auf der Festplatte und zugehörige übergeordnete Ordner, die noch nicht existieren.

https://decibel.ni.com/content/servlet/JiveServlet/downloadImage/38-16634-174960/525-157/hidden4.jpg

Ein weiteres nützliches VI, das Is Name Multiplatform.vi, prüft, ob ein String als Dateiname im spezifizierten Dateisystem verwendet werden kann:

https://decibel.ni.com/content/servlet/JiveServlet/downloadImage/38-16634-174961/625-165/hidden5.jpg

4. _analyzerutils.llb VIsvi.lib\addons\analyzer\_analyzerutils.llb
Bei diesen VIs handelt es sich um eine zufällige Auswahl hilfreicher VIs für VI-Server und VI-Skripte. Sie werden umfassend vom VI Analyzer Toolkit genutzt, sind aber auch in anderen Skriptanwendungen von Nutzen. Viele der VIs in dieser Bibliothek werden hier in der Gruppe VI Analyzer Enthusiasts auf ni.com genauer beschrieben.

5. lvconfig.llb VIsresource\dialog\lvconfig.llb
Dieses letzte VI befindet sich zwar nicht in der vi.lib, ist aber trotzdem überaus hilfreich. Die VIs im Verzeichnis lvconfig.llb im Ordner [LabVIEW 20xx]\resource\dialog  erlauben das Lesen und Schreiben von Tokens in Ihrer LabVIEW-INI-Datei, unabhängig von der verwendeten Plattform und dem Ablageort der Datei. Ein möglicher Anwendungsfall für diese VIs ist die programmatische Aktualisierung Ihrer favorisierten LabVIEW-Einstellungen (z. B. die Einstellungen unter Werkzeuge > Optionen), etwa als Teil einer automatisierten LabVIEW-Installation.

Die genannten VIs sind nur ein paar der vielen verborgenen Schätze, die Ihnen in Ihrem LabVIEW-Verzeichnis zur Verfügung stehen. Erfahren Sie in der Community Hidden Gems in vi.lib mehr über großartige Bibliotheken und Dienstprogramme, auf die Sie über LabVIEW direkt zugreifen können. Schließlich wollen Sie kein wertvolles VI entwickeln, nur um dann festzustellen, dass es in der vi.lib bereits vorhanden ist!

Weitere Tipps:

Comments
Member Tanja_Troescher
Member

Hallo,

das "Match 1D String Array.vi" ist wirklich ein Schatz, dass hätte ich schon oft gut gebrauchen können. Hin und wieder finde ich auf der NI Webseite einen Beitrag, wo wieder auf ein nützliches VI verwiesen wird. Und jedes mal frag ich mich, wie soll ich das denn ohne Hinweis in der vi.lib finden???

Gibt es eine Möglichkeit einfach alle VIs, die in der vi.lib drin sind, in Labview einzubinden, sodass ich die über die "Quick Drop" Suche (Strg + Leertaste) finden kann?

Oder was habe ich für eine Möglichkeit alle VIs in der vi.lib zu durchstöbern ausßer über den Dateiexplorer alles mit der Hand aufzumachen?

Viele Grüße

Tanja Tröscher

Member LoCa
Member

Hallo Tanja_Troescher,

eine sehr gute Frage und die Hidden Gem Gruppe hat auch darauf direkt eine Antwort gefunden mit dem Hidden Gem package aus dem VIPM werden alle VIs über die "Quick Drop" Suche auffindbar.

https://decibel.ni.com/content/groups/hidden-gems-in-vilib

Unbenannt.png

Ich hoffe das Package hilft Ihnen weiter.

Mit freundlichen Grüßen

Lorenz Casper

Member Tanja_Troescher
Member

Hallo LoCa,

danke für die schnelle Antwort.

Super, das werde ich doch mal testen.

Vielen Dank,

und die bestenj Grüße

Tanja Tröscher