Home Software LabVIEW oder C? Könntest du die Frage umformulieren?

LabVIEW oder C? Könntest du die Frage umformulieren?

Was müssen wir über LabVIEW wissen?

Als LabVIEW-Produktmanager wird mir diese Frage oft gestellt.

Ehrlich gesagt, es ist nicht die richtige Frage. Sie wird zu einer gültigen Frage, indem eine kleine Nuance und ein Anwendungskontext hinzugefügt werden (z. B. „Was ist das Beste für diese Aufgabe mit diesen Einschränkungen?“). Ohne dieses Detail ist es, als würde man fragen, warum Brot besser ist als Mehl.

Wenn Sie ein Mess- oder Steuersystem erstellen möchten, dann ist die Systemdesignsoftware NI LabVIEW ein Tool, das Ihnen das Risiko, die Kosten und die Unannehmlichkeiten ersparen kann, ein System mit Low-Level-Sprachen wie C zu erstellen.

Ich behaupte nicht, dass LabVIEW eine „bessere“ Programmiersprache als C ist – insbesondere wenn man bedenkt, dass große Teile von LabVIEW nicht nur in G, sondern auch in C und C++ geschrieben sind. Ich meine vielmehr, dass sie unterschiedliche Stärken haben, die Programmierer verstehen müssen, um erfolgreich zu sein.

Die Beziehung zwischen LabVIEW und C ist ähnlich wie Brot und Mehl. Wenn Sie ein Sandwich machen möchten, sollten Sie das Brot direkt verwenden. Wenn Sie einen Kuchen backen möchten, sollten Sie das Mehl verwenden, um ihn zu kochen. Das Backen von Mehl für Brot von Grund auf kann teuer und zeitaufwändig sein (besonders wenn Sie eine schnelle Mahlzeit möchten), aber wenn es um einen Kuchen geht, ist Mehl unerlässlich.

Ebenso kann es schwierig sein zu entscheiden, welche Programmiersprache für eine Aufgabe am besten geeignet ist. Es kommt darauf an, das richtige Werkzeug für den richtigen Job zu verwenden.

 

C bietet Kontrolle auf niedrigem Niveau

 

C ist oft besser für Anwendungen mit knappen Ressourcen, die sorgfältig verwaltet werden müssen. Da C eine relativ einfache Sprache ist, zwingt es Sie dazu, selbst die kleinsten Details wie Speicherzuweisungen und Threads zu berücksichtigen und zu spezifizieren.

Ein guter Programmierer kann diese Überprüfung auf niedriger Ebene verwenden, um den Overhead in den meisten Implementierungen auf höherer Ebene zu beseitigen. Auf dieser Ebene können Sie auch die Architektur des Ausführungsziels oder die Eigenschaften des Hostbetriebssystems nutzen, um eine höhere Leistung zu erzielen.

Aus diesem Grund haben NI-Programmierer die meisten LabVIEW-Bibliotheken in C oder C++ geschrieben. Operationen wie E/A und Dateianalyse sind in LabVIEW genauso schnell wie in C, da sie in Low-Level-Sprachen geschrieben und für jede der von LabVIEW unterstützten Plattformen und Betriebssysteme optimiert sind.

 

Effizienz versus Kontrolle

 

Zu bestimmten Zeiten ist die Effizienz des Entwicklers besser als bei handoptimiertem Code. Einen Teil der Kontrolle aufzugeben und Entwicklern zu vertrauen, die ähnliche Probleme gelöst haben, kann vielen Projekten in Bezug auf die Produktivität zugute kommen. Programmiersprachen bewegen sich ständig in Richtung höherer Abstraktionsebenen. Dies hilft, sich auf das vorliegende Problem zu konzentrieren und nicht auf die kleinen Details.

 

LabVIEW: Für parallele Ausführung und E/A in der realen Welt

 

Unabhängig von der Implementierungssprache ist die Trennung zwischen Systemdesign auf hoher Ebene und Implementierung auf niedriger Ebene unvermeidlich.

Bei Mess- und Steueranwendungen ist die Programmierung nur eine Aufgabe für einen Systemdesigner. Ingenieure haben oft keine Zeit, um mit alter Software Schritt zu halten oder sie neu zu schreiben, um Fortschritte bei Computern, Messhardware, Betriebssystemen usw. zu unterstützen. Der Mehrwert eines Ingenieurs besteht darin, den besten Weg zum Erfassen, Bearbeiten und Präsentieren von Daten aus der realen Welt zu finden – nicht das Erfinden neuer Wege zur Verwaltung von Speicherzuweisungen und Thread-Pools. Mit LabVIEW kann die endgültige Anwendung unter Verwendung von Low-Level-Bibliotheken von NI erstellt werden, die bereits getestet, unterstützt und gewartet werden.

Wenn Sie sich für C entscheiden, müssen Sie Ihre eigenen untergeordneten Bibliotheken implementieren, unterstützen und warten oder diese von einem Anbieter erwerben (NI bietet für diesen Anwendungsfall die Software NI LabWindows™/CVI und NI Measurement Studio an).

Ein Syntax-Tipp: C ist für die sequentielle Ausführung von Anweisungen so schnell optimiert, wie es die CPU verarbeiten kann. Dies ist perfekt für reines Rechnen, wenn nur eine Aufgabe ausgeführt wird und die Anweisungen einfacher sind. Im Gegensatz dazu ist die grafische Syntax von LabVIEW für die parallele Ausführung zeitgesteuerter Aufgaben optimiert.

Mit LabVIEW können Sie den Aufbau der Grundlagen überspringen und direkt mit der Anpassung beginnen.

LabVIEW ist mehr als nur eine Programmiersprache und zugehörige Bibliotheken. Wenn Sie die integrierte Entwicklungsumgebung (IDE) von LabVIEW mit Hardware von NI oder Drittanbietern verwenden, erhalten Sie eine Entwicklungserfahrung, die mehr ist als die Summe ihrer Teile. Die Software kennt die verfügbaren Hardwareressourcen und kann die verfügbaren E/A-Kanäle und die Ausführungshardware als Dropdown-Menüs und Projektelemente darstellen. Falsche Konfigurationen können während der Bearbeitung verhindert oder erkannt werden, wodurch kostspielige und schwer zu debuggende Fehler während der Laufzeit vermieden werden – Die nächste Generation von Messhardware (z. B. der Vektorsignal-Transceiver NI PXI-5644R) ermöglicht es LabVIEW sogar, die zu erreichende Firmware-Hardware neu zu definieren Leistungsniveaus, die die verschiedenen Programmiersprachen und traditionellen Tools nicht erreichen können.

Zu viele Projekte werden verspätet abgeschlossen oder überschreiten das Budget, weil die Mitarbeiter den Aufwand unterschätzen, der erforderlich ist, um Teile aus unterschiedlichen Quellen zusammenzubringen. Unter Verwendung von LabVIEW geben Hardwaretreiber Daten im gleichen Format zurück, das die Analysebibliotheken verarbeiten, Benutzeroberflächen-Widgets zeigen technische Daten im gleichen Format an, in dem sie von den Analysebibliotheken erzeugt werden, wodurch die Notwendigkeit entfällt, die Daten zusammenzustellen.

 

Was ist also besser: LabVIEW oder C?

 

Die Antwort könnte gut lauten: „es kommt darauf an“. Es hängt von dem Problem ab, das Sie zu lösen versuchen. LabVIEW und C sind nützliche Werkzeuge, die in den Händen geschulter Benutzer fast jedes Problem lösen können: LabVIEW ist tendenziell besser für Test-, Mess- und Steuerungsanwendungen auf hoher Ebene, und C eignet sich besser für Implementierungen auf niedriger Ebene rechenintensive Aufgaben. Wenn Sie das nächste Mal jemand fragt, ob LabVIEW C übertrumpft, zögern Sie nicht, mit „es kommt darauf an“ zu antworten. Es könnte die einzige Antwort sein, die die Debatte in die richtige Richtung lenkt.

 

Stichworte
Programmierung in LabView