Umfassender Vergleich zwischen SIMULINK und LabVIEW
Ich versuche, um zu bestimmen, welche von diesen zwei zu kaufen für meine Arbeit. Ich habe verwendet, SIMULINK aber nicht LabVIEW. Gibt es jemanden, der hat beide und würde gerne einige details? Meine Untersuchung Kriterien sind die Benutzerfreundlichkeit, Verfügbarkeit von Bibliotheken und template-Funktionen, Echtzeit-probing-Anlage, BABYBETT hardware-Anbindung die Möglichkeit, die Qualität der code-Generierung, design für Testbarkeit (d.h. einfache Generierung von unit - /Abnahme-tests), etc. Allerdings, wenn jemand Lust hätte, mich zu erziehen, mit mehr Kriterien, so tun Sie dies bitte mit allen Mitteln!
Für alle, die nicht wissen, über SIMULINK und LabVIEW - beides sind Domänen-Spezifische Sprachen (DSLs), die für den graphischen dataflow-Modellen (und auch der code-Generierung). Diese sind multi-Werkzeugen in der Industrie und sehr stark verwendet für engineering design und Modellierung.
WICHTIG - ich bin sehr daran interessiert zu wissen, ob SIMULINK und LabVIEW bieten real-time-Suche. Ich habe zum Beispiel ein Modell, das ich will, zu simulieren. Wenn es Variablen, die auf bestimmte Bausteine in diesem Modell, konnte ich Sie ändern, wie die simulation läuft? Ich weiß, dass es sicherlich nicht möglich mit SIMULINK, da es eine Schritt-für-Schritt-debugger. Ich bin mir nicht bewusst etwas ähnliches in LabVIEW.
Ich habe wirklich nicht mit LabVIEW und nicht erhalten, können Sie vorübergehend als meine Arbeit internet hat download-Beschränkungen und administrative Berechtigungen Fragen. Dies ist der Grund, warum ich kann einfach nicht verwenden Sie nur NI-website, um Schlussfolgerungen zu ziehen. Wenn es einem white paper zur Verfügung, der dieses Problem behebt, würde ich auch gerne wissen 🙂
UPDATE SEIT DEM LETZTEN POST
Habe ich verwendet MATLAB-code-generator und wird nicht sagen, dass es das beste ist. Allerdings höre ich jetzt, dass SIMULINK, Embedded Coder ist die beste code-generator und fast eine eigene Art ist. Kann jemand bestätigen, ob oder nicht, das ist gut für safety critical system design, d.h. der code-Generierung von Sicherheits-kritischen Teilsystem-Modelle. Ich weiß, dass the Mathworks ist der ständig versucht, die Lücke zu schließen, zu erreichen, voll-flexible Produktion-level-C/C++ - code generation.
Ich weiß, dass die ideale Antwort wäre,"Je nachdem, was Sie versuchen zu tun, verwenden Sie ein bisschen von beidem". Und interessanterweise, ich glaube, ich bin Position in die entsprechende Richtung. ATEOTD, es ist eine Menge Geld und müssen ausgegeben werden "schön".
Vielen Dank im Voraus.
InformationsquelleAutor ha9u63ar | 2013-06-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich absolut keine Erfahrung mit Simulink, also ich werde nur auf LV, obwohl eine schnelle Lesen über Simulink auf Wikipedia scheint darauf hinzudeuten, dass es konzentriert sich vor allem auf die simulation und Modellierung, was sicherlich nicht der Fall mit LabVIEW.
OK, also zu aller erst, LV ist KEIN DSL. Während Sie würde nicht wollen, es zu benutzen, die für jedes Projekt, es ist eine Allzweck-Programmiersprache, und Sie sollten take in Konto. Ich weiß, dass NI hat ein Simulations-toolkit für LV, die Ihnen helfen könnten, wenn es das ist, was Sie nach, aber ich habe absolut keine Erfahrung damit. Die Bilder, die ich sah, es schien, um anzuzeigen, dass es fügt eine Besondere Art von Diagramm zur LV für die simulation.
Zweite, LV ist nicht beschränkt auf jede Art von hardware. Es ist eine Allzweck-Sprache, so können Sie code schreiben, die nicht jede hardware an alle, die Codes, die Nutzung oder die Ausführung auf NI-hardware oder-code, die die Verwendung beliebiger hardware (sei es durch DLL-Aufrufe, .NET-assemblies, RS232, TCP, GPIB oder jede andere option, die Sie denken können). Es ist eine Recht große Sammlung von LV-Treiber für verschiedene Geräte und die Qualität der Fahrer in der Regel hängt davon ab, wer es geschrieben hat.
Dritte, Sie kann sicherlich probe in Echtzeit in LV. Sie können Ihren code schreiben, gerade so, als würde man in C oder Java, und wenn Sie es ausführen, haben Sie mehrere Optionen für das Debuggen:
Natürlich, da Sie sprechen über code, man könnte auch einfach schreiben Sie den code zum anzeigen der Werte auf dem Bildschirm auf einem Graphen oder einer numerischen Anzeige oder melden Sie Sie in einer Datei, so sollte es keine Notwendigkeit für die eigentliche Suche. Man könnte auch hinzufügen, code-Analyse, etc.
Vierten, könnten Sie versuchen, herunterladen und ausführen LV in eine voll funktionsfähige Demo-Modus. Wenn ich mich richtig erinnere, NI aktuell gibt es 7 Tage und dann 45 Tage, wenn Sie sich registrieren auf Ihrer Website. Wenn Sie nicht tun können, auf einem computer arbeiten, könnten Sie versuchen, zu Hause. Wenn dein problem nur mit dem herunterladen haben, Sie könnte versuchen, sich mit Ihrem lokalen NI-Büro und bat Sie, senden Sie eine DVD.
Hinweis, dass ich nicht wirklich wissen, etwas über Modellierung und simulation, also ich habe keine Ahnung, welche Art von code, den Sie tatsächlich haben zu schreiben, um das zu tun, was Sie wollen. Ich gehe davon aus, dass, wenn NI hat ein spezielles Modul dafür, dann ist es nicht etwas, das Sie vollständig abdecken kann, die in normalen code (zumindest dann nicht, wenn Sie möchten, dass die original-Schreibweise), aber ich würde sagen, dass wenn Sie schreiben, könnte der code das tut, was Sie wollen in C, gibt es keinen Grund sollten Sie nicht in der Lage sein zu schreiben Sie es in LV (vorausgesetzt natürlich, dass Sie wissen, wie man code schreiben, der in LV).
Du hast Recht, technisch ist das nicht eine Sprache überhaupt, da es der name der IDE, dann aber das argument zieht einfach um, ob G ist ein DSL-oder nicht. Mein Verständnis ist, dass vor Jahren NI hatte einige rechtliche Probleme mit der Verwendung G als Bezeichnung für die Sprache, die ist, warum Sie sehen es nicht viel herum. In der Praxis LV und G sind Synonym. Und während ich damit einverstanden, dass die LV ist nicht sehr gut bekannt ist, und dass es hauptsächlich in bestimmten Bereichen, es ist immer noch technisch eine voll funktionsfähige general purpose language (obwohl, wieder, das bedeutet nicht, dass es gut für alles).
LV ist eigentlich sehr gut bekannt, jetzt in diesen Tagen, und in der Tat, ersetzt einige SIMULINK-basierte design-Infrastruktur in der Luftfahrt-und Verteidigungsindustrie. Auch der Preis ist mehr vernünftig, in einigen Fällen im Vergleich zu SIMULINK :). Ich wirklich brauchen, um eine Entscheidung zu treffen, wie werde ich halten diese tools. Ich denke, mit LV ist besser als es unterstützt SIMULINK-Modell Eingänge. Nicht schlagen kann, ist die Treiber-Unterstützung für hardware von NI, aber das bedeutet nicht, dass Sie nicht Treiber von Drittanbietern diejenigen.
Ich dachte, der LV als nicht sehr gut bekannt durch Programmierer. Es ist wahr, dass in einigen Orten ist es auch bekannt (Labors, engineering-Abteilungen in der Akademie Luft-und Raumfahrt, Auto-Hersteller, etc.). In jedem Fall könnten Sie auch versuchen, Fragen Sie Ihre Frage in der LabVIEW-board in den NI-Foren, wo ich denke, es gibt einige Leute, die Nutzung von Simulink. Wenn Sie das tun, werden Sie sicher, link auch hier. Ich gehe davon aus, dass Simulink ist besser für einige Dinge (Umgang mit MATLAB? Vielleicht ist simulation?) und das LV ist besser an anderen Dingen (schreiben von benutzerdefinierten code). Ich habe keine Ahnung, welche mehr für Sie geeignet ist.
Guter Vorschlag! Ich denke, es wird eine Kombination jedenfalls, wie einige der Daten, die ich verwende sind in SIMULINK aber nicht Schaden verursachen, verwenden Sie Sie in LabVIEW. Die gute Sache aboug LabVIEW ist, dass ich wickeln Sie die LV-Modelle mit C-Funktion aufruft, so dass ich Sie verwenden kann, in meinem Kern-software, ohne zu müssen, code zu erzeugen, für die Modelle.
InformationsquelleAutor Yair
Ich mit labVIEW von 1995 und Simulink von 2000. Jetzt bin ich involviert in die Kontrolle system-design und simulation von Roboter-Systeme mit labVIEW Real-Time und automotive-Steuergeräte mit MATALAB/Simulink/DSPACE .
LabVIEW liegt der Schwerpunkt auf mess-Systemen und MATLAB/SIMULINK in der dynamischen simulation so,
Wenn Sie komplexe Simulationen, und Ihre Arbeit ist das erstellen/Debuggen von komplexen Simulationsmodellen, die von Steuerungen oder Anlagen verwenden Simulink+RealTimeWorkShop+StateFlowChart. LabVIEW hat keine eficient code-Generatoren für die dynamische simulation. RTW erzeugt kleinere und schnellsten code.
Wenn Ihre wichtigste Arbeit ist die Entwicklung von Systemen mit Controller und GUI für Maschinen, die Sie bereitstellen möchten, werden die Controller auf dem Feld, die Verwendung von labVIEW.
Wenn Ihre wichtigste Arbeit ist die Entwicklung von flexiblen HIL-oder SIL-Systeme, mit einer guten GUI verwenden, können Sie VeriStand. Veristand können mix Simulink und LabVIEW-code.
Und wenn Sie ein großes budget ( SEHR GROß ) und Sie arbeiten in der automotive-Prototypen, die DSPACE-hardware ist eine sehr gute Wahl für die schnelle Entwicklung von automotive-STEUERGERÄTEN oder OPAL zu entwickeln, die elektrische Stromkreise. Aber nur für Prototypen oder HIL-Tests von Steuerungen.
Aus der Sicht von COTS-hardware:
Mathworks dont Herstellung hardware -> Matlab/Simulink-Unterstützung hardware von verschiedenen Anbietern.
National Instruments produzieren/verkaufen, hardware->LabVIEW Real-Time ist konzentriert bei der Unterstützung NationalInstruments hardware. Es gibt keine KINDERBETTEN vollen Ersatz.
InformationsquelleAutor Jesus Alfonso
Viele die beste Antwort würde davon abhängen, Ihre ultimative design-Anforderungen. Sind Sie ein Produkt entwickeln? Wenn ja, in welchem Stadium der Entwicklung sind Sie? Oder machst du die Forschung?
Ich habe vor kurzem einen Vergleich, gerade wie Sie tun. Ich weiß, LV, aber wollte in Richtung hardware-skalierbare option, da NI HW ist sehr teuer in der Lautstärke. Das ist, meine Firma war zu wollen, um zu einem Produkt. Was LV und NI HW geben Ihnen die Flexibilität. Sie können den code ändern sehr schnell, im Vergleich zu C. Auf die andere hand, LV läuft nicht auf annähernd so viele verschiedene HW-Plattformen, wie C. So wollte ich finden, eine preiswerte Plattform, die gut funktionieren würde für die Echtzeit-Steuerung und Datenerfassung, so dass, wenn wir wollten ein Produkt verkaufen für, sagen wir, $30k, unsere controller würde nicht Kosten $15k. Wir landeten mit Diamant-Systeme, Linux SBC. Interessanterweise Simulink endete mit der die meisten teure hardware! Es hat eine Menge Flexibilität und könnte zum generieren von code, sowie Modell-Anlagen und Steuerungen. Aber dann, LV, kann das auch tun.
Als Yair schrieb, LV hat viele gute debugging-tools. Eines der interessantesten tools, die nicht so bekannt ist die Aussetzen, wenn Sie Aufgerufen option für ein SubVI. Dies ermöglicht Ihnen, spielen Sie mit der ein-und Ausgänge eines SubVI, so viel wie Sie wollen, während die Ausführung angehalten wird.
Vielleicht, obwohl LV nicht über die Zuverlässigkeit und die "getestet"-ness von C. In unserem Fall LV war legacy-code, und wir zogen in Richtung C.
Wirklich!!!! Das ist ein bisschen seltsam, wie ich höre, aus Personen, die in Modellierung und simulation, die LV ist zu tun das job-Recht! Aber natürlich, Ihren Fall nicht unbedingt das gleiche.
Ja, wir reden hier von der NASA-zuverlässig. LV stürzt zu oft. In der Tat, der Weg, den wir nahmen, ist so ziemlich genau der gleiche Pfad, den die NASA nahm für eines Ihrer Projekte. Sie wurden mit LV, aber Ihre Zuverlässigkeit Ingenieure warf einen Blick auf LV und sagte, "Nicht stabil genug." So zogen Sie zu Diamond Systems Linux mit C für den übergang zu einer Flug-ready-system. Übrigens, ein typischer Pfad in Richtung auf ein Produkt LV oder Simulink, dann C, dann custom-PCB.
@AdrianKeister
Sie scheinen ganz in der Nähe meiner Branche. Ich bin überrascht, dass LV nicht alle diese Werbung und eigentlich nicht hilfreich, wenn es um etwas so Komplexes wie die NASA oder die ressortübergreifenden Avionik. +1 für das hinzufügen der "By the way" - bit am Ende 🙂 Wirklich hilfreich.InformationsquelleAutor Adrian Keister
Wie ich es verstehe (habe ich nie wirklich benutzt, es im Zorn), LabView unterstützt nur hardware von NI und ist eher hardware-orientiert. Simulink unterstützt hardware verschiedener Hersteller, werden Sie für die Datenerfassung und Echtzeit-Implementierung, aber es kann erfordern ein wenig mehr Arbeit für den Benutzer eine Schnittstelle, um seine oder Ihre eigene hardware (weniger plug & play-als LabView). Auf der anderen Seite, Simulink enthält Werkzeuge zur Unterstützung des gesamten model-based design Prozess von der Modellierung & simulation, control design, verification & validation, code-Generierung, hardware-in-the-loop, etc...
Disclaimer: ich arbeite für MathWorks.
Auch, können Sie Echtzeit-Sondierung in SIMULINK zur Darstellung von Echtzeit-Werte von C-code, verwendet in den Modellen?
Für die Datenerfassung mit Simulink, müssen Sie die Data Acquisition Toolbox (mathworks.co.uk/products/daq), bietet analog-und digital-I/O-Blöcke für verschiedene hardware - (mathworks.co.uk/products/daq/unterstützt/...).
Nicht sicher über die echt-Zeit Werte angezeigt. Ich vermute, die Antwort ist ja, mit einem S-Funktion, aber beachten Sie, dass Simulink läuft auf Windows oder andere non-real-time O/S, und deshalb wird es nicht werden in "harte" Echtzeit, aber "weiche" Echtzeit.
Es ist absolut nicht wahr, dass LabVIEW unterstützt nur hardware von NI.
InformationsquelleAutor am304
Euch wirklich interessiert Control Design und Simulation Module für LabVIEW. Es hat eine Menge von Simulationen und in der Zukunft wettbewerbsfähig sein zu Simulink. Ich bin kein regeltechniker, aber ich verwende es manchmal für einfache Prüf-und ich bin froh, dass ich nicht haben, um zu erfahren, Simulink von Anfang an um einige Arbeit zu tun, da bin ich vertraut mit LabVIEW Philosophie.
InformationsquelleAutor akson128
MATLAB und Simulink sind der defacto-standard für control-system-design und simulation. Simulink controller-Modelle können verwendet werden für eine offline-simulation in Verbindung mit Anlage Modelle, die alle den Weg zu Echtzeit-Implementierung auf embedded targets. Es ist eine Allgemeine Simulations-framework mit umfangreichen Bibliotheken, sowie a-la-carte-special purpose Bibliotheken, und kann erweitert werden durch die Erstellung der benutzerdefinierten Blöcke (S-Funktion-Blöcke) in C und anderen Sprachen. Es beinhaltet die Fähigkeit zur Anzeige von Werten in Diagrammen, numerischen displays, Messmittel, etc. während ein nonrealtime simulation stattfindet. Echtzeit-Unterstützung von target von The Mathworks enthält x86 (xPC Target) und mehrere embedded targets (MPC555, etc.), und es ist 3rd-party-support für andere Ziele. Die oben genannten dSPACE bietet eine vollständige prototyping-Controller samt Unterstützung für Ihre sehr leistungsfähige hardware. xPC Target bietet Unterstützung für eine Vielzahl von COTS-PC-Datenerfassungskarten. Echtzeit-target-Unterstützung enthält GUI-Elemente, wie Graphen, numerischen displays DMS, etc.
InformationsquelleAutor mark