Announcement

Collapse
No announcement yet.

RS232 Seriell Port

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • RS232 Seriell Port

    Guten Morgen,
    ich habe unter Anleitung der Microsoft msdn (http://msdn.microsoft.com/de-de/libr...(v=VS.80).aspx) eine serielle Schnittstell für eine Kommunikation zwischen einer SPS und einem PC programmiert. Das funktioniert auch recht gut. Mein Problem ist, wenn ich debugge oder aus irgend welchen Gründen das Programm beende ohne die RS232 sauber zu schliesen, bekommen ich beim nächsten Start keinen Zugriff mehr auf die Schnittstelle.
    Gibt es eine Möglichkeit die Instance generell zu beenden oder nach ihr zu suchen um sie wieder zu nutzen?.

    Danke für eventuell Hilfe.

  • #2
    Hallo,

    mit der seriellen Schnittstelle kenne ich mich zwar nicht aus, aber das generelle Vorgehen in solchen Fällen ist dass der Code mit einem try-finally "umklammert" wird und im finally die Verbindung geschlossen wird. Das finally wird nämlich immer - auch im Fehlerfall - ausgeführt.

    [highlight=c#]
    var rs232 = ....
    try
    {
    // Verwenden
    }
    finally
    {
    rs232.Close(); // oder wie auch immer das heißt
    }
    [/highlight]


    mfG Gü
    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

    Comment


    • #3
      Hallo Gü,
      danke für die Hilfe.
      Muß mein Programm ein wenig abändern, kann aber somit wenigstens bei eventuellen Exception die Schnittstelle sauber schliesen.

      Gruß Michael

      Comment


      • #4
        Originally posted by 4zimmermann View Post
        wenn ich debugge oder aus irgend welchen Gründen das Programm beende ohne die RS232 sauber zu schliesen, bekommen ich beim nächsten Start keinen Zugriff mehr auf die Schnittstelle
        Was ist denn das für eine serielle Schnittstelle? COM, USB, TCP? Klingt eher nach einem Treiberproblem. Probleme mit dem Beenden eines Programms und seriellen Schnittstellen kenne ich bisher höchstens von Software-Emulationen in ganz bestimmten Fällen.
        Vielleicht probierst Du auch noch einen Port-Sniffer, ob der das Schließen der seriellen Schnittstelle richtig anzeigt.

        Comment

        Working...
        X