mikrocontroller.net

Forum: PC-Programmierung USB-RS232-Wandler FTDI FT232R unter Linux mit Labview


Autor: hro (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Liebe Gemeinde,

folgendes Problem:
Ich habe diverse Labview-Programme, die ueber die RS232 mit 
Mikrocontrollern kommunizieren.
Nun versuche ich, da neue PC-Hardware mit RS232-Schnittstelle immmer 
rarer wird, so langsam auf USB zu wechseln.

Leider gelingt es mir nicht, von Labview aus den USB-RS232-Wandler 
anzusprechen. Von der Kommandozeile her ist es kein Problem.

Folgende Voraussetzungen:
USB-RS232-Wandler: FTDI FT232R
OS: Linux Suse 10.0 (jetzt fuer den Test), spaeter 11.2 (auch schon im 
Einsatz)
Labview 6.1
Uebertragung 8N1

Der Kernel erkennt den USB-RS232-Wandler beim Einstecken wunderbar, per 
Kommandozeile kann man nach Rechtevergabe ueber die erzeugte 
/dev/ttyUSB0 wunderbar mit den Mikrocontrollern kommunizieren.

Leider finde ich von Labview aus keine Moeglichkeit direkt /dev/ttyUSB0 
anzusprechen, deshalb habe ich mit
ln -s ttyUSB0 ttyS100
die ttyUSB0 an die ttyS100 gebunden. Ueber diese ttyS100 kann ich per 
Kommandozeile wieder wunderbar mit den Mikrocontrollern kommunizieren.
Leider gibt Labview bei Einstellen dieser Schnittstelle einen Fehler 37 
aus; Schnittstelle nicht gefunden.

Hat jemand eine Idee, wie ich Labview unter Linux dazu bringen kann, mit 
dem USB-RS232-Wandler zusammenzuarbeiten?

Gruss hro

Autor: zwieblum (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
probier' mal:

rm /dev/ttyS100
cp -a /dev/ttyUSB0 /dev/ttyS100

und dann Labview

Autor: me (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: hro (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@me

OK, danke fuer den Link, den kenne ich natuerlich.

Ich haette mich vielleicht klarer ausdruecken sollen: Da es um diverse 
Programme geht, die ich eigentlich nicht mehr anfassen moechte, suche 
ich eher nach einer Loesung auf OS-Ebene.

Gruss hro

Autor: hro (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@zwieblum

Dein Vorschlag
cp -a /dev/ttyUSB0 /dev/ttyS100
funktioniert leider auch nicht. Trotzdem danke.

Ich nehme an, dass sich Labview um die Geraetedateien gar nicht 
kuemmert, sondern direkt oder indirekt ueber das OS auf die Hardware 
zugreift.

Sonst noch jemand eine Idee?

Gruss hro

Autor: anonym (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hro schrieb:
> sondern direkt oder indirekt ueber das OS auf die Hardware
> zugreift.

unter linux über das os mit schnittstellen zu kommunizieren sollte 
eigentlich auf dev... (oder die entsprechenden sysfs-einträge) 
hinauslaufen.
direkt auf die hardware geht afair nur als root

Autor: hro (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na dann laeuft es wahrscheinlich drauf hinaus, dass ich mir was in Perl 
stricke. Muss ich die Programme doch noch mal anpacken.

Danke an alle.

Gruss hro

Autor: zwieblum (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bevor du aufgibst, schau dir mal deine Rechte an:
zwieblum@t60p:~$ ls -l /dev/ttyS*
crw-rw---- 1 root dialout 4, 64 26. Jän 17:34 /dev/ttyS0
crw-rw---- 1 root dialout 4, 65 26. Jän 18:14 /dev/ttyS1
crw-rw---- 1 root dialout 4, 66 26. Jän 18:14 /dev/ttyS2
crw-rw---- 1 root dialout 4, 67 26. Jän 18:14 /dev/ttyS3
zwieblum@t60p:~$ groups
zwieblum dialout cdrom floppy audio video plugdev netdev

Ergo darf ich auf meinem Kasterl auf ttyS* tun und lassen was ich will, 
weil ich zur Gruppe "dialout" gehöre ...

Autor: hro (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie gesagt: Die Fehlermeldung besagt, dass die Schnittstelle nicht 
gefunden wurde. Ich habe der Schnittstelle auch alle Rechte fuer alle 
zugeweisen, so dass dies kein Problem darstellt.

Gruss hro

Autor: zwieblum (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nun, als letzten Ausweg kannst du noch mit "strace" Labview auf die 
Finger schauen. Filtere den Output nach dem gewünschten Interface, 
vielleicht sucht Labview das Ding ja ganz wo anders.

Autor: Mario (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

auch wenn das Thema schon etwas älter ist, habe ich hier noch ein 
kleines Update. Bei mir half ein symlink:

ln -s /dev/ttyUSB0 /dev/ttyS5

Gruß, Mario

Autor: hro (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Problem hat mich nochmal eingeholt und dank Suchmaschine komme ich 
genau wieder auf meinen eigenen alten Fred.
Den letzten Beitrag hatte ich damals nicht mehr gelesen.

Und die Loesung ist ja nahezu die gleiche, die ich damals schon erdacht 
/ gefunden hatte.
Einziger Unterschied: Die Nr. der ttyS ist kleiner 8. DAS war mein 
damaliges Problem. mit der von Mario verwendeten ttyS5 klappt genau das.

Linux unterstuetzt offensichtlich nur 0-7. Getestet auf openSuse 13.1.

Den Link muss man natuerlich nach jedem Systemstart neu setzen (oder ein 
Script anlegen) und die vom System angelegte Geraetedatei ttySx muss 
vorher geloescht werden.

Also nach Jahren doch noch ein Dankeschoen an alle.

Gruss hro

Autor: udev (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Linux unterstuetzt offensichtlich nur 0-7. Getestet auf openSuse 13.1.

Ich glaube eher, dass dein Programm mit dem nodenamen nicht zurecht 
kommt. Wie das node heißt ist Linux egal.

>Den Link muss man natuerlich nach jedem Systemstart neu setzen (oder ein
>Script anlegen) und die vom System angelegte Geraetedatei ttySx muss
>vorher geloescht werden.

Dafür sind eigentlich udev rules vorgesehen.

Autor: hro (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
udev schrieb:
>>Linux unterstuetzt offensichtlich nur 0-7. Getestet auf openSuse 13.1.
>
> Ich glaube eher, dass dein Programm mit dem nodenamen nicht zurecht
> kommt. Wie das node heißt ist Linux egal.

Nun, das "Programm" heisst Labview.
Und da kann ich mir in der Tat 'ne Menge vorstellen.

Danke fuer den Hinweis.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.