Ein funktionsfähiger Prototyp ist ein interaktives und testbares Modell eines Produkts, das wie die fertige Hardware oder Software arbeitet oder deren Arbeitsweise simuliert. Das Testen eines funktionsfähigen Prototyps ermöglicht es den Konstrukteuren und Ingenieuren, Probleme vor Produktionsbeginn zu erkennen, was möglicherweise Aufwendungen an Zeit und Geld spart, die für die Behebung von Problemen während der Fertigung oder nach der Freigabe anfallen würden.
Mit einer spannenden und innovativen Idee für ein neues Gerät können Sie versucht sein, das Papierdesign ganz zu überspringen und sofort mit einem physischen Prototyp zu beginnen. Dieser Versuchung zu widerstehen, erspart Ihnen auf lange Sicht Zeit und verschwendete Mühe. Die Zeit, die Sie in Papierdesign investieren, zahlt sich später aus und hilft Ihnen, viele häufige Fallstricke im Entwurfsprozess zu vermeiden. Papierdesign bedeutet nicht, dass Sie den detaillierten Entwurf für Ihren Prototyp mit einem Stift auf Papier bringen. Papierdesign ist das Erstellen eines Plans vor dem Entwickeln von Software oder Hardware. Zu den Vorteilen des Papierdesigns gehört es, Ideen aus dem Kopf auf das Papier zu bringen, früher statt später zu scheitern und frühzeitig Kundenfeedback zu erhalten.
Wie gelangt man von einer großartigen Idee und einer groben Skizze zu einem detaillierten Papierdesign? Der erste Schritt besteht darin, Ihre Ziele klar zu definieren, indem Sie eine Liste der Benutzeranforderungen erstellen. Diese Anforderungen sollten so konkret wie möglich sein. In dieser frühen Phase ist Forschung entscheidend, um sicherzustellen, dass Sie Ihre skizzierten Anforderungen erfüllen können. Ist Ihr Entwurf realisierbar? Wird er Ihre Anforderungen tatsächlich erfüllen können? Achten Sie darauf, zwischen Bedürfnissen und Wünschen für Ihren Entwurf zu unterscheiden. Als Innovator können Sie versucht sein, Ihrem Prototyp fortgeschrittene, aber nicht unbedingt notwendige Funktionen hinzuzufügen. Kennen Sie Ihre Ziele und halten Sie sich daran.
Mit Abstraktion können Sie eine Anwendung beschreiben, ohne zu definieren, wie die Anwendung programmiert werden soll. Abstraktion verallgemeinert die Anwendung auf ein hohes konzeptionelles Niveau. Die zwei Hauptabstraktionsarten sind die prozedurale Abstraktion und die Datenabstraktion. Die prozedurale Abstraktion unterscheidet, was eine Prozedur ausgehend von der Art der Implementierung bewirkt. Die Datenabstraktion trennt die Daten, die gespeichert werden sollen, von den physikalischen Mitteln zum Speichern der Daten. Zur Unterstützung bei der Abstraktion sollten Sie Schlüsselverben und -substantive aus Ihrem Dokument mit den Systemvoraussetzungen entfernen. Anhand dieser Verben und Substantive können Sie bestimmen, was Ihr Programm tun muss und welche Objekte Teil Ihrer Benutzeroberfläche sein werden. Die Verben und Substantive helfen Ihnen auch, die Hardwarekomponenten zu bestimmen, die Sie zur Fertigstellung Ihres Prototyps benötigen.
Nachdem Sie anhand Ihrer Geräteanforderungen eine Gruppe abstrahierter Komponenten ermittelt haben, können Sie ein Ablaufdiagramm verwenden, um von abstrahierten Komponenten zu einem Softwaredesign überzugehen. Ablaufdiagramme helfen Ihnen, ein gutes Verständnis des Anwendungsablaufs zu entwickeln, indem sie die Anwendung in überschaubare Teile aufteilen. LabVIEW ist eine grafische Programmier- und Entwicklungsumgebung, die speziell darauf ausgelegt ist, die Produktivität von Ingenieuren und Wissenschaftlern zu erhöhen, was sie zu einem idealen Werkzeug für die schnelle Umwandlung Ihres Papierdesigns in Code macht. Da ein LabVIEW Blockdiagramm einem Ablaufdiagramm ähnelt, ist der Übergang vom Ablaufdiagramm zum Softwarecode ein schneller Prozess.
Abbildung 1: Beachten Sie in dieser Abbildung des Ablaufdiagramms, Zustandsdiagramms und Zustandsautomaten für einen Blutdruckmonitor, dass die fünf im Zustandsdiagramm definierten Zustände im Zustandsautomaten implementiert sind.
Ein Zustandsdiagramm ist ein spezielles Ablaufdiagramm, das die Zustände eines Programms und die Übergänge dazwischen zeigt. Jeder Zustand erfüllt eine Bedingung, führt eine Handlung aus oder wartet auf ein Ereignis. Die Übergänge zwischen den Zuständen sind Bedingungen, Aktionen oder Ereignisse, die dazu führen, dass das Programm zum nächsten Zustand übergeht. Zustandsdiagramme eignen sich für das Prototyping, da fast alle Embedded-Systeme eine Zustandsarchitektur verwenden. Das heißt, sie werden mit dem Wissen entworfen, dass sich der Prototyp immer in einem gegebenen Zustand befindet, auch wenn dieser Zustand der Ruhezustand ist.
In LabVIEW besteht ein Zustandsautomat aus einer Case-Struktur, einer While-Schleife und einem Schieberegister. Ein Anfangs-Case wird außerhalb der Schleife angegeben. Jeder Zustand in Ihrem Zustandsdiagramm entspricht genau einem Case in der Case-Struktur. Jeder Case enthält Programmcode, der einen Zustand implementiert, und Logik, die den Übergang zu anderen Cases definiert. Mit dieser Architektur können Sie Ihre Anwendung skalieren, indem Sie dem Zustandsautomaten weitere Cases und Logik hinzufügen.
Der beste Zeitpunkt für das Erstellen eines Prototyps einer Benutzeroberfläche (UI) ist oft, wenn Sie Ihren Entwurfsprozess von Papier auf Software umstellen. Das Prototyping einer Benutzeroberfläche hilft Ihnen, bei diesem Übergang die Entwurfsarchitektur und die Anwendungsanforderungen zu durchdenken. Manchmal ist es noch wichtiger, dass es potenziellen Kunden und Investoren eine substanzielle Demonstration der Gerätefunktionalität bietet. Je komplexer Ihr Prototyp ist, desto wertvoller wird ein UI-Prototyp beim Aufbauen des Supports und beim Sammeln von Feedback für Ihren Entwurf. Schließlich entsteht dabei das große Ganze, das die Prototyp-Designer beim Entwickeln von Funktionen und beim Hinzufügen von Funktionen zum Prototyp unterstützen kann. Diese Vorteile des UI-Prototypings können Geld sparen, die Entwicklungszeit verkürzen und letztlich zu einem besseren Produkt führen.
Abbildung 2: In LabVIEW entworfene UI (Code von der UI-Interessengruppe anfordern)
LabVIEW verfügt über ein integriertes Frontpanel, was es zu einem idealen Werkzeug für die schnelle Entwicklung einer in hohem Grad benutzerspezifisch anpassbaren Benutzeroberfläche macht. LabVIEW ermöglicht Ihnen beim Durchlaufen des Entwurfs- und Prototyping-Zyklus das einfache Hinzufügen von Funktionen, wodurch Nacharbeiten beim wiederholten Durchlaufen Ihres Entwurfs minimiert werden. Mit LabVIEW können Sie schnell einen Prototyp Ihrer Benutzeroberfläche erstellen, während des Prototyping-Prozesses bearbeiten und sogar in ein fertiges Produkt übertragen.
In LabVIEW können Sie alle erforderlichen Ein- und Ausgänge erstellen und ein Frontpanel erstellen, bevor Sie eine einzige Codezeile schreiben oder sogar Ihre Anwendungsarchitektur fertigstellen. Dieses Modell Ihrer Benutzeroberfläche ist nützlich, um zu bestimmen, welche Ein- und Ausgänge Sie wirklich benötigen. Sie können es auch verwenden, um die Dokumente mit den Anforderungen zu verfeinern.
Abbildung 3: UI-Modell in LabVIEW
Der nächste Schritt beim Prototyping einer Benutzeroberfläche ist das Hinzufügen von Funktionen zu Ihrem Modell, um Benutzern zu ermöglichen, mit dem Frontpanel zu interagieren, durch Menüs zu klicken, Steuerelemente anzupassen und Ergebnisse basierend auf Beispieldatensätzen oder generierten Zufallszahlen zu sehen. Das Schöne an diesem Ansatz ist, dass Sie einen Prototyp einer Benutzeroberfläche erstellen und gleichzeitig Ihre Softwaredesignstruktur definieren. Wenn Sie beides gut können, dann können Sie während des restlichen Prototyping-Prozesses auf der Struktur aufbauen.
Virtuelles Prototyping ist die innovative Methode der Kombination von mechanischer Modellierung und Simulation mit Reglerdesign, um die Effizienz von Entwurf und Prototyping von Embedded-Systemen und -Geräten zur Steuerung zur Regelung zu erhöhen. Beim virtuellen Prototyping können Sie Ihre Software-Entwurfs- und Steueralgorithmen mit Ihren mechanischen 3D-CAD-Modellen verbinden, um die Mechanik Ihres Systems zu testen, bevor Sie Ihren ersten physischen Prototyp erstellen.
Abbildung 4: Die Methode des virtuellen Prototypings
Virtuelles Prototyping senkt die mit dem Maschinendesign verbundenen Risiken, indem es das Verständnis der Kundenanforderungen verbessert, den Entwurfsprozess beschleunigt und die Fehlersuche optimiert. Ohne einen virtuellen Prototyp müssten Sie den gesamten physischen Prototyp erstellen, bevor Sie konkretes Kundenfeedback zur Funktionsweise des Produkts erhalten könnten. Durch die Verwendung des virtuellen Prototypings können Sie dem Kunden eine digitale Darstellung der Mechanik der Maschine zeigen und schneller Feedback erhalten, bevor die Maschine tatsächlich gebaut wird. Dies stellt sicher, dass Kunden stärker in den Entwurfsprozess einbezogen werden, und verhindert, dass Sie warten müssen, bis es im Prototyping-Prozess zu spät ist, um Kundenfeedback zu erhalten.
Darüber hinaus können Sie die Markteinführungszeit Ihres Produkts verkürzen, indem Sie einen virtuellen Prototyp erstellen. Ein Prototyp dieses Typs hilft Ihnen bei der Konzeption und Iteration eines virtuellen Entwurfs, sodass Sie in der Lage sind, einen physischen Prototyp gleich beim ersten Mal richtig zu erstellen. Durch die Möglichkeit, Steuerungssoftware mit einem 3D-CAD-Modell zu verbinden, können Sie Probleme finden und beheben, die Sie vor dem Erstellen des physischen Prototyps normalerweise nicht finden. Sie können Bewegungssteuerungscode wie 2D- und 3D-Bewegungsprofile schreiben und das Ergebnis des Codes am 3D-Modell sehen. Wenn ein Teil so groß ist, dass es zu einer Kollision führen kann, oder wenn Sie den Unterschied zwischen einer Konturbewegung und einer linearen Bewegung sehen möchten, dann können Sie mit virtuellem Prototyping das Problem beheben und den Unterschied anzeigen. Im Vergleich zum herkömmlichen Entwurfsansatz hilft Ihnen das virtuelle Prototyping, wichtige Entwurfsentscheidungen früher im Prozess zu treffen.
Mit LabVIEW kann jedes mechanische System simuliert werden. Mit dem LabVIEW Control Design and Simulation Module können Sie das Verhalten offener Regelkreismodelle analysieren, Regler entwerfen, Online- und Offline-Systeme simulieren und physische Implementierungen durchführen.
Abbildung 5: Werkzeuge im LabVIEW Control Design and Simulation Module
Sie können Modelle basierend auf ersten Prinzipien mit Hilfe einer Übertragungsfunktions-, Zustandsraum- oder Nullstellen-Polstellen-Darstellung erstellen. Darüber hinaus können Sie das Steuer- und Regelverhalten dieser Modelle mit Hilfe von Zeit- und Frequenzanalysewerkzeugen wie Zeitsprungantwort oder Bode-Plot interaktiv analysieren. Verwenden Sie integrierte Werkzeuge für MIMO- (Multiple-Input Multiple-Output) und SISO-Systeme (Single Input Single Output) und nutzen Sie Simulationsfunktionen, um die Dynamik linearer und nicht linearer Systeme zu überprüfen. Sie können auch integrierte Werkzeuge verwenden, um Ihre Modelle, die in Simulink®-Software von The MathWorks, Inc. entwickelt wurden, für die Arbeit mit LabVIEW zu konvertieren.
Das Hinzufügen von I/O zu Ihrem Prototyp ist beim Erstellen eines wirklich funktionsfähigen Systems unerlässlich. Durch das Hinzufügen von Sensoreingaben und Steuerungsausgaben beweisen Sie, dass Ihr Entwurf funktioniert und in der realen Welt implementiert werden kann. Die Erstellung eines Papierentwurfs, die Implementierung dieses Entwurfs in Software und sogar die Simulation des Entwurfs in einer virtuellen Umgebung sind noch weitgehend konzeptionelle Übungen. Um skeptischen Investoren den Wert Ihres Entwurfs zu beweisen, benötigen Sie einen funktionsfähigen Entwurf, der in der realen Welt existiert und mit ihr interagiert. Daten aus Prototyping-Prozessen helfen Ihnen auch, funktionsbezogene Anforderungen mit Kunden und dem Rest des Entwurfsteams basierend auf der tatsächlichen Leistung zu verfeinern.
Das grundlegende Wissen, das erforderlich ist, um einen Sensor von Grund auf in ein System zu integrieren und aussagekräftige Daten daraus zu entnehmen, stellt einen oft unvorhergesehenen Zeit- und Ressourcenaufwand dar. Die benutzerdefinierte Art der traditionellen Sensorintegration bedeutet kostspielige Nacharbeiten für jede Entwurfsänderung. Und Entwurfsänderungen treten in der Regel auf, besonders bei Sensoren, da die Übersetzung von Spezifikationen, um sicherzustellen, dass sie den Anforderungen Ihres Prototyps entsprechen, an sich bereits eine Herausforderung darstellen kann.
Das Hinzufügen von I/O zu Ihrem Prototyp kann eine entmutigende Aufgabe sein. Dies ist oft der Knackpunkt im Prototyping-Prozess, da es schwierig ist, den Gesamtaufwand an Zeit und Ressourcen für die Entwicklung einer benutzerdefinierten I/O-Lösung vorherzusagen.
Die Überwindung der traditionellen Schwierigkeiten beim Prototyping mit I/O erfordert einen Paradigmenwechsel, insbesondere für Fachleute, für die Geräte effizient einen Prototyp erstellen müssen, aber möglicherweise nicht über die spezialisierten Ressourcen verfügen, um Probleme mit Low-Level-Sensorschnittstellen zu lösen.
NI-Tools helfen Ihnen, diese Hindernisse zu überwinden, indem sie integrierte Hardware und intuitive grafische Software, rekonfigurierbare I/O-Geräte sowie die erforderlichen IP- und Support-Systeme bereitstellen, die Sie benötigen, um erfolgreich zu sein.
Abbildung 6: Durch die Kombination von CompactRIO und modularen, während des Betriebs austauschbaren I/O-Modulen der C-Serie mit integrierter Signalaufbereitung können Sie Ihrem Prototyp schnell I/O hinzufügen.
Die erfolgreiche Integration von Sensoreingabe und Steuerungsausgabe in einen funktionsfähigen Prototyp ist ein großer Fortschritt auf dem Weg zur Bereitstellung und Massenfertigung. Dieser Schritt beweist, dass Sie einige der größten Herausforderungen im Produktentwurfsprozess gemeistert haben.
Algorithm Engineering ist ein Begriff für den Entwurf von angewandten Algorithmen. Es geht um den Prozess der Umwandlung eines Bleistift-und-Papier-Algorithmus in eine robuste, gut getestete und benutzerfreundliche Implementierung. Die Implementierung eines Algorithmus zur Bereitstellung der gewünschten Funktionalität in einem Prototyp kann der schwierigste Teil des gesamten Produktentwicklungslebenszyklus sein, hat aber auch das Potenzial, am lohnenswertesten zu sein. Durch die Anwendung von realen I/O können Sie sehen, wie die Funktionalität Ihres Algorithmus vor Ihren Augen zum Leben erweckt wird.
Die Implementierung von Algorithmen in einen funktionalen Prototyp kann aus verschiedenen Gründen schwierig sein:
Einschränkungen bei der Programmierung: Steuerungen oder Prozessoren, die aufgrund ihrer I/O-Fähigkeiten ausgewählt werden, z. B. FPGAs, bedeuten für den Entwickler oft Einschränkungen bei der Programmierung. Die Programmierung für verschiedene Plattformen erfordert in der Regel Programmierkenntnisse, die nur wenige System-Level-Designer beherrschen.
Implementierung grundlegender Algorithmen: Die Implementierung von Low-Level-Algorithmen für grundlegende Funktionen nimmt Zeit in Anspruch. Geschwindigkeit ist das A und O bei der Prototypenerstellung, und Designer können es sich oft nicht leisten, einen bekannten Algorithmus von Grund auf neu zu implementieren, da kein Code vorhanden ist.
Überarbeiten von Algorithmen für mehrere Plattformen: Im Zuge der Weiterentwicklung des funktionsfähigen Prototyps müssen Algorithmen oft überarbeitet werden, um sie auf einen anderen Systemtyp zu übertragen. Der Code funktioniert selten zwischen verschiedenen Laufzeitumgebungen. Das macht die Skalierung einer Anwendung vom Prototyping bis zur Bereitstellung schwierig.
Test und Verifizierung: Ob ein System die funktionsbezogenen Anforderungen erfüllen kann, lässt sich bis zum Ende des Prozesses nur schwer abschätzen, und ein Neubeginn ist teuer. Der Prozessor kann beispielsweise die erforderliche Anzahl von parallelen Tasks nicht schnell genug ausführen. Es kann möglicherweise keine ausreichende Zykluszeit erreicht werden. Außerdem kann die prozessorintensive Analyse möglicherweise nicht in Echtzeit ausgeführt werden.
Beim grafischen Systemdesign mit LabVIEW werden viele der potenziellen Fallstricke behoben, die bei der Entwicklung von Algorithmen für einen Funktionsprototypen auftreten können. Grafisches Systemdesign ist ein Ansatz zur Lösung von Designherausforderungen, der intuitive grafische Programmierung und flexible kommerzielle Standardhardware (COTS, Commercial off-the-shelf) kombiniert. Mit diesem Ansatz können Sie für alle Phasen des Entwurfs eine einzige Umgebung verwenden. Sehen Sie sich nun genauer an, wie dieser Ansatz die oben genannten Herausforderungen angeht.
Einer der Vorteile des grafischen Systemdesigns besteht darin, dass es Programmierern die Möglichkeit gibt, ihre Algorithmen unabhängig vom Berechnungsmodell (MoC, Model of Computation) zu erstellen, mit dem sie implementiert werden. Da der Code für Algorithmen immer komplexer wird, müssen Programmierer verschiedene Berechnungsmodelle (MoCs) verwenden, um ihre Programmierfähigkeiten zu erweitern. Im Folgenden finden Sie einige MoCs, die Sie beim grafischen Systemdesign verwenden können:
Datenfluss: Datenfluss ist das MoC, das am häufigsten mit der Software LabVIEW in Verbindung gebracht wird. Beim Datenfluss muss der Entwickler vor der Ausführung an allen Eingängen Daten einfügen. Der Datenfluss ist eine intuitive Programmierstruktur, die die Implementierung von Anwendungen wie parallelen Prozessen vereinfacht.
Textbasierte Mathematik: Textbasierte Mathematik ist ein weiteres Werkzeug zum einfachen Erstellen komplexer Funktionen. Textbasierte Mathematik ist eine für Menschen lesbare Implementierung oft komplexer Algorithmen, die einfacher in Form einer Skriptbeschreibung zu schreiben sind. Beispiele für textbasierte Mathematik sind der Formelknoten und das LabVIEW MathScript RT Module. Mit LabVIEW MathScript können Sie die am besten geeignete Syntax für die Entwicklung von Algorithmen auswählen, sei es bei der Entwicklung von Algorithmen, der Erforschung von Signalverarbeitungskonzepten oder der Analyse von Ergebnissen.
Abbildung 7: Wiederverwenden von textbasiertem Programmcode mit dem LabVIEW MathScript RT Module
C-Code: Manchmal wurde der verwendete Algorithmus ursprünglich in C oder C++ erstellt. In diesem Fall müssen Sie die vorherige Arbeit nicht mehr verwerfen. Sie können stattdessen auch den Inline-C-Knoten oder den Knoten zum Aufruf externer Bibliotheken verwenden, um Ihren vorherigen Programmcode direkt in LabVIEW aufzurufen. Verwenden Sie den Inline-C-Knoten, um bereits vorhandenen C-Code oder kleine numerische oder Array-Algorithmen zu implementieren. Verwenden Sie den Knoten zum Aufruf externer Bibliotheken, um auf C-Code in DLLs oder gemeinsam genutzten Bibliotheken zuzugreifen.
Im Laufe der Jahre hat die LabVIEW-Plattform in zahlreichen Designdisziplinen eine breite Akzeptanz gefunden, was dazu führte, dass Daten mit verschiedenen Design- und Simulationswerkzeugen zusammengeführt werden mussten. LabVIEW erreicht diese Kompatibilität mit zahlreichen Integrationswerkzeugen, Bibliotheken und Dateiformaten. LabVIEW bietet außerdem Standardintegrationsfunktionen mit einer Vielzahl anderer Softwaretools und Messressourcen, darunter die folgenden:
Mit diesen Werkzeugen ist die Integration mit Daten fast aller Arten von Mess- und Regelgeräten möglich. Durch die Kombination von LabVIEW mit universellen Standards für die Hardwarekommunikation können Entwickler Kompatibilität und Skalierbarkeit für viele Jahre sicherstellen.
Die Hunderte von Funktionen in LabVIEW, die eine Vielzahl traditioneller Algorithmen in den Bereichen Mathematik, Signalverarbeitung, Wahrscheinlichkeits- und Regelungstechnik abdecken, sind wesentliche Bausteine für jeden benutzerdefinierten Algorithmus. Diese Funktionen erleichtern das Schreiben von Low-Level-Code und geben Ingenieuren die Zeit, sich auf eine Lösung statt auf die Implementierung zu konzentrieren.
Da die Erfassung von Messwerten mit LabVIEW so einfach ist, sollten Ingenieure ihre Algorithmen mit tatsächlichen Daten testen, um sie iterativ zu optimieren. Bei diesem interaktiven Testansatz können Sie mit verschiedenen Funktionen experimentieren, um festzustellen, ob das gewünschte Ergebnis geliefert wird. Wenn Sie beispielsweise ein Signal mit einem Filter verarbeiten, können Sie aus einer Vielzahl von Lösungen auswählen, das gewünschte Signal erfassen und die Ergebnisse in einem Graph oder einer Datei anzeigen. Wenn die Ergebnisse nicht für die Anwendung geeignet sind, können Sie einen anderen Filter auswählen. Oftmals ist es einfacher, das tatsächliche Signal für einen Algorithmus zu erfassen und es dann mit einer Software zu simulieren.
Abbildung 8: NI liefert LabVIEW mit Hunderten von integrierten Algorithmen, die Sie in Ihrem Prototyp verwenden können.
Ein Zweck eines Prototyps ist es, potenziellen Kunden, Investoren und Kollegen schnell eine Idee und einen Entwurf zu demonstrieren. Ein weiterer und ebenso wichtiger Grund für einen Prototyp ist das Testen und Validieren eines Entwurfs auf grundlegende Eignung der Software und Hardware. Oft werden Probleme erst dann deutlich, wenn Sie die elektrischen, Software- und mechanischen Komponenten eines funktionsfähigen Prototyps kombinieren.
Durch gründliches Testen in der Prototyping-Phase können Sie Probleme frühzeitig erkennen, bevor sie hohe Kosten verursachen und ihre Behebung unrealistisch wird. Prototypentests liefern konkrete Beweise für Leistungsangaben und führen zu einem zuverlässigeren Endprodukt, das Sie getrost zum Einsatz bringen können.
Softwaredefinierte Instrumente sind von Natur aus flexibel und einfach zu automatisieren. Aus diesem Grund können heutige Produktentwurfsteams ihre Entwicklungsprozesse rationalisieren, indem sie den Zeitaufwand für manuelle Tests reduzieren und den Instrumentierungsaufwand im Labor minimieren.
Mit der grafischen Softwareplattform LabVIEW können Sie einfache Programme einrichten, um die Qualität und Zuverlässigkeit des Hauptalgorithmus zu testen. Achten Sie beim Prototyping auf die folgenden zwei Hauptaspekte des Tests:
Grenzwerttest: Stellen Sie sicher, dass das Softwaredesign qualitativ hochwertige Daten an den I/O-Kanälen für eine Reihe von Datenpunkten bereitstellt. Dies hilft, den Prototyp während des gesamten Produktentwicklungszyklus innerhalb der Qualitätsspezifikationen zu halten.
Stresstests: Vergewissern Sie sich, dass die Qualitätsspezifikationen für lange Einwirkzeiten eingehalten werden und alle I/O-Kanäle gleichzeitig an ihre Grenzen stoßen. Der Algorithmus muss robust genug sein, um Situationen zu begegnen, in denen eine Überlastung der verarbeiteten Daten vorliegt.
Testen Sie ohne Hardware, indem Sie Simulations-VIs verwenden, um den Software-Algorithmus an die Grenzen zu bringen. Sie können dazu in LabVIEW eine Vielzahl von Signalerzeugungs-VIs verwenden oder ein VI entwickeln, das Ihre tatsächliche I/O genau abbildet.
Abbildung 9: Methoden zur I/O-Simulation
Softwaretests können eingeschränkt sein, da sie nicht das gleiche Gefühl wie reale Hardware bieten. Mit LabVIEW können Sie COTS-Hardware für reale I/O-Tests verwenden.
Sie können physische Hardware-I/O mit einem Digitalmultimeter oder einem Datenerfassungsgerät auf Fehler untersuchen. In Kombination mit dem Treiber für NI-DAQmx bietet LabVIEW eine einfach zu bedienende High-Level-Schnittstelle für komplexe Datenerfassungsaufgaben mit DAQmx-Express-VIs.
Abbildung 10: Tests mit NI-DAQ-Hardware
Es kann schwierig sein, den Entwurfsprozess von einer Idee über ein Papierdesign bis hin zu einem funktionsfähigen Prototyp und schließlich zu einem Produkt, das freigegeben werden kann, zu durchlaufen. Sie müssen daher Wege finden, um den Übergang zwischen diesen Phasen zu erleichtern. Die ideale Situation ist, einen Prototyp zu entwerfen, den Sie tatsächlich bereitstellen können, was bedeutet, dass Sie ihn in hohen Stückzahlen produzieren und verteilen können. Dies kommt in der Praxis nicht oft vor, aber durch Entwurf und Prototyping mit Blick auf die Bereitstellung können Sie sicherstellen, dass die Schlüsselkomponenten Ihres Entwurfs bis zur Bereitstellung Bestand haben. Der Schlüssel liegt darin, die richtigen Tools und Plattformen zu finden, die Ihnen nicht nur die Flexibilität und Fähigkeiten bieten, die für ein effektives Prototyping notwendig sind, sondern auch leistungsfähig und anpassbar genug sind, um auf den Markt zu kommen.
Abbildung 11: Ideal ist ein Prototyp, der dem Endprodukt nahekommt.
Die LabVIEW RIO-Architektur (Rekonfigurierbare I/O) ist integraler Bestandteil der grafischen Systemdesignplattform von NI. Das grafische Systemdesign ist ein moderner Ansatz für das Entwerfen, Prototyping und Bereitstellen von Systemen zur Steuerung, Regelung und Überwachung und kombiniert die offene grafische Programmierumgebung LabVIEW mit COTS-Hardware, um die Entwicklung drastisch zu vereinfachen, was zu hochwertigeren Entwürfen und der Möglichkeit führt, einen benutzerdefinierten Entwurf zu integrieren.
Die LabVIEW RIO-Architektur besteht aus vier Komponenten: einem Prozessor, einem rekonfigurierbaren FPGA, modularer I/O-Hardware und grafischer Entwurfssoftware. Zusammen bieten diese Komponenten die Möglichkeit, schnell benutzerdefinierte Hardwareschaltungen mit leistungsstarker I/O zu erstellen und eine beispiellose Flexibilität bei der System-Timing-Steuerung zu erreichen. Viele Produkte von NI arbeiten mit dieser Architektur.
Abbildung 12: NI bietet Produkte mit der LabVIEW RIO-Architektur für maximale Flexibilität, Zuverlässigkeit und Leistung.
Single-Board-RIO-Controller sind in hohem Grad benutzerspezifisch anpassbare Einzelleiterplatten, die die größte Flexibilität bieten. Die I/O-Anschlüsse, die Stromversorgung und das Gehäuse müssen Sie bereitstellen. Single-Board RIO ermöglicht eine nahtlose Benutzerintegration in das Endprodukt. Wenn Sie noch mehr Flexibilität oder eine kompaktere Größe benötigen, ist dies mit dem NI System on Module (SOM) für Ihren Entwurf möglich.
Abbildung 13: Single-Board-RIO- und SOM-Controller bieten maximale Flexibilität.
Wenn Sie robustere Anforderungen haben, ist CompactRIO-Hardware die beste Option. Diese industrielle Hardware ist in der Lage, ein hohes Maß an Belastung zu ertragen. Wenn Sie ein Gerät benötigen, das starken Stößen und Vibrationen standhalten kann, und Sie nicht die Zeit und das Geld für die Entwicklung Ihres eigenen Controllers aufwenden möchten, der unter diesen rauen Bedingungen funktioniert, dann sollten Sie CompactRIO in Betracht ziehen. Abgesehen von ihrer Robustheit erfordert die CompactRIO-Plattform nicht die für Single-Board-RIO-Geräten notwendige Anpassung. CompactRIO ist auch eine gute Lösung, wenn Sie keine eigenen Stromwandler-, Gehäuse- oder I/O-Anschlüsse verwenden möchten.
Abbildung 14: CompactRIO-Controller bieten maximale Robustheit.
Multifunktions-RIO-Geräte der R-Serie sind eine effektive Option für präzisere Messungen, z. B. in Laborumgebungen oder wenn Sie durch eine PC-basierte Plattform eingeschränkt sind. Diese in PCI-, PCI-Express-, USB-, PXI- und PXI-Express-Formfaktoren erhältlichen Geräte bieten im Vergleich zu Single-Board RIO und CompactRIO eine überlegene I/O-Signalaufbereitung und Genauigkeit. Geräte der R-Serie bieten die Leistungsfähigkeit der LabVIEW RIO-Architektur, mit der Sie Ihre Fähigkeiten stärker erweitern können als mit herkömmlichen Datenerfassungslösungen.
Abbildung 15: Durch die Datenerfassung der R-Serie wird LabVIEW FPGA zu Standard-PC-Formfaktoren hinzugefügt.
Wenn Sie eine ultraleistungsfähige I/O mit Geschwindigkeiten bis zu 3 GS/s analog oder 1 Gb/s digital benötigen, dann ist FlexRIO die beste Option. Ganz gleich, ob Sie Ihre Testkosten minimieren oder die Entwicklung Ihres nächsten Embedded-Systems beschleunigen möchten, FlexRIO bietet die schnellste I/O und die größten FPGAs in der LabVIEW RIO-Architektur, die Ihnen helfen, einige der komplexesten Prototyping- oder Bereitstellungsaufgaben zu bewältigen.
Abbildung 16: FlexRIO-Controller und -Module bieten maximale FPGA- und I/O-Leistung.
Die LabVIEW RIO-Architektur bietet nicht nur eine Vielzahl möglicher Formfaktoren, sondern auch eine gemeinsame Plattform. Das bedeutet, dass Sie für jedes von der LabVIEW RIO-Architektur unterstützte Produkt denselben Programmcode und dieselben Prozesse verwenden und bei Bedarf zwischen diesen wechseln können. Wenn Sie zwischen Single-Board RIO, CompactRIO, R-Serie oder FlexRIO wechseln, können Sie den größten Teil Ihres Programmcodes wiederverwenden. Selbst wenn Sie nicht alle Anforderungen an das Endprodukt vollständig kennen, führt ein Fehler bei der Auswahl einer Prototyping-Plattform nicht zu einer vollständigen Überarbeitung Ihres gesamten Programmcodes. Dadurch kann der Prototyping-Prozess früher beginnen, was die Entwicklungszeit beschleunigt. Sie können Ihren Prototyp auch mit CompactRIO beginnen und auf Single-Board RIO umsteigen, um ihn mit minimalem mechanischem Aufwand und fast ohne Softwareänderungen bereitzustellen. Auch dies ist aufgrund der gemeinsamen Plattform möglich.
Prototyping ist ein entscheidender Bestandteil des Embedded-Design-Prozesses. Die Fähigkeit, Investoren, Kunden und dem Management eine funktionierende Idee zu demonstrieren, ist eine großartige Möglichkeit, Ihre Idee in einem Budget unterzubringen. NI-Tools zum grafischen Systemdesign haben sich als nützlich erwiesen, um einen funktionsfähigen Prototyp schnell in Betrieb zu nehmen, ohne ein großes Entwurfsteam zu benötigen. Die Nutzung dieser Schritte zum Erstellen eines hochwertigen funktionalen Prototyps kann Ihnen einen Schnelleinstieg in Ihre nächste Anwendung ermöglichen.
Simulink® ist eine eingetragene Marke von The MathWorks, Inc.