Hallo,
ich hätte eine Frage zur Verwendung mehrerer RS232-USB Converter.
Momentan bin ich gerade an einem etwas größeren Informatik-Projekt dran.
Da mir jedoch bisher noch niemand von meinen Kollegen helfen konnte,
wäre ich für jede Hilfe eurerseits sehr dankbar.
Projektteile:
- RS232 für die Temperatur
- RS232 für den Durchfluss
- RS232 für eine Identifikation
- Rechner mit 2 USB - Ports
Wenn ich nun einen HUB verwende um die gewünschte Anzahl an USB-Ports
für mein Projekt zu erhalten, kommt immer eine Fehlermeldung, welche
besagt, dass der Zugriff auf diese Ports verweigert wurde, anschließend
habe ich einen anderen HUB ausprobiert jedoch ohne Erfolg.
Nach diesem Fehlschlag habe ich versucht, wenigstens zwei von diesen
Anschlüssen direkt über meinen Rechner laufen zu lassen (z.B. Temperatur
und Durchfluss), jedoch war das Ergebnis, wieder nichts.
Habt ihr nun eine Idee woran der Zugriff auf die Ports scheitert, leider
habe ich nämlich bisher im Internet nichts brauchbares gefunden.
Kann es vielleicht sein, dass man nur einen solchen Wandler verwenden
kann, diese Möglichkeit erscheint mir jedoch nicht logisch.
Für jede Hilfestellung bin ich sehr dankbar.
Mark schrieb:> kommt immer eine Fehlermeldung, welche> besagt, dass der Zugriff auf diese Ports verweigert wurde
Die Fehlermeldung wird von wem wann ausgegeben?
Wenn die Adapter in den Hub gesteckt werden? Wenn Dein Programm
versucht, auf die Adapter zuzugreifen?
Welche Schnittstellennummern verwenden die Adapter? Sind die größer als
9?
Dann könnte die Fehlerursache in Deiner Software zu finden sein, die
eine falsche Syntax für den Namen der Schnittstelle verwendet. Statt
"COM10" muss es nämlich gegenüber den zuständigen Win32-API-Funktionen
heißen "\\.\COM10".
Das ist seit deutlich über einem Jahrzehnt in der Dokumentation der
Funktion CreateFile beschrieben; es ist wirklich erstaunlich, daß es
immer noch Programme gibt, deren Programmierer diese Dokumentation nicht
gesehen haben.
Hallo !
Ja sollte eigentlich schon funktionieren. An einen USB hub kannst du
beliebige Anzahl von USB-Seriell adaptern anschließen. Sollten dann alle
unterschiedlich also mit unterschiedlichen COM Bezeichnungen erkannt
werden. Wenn du mittels terminal programm auf die einzelenen
Schnittstellen zugreifen kannst sollte das auch aus deinem Programm
funktionieren. Wie im vorherigen Post schon erwähnt auf richtige
Bezeichnungne achten.
Mfg Michi
EDIT :
Mark schrieb:> Die Schnittstellen sind nicht größer als 9 auf dieses Problem bin ich> auch schon gekommen, aber schon mal vielmals danke.
Dann mal mit terminal programm versuchen
Michael Rathmair schrieb:> An einen USB hub kannst du> beliebige Anzahl von USB-Seriell adaptern anschließen.
nein kann man nicht, usb ist auf 256 Geräte beschränkt und eine Gerät
ist davon schon mal der HUP und der Host.
Danke ich werde es jetzt nocheinmal mit einem Terminalprogramm
versuchen, das letzte Mal hat es zwar nich funktioniert, vielleicht habe
ich jedoch jetzt Glück.
Peter II schrieb:> nein kann man nicht, usb ist auf 256 Geräte beschränkt und eine Gerät> ist davon schon mal der HUP und der Host.
Ok beliebig viele stimmt nicht ganz sollte her heißen eine hand voll g
klar gibts ne beschränkung.
256 stimmt auch nicht. 127 sinds bei USB. Die Anzahl der COM
Schmittstellen ist auf 255 begrenzt, wobei es COM 0 nicht gibt.
Eventuell haben auch alle USB-Serial Wandler die gleiche Seriennummer
(oder gar keine), so dass Windows Schwierigkeiten hat, die auseinander
zu halten. Dann gehts nämlich nach dem logischen Pfad, also
Bus/Hub/Device...
also ich habe jetzt meine Temperaturauswertung getestet, doch
komischerweise funktioniert die Temperaturanzeige nicht mehr, kann es
sein, dass drei RS232-USB Converter an einem Tag kaputt gehen?????
Mark schrieb:> ist mein Pegelwandler kaputt gegangen.
Schau Dir mal die Massekabel näher an. Manchmal sind verschleppte
Spannungen von irgendwo drauf, die dann am dünnsten Leiterzug etwas
Rauch erzeugen?
Eine Gegenprobe an einem anderen PC wäre auch eine Idee.
Ich hatte dieser Tage auch mit einem USB-RS232-Wandler zu tun:
Beitrag "Windows Vista, USB-zu-RS232-Aapter, und aufgelaufen?"
Weil ich noch alte µC-Boards habe, die einen Softwaredownload über
Terminal und RS232 bekommen, brauchte ich so einen Adapter. Mein
Notebook hat leider keine echte RS232 mehr. Es funzt aber alles. Der
Adapter ist ein Delock 61460, bestellt bei Reichelt.
Was ich da im Katalog sah, die haben auch Kästchen, die an einem
USB-Port 4 mal RS232 bereit stellen. Sowas überlegte ich mir zuerst
auch.
Ja, und man muß wohl tatsächlich aufpassen, daß nirgendwo Querströme
entstehen. Der Trafo der µC-Versorgung hat tatsächlich 2 getrennte
Wicklungen, da streut auch nichts groß kapazitiv übers Versorgungsnetz
ein. Die Innereien des Notebook-Netzteiles kenne ich nicht so, ob und
wie es sauber vom Netz getrennt ist.
An einem Uralt-Rechner spürte ich in den Fingern schon mal Kribbeln bei
Masseberührung. Bei anderen PCs wiederum ist Masse geerdet. Das scheint
unterschiedlich zu sein.
Notfalls kann man ja das Notebook mal auf dem Akku betreiben, wenn man
meint, da wäre was faul.
Mark schrieb:> - RS232 für die Temperatur> - RS232 für den Durchfluss> - RS232 für eine Identifikation
Warum nicht über eine Schnittstelle senden? Zu faul für ein eigenes
Protokoll?
Momentan sind mir leider die Hände gebunden, da dieses Projekt bald
fetiggestellt werden sollte --> leider nicht mehr genug Zeit für ein
eigenes Protokoll.
Vielen Dank, für alle die sich so bemühen eine Lösung zu finden
Wie? Ein ganz einfaches Protokoll ist doch nicht so schwer:
"X" + Hex-Data
"Y" + Hex-Data
"Z" + Hex-Data
Der erste Buchstabe für den jeweiligen Sensor, dann die 2Bytes Hex-Code
(z.b. 0C oder E9).
Ich habe nun nocheinmal alles ausprobiert, jedoch kommt bei mir immer
die Fehlermeldung:
Der Anschluss ist geschlossen.
Wisst ihr noch irgend eine Möglichkeit, wie ich den Port trotz HUB
öffnen kann?
Ein eigenes Protokoll kann ich leider nicht verwenden, da der
Durchflusssensor eine fertige Komponente ist, welche ich gekauft habe
und diese mir die Daten über ein Modbus Protokoll schickt, zusätzlich
ist die Hardware so gut wie fertig.
Danke für jeden bisherigen Vorschlag und für jeden der hoffentlich noch
kommt.
Rück doch mal die wichtigen Informationen raus:
Welches Betriebssystem?
Welche USB-Serial Wandler?
Welche Treiber? Version?
Welches Programm gibt wann diese Fehlermeldung?
Lassen sich alle 3 COM Ports im HyperTerminal öffnen?
Ich kann alle 3 Sensoren einzeln bedienen, --> direkt auf dem PC.
Zusammen funktionieren sie aufgrund des HUBs leider nicht.
Zum Betriebssystem: Windows 7
USB - Serial Wandler: Prolofic 2 Stück und noch einer, bei welchem ich
morgen nachschauen muss, von wo der kommt
Treiber: es steht v130 ^^ dort, original Prolofic
Wenn ich debuge, kommt der Fehler, sobald auf die Ports zugegriffen
werden sollte --> Anschluss geschlossen (Programm: Visual Studio 2010)
Ich hoffe, dass ich alle Fragen beantwortet habe.
Christian R. hat Dir ein paar Fragen gestellt. Prolofic, was ist das?
Wie heisst das Betriebssystem? Gibts da nur einen Wandler von Prolofic?
Oder haben die auch Typenbezeichnungen?
Vlt. schaust Du Dir das nochmal genauer an, was Du da vor Dir liegen
hast...
Hm, Prolific sind leider die schlimmsten dieser Gattung. Das gibt oft
Probleme. Kannst du die eventuell tauschen gegen welche mit Silabs oder
FTDI Chip? Wir verwenden ganz viele FTDI, da gehen auch 30 Stück, über
viele Hubs verteilt. Außerdem ist das bei Prolific immer so ein
Durcheinander mit den Treibern, eventuell gibts da einen aktuelleren?
Noch eine Frage: Kommt die Meldung auch, wenn du 3 mal ein
Terminalprogramm (Putty, HTerm, Terraterm...) startest und die 3
Schnittstellen versuchst, zu öffnen?
@Mark:
Was man für eine supergünstige Lösung noch machen könnte:
Ich habe hier das PICkit1 der Firma Microchip. Es wird über USB vom
MPLAB aus geflasht, wobei ein PIC16F84 den USB-Download managt, und die
Daten auf den zweiten steckbaren PIC12F675 flasht.
Ich weiß aber jetzt nicht ganz genau, ob der PIC16F84 ein richtiges
USB-Peripheral hat, oder ob es einfach über Bit-Banging gemanagt wird.
Die USB-Software ist auch voll transparent, lag der CD im Quellcode mit
bei. Vielleicht gibt es sie auch auf der Microchip Homepage. Da könnte
man auch noch ansetzen, und es ist kein RS232 dabei im Spiel.
Wenn man da in der Software ansetzt, und das Teil kostengünstig sein
soll, und in Massen produziert, da käme ja diese Idee sicher auch in
Frage. Nun, in die Software muß man dann eben noch etwas Zeit
investieren. Beides, wenig Entwicklung, und auch noch billig, und
schnell fertig, widerspricht sich irgendwie.