Ich habe eine eigenständige App geschrieben, die ein Gerät über den RS-232-Port steuert, und einige Kunden möchten das Gerät mit LabVIEW verwenden können. Ich habe einige Themen gesehen, die beschreiben, wo ich anfangen soll, wenn ich LabVIEW benutze, aber ich habe mich gefragt, ob jemand Erfahrung mit dem Schreiben eines Plugins / Treibers (ist das das richtige Wort?) Für LabVIEW hat und vielleicht in die richtige Richtung weist. p>
Die vorhandene App ist eine GUI, die es den Leuten ermöglicht, das Gerät mit höheren Ebenen zu steuern - anstatt die Syntax und das Protokoll der seriellen Kommunikation zu kennen. Ich möchte das auch abstrahieren, damit die Benutzer einfach etwas in LabVIEW einfügen können. Ich nehme an, dass es einige Verben und Methoden verfügbar macht, die es ermöglichen, das Gerät zu manipulieren und den Clients Daten zur Verfügung zu stellen.
Ich denke, dass es eine serielle Schnittstelle von LabVIEW gibt, aber ich bin sicher, dass die Leute, die dieses Gerät benutzen, den Code (Parser und etc) nicht schreiben müssen, um mit dem Gerät zu kommunizieren.
Wenn Sie bereit sind, etwas Zeit in die Programmierung in LabVIEW zu investieren, finden Sie die relevanten Informationen zur Entwicklung eines Gerätetreibers unter hier und hier .
Im Wesentlichen sollten Sie eine Reihe von VIs (die Einheit des LabVIEW-Codes) bereitstellen, die die verschiedenen von Ihrem Gerät unterstützten Operationen implementieren. LabVIEW-Programmierer ketten eine Folge von diesen zusammen, indem sie die VISA-Ressource (d. H. Den seriellen Port) und Fehler-In / Out-Terminals verwenden, die Ihre VIs bereitstellen sollten. Siehe den zweiten Link für ein Beispiel.
Wenn Sie nicht lernen möchten, wie Sie das richtig machen - was Ihr zweiter Beitrag vorschlägt - dann erstellen Sie entweder eine DLL, die die notwendigen Funktionen bereitstellt, oder beauftragen Sie einen LabVIEW-Programmierer, den Treiber für Sie zu schreiben. Wenn Sie eine ausreichende Dokumentation Ihres Protokolls vorlegen können und es nicht schrecklich kompliziert ist, sollte es einen Nachmittag dauern. Wenn Sie LabVIEW-Anwender haben, kann einer von ihnen gerne für einen angemessenen Rabatt oder Incentive für Sie arbeiten - es ist wirklich nicht schwer für jemanden, der in LabVIEW kompetent ist, und sie sind diejenigen, die bereits ihre Hände haben auf Ihrem Gerät und verstehen, was es tut. Vielleicht möchten Sie das Ergebnis zuerst mit Ihren anderen LabVIEW-Benutzern testen, da Sie nicht in der Lage sind, die Qualität dessen, was sie selbst tun, zu beurteilen.
Wenn Sie die DLL-Route wählen, müssen Sie prüfen, ob die von Ihnen benötigten Parameter mit LabVIEW-Datentypen kompatibel sind. Ich bin kein C / C ++ - Programmierer, deshalb kann ich Ihnen nicht im Detail sagen, was das bedeutet, aber dies könnte hilfreich sein (Rolf Kalbermatter ist der Guru für die Anbindung von LabVIEW mit externem Code).
Wenn Sie einen LabVIEW-Programmierer finden möchten, kann National Instruments Sie über sein Allianzschema auf einen solchen beziehen.
(Bearbeitet, um einen Link zum LAVA-Forum-Beitrag zum Schreiben von DLLs für LabVIEW hinzuzufügen)
Es gibt zwei Optionen für das, was Sie versuchen möchten.
Erstellen Sie eine DLL, mit der Benutzer Ihres Geräts von LabVIEW aus anrufen können .
>Schreiben Sie Ihre Anwendung in LabVIEW neu.
Um die größtmögliche Anzahl potentieller Kunden zu erreichen, wäre Option # 1 die beste Lösung für Sie. Wenn Ihre Kunden speziell nach einem LabVIEW-Treiber fragen, wäre Option 2 für den jeweiligen Kunden wahrscheinlich die geringste Hürde. Der Grund dafür ist, dass LabVIEW eine Nischensprache ist (für Automatisierung und Datenerfassung), und für viele LabVIEW-Entwickler ist es die einzige Sprache, die sie kennen (oder die einzige, die sie gut kennen).
LabVIEW kann RS232-Kommunikation mit wenigen Problemen bewältigen - Sie müssen dem Kunden lediglich eine Liste der Befehle und der Syntax zur Verfügung stellen, die das Gerät verwendet, und vielleicht ein kleines Framework oder ein Beispiel-VI mit grundlegenden Funktionen.
Ich begrüße Sie, dass Sie einen robusteren Treiber bereitstellen möchten, bei dem der Benutzer nicht seine eigenen Befehle parsen muss; Was von den meisten Anbietern als LabVIEW-Treiber bezeichnet wird, ist wenig mehr als ein paar Befehle ('init', 'read'), die in einer einfachen GUI gebündelt sind.
Sie müssen Ihre vollständige Anwendung nicht neu erstellen, sondern geben Sie ihnen genug, um von selbst anzufangen =)
Um zu beginnen, werden Sie wahrscheinlich VISA in LabVIEW .
Die beste Ressource für LabVIEW-Programmierer ist die Knowledge Base von National Instruments . Da LabVIEW nur in einem so kleinen Segment beliebt ist, gibt es nicht viele andere Web-Ressourcen.
Ein Buch, das ich bei der Programmierung in LabVIEW gelesen habe, war LabVIEW Power Programming . Es hat eine Menge guten Beispielcode, und wenn ich mich richtig erinnere, zeigt es Ihnen, wie man DLLs von Drittanbietern benutzt, die in C ++ geschrieben sind. Was es definitiv nicht zeigt, ist, wie man diese DLLs schreibt.
Ihr Kunde möchte Ihren Code mit LabVIEW verwenden. Dies bedeutet nicht, dass Sie LabVIEW-Code schreiben müssen.
LabVIEW kann mit DLLs interagieren. Der Trick besteht darin, die komplizierteren Datenstrukturen zu vermeiden. Wenn Sie den Wert der grundlegenden Datentypen beibehalten, haben Sie kein Problem. LabVIEW kann auch mit Arrays von und zu DLLs arbeiten. Vermeiden Sie Zeiger auf Zeiger oder Zeiger auf Strukturen.
LabVIEW kann auch mit .NET-Assemblys interagieren.
Es gibt auch nichts, was Sie daran hindern könnte, ein Client / Server-Modell über TCP / IP zu verwenden.
Tags und Links labview