Warum wird LabVIEW nicht für andere Zwecke als die Datenerfassung und -virtualisierung verwendet?
Diese ist gekennzeichnet als eine subjektive Frage, ich hoffe ich habe nicht zu viele nach unten Stimmen aber.
LV scheint bieten eine gute grafische alternative zu traditionellen, textbasierten Programmierung. So wie ich das verstehe, ist es nicht ein nur-Virtualisierung/Datenerfassung Programmiersprache. Dennoch, es scheint, dass das Paradigma an seine Schöpfer ' s Namen.
Meine Frage kommt, weil es scheint nicht zu weit zum multi-purpose-Anwendungen. Ich bin kein LV-Experten jeder Art, ich bin eher ein Anfänger. Ich bin noch immer benutzt, um LV.
InformationsquelleAutor der Frage Anzurio | 2009-08-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Labview ist fantastisch, wenn Sie hardware von National Instruments und wollen etwas zu machen, zu erwerben, zu Plotten und protokollieren der Daten.
Wenn Sie beginnen, Anbindung an kundenspezifische Geräte, die Verkabelung zwischen den Modulen wird kompliziert, sich nicht um die ganzen string-manipulation arbeiten für die Eingabe und Ausgabe an ein Gerät.
In meinem Ort der Arbeit, fanden wir, dass wir verärgert mit, dass Sie eine massive, komplizierte VI ist eine Schnittstelle für Geräte und begann, Sie zu schreiben .NET und Ihnen die Anbindung an Labview.
In der Ende landeten wir Verschrottung Labview-alle zusammen und mit der NI Measurement Studio für Visual Studio, die uns alle die schönen suchen, NI-Steuerelemente (waveform-plot, tank, Manometer, Schalter usw.) mit der Flexibilität von C#.
In der Zusammenfassung, sogar mit ein paar 24" - Bildschirme, manchmal ist die Verdrahtung für Labview-code kann zu Komplex und unmöglich zu kommentieren, zu Debuggen und zu machen, erweiterbar für zukünftige änderungen. Ich schlage vor, einen Blick auf Measurement Studio für Visual Studio und verwenden Ihre Lieblings -.NET-Sprache mit dem schönen NI kontrolliert.
InformationsquelleAutor der Antwort Fuzz
Meine zwei Erfahrungen mit "Grafik-alternative[s], um herkömmliche text-basierte Programmierung" wurden schrecklich. Ich finde solche Sprachen werden langsam zu verwenden, schwer zu Bearbeiten, und ausdruckslose. Debuggen Sie ist ein Alptraum. Und Sie bieten keine echten Vorteile.
Sicher sein, es hat Recht lange Zeit, da sah ich eine, aber die Meinungen von anderen, die ich habe danach gefragt, Sie wurden nur lauwarm, also ich habe nie die Zeit genommen einmal zu schauen. Gründe, einmal zu schauen, sind willkommen und werden an Bord genommen...
InformationsquelleAutor der Antwort
Labview kann verwendet werden, um Autor von großen, komplexen software-Projekten. Labview ist zweifellos viel mehr spass macht, als ein syntax-basierte Sprache. Ich habe programmiert mathematisch Dichte, dynamische Simulationen unter Verwendung von labview. Neuere Labview-Versionen enthalten eine Menge von spannenden features, vor allem für die Nutzung von mehreren Prozessoren. Ich mag Labview sehr viel. Aber ich weiß nicht empfehlen es jedem.
Leider, es ist ein absoluter Albtraum, für etwas anderes als die einfache Erfassung und-Anzeige. Es kann ein Tag sein, der ausreichend entwickelt ist, um als eine brauchbare alternative zu textbasierten Sprachen. Jedoch, die Entwickler bei NI habe konsequent entschieden, ignorieren Sie die drei grundlegenden Probleme, die Pest, von labview.
1) Es ist instabil und voller bugs. Es gibt Tausende von bugs, die gepostet wurden, um die labview-support-Foren, sind noch nicht behoben. Einige von diesen sind sehr ernst, wie Speicherverluste oder mathematische Fehler in grundlegenden Funktionen.
2) Die Dokumentation ist grauenhaft. Mehr als oft nicht, wenn Sie Hilfe suchen, mit einem labview-Funktion in der lokalen Hilfe-Datei finden Sie einen Satz, der lediglich bekräftigt die Namen der Artikel, den Sie versuchen zu finden, einige Details auf. z.B. dass sich Ein Benutzer sieht die Hilfe-Datei auf die textur-filter-Modus und die einzige Sache, geschrieben in der Hilfe-Datei "Textur-Filter-Modus - wählt den Modus textur-Filterung." Gee, danke. Das klärt die Dinge, nicht wahr? Das problem geht viel tiefer, oft, wenn Sie Sie bitten, einen technischen Vertreter von national instruments, um kritische details über labview-Funktionalität oder das spezifische Verhalten von mathematischen Funktionen, die Sie einfach nicht wissen, wie die Funktionen in einer eigenen Bibliothek arbeiten. Dies klingt vielleicht wie eine übertreibung, aber Vertrauen Sie mir, es ist es nicht.
3) es ist Zwar nicht unmöglich zu halten, grafischen code sauber und gut dokumentiert, Labview wurde entwickelt, um diese Aufgaben schwierig und ineffizient. Um Ihren code zu einem Wirren, Durcheinander, müssen Sie routinemäßig (alle paar Operationen) beschäftigen Strukturen wie Cluster und sub-vis und Riesen-Typ definierten Steuerelemente (die Strecken können auf mehreren Bildschirmen in einem großen Projekt). Diese Strukturen, die fressen Speicher und zerstören Leistung von zwingen, labview, um mehrere Kopien der Daten im Speicher und Durchführung überflüssiger Operationen - alle im Interesse der Beibehaltung der grafischen Diagramm sah aus wie Regenbogen-farbige spaghetti mit keine Kommentare oder text überall im Blick. Die Programmierung in labview ist wie das spielen Montagsmaler mit dem Teufel. Stellen Sie sich Ihre riesige software-Projekt geschrieben, wie eine Wand Größe Flussdiagramm mit keinem Worte auf. Stellen Sie sich nun vor, dass alle Linien kreuzen sich tausend mal, so dass die Nachverfolgung der Datenflüsse, ist völlig unmöglich. Sie haben nur geplant, die natürlichste und effizienteste Weg, um ein Programm in labview.
Labview ist cool. Labview wird immer besser mit jedem neuen release. Wenn die Nationalen Instrumente hält, es zu verbessern, es wird großartig sein, eines Tages als eine Allgemeine Programmiersprache. Jetzt, es ist eine extrem schlechte Wahl als software-Entwicklungs-Plattform für umfangreiche oder logisch komplexe Projekte.
InformationsquelleAutor der Antwort truthisnotbeauty
I **schreiben in LabVIEW nun seit fast 20 Jahren. Ich entwickle automatisierte test-Systeme. Ich habe entwickelt, RF, Vison, high-speed-digital-und viele verschiedene Varianten von mixed-signal-Testsysteme. Ich war ein "C" - Programmierer, bevor ich wechselte zu LabVIEW.
Es ist wahr, dass Sie können bauen einige Programme schnell in LabVIEW, aber genau wie jede andere Sprache-es braucht eine Menge training, um zu lernen, zu bauen, eine große Anwendung, die sauber, ist leicht zu pflegen mit wiederverwendbarem code. In 20 Jahren habe ich nie eine LabVIEW-bug hält mich von der Fertigstellung eines Projekts.
Zurück in den Tag, NIWEEK hätte ein software-shootout jedes Jahr. LabVIEW-und LabWINDOWS (NI-version "C") Programmierer würden beide den selben problem und haben ein Rennen zu sehen, welche Gruppe zuerst fertiggestellt. Jedes Jahr alle LabVIEW-Programmierern gemacht wurden Weise vor dem 1. LabWINDOWs person fertig. Ich herausgefordert haben viele meiner engagierten text-basierte Programmierung Freunden zu Schießereien und Sie alle zugeben, dass Sie nicht den Hauch einer chance, auch wenn ich Sie definieren die software-problem.
So, ich fühle LabVIEW ist eine große Programmier-tool. Es ist definitiv der Weg zu gehen, wenn Sie eine Schnittstelle mit jeder Art von NI-hardware. Es ist nicht die Antwort für alles, aber ich bin sicher, es gibt viele Menschen, die ihn nicht benutzen, nur weil Sie nicht der Ansicht, LabVIEW eine "echte Programmiersprache". Nachdem alle, wir verkabeln Sie einfach ein Haufen von Blöcken zusammen, richtig? Ich finde es lustig, wie viele text-basierte Programmierer Brüskierung dort gemeinsam auf, denn Sie sind so stolz auf das Durcheinander von text-code, den Sie erstellt haben, die nur Sie verstehen können. Ein guter Programmierer in jeder Sprache sollten code schreiben, der andere kann leicht zu Lesen. Schreiben übermäßig komplexen code, der unmöglich ist zu Folgen, nicht dem Programmierer ein Genie. Es bedeutet, dass der programmer ist ein "compliator"(jemand, der ein einfaches problem und erschweren es). Ich glaube an das Prinzip KISS (KEEP IT SIMPLE STUPID).
Sowieso, es ist meine zwei Cent Wert!**
InformationsquelleAutor der Antwort Dave
Dachte ich LabVIEW wurde ein Traum für die FPGA-Programmierung. Unabhängig ausführbare Blöcke nur... arbeiten. In der Regel verwende ich LabVIEW für verschiedene Aufgaben schnittstellenbildung mit meinem DAQ-und FPGA-hardware, aber das ist über es. Es scheint (wieder zu mir), dass dies LabVIEW starken Punkt und der Grund, warum es gebaut wurde, aber außerhalb, die arena, es fühlt sich "umständlich." So weit wie getting things done, es ist wie jede andere Sprache mit learning curve - sobald Sie es herausfinden, es ist nicht zu schlecht für die Geleistete Arbeit bekommen. Ich habe gesehen, dass mehrere Leute aufgeben, bevor das denken die Lernkurve war dauerhafte oder so etwas.
Kommissionierung bis ein 30" monitor machte einen großen Unterschied.
Eins weiß ich, dass Menschen nicht gefällt, ist die version control integration.
Edit: LabVIEW - /hardware ist hella teuer für "nur zum Spaß" verwenden. Ging ich 10K auf Ihrer hardware (legi-Preise) und hab die software kostenlos von der Schule für die Herstellung von Spielzeug rund um das Haus.
InformationsquelleAutor der Antwort Sam Harwell
Unser Unternehmen ist mit LabVIEW für die letzten 10 Jahre für die Messung, überwachung und Berichterstattung über unser Thema (Züge).
Vor kurzem haben wir begonnen, mithilfe von LabVIEW als grafische Benutzeroberfläche für Datenbanken mit vielen Daten, die Kräfte von LabVIEW mit den letzten neuen features (Klassen, XControls) ermöglicht die Verwendung erstellen diese Arten von GUIs für einen Bruchteil der Entwicklungskosten auf andere Plattformen. Während wir nicht brauchen, externen Programmierern bei der Beratung bewerten.
Tonne
InformationsquelleAutor der Antwort Ton Plomp
Ich erste Schritte mit Labview in ein college-Physik-Labor. Zunächst dachte ich, es war langsam und umständlich, wenn im Vergleich zu anderen text-basierten Sprachen. Es war zu schwierig, um komplexe Logik und der code wurde schlampig real schnell (Drähte überall).
Dann, ein paar Jahre später, lernte ich über die Verwendung von sub-vi ' s und bundles. Was für ein Unterschied! An diesem Punkt war ich mit labview für eine sehr high-level-Funktionen. Ich war mit dem raw-input von einer Kamera, mit allen Arten von Bild-Filter und-Verarbeitung, um letztlich analysieren Sie die Zeilen in eine Straße, so dass Sie ein Fahrzeug fahren könnte sich auf diesem Weg ohne Fahrer - es war für die DARPA URBAN CHALLENGE. Ich war auch generieren von Karten aus text-Wegpunkt-Daten, wodurch high-level-parsing-Funktionen, und eine Reihe von anderen Anwendungen, die hatte nichts zu tun mit der Verarbeitung von Daten aus input-Geräte. Es war wirklich eine Menge Spaß. und SCHNELL.
Nachdem er das college verlassen, ich bin jetzt wieder auf die Verwendung von text-basierten Sprachen. Ich habe mit: PHP, Javascript, VBA, C#, VBscript, VB.net, Matlab, Epson RC+, Codeigniter, verschiedene API ' s, und ich bin sicher, dass einige andere. Ich bekomme oft sehr frustriert in der Menge der syntax, die ich auswendig lernen müssen, um das Programm mit allen bedeutenden Geschwindigkeit. Ich finde es ärgerlich zu haben, um wechseln den Schulen des Denkens auf der Grundlage der Sprache, die ich verwende... wenn alle Programmiersprachen im wesentlichen die gleiche Sache zu tun! Ich brauche einen zweiten monitor zu haben, nur um die Hilfe zu allen Zeiten, so finde ich die syntax für gleiche Funktionen in verschiedenen Sprachen. Ich vermisse Labview sehr viel, es ist schade, dass es so teuer ist sonst würde ich es verwenden, für alles.
Grafische Programmierung ich denke, dass hat ein riesiges Potenzial. Nicht eingeschränkt durch die syntax können Sie den Fokus auf Logik statt code. Labview kann selbst noch in den Kinderschuhen in Bezug auf die Unterstützung und debugging, aber ich glaube, dass es konzeptionell schlägt die Konkurrenz. Es ist einfach eine mehr intuitive Art zu Programmieren.
InformationsquelleAutor der Antwort user1456420
Verwenden wir LabVIEW für end-of-line-test Ausrüstung und ist ideal geeignet für Datenerfassung und Kontrolle. Typischerweise von 15 bis 80 differenzielle Spannungen und controlling, Umwelt-Kammern, mass flow Controllern und verschiedenen seriellen Geräten in LabVIEW ist mehr als fähig.
Interfacing mit custom-Geräten kann vereinfacht werden groß, indem Sie das NI instrument driver wizard zur Erstellung wiederverwendbarer VI, interfacing mit custom-dll ' s, wenn nötig. Auf eine Reihe von Projekten, die wir erstellt haben, solche Treiber für die eigene hardware und einmal erstellt, gibt es wieder verwendbare, in zukünftigen Projekten, die keine änderung.
Verwendung von event-driven-Strukturen user-interfaces reagieren und die wir regelmäßig verwenden von LabVIEW-Applikationen, die Schnittstelle mit einer Datenbank.
Was Programmierumgebung, die Sie wählen, es ist der Prozess der Gestaltung der Anwendung, die am meisten zählt. Ich bin damit einverstanden, dass Sie erstellen können einige wirklich schrecklich und unlesbar block-Diagramme in LabVIEW aber dann kann man auch erstellen, unleserlicher code in Visual studio. Mit nur ein wenig Gedanken und Planung eines LabVIEW-Blockdiagramms werden können, um passen auf eine einzige 24" - monitor mit viel Platz zum hinzufügen von Kommentaren.
Ich möchte mit LabVIEW über Visual Studio für die meisten Projekte.
InformationsquelleAutor der Antwort Swinders
Aber die Leute wollen, verwenden Sie LabView für andere Zwecke als Daten-Akquisition und-Virtualisierung. Der Kurs LabVIEW wird hauptsächlich in Laboren und Produktionsumgebungen, denn es ist (oder war) eine der wichtigsten NI - Kunde Ziel.
Jedoch können Sie tun eine Menge verschiedener Dinge, die mit LabVIEW, wie die Programmierung eines Roboters, der würde eine Menge von Bild-Analyse, und dann tweet die Ergebnisse. Haben Sie einen Blick auf videos von der NI Week 2009 auf you-tube, und Sie werden sehen, wie mächtig dieses tool ist. Zum Beispiel, gibt es die Möglichkeit, code zu schreiben und bereitstellen, um ARM-MCUs (siehe diese Dev Monkey Artikel von 2009.08.10).
Und schließlich diese LabVIEW-DIY-Gruppe
InformationsquelleAutor der Antwort Jakub Czaplicki
Dachte ich über diese Frage seit Jahrzehnten (ja, seit 1989...)
Wie alle Programmiersprachen LabVIEW ist ein high-level-tool zum Bearbeiten der Fluss von Elektronen. Es sei denn, Sie sind ein purist und sich weigern, etwas anderes als ein Steckbrett und Kabel; transistoren, integrierte schaltungen und Programmiersprachen sind wahrscheinlich eine gute Sache, wenn Sie möchten, bauen Sie etwas von jeder Folge.
Aber wie alle high-level-Werkzeuge, gerade, schwingt man nicht, machen Sie einen professionellen Handwerker. Zurück in den Tag Lötkolben, op-amps und UARTs es erforderlich, eine große Menge sorgfältiger zu studieren, bevor Sie könnte ein system schaffen, das tatsächlich funktionierte. Der moderne Bereich der textbasierten Programmiersprachen ist so übermäßig dominiert von der syntax, muss der Programmierer bekommen es genau das richtige, bevor es kompiliert und ausgeführt werden. Um code zu schreiben, der funktioniert, muss der Programmierer erhöhen Ihre Spielstärke zu erstellen, die Anlagen viel größer als "Hallo Welt".
LabVIEW ist nicht dominiert durch die syntax, sondern durch die Daten Fließen. Zurück in den Tag, Griff nach Ihrem flow charting-Vorlage und der Entwicklung der Darstellung einer ausgewogenen Informationssystem der Kunst und Schönheit ist ein Teil des Jobs. Nur, nachdem Sie hatte das überprüft Flussdiagramm in der hand würden Sie sogar überlegen, quälen sich durch den Stadtverkehr und das Stanzen der code. (ja... Lochkarten)
LabVIEW ist eine Entwicklungsumgebung, die das system ermöglicht es dem Programmierer, um die flow-charting-tools zu Diagramm die vollständige information system und drücken Sie "ausführen"..... LabVIEW "Punch-out den code" und stellt es für Sie. Keine Notwendigkeit zu kämpfen, die durch die syntax der Sprache A oder Sprache B.
Mit einem so leistungsfähiges Werkzeug, können Neulinge und bilden große, funktionierende Programme schnell -- was impliziert einige level von professioneller Handwerkskunst seit es läuft. Allerdings, wenn das system sich nicht aus, oder die source-code-Diagramm ist ein Chaos, es ist nicht die Schuld von LabVIEW.
Menschen oft zeigen Sie auf "LabVIEW ist nur gut für die Entwicklung von großen Daten-Erfassungssysteme." Vielleicht diejenigen, die Menschen sollten die Professionalität der Wissenschaftler und Ingenieure, die arbeiten im Bereich der Datenerfassung. Wenn Sie wissen genug, um die tatsächlichen Drähte Recht für die sensoren und Wandler, kann es eine gute Wette, dass Sie sind Experte bei der Entwicklung von LabVIEW-Schaltpläne als gut.
InformationsquelleAutor der Antwort
Ich tun LabView zu Hausedenn es ist Teil von Lego Mindstorms, die mein Sohn liebt. Und ich mag die Art und Weise zu Komponieren Systeme wie dieses.
Jedoch in meiner Arbeit (embedded systems), it ist in der Regel zu restriktiv. Aber auch hier bin ich versucht zu bewegen, bis Sie in der Abstraktion:
- Kontrolle und Staatliche Verhalten: Model based design (z.B. Rhapsody)
- Daten, algorithmen, etc. Simulink
Manchmal ein grafisches Modell benötigen mehr Klicks als ein Stück code. Dazu gehören aber auch die Arbeit zu einem guten Programmierer tun müssen, design & Dokumentation; nicht nur den code eingeben. Die grafische notation, nimmt viele Mühen entfernt und ist in der Regel viel schneller, wenn das tool ist mächtig genug, um die Komplexität bei der hand. Daher erwarte ich, dass diese Art von Werkzeugen wird gewinnen mehr an Popularität in den nächsten Jahren, wie Sie Reifen, und die Menschen bekommen, die mit Ihnen vertraut.
InformationsquelleAutor der Antwort Adriaan
Ich habe mit LabVIEW für etwa zwei Jahre für die Entwicklung von automation. Wenn angesichts der gebotenen Sorgfalt und fachgerechte Ausführung wir wissen können, entwickeln, warten und wirklich gut aussehende Anwendung, die in LabVIEW.Ich denke, dies ist das gleiche für alle anderen Sprachen gibt. Ich habe gesehen, gleich schlecht-code in LabVIEW-in Erster Linie von Menschen, die es nur zu entwickeln, schnell und schmutzig arbeiten, - Automatisierung. IMHO die Grafische Programmierung ist viel einfacher zu Programmieren und zu verstehen, wenn richtig gemacht. Aber das sagte ich glaube, dass text-basierte Programmierung 'fühlt sich' stärker!
LabVIEW ist in Erster Linie vermarktet für die industrielle Automatisierung, hat inhärente Unterstützung für sehr viel hardware von NI und Sie erhalten das Dritte hardwares arbeiten ziemlich schnell. Ich denke, das ist der Grund, warum Sie sehen es nur in der Automatisierungs-Bereich. Außerdem ist es ziemlich teuer und Sie sind gesperrt, mit NI als Sie noch nicht einmal öffnen Sie Ihren code, wenn Sie nicht kaufen, die software von Ihnen!
InformationsquelleAutor der Antwort Manoj
Habe ich benutzt LabView für einige 10 Jahre. Es ist genial für Wissenschaftliche prorgamming ie wie Matlab oder Simulink-aber 10 mal besser. Wenn Sie Probleme haben, dann sind Sie etwas falsch machen. Es dauert Zeit zu lernen, wie jede Sprache. Wie für die Verwendung .Netto-statt - sind diese Leute noch auf dem gleichen Planeten? Warum sollte man sich die Mühe des Schreibens eveything von Grund auf, wenn Sie sagen können, pull-up-FFT etc und verwenden Sie bereits geschriebenen code. .NET ist in Ordnung für einfache Programme, die aber nicht so gut für die Wissenschaftliche Bearbeitung. ja, Sie können es tun, aber nicht, ohne Unmengen von add-ons für Grafiken etc. Prorgamming in G ist viel einfacher als auf text basiert, die für Wissenschaftliche Probleme. Sie können natürlich das Programm in c, wenn Sie die Anbindung und den Einsatz der dll. Nun, es gibt Dinge, die würde ich nicht verwenden, LabView-für - die Spracherkennung beispielsweise kann ein bisschen chaotisch zu präsentieren. Mehr zu dem Punkt, obwohl, warum Menschen wie das Programmieren in veralteten text-form, wenn es eine einfache alternative. Es ist, als wenn die Menschen wollen die Dinge kompliziert machen, um so zu rechtfertigen, Ihren job in irgendeiner Weise. Vereinfachen, Vereinfachen!
InformationsquelleAutor der Antwort Tom
Jemand gesagt, dass LabView nur verklagt, in der Automatisierungstechnik. Einfach nicht schreiben. Es hat Anwendungen in der Digitalen Signalverarbeitung,Regelungstechnik,Kommunikation, Web-Basierte,Mathematik,Bildverarbeitung und so weiter. Es begann, wie eine Datenerfassung mit Methode und Sie erfanden den Namen der Virtuellen Instrumentierung, aber es hat sich weit über das jetzt. Es ist eine Wissenschaftliche Programmiersprache, die mit einem zweiten zu keiner grafischen Oberfläche. Es ist weit über Simulink und wenn Sie wie Matlab dann hat es eine Art von Matlab scripting gebaut für diejenigen, die gerne solche Art und Weise der Programmierung. Es entwickelt sich die ganze Zeit. Die eine Sache, die ich gefunden schwer war das schreiben von code für die Compact-Rio - schwierige, aber viel leichter als die alternative. Es ist teuer, aber Sie bekommen ein hochwertiges Produkt. Ich persönlich habe nicht gefunden, alle bugs, die in der normalen Programmierung. Es ist eine Sprache Ingenieure, aber jeder kann es benutzen, zu Programmieren.
InformationsquelleAutor der Antwort Tom