LabVIEWForum.de
LabVIEW mit Mikrocontroller verbinden - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenkommunikation (/Forum-Datenkommunikation)
+---- Thema: LabVIEW mit Mikrocontroller verbinden (/Thread-LabVIEW-mit-Mikrocontroller-verbinden)



LabVIEW mit Mikrocontroller verbinden - Hasenfuss - 06.11.2015 18:06

Hi Leuts,

die Komponenten von NI sind zwar alle cool und super, manchmal jedoch recht teuer und nicht immer für ein Projekt finanzierbar. Ich möchte bspw. einfach ein paar Temperatursensoren einlesen und könnte dazu auch einen ADC in einem Mikrocontroller benutzen.

Ein uC, mit dem ich grade arbeite, besitzt folgende Schnittstellen:

SPI
I2C
Canbus
USB (serielle Schnittstelle)

Ich möchte bidirektional Daten an den UC senden und einlesen, z.B. ein Kommando - Lese Temperaturwerte - und dann werden vom uC am gewählten Kommunikationsbus die Werte bereitgestellt und können vom PC eingelesen werden.

Womit würdet ihr den uC mit dem PC verbinden? SPI und I2C scheiden ja eher aus, weil die Leitungslängen nicht so lang sein können. Habt ihr mit sowas schon Erfahrungen gemacht?

Meint ihr, der Canbus wäre dafür die "geeigneteste" Schnittstelle?


RE: LabVIEW mit Mikrocontroller verbinden - GerdW - 06.11.2015 18:18

Hallo Hasenfuss,

das einfachste sollte der virtuelle COM-Port sein, der dir mit der USB-Schnittstelle bereitgestellt wird!


RE: LabVIEW mit Mikrocontroller verbinden - Hasenfuss - 06.11.2015 18:27

Hi GerdW,

vielen Dank für Deine Antwort. Bei der virtuellen COM-Schnittstelle hab ich ein kleines Problem - immer, wenn ich den uC rausziehe aus dem PC und wieder neu hineinfüge, dann ändert sich manchmal der COM-Port. Oder auch, wenn ich mehrere von den uC-Teilen anfüge, dann bekommt jeder FTDI-Chip ja einen eigenen COM-Port. Das ist z.B. blöd, wenn ich an einem Prüfstand jemanden sitzen habe, der nur den Prüfstand bedienen soll, aber nicht erst die COM-Ports am Anfang zuweisen soll.

Meine erste Idee wäre jetzt, alle COM-Ports irgendwie zu erfassen und an jeden COM-Port einen Befehl zu schicken, den der richtige uC dann erkennt und drauf antwortet und sich identifiziert und somit eine Zuordnung zw. dem COM-Port und der uC-ID stattfinden kann. Würdest Du einen ähnlichen Weg gehen oder hättest Du noch eine andere Variante?


RE: LabVIEW mit Mikrocontroller verbinden - jg - 06.11.2015 19:50

So, du willst Geld bei der NI-DAQ-Hardware sparen, aber dann CAN? Die XNet fähigen CAN-Karten von NI gibt es auch nicht für einen Appel und ein Ei...

Dann lieber was per Ethernet, z.B. irgendwelche Modbus-fähigen Koppler von Phoenix, Wago oder Beckhoff?

Gruß, Jens


RE: LabVIEW mit Mikrocontroller verbinden - GerdW - 06.11.2015 21:10

Hallo,

neben Jens' nicht unberechtigtem Einwand ist deine Idee aber soweit in Ordnung. Bessere Messgeräte kennen alle den Befehl "IDN?" und antworten darauf entsprechend...


RE: LabVIEW mit Mikrocontroller verbinden - IchSelbst - 07.11.2015 11:15

(06.11.2015 18:27 )Hasenfuss schrieb:  Meine erste Idee wäre jetzt, alle COM-Ports irgendwie zu erfassen und an jeden COM-Port einen Befehl zu schicken, den der richtige uC dann erkennt und drauf antwortet und sich identifiziert und somit eine Zuordnung zw. dem COM-Port und der uC-ID stattfinden kann.
So würde ich das auch machen.

Wie viele Endgeräte, also Serielle Anschlüsse am PC, würden denn vorhanden sein? Bei 2 Stück würde ich alles über UART machen. Das ist wahrscheinlich ausreichend. Für was irgendwelche Bus-Wandler implementieren - du musst die Busdaten im Programm sowieso wieder teilen - also gleich zwei Kanäle.

CAN wäre natürlich schon die professionelle Lösung - ist aber auch anspruchsvoll.

TCP/IP ist auch eine elegante Lösung - wegen der Einfachheit der Implementierung. Aber dann bitte so, dass pro TCP/IP-Zugriff ein komplettes Datenpacket und nur eins einer UART-Schnittstelle herauskommt.

USB/UART ist halt von der Hardware her die einfachste Lösung. Allerdings musst du dich um das Zusammensetzten der Datenpackete aus dem Datenstream selbst kümmern - was soooo schwierig auch nicht ist.