Hi,
ich bin ziemlich neu in der VB-Welt. Normalerweise programmiere ich PHP und ein bisschen C++ (für Mikrocontroller).
Jedenfalls benötige ich für mein aktuelles Projekt ein Programm, das im 10 Min-Takt Befehle an ein Gerät sendet und die Antwort in eine Datei schreibt.
Also gut, hingesetzt und solch ein kleines Programm geschrieben. Für die Schnittstelle verwende ich die SerialPort-Klasse (oder Methode?). Das senden mache ich mit SerialPort.write() das lesen mit SerialPort.readExisting(). Das alles funktioniert via USB (als Virutal COM-Schnittstelle) perfekt.
Nun wollte ich das Programm mal mit der RS232-Schnittstelle (hat das Gerät auch) testen.
Dazu habe ich ich das USB-Kabel ausgesteckt und das RS232-Kabel (gekreuzt) beim Gerät und am PC eingesteckt.
Mit HTerm getestet: perfekt, es geht! (Baud: 9600, 8N1)
An meinem Programm habe ich dann als Baudrate 9600 eingestellt und die richtige Schnittstelle.
Bei den anderen Parametern (SerialPort) habe ich die Default-Werte so gelassen. 8N1 ist ja sowieso immer eingestellt, wobei die Parameter bei der USB-Verbindung eh keine Rolle spielen.
Was habe ich festgestellt: Verdammt, das Programm funktioniert nicht richtig...
Solange das Gerät nicht im Powerdown ist, funktioniert das senden und emempfangen, ist es im Powerdown bekomme ich ein ?. Also Befehl nicht verstanden.
Wieder mit HTerm experimentiert und mal RTS und DTS deaktiviert. Siehe da, jetzt geht es auch da nicht, sobald das Gerät im Powerdown ist.
Also habe ich in meinem Programm bei SerialPort DTS-/ RTS-Enabeled auf True gesetzt. Bei Handshake hab ich noch XONXOFF aktiviert. (Weil in der Bedienungsanleitung Flusskontrolle: XON/ XOFF steht).
Klar, geht wieder nicht...
Was muss ich bei SerialPort einstellen, damit auch die Kommunikation per RS232-Schnittstelle geht? Bzw. wie kommuniziert HTerm?/ Was ist da eingestellt? Oder hatte jemand mal das selbe Problem?
Das ist das besagte Gerät (falls das helfen sollte): skypowerinternational.com/uplo…xMet-V1.01_eng_St0609.pdf
Schonmal Danke für Eure Hilfe!
Gruß....
ich bin ziemlich neu in der VB-Welt. Normalerweise programmiere ich PHP und ein bisschen C++ (für Mikrocontroller).
Jedenfalls benötige ich für mein aktuelles Projekt ein Programm, das im 10 Min-Takt Befehle an ein Gerät sendet und die Antwort in eine Datei schreibt.
Also gut, hingesetzt und solch ein kleines Programm geschrieben. Für die Schnittstelle verwende ich die SerialPort-Klasse (oder Methode?). Das senden mache ich mit SerialPort.write() das lesen mit SerialPort.readExisting(). Das alles funktioniert via USB (als Virutal COM-Schnittstelle) perfekt.
Nun wollte ich das Programm mal mit der RS232-Schnittstelle (hat das Gerät auch) testen.
Dazu habe ich ich das USB-Kabel ausgesteckt und das RS232-Kabel (gekreuzt) beim Gerät und am PC eingesteckt.
Mit HTerm getestet: perfekt, es geht! (Baud: 9600, 8N1)
An meinem Programm habe ich dann als Baudrate 9600 eingestellt und die richtige Schnittstelle.
Bei den anderen Parametern (SerialPort) habe ich die Default-Werte so gelassen. 8N1 ist ja sowieso immer eingestellt, wobei die Parameter bei der USB-Verbindung eh keine Rolle spielen.
Was habe ich festgestellt: Verdammt, das Programm funktioniert nicht richtig...
Solange das Gerät nicht im Powerdown ist, funktioniert das senden und emempfangen, ist es im Powerdown bekomme ich ein ?. Also Befehl nicht verstanden.
Wieder mit HTerm experimentiert und mal RTS und DTS deaktiviert. Siehe da, jetzt geht es auch da nicht, sobald das Gerät im Powerdown ist.
Also habe ich in meinem Programm bei SerialPort DTS-/ RTS-Enabeled auf True gesetzt. Bei Handshake hab ich noch XONXOFF aktiviert. (Weil in der Bedienungsanleitung Flusskontrolle: XON/ XOFF steht).
Klar, geht wieder nicht...
Was muss ich bei SerialPort einstellen, damit auch die Kommunikation per RS232-Schnittstelle geht? Bzw. wie kommuniziert HTerm?/ Was ist da eingestellt? Oder hatte jemand mal das selbe Problem?
Das ist das besagte Gerät (falls das helfen sollte): skypowerinternational.com/uplo…xMet-V1.01_eng_St0609.pdf
Schonmal Danke für Eure Hilfe!
Gruß....