Serialport Problem(bei Klimaschrank)

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von kirni99.

    Serialport Problem(bei Klimaschrank)

    Hallo!

    Ich habe ein Programm geschrieben, mit welchen es mir möglich sein soll, einen Klimaschrank über die serielle Schnittstelle zu programmieren.

    Dazu verwende ich folgenden Code:

    VB.NET-Quellcode

    1. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    2. SerialPort1.Open()
    3. SerialPort1.Write("auto 1 0 off" & vbCrLf)
    4. SerialPort1.Close()
    5. End Sub


    Wenn ich 2 PCs über den Com Port zusammenschließe, auf einen mein Programm starte und am anderen Hyperterminal starte, wird mir im Hyperterminal genau dieser Befehl so ausgegeben.

    Wenn ich beim PC Hyperterminal starte und ich ihn beim Klimaschrank anschließe, kann ich diesen Befehl genauso selbst im Hyperterminal eingeben und der Klimaschrank führt diesen aus.

    Wenn ich aber jetzt am PC mein kleines VB Programm starte und meinen Button drücke, sollte der Klimaschrank ja eigentlich auch den Befehl ausführen. Er macht aber gar nichts! Das VB Programm meldet auch keinen Fehler.

    Kann mir vielleicht jemand weiterhelfen?

    Die Schnittstellenparameter des Klimaschranks sind:
    9600 Baud
    8 Bit-Datenwort
    No Parity
    1 Stopbit
    Terminal off
    Endekennzeichen <CR> <Lf>

    Also Baud, Datenwort, Parity und Stopbit hab ich so eingestellt. Ich weiß aber leider nicht was Terminal off bedeuten soll. Liegt es vielleicht daran?

    Danke für Hilfe

    mfg
    kirni99

    Edit by Lupus: VB-Tags eingefügt, und in Zukunft nicht zweimal das gleiche Thema in zwei Foren eröffnen!

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Lupus“ ()

    Terminal off ist mir neu. Aber villeicht steht das irgendwie für's "Flowcontrol", das fehlt mir nämlich bei den Angaben... Auf was hast du flow control eingestellt?

    kA, was in vbCrLf drin steht (also kA, obs wirklich 13 10 ist). Du kannst mal SerialPort1.Write("auto 1 0 off" & Chr(13) & Chr(10)) versuchen.