2008-10-22 11 views
6

Ich lerne LabVIEW als Teil meines Honors-Projekts und frage mich, welche Vorteile die grafische Programmiersprache gegenüber einer textuellen hat?Warum LabVIEW?

Antwort

6

Es geht um die Gerätetreiber und Benutzerfunktionen. NI (Labview) verfügt über eine gut unterstützte Auswahl an Laborgerätetreibern, die einfach miteinander verbunden werden können. Ein Testoperator (kein Entwickler) benötigt eine GUI mit einer großen grün/roten Pass/Fail-Taste. Ich habe komplizierte Automatisierung über Python in Cygwin implementiert. Ein Labview-Entwickler konnte das Cygwin/Python-System aufrufen und die Log-Dateien mit Daten abmilden. So können Sie beides tun. Das Python-System ist portabel, wartbar, erweiterbar, benutzbar und das Beste von allem, kostenlos.

6

Ich habe labview zuvor zur Berechnung von Parametern verwendet, um eine nMRI-Maschine zu tunen. Sie existieren, weil es theoretisch einfacher für jemanden mit wenig Programmiersprachenerfahrung ist, ein Programm zu erstellen. Die Kontrollfluss- und Entscheidungsstrukturen können grafisch angeordnet werden und sie können ihre Formel eingeben, wo sie wollen.

Für Professoren und Laborassistenten ... hilfreich. Für echte Softwareentwickler ... wäre es einfacher in einer anderen Sprache zu schreiben.

+0

Danke dafür, dachte ich so viel :) – alex77

5

Ich habe LabView in der Vergangenheit verwendet, und für die Datenerfassung, virtuelle Instrumentierung usw. - es gibt nichts besseres. Das letzte Mal, als ich es benutzt habe, war vor 10 Jahren, und nichts, was ich seither gesehen habe, hat sich dort verglichen, wo es Mitte der 90er Jahre war.

3

Einige Vorteile von LabVIEW in meiner Sicht sind:

  • Die integrierte Benutzerschnittstellenkomponenten wie Schaltflächen, Grafiken usw. buchstäblich keine Programmierung was auch immer erforderlich ist; Sie platzieren sie einfach auf der Frontplatte und die Datenterminals erscheinen im Blockdiagramm.

  • Es gibt eine große Bibliothek von Treibern für Datenerfassungshardware und Testinstrumente. Wenn Ihre Aufgabe im Grunde genommen darin besteht, Daten von und zu diesen zu bekommen und eine Benutzerschnittstelle darauf zu setzen, dann können Sie dies fast ohne Programmierung erreichen.

  • Die parallele Ausführung mehrerer Tasks wird automatisch ausgeführt - platzieren Sie zwei unabhängige Schleifen auf dem Diagramm und sie werden gleichzeitig ausgeführt. Dies ist häufig eine Anforderung bei Datenerfassungs- und Steuerungsanwendungen.

Viele Menschen, darunter ‚echter Software-Entwickler‘, das Gefühl, dass das grafische Paradigma die Art und Weise paßt sie denken und visualisieren ihre Software besser als die textuellen ein. Es gibt zweifellos Dinge, für die Textsprachen besser sind als für LabVIEW (in einer anderen Diskussion auf dieser Seite), aber wo LabVIEW geeignet ist, ist es sehr gut, die Aufgabe zu erledigen.

19

Für mich ist der Vorteil von LabVIEW nicht grafisch oder textuell.

Es ist Datenfluss vs. Imperativ.

Dataflow programming eignet sich für Parallelität, da Ihre Ausführung als Black Boxes modelliert wird, die ausgeführt werden, wenn ihre Eingänge gültig sind, deren Ein-/Ausgänge miteinander verdrahtet sind. Dies im Gegensatz zum impliziten Status mit einer Liste von Anweisungen, wie sie geändert werden kann. ("Kipedia" ist der oben verlinkte Artikel besser.)

Jede Blackbox kann auf einem separaten Core/Prozessor/Node ausgeführt werden, was effektiv freien Zugriff ermöglicht, wenn Sie Ihr Programm den Datenfluss organisieren.

Leider (und dies ist eine lähmende Nachteil Datenfluss Programmierung im Allgemeinen) der beste Weg zur Visualisierung und Bearbeitung von Datenflussprogrammen ist grafisch, nicht textuell. Dies macht die Verwendung von Tools wie Versionskontrolle und Codegeneratoren sehr schwierig.

Die Frage ist: Überwiegen die Vorteile des Datenflusses die Nachteile, für Sie und Ihr Projekt?

+4

Während dies für einfache Programme gilt, hat Labview immer noch Nebenläufigkeitsprobleme, wenn Sie größere Projekte machen. Es ist leicht, unwissentlich eine vi (Methode) zu schreiben, die nicht neu ist und eine Menge Zeit mit dem Debuggen hat. – num1

7

Einer der Hauptvorteile der grafischen Programmierung mit LabVIEW besteht darin, dass der Quellcode den Stromlaufplänen sehr ähnlich ist. Für Elektro-/Elektronikingenieure ist dies eine sehr einfache Sprache. Dies ist einer der Gründe, warum LabVIEW in den Bereichen Datenerfassung und -automatisierung, in denen es viele EE gibt, so populär geworden ist.

Ein weiterer Vorteil, den ich fand, war die rohe Geschwindigkeit der Entwicklung. Sie assemblieren Ihre GUIs aus einer Palette verfügbarer Steuerelemente auf dem Frontpanel, ähnlich wie Sie es in Visual Studio tun. Der Quellcode wird in ähnlicher Weise geschrieben, mit vielen vordefinierten Komponenten, die Sie aus Menüs einfügen und zusammen verdrahten können.

Ein dritter Vorteil ist die Kompatibilität mit der Hardware. Das Hauptgeschäft von National Instruments ist die Datenerfassungshardware, und sie unternehmen große Anstrengungen, um sicherzustellen, dass alle ihre Produkte direkt mit der LabVIEW-Software kommunizieren können. Viele andere Hardwareanbieter in der Datenerfassungs- und Automatisierungssteuerungsbranche machen dasselbe.

1

Für mich kommt es darauf an, mit was Sie vertraut sind, wenn Sie sich in textbasierten Sprachen wohlfühlen, werden Sie wahrscheinlich feststellen, dass Labview nur eine weitere Lernkurve einführt. Wenn Sie Labview nicht mit einem bestimmten Ziel verfolgen wollen, sehe ich keinen Sinn für Ihr Projekt.

Auf der anderen Seite, wenn Sie nicht besonders in textbasierten Sprachen vertraut sind, bin ich eher der Meinung, dass Labview einfacher zu erlernen und zu erlernen ist, insbesondere für Nicht-Software-Ingenieure.

Ich benutze oft textbasierte Sprachen für Test Engineering sowie Labview und TestStand und für mich geht es mehr darum, wer meine Software sonst noch benutzt, als über mich. Einige Unternehmen haben mehrere von Labview ausgebildete Personen und andere bevorzugen es, in textbasierten Sprachen zu schreiben. Das Training für eine andere Sprache kann unternehmensweit sehr kostspielig sein und verändert die Einstellungsvoraussetzungen für Positionen innerhalb eines Unternehmens, so dass einige Unternehmen quasi an das eine oder andere Paradigma gebunden sind. Ich würde sagen, Ihre beste Wette, wenn Sie beabsichtigen, in der Industrie zu arbeiten, ist in beiden zu sein, auf diese Weise sind Sie flexibel. Wenn das der Fall ist und Sie die Zeit haben, beides zu lernen, würde ich sagen, dass Sie in der Arbeit arbeiten, in der Sie sich am wenigsten wohl fühlen und erweitern Sie Ihr breites Wissen, das ist die richtige Schule?

Verwandte Themen