ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
799
799
EMPFEHLEN
-
03.03.11 15:06 #1
Hallo zusammen,
ich kämpfe seit einigen Tagen mit USB Serial Ports und hoffe, dass hier irgendwer Erfahrung damit hat und mir auf die Sprünge helfen kann.
Unser Ziel ist es, jeweils zwei Rechner (die zu einem Arbeitsplatz gehören) mit einem "UBS to USB Null Modem Kabel" zu verbinden, um dann zwischen zwei Java-Anwendungen Signale für eine sehr spezielle Programmsteuerung auszutauschen!
Grundlegend klappt dies auch problemlos (zumindest hier bei mir an meinen beiden Entwicklungsrechnern). Mir werden nach der Treiberinstallation an beiden Rechnern im Gerätemanager entsprechende COM-Ports angezeigt, die ich verwenden kann, und die Kommunikation zwischen den PCs läuft.
Nun habe ich versucht ein solches Kabel zwischen zwei Rechner im Livesystem zu schalten. Auch dort werden die COM-Port sauber angezeigt, nur meine Java-Applikation (mit einer aktuellen SerialIO.jar V10.0.9 build 9217) fängt dort an zu spinnen.
Wenn ich versuche den nach Installation initial vorhandenen Port zu nutzen (es ist meist COM5), bekomme ich eine IOException aus der SerialIO mit dem Hinweis "Port is used". Wenn ich die Portnummer im Gerätemanager und meiner Applikation ändere (bspw. auf COM9), dann kommt die IOException aus der SerialIO mit dem Hinweis "Port is not valid" (vgl. auch Anlagen).
Der einzige Unterschied zwischen meinen Testsystem und dem Livesystem ist der, dass im Livesystem bereits jeweils eine solche USB-COMPort-Bridge (mit einem Treiber vom gleichen Hersteller) und einem unserer Geräte angeschlossen ist. Ein solches Gerät hängt bei meinen PCs direkt auf dem COM1-Port des PCs.
Mir fiel auch auf, das der Treiber im Livesystem deutlich älter ist (2.2.8 zu 2.8.12). Allerdings lässt sich der Treiber im Gerätemanager auch nicht aktualisieren (mit dem von der Herstellerseite heruntergeladenen, der bei mir als V2.8.12 installiert wurde), mit der Begründung "keinen neueren Treiber gefunden". Allerdings glaube ich auch nicht wirklich, dass es ein Treiberproblem sein kann, da der Port ja korrekt von System erkannt und angezeigt wird.
Hat irgendwer Erfahrung mit dieser Thematik bzw. kann mir einen Tipp geben, was zu tun ist, damit die Ports auch in meiner Anwendung als gültig erkannt werden? Bin so langsam am verzweifeln ....
Danke und Gruß
Klaus
PS: falls ihr der Meinung seid, dass es doch eher ein Java-Problem denn ein Hardware-Problem ist, dann bitte verschieben
PS2: die System haben allesamt XP Prof. mit SR 2 oder 3 !!Es ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!
Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
-------------------------------------------------------------------------------------------------
Ich beantworte keine Fragen per PN !!
Stellt Eure Fragen im Forum - dann haben alle etwas davon !!
-
03.03.11 16:22 #2
- Registriert seit
- Apr 2006
- Beiträge
- 126
Hallo Klaus!
Prüf mal mit SerialPortLocal.getPortList();, ob COM9 im Livesystem in der PortListe verfügbar ist und wenn nicht, dann muss COM9 definiert werden. Siehe unten im Zitat über "SERIAL_PORT_LIST", z.B.: SERIAL_PORT_LIST=COM1;COM2;COM3;COM9!
Allgmeine Beschreibung über SerialPort: hierIf the native OS supports a 'Registry' functionality, you can determine a list of serial ports by using the method SerialPortLocal.getPortList(). For example the following code displays a list of ports that are entered in the OS 'Registry'.
String[] names = SerialPortLocal.getPortList();
System.out.println("Serial ports reported by system:");
for (int i = 0; i < names.length; i++) {
System.out.println(names[i]);
}
Define Available Serial Ports
A list of serial port names can be passed to SerialPort. When passed, the list is used to determine which ports are available when using the getPortList() method and the Comm API. The list must contain a semi-colon delimited list of port names, for example
SERIAL_PORT_LIST=COM1;COM2;COM3
When the property SERIAL_PORT_LIST is undefined then an attempt is made to determine the list of available ports using native methods. Note that not all platforms support native port discovery. A system property can be set from the command line with most modern VM's. For example
java -DSERIAL_PORT_LIST=COM1;COM2;COM3 JavaTerm
Gruß
Sebastian
-
04.03.11 10:06 #3
Hallo Sebastian,
Das Problem ist weniger die Verfügbarkeit von Seiten des OS, sondern die Tatsache, dass ein Port, der von getPortList() als verfügbar angezeigt wird (und auch so im Gerätemanager steht), beim Aufruf dann als not valid angesehen wird .....Prüf mal mit SerialPortLocal.getPortList();, ob COM9 im Livesystem in der PortListe verfügbar ist und wenn nicht, dann muss COM9 definiert werden.
Gruß
KlausEs ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!
Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
-------------------------------------------------------------------------------------------------
Ich beantworte keine Fragen per PN !!
Stellt Eure Fragen im Forum - dann haben alle etwas davon !!
Ähnliche Themen
-
Richtige Syntax bei Operatorüberladung, wann sind "friend", "const", "&" nötig?
Von mrs_schokokeks im Forum C/C++Antworten: 4Letzter Beitrag: 25.08.10, 19:13 -
IE6 problem mit bild, das aus div container "herausragt" ("left:-100px")
Von Not so much B im Forum CSSAntworten: 1Letzter Beitrag: 16.08.07, 04:21 -
VSPD (virtuel serial ports driver) uu viele physical ports
Von Trebjun im Forum NetzwerkeAntworten: 0Letzter Beitrag: 17.07.07, 01:30 -
Serial-Ports
Von LittleUnwell im Forum .NET CaféAntworten: 2Letzter Beitrag: 07.05.07, 15:14 -
flash Problem - sendAndLoad("mailto.php", LV, "POST")
Von MikeTurrento im Forum Flash PlattformAntworten: 5Letzter Beitrag: 01.06.06, 11:11





Zitieren
Login





