Waage mit RS232 auslesen

nelli

Mitglied
Hallo Leute,

ich bin ziemlich neu bei Java und RS232 und habe nun ein Problem, das für die meisten bestimmt trivial erscheint aber ich komm nicht weiter.

Anbei eine kurze Beschreibung:

Ich habe eine Waage mit RS232-Schnittstelle, die ich via JAVA auslesen möchte (Laptop => USB-Adapter => Waage(RS232)

Nach einigem Suchen im Netz habe ich mich für ( GiovynetSerialPort ) entschieden, setzt auf rxtx auf. (Für alle die ein rxtx-Tutorial suchen (hier ein interessanter Link für Installation etc in eclipse: RS232 in Java for Windows | Sebastian Kuligowski's Home Page

Aber zurück zu meinem Problem: Anbei der Code:

Java:
package org.javaserial_giovynet_II;
import app.Com;
import app.Parameters;

public class Main {

    public static void main(String[] args) throws Exception{
	    	
    	//*** Open port COM1
        Parameters param = new Parameters();
        param.setPort("COM2");
        param.setBaudRate("4800");
        param.setStopBits("1");
        param.setParity("N");
        
        Com com1 = new Com(param);
	        
        //*** Request String
        com1.sendSingleData("53h");  // S
        com1.sendSingleData("49h");  // I
        com1.sendSingleData("0Ah");  // CR
        com1.sendSingleData("03H");  // LF
	        
        //*** Return
        String dataReturn = com1.receiveSingleString();
	        
        System.out.println("Gewicht: "+dataReturn+"\n");
	        
        com1.close();
 }

Ich kann Problemlos die verfügbaren Ports auslesen, auch den Status der Verbindung. Daraus Schließe ich, dass bis zur Waage alles funktioniert und vermute mein Problem beim Request String.

Lt. Bedienungsanleitung habe ich die knappe Info:
Setting: 8Bit, 1Stop, no parity, 4800bps
PC->Waage: Initialisierungssignal Code S I CR LF (53h 49h 0Dh 0Ah)
Waage->PC: folgende Format wird verfolgt (16 Byte)

Tipps zur Lösung sind extremst willkommen. thanx.
 

XHelp

Top Contributor
Ich habe damit nicht gearbeitet, aber ich kann mir vorstellen, dass du damit keine hexzahlen schickst:
[JAVA=19]
com1.sendSingleData("53h"); // S
com1.sendSingleData("49h"); // I
com1.sendSingleData("0Ah"); // CR
com1.sendSingleData("03H"); // LF
[/code]
Versuch es mit
[JAVA=19]
com1.sendSingleData(0x53); // S
com1.sendSingleData(0x49); // I
com1.sendSingleData(0x0A); // CR
com1.sendSingleData(0x03); // LF
[/code]
 
G

Gast2

Gast
Was bekommst du als Rückgabe? Garnichts?
Vielleicht den query String mal mit nem einfachen terminal programm testen, ob der generell funktioniert?
 

XHelp

Top Contributor
Aso, jetzt habe ich auch den Rest gesehen: vllt. ist es ähnliche Geschichte mit dem Rückgabe wert, versuch es mal mit
Code:
receiveSingleDataInt
 

nelli

Mitglied
Hab den String nun in Variationen mit einem Terminal Programm versucht zu Testen, ohne Erfolg.

Habe ich diese Angaben richtig umgesetzt wenn ich sie als HEX-Werte sende:

Setting: 8Bit, 1Stop, no parity, 4800bps
PC->Waage: Initialisierungssignal Code S I CR LF (53h 49h 0Dh 0Ah)
Waage->PC: folgende Format wird verfolgt (16 Byte)

Also in dieser Form:
"0x53 0x49 0x0D 0x0A"

Oder muss ich da sonst noch was hinzufügen (Stop bit oder ähnliches)?
 

XHelp

Top Contributor
naja, wenn du es vom Terminal machst, sprich wenn du die Werte per Tastatur eingibst, dann musst du nicht
Code:
0x53 0x49 0x0D 0x0A
, sondern
Code:
SI[ENTER]
eingeben.
 
M

maki

Gast
Java:
param.setStopBits("1");
Das gibt es laut JavaDoc nicht, entweder 0 für 1 Stoppbit, oder 2 für 2 Stoppbits.
 

nelli

Mitglied
thx @ maki: hab es gelöscht da per default ohnehin 0 => also 1 Stop Bit.

Irgendwie liegt das Problem noch wo anders, da ich auch mit einem Terminalprogramm keine Antwort erhalte.
 

XHelp

Top Contributor
Mir fällt gerade auf, dass du in deinem Quelltext die falschen Hex-Zahlen stehen hast.
Und bist du dir sicher, dass du com2 brauchst?
 

VfL_Freak

Top Contributor
Moin,

Mir fällt gerade auf, dass du in deinem Quelltext die falschen Hex-Zahlen stehen hast.
Und bist du dir sicher, dass du com2 brauchst?

das ist mir auch aufgefallen !!
Statt
Java:
com1.sendSingleData(0x53);  // S
com1.sendSingleData(0x49);  // I
com1.sendSingleData(0x0A);  // CR
com1.sendSingleData(0x03);  // LF

CR = (dez) 13 oder 0x0d
LF = (dez) 10 oder 0x0a

PC->Waage: Initialisierungssignal Code S I CR LF (53h 49h 0Dh 0Ah)
Wenn Du also "S I CR LF" senden willst, dann zumindest
Java:
com1.sendSingleData(0x53);  // S
com1.sendSingleData(0x49);  // I
com1.sendSingleData(0x0d);  // CR !!
com1.sendSingleData(0x0a);  // LF !!

Gibt es nur die Möglichkeit "sendSingleData" oder kannst Du Zeichenketten senden ?

Gruß
Klaus
 

nelli

Mitglied
Vielen Dank für die zahlreichen Rückmeldungen.

Ich bin nun einen Schritt weiter, wenngleich ich noch keine funktionierende Lösung habe.

Ich kann mittlerweile mit TerminalProgramm Anfragen senden und erhalte auch die gewünschte Antwort. Die Lösung lag dabei am RS232 Kabel, das noch 2 Kabelbrücken brauchte zum Hardware Handshake.

Also ich kann jetzt tatsächlich die Anfrage auch via Java an die Waage senden - doch die lib von giovynet erzeugt diesen Eintrag beim connect (Daten aus dem Serial Port Monitor ausgelesen):

Handflow: ControlHandShake=(DTR_CONTROL), FlowReplace=(TRANSMIT_TOGGLE, RTS_CONTROL), XonLimit=0, XoffLimit=0

Mein Terminal Programm produziert folgendes - und da klappt es:
Handflow: ControlHandShake=(), FlowReplace=(AUTO_TRANSMIT, AUTO_RECEIVE), XonLimit=34496, XoffLimit=8624

Das ist der einzige unterschied. Nachdem auf der Seite von Giovynet (GiovynetSerialPort) als Featur: Software Flow Control angegeben wird, wird mir dies scheinbar zum verhängis.

Es scheint so alsob die im DLL File definiert wird, da ich in der lib nichts verdächtiges gefunden habe.

Falls hat ja jemand eine Idee, wie ich das trotzdem steuern könnte, sonst muss ich wohl nach einer anderen Lösung - zwar kurz for dem Ziel aber ... naja.
 

_bjoern_

Mitglied
das klingt wie als ob du mit ner mettler waage arbeitest - die haben eigentl ganz gute doku
und du musst die waage natuerlich auch in den richtigen modus setzen (host)
und um zu testen dass die verbindg funktioniert, dann kann man von der waage einfach das gewicht schicken lassen (da gibts nen knopf dafuer) und dann muss auf deinem terminal was ankommen (ohne dass du "SI" schickst)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Bizerba Waage ansprechen Allgemeine Java-Themen 44
ms_cikar RS232 Serielle Baudrate automatisch einstellen Allgemeine Java-Themen 1
P Rs232 sniffer in java Allgemeine Java-Themen 2
W Schreiben/Lesen aus RS232 / jssc Allgemeine Java-Themen 0
J Bit-Länge bei RS232 Allgemeine Java-Themen 2
M RS232 nur erste Übertragung korrekt Allgemeine Java-Themen 7
M SerialPort RS232 : java.lang.NoSuchFieldError: eis Allgemeine Java-Themen 2
O RS232 Hilfe Allgemeine Java-Themen 23
E Enhanced protocoll RS232 Allgemeine Java-Themen 4
C .hex Datei über RS232 versenden Allgemeine Java-Themen 3
S RS232 Probleme nach ca 20Langzeittest Minuten Allgemeine Java-Themen 9
B Hex über RS232 ausgeben Allgemeine Java-Themen 21
R Probleme mit RS232 Allgemeine Java-Themen 7
M RS232 Schnittstelle ansteuern (Floppy durch Laptop ersetzen) Allgemeine Java-Themen 2
W RS232 - Probleme mit Datenempfang Allgemeine Java-Themen 3
S RS232 mit javax.comm Allgemeine Java-Themen 5
L Input/Output Email mit großer Pdf Anhang auslesen? Allgemeine Java-Themen 6
Ernesto95 HTTP Mit JavaScript erzeugte dynamische Webseite auslesen und nach einem Schlüsselwort durchsuchen Allgemeine Java-Themen 6
K Bildschirm auslesen/ Text erkennen Allgemeine Java-Themen 5
torresbig Url nach Webseiten-Login auslesen & Daten an Webseite senden Allgemeine Java-Themen 9
S .exe Datei/Programm auslesen? Allgemeine Java-Themen 2
T INI - Einträge auslesen Allgemeine Java-Themen 6
H Auslesen eines (LDAP-)Attributs in Active Directory Allgemeine Java-Themen 2
O PDF auslesen und verändern, was ist besser iText oder PDFBox ? Allgemeine Java-Themen 9
Robertop Status von Caps- und NumLock auslesen Allgemeine Java-Themen 1
Master3000 Java Konsole über Buffered Reader Zeilenweise auslesen ? Allgemeine Java-Themen 26
G Mac Package auslesen Allgemeine Java-Themen 17
W Versionsnummer auslesen - Regex ist zickig Allgemeine Java-Themen 2
F Junit Test + Cucumber - JSON auslesen und in einem weiteren Schritt nutzen Allgemeine Java-Themen 0
M verschiedene Dokumente auslesen Allgemeine Java-Themen 1
Gaudimagspam CSV-Datei auslesen in Java Allgemeine Java-Themen 7
L Dateien richtig auslesen Allgemeine Java-Themen 6
F WireGuard Status auslesen Allgemeine Java-Themen 3
B .txt Datei erstellen und auslesen bzw. schreiben Allgemeine Java-Themen 6
I DOM-Parser - Element im Element an bestimmten Stellen auslesen Allgemeine Java-Themen 1
N Txt Datei auslesen. Allgemeine Java-Themen 5
O xlsx Datei auslesen mit POI Apache liest keine LEERZELLEN Allgemeine Java-Themen 6
O xlsx Datei auslesen mit POI von Apache wirft seltsamen Fehler. Allgemeine Java-Themen 11
J Information von getSource() Objekt auslesen Allgemeine Java-Themen 1
V EMail, Attachments auslesen von einer Email Allgemeine Java-Themen 0
K Aus String zwei Jahreszahlen auslesen Allgemeine Java-Themen 18
E CSV mit Text und Binärdaten auslesen Allgemeine Java-Themen 7
x46 Webseite in Java auslesen Allgemeine Java-Themen 2
M Html Seite auslesen Allgemeine Java-Themen 16
S Hilfe bei dem Auslesen einer YAML Datei Allgemeine Java-Themen 8
J Fenstergröße eines anderen Programmes auslesen Allgemeine Java-Themen 9
B Cookie auslesen Allgemeine Java-Themen 3
B Input/Output Programm zum Auslesen/Beschreiben von Textdateien, wie Geschwindigkeit erhöhen? Allgemeine Java-Themen 18
J Variablen Mehrere int-variablen in txt abspeichern und danach wieder auslesen Allgemeine Java-Themen 1
J Daten aus Website-Quelltext auslesen Allgemeine Java-Themen 62
J Teil einer URL auslesen Allgemeine Java-Themen 13
denny86 NetBeans Ordnernamen rekursiv auslesen und in Variable verarbeiten Allgemeine Java-Themen 38
C Atfx mit Hilfe von OpenAtfx auslesen Allgemeine Java-Themen 1
C Position von Pixeln in Bilder auslesen Allgemeine Java-Themen 2
M aktive WLAN Teilnehmer auslesen? Allgemeine Java-Themen 6
X JSONObject auslesen und in HashMap hinterlegen Allgemeine Java-Themen 16
S Kann man mit Java auf einem lokalen PC/Mac Benutzergruppen auslesen und Rechte ändern? Allgemeine Java-Themen 11
C Webseite auslesen Allgemeine Java-Themen 3
D Best Practice Gesamten Bildschirminhalt auslesen und Email schicken sobald kein Pixel sich ändert Allgemeine Java-Themen 11
A Erste Schritte Daten aus einer Website auslesen Allgemeine Java-Themen 7
J Bestimmte Zeile aus Textdatei auslesen Allgemeine Java-Themen 18
G Aus JTextField Zahlen auslesen und random generieren Allgemeine Java-Themen 10
M Tastatureingabe von Sondertasten auslesen Allgemeine Java-Themen 6
C Auslesen auslösen über Button-Click Allgemeine Java-Themen 8
M xlsx File auslesen Exception occured Allgemeine Java-Themen 13
U OOP Warum kann ich aus meiner Methode keinen String auslesen Allgemeine Java-Themen 4
J Auslesen Daten Java/HTML Allgemeine Java-Themen 15
4a61766120617274697374 PDF iText Wort Koordinaten auslesen Allgemeine Java-Themen 1
KeVoZ_ Bestimmte Zeile aus Console finden & auslesen Allgemeine Java-Themen 2
T Url aus txt Datei auslesen und öffnen? Allgemeine Java-Themen 4
N Werte aus Hashmap auslesen und übertragen Allgemeine Java-Themen 8
KeVoZ_ Properties mit String auslesen Allgemeine Java-Themen 11
I HTML einer Website auslesen liefert nur head Allgemeine Java-Themen 6
D Aktuell installierte Java Version auslesen unter Windows Allgemeine Java-Themen 5
M Parameter auslesen im Servlet Allgemeine Java-Themen 0
M Input/Output USB Geräteinstanzkennung auslesen Allgemeine Java-Themen 3
W 2D-Grafik Erstellungsdatum JPG direkt aus Header (EXIF) auslesen. Allgemeine Java-Themen 5
M Daten aus anderen Programmen auslesen Allgemeine Java-Themen 2
T Datei Byteweise auslesen Allgemeine Java-Themen 1
T Datentypen MNIST Datenbank auslesen (.gz) Allgemeine Java-Themen 0
T Ini Datei auslesen Allgemeine Java-Themen 3
J Temperatur aus bytes auslesen. Allgemeine Java-Themen 13
I JSoup Class auslesen Allgemeine Java-Themen 1
Bluedaishi Textdateien auslesen Allgemeine Java-Themen 12
T ELM327 OBD2 auslesen Allgemeine Java-Themen 0
D Double aus String auslesen Allgemeine Java-Themen 8
Z Zahlen aus Bild auslesen Allgemeine Java-Themen 1
A interaktives PDF auslesen/auswerten? Allgemeine Java-Themen 0
G Daten aus Website auslesen Allgemeine Java-Themen 7
S CSV Eintrag der nächsten Zeile auslesen funktioniert nicht Allgemeine Java-Themen 8
I Java FX JsonObjekt Children auslesen Allgemeine Java-Themen 23
M RXTX Details auslesen Allgemeine Java-Themen 6
N Input/Output Website Text auslesen und bestimmte Zeilen wiedergeben Allgemeine Java-Themen 4
X HTTP Auslesen der Ergebnisse von einer Webseite und in eine Liste packen Allgemeine Java-Themen 1
J Wav-Datei aus .jar auslesen Allgemeine Java-Themen 7
J Daten aus GUI auslesen und in Objekte umwandeln Allgemeine Java-Themen 6
D CSV Datei auslesen Allgemeine Java-Themen 23
N Werte aus Arrays auslesen funktioniert nicht Allgemeine Java-Themen 5
J Java JSON-Datei aus .Zip auslesen und Download mit Progress Bar Allgemeine Java-Themen 20
V Tooltips mit Java auslesen Allgemeine Java-Themen 1

Ähnliche Java Themen

Neue Themen


Oben