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
probier' mal: rm /dev/ttyS100 cp -a /dev/ttyUSB0 /dev/ttyS100 und dann Labview
@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
@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
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
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
Bevor du aufgibst, schau dir mal deine Rechte an:
1 | zwieblum@t60p:~$ ls -l /dev/ttyS* |
2 | crw-rw---- 1 root dialout 4, 64 26. Jän 17:34 /dev/ttyS0 |
3 | crw-rw---- 1 root dialout 4, 65 26. Jän 18:14 /dev/ttyS1 |
4 | crw-rw---- 1 root dialout 4, 66 26. Jän 18:14 /dev/ttyS2 |
5 | crw-rw---- 1 root dialout 4, 67 26. Jän 18:14 /dev/ttyS3 |
6 | zwieblum@t60p:~$ groups |
7 | 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 ...
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
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.
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
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
>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.
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.