Com-Schnittstelle eines anderen Programm auslesen. Geht das?

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von egon.

    Com-Schnittstelle eines anderen Programm auslesen. Geht das?

    Ich habe ein Programm aus dem Bereich HF-Messtechnik, welches über eine Com-Schnittstelle kommuniziert. Mit einem Befehl kann eine Messungen gestartet werden und anschließend wird dann das Messergebnisse wieder herausgegeben.
    Die Programm kann ist nicht von mir und ich kann es deshalb auch nicht ändern.
    Nun möchte ich mir eine eigenes Programm schreiben, welches vor dem Start der Messung einen Frequenzgenerator richtig einstellt, die Messung über das andere Porgramm startet (Start-Befehlt per Com-Port) und über die Com-Schnittstelle wieder die Messwerte ausliest. Hoffentlich war dies verständlich ;)

    Nun zu meiner Frage: Können zwei Programme über die serielle Schnittstelle virtuell miteinander kommunizieren, ohne dass zwei Com-Schnittstellen durch Kabel miteinader direkt verbunden werden?
    @egon Nein, Du brauchst dazu ein gekreuztes Kabel
    oder
    Du schreibst einen speziellen Treiber, der das für Dich macht (kenne ich nicht).
    Oder
    die Programme kommunizieren über TCP.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    VB-Fragen über PN / Konversation werden ignoriert!
    Ja es geht. Schaut dir Com0Com.

    Ich mache vieles auch mit Instrument Control, und damals habe ich das Programm gefunden und ist ein kleiner Schatz für alle die mit RS232 was zu tun haben. Ich persönlich benutze das Programm sehr oft um serielle Communication zu "debuggen", wenn laut mein Programm alles stimmt, aber am anderen Ende etwas nicht ankommt wie es soll.

    Das Programm erstellt Paare von virtuellen ComPorts, die durch Software miteinander verbunden sind.

    Beispiel:
    Das Program erstellt COM6-COM7, die sind miteinander "virtuell" verbunden. Jetzt kanns du Programm A COM6 zuweisen und Programm B COM7 und voilá da kommunizieren Sie.

    Das Programm im Endeffekt macht nicht anders als den von @RodFromGermany erwähnten Vorgang, des gekreuztes Kabels zu simulieren.
    Das zu basteln ist sehr einfach und ist sehr nützlich.
    Nimm 2 RS232-Stecker und verbindest alle Pins 1-1 ausser TRx und RTx. TRx von SteckerA mit RTx von SteckerB verbunden, und RTx Stecker A mit TRx Stecker B.

    Jetzt brauchs du nur so einen Usb-Adapter mit mehreren Serial-Ports (vermute nicht dass du mehrere Ports in deinem Computer hast) und so kannst du jetzt hardwaremäßig die Kommunikation simulieren.

    D.h um serielle Kommunikation PC zu selbe PC hast 2 Möglicheiten:
    • Softwaremäßig - Com0Com
    • Hardwaremäßig - "Hack" gekreuztes Kabel
    Hoffe könnte dir helfen.

    Gruß
    RG
    Life doesn't give you a datasheet. Sometimes the docs are wrong and you have to try it.

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „rgomez“ ()