Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi [Delphi] Com-Port auslesen, aber... (https://www.delphipraxis.net/94239-%5Bdelphi%5D-com-port-auslesen-aber.html)

Wendtslaw 18. Jun 2007 16:01


[Delphi] Com-Port auslesen, aber...
 
Ich weiß, es gab hier schon einige Themen zum Com-Port, aber keines davon kann mir so wirklich weiterhelfen...

Also ich möchte ein Programm mit Delphi schreiben, mit welchem es möglich ist, Daten von einem wählbaren Com-Port zu lesen.

Weil ich das Gerät aber nicht hier habe, dass die Daten auf dem Com-Port raushaut, habe ich einen Simulator bekommen, der das ganze Simulieren soll. Nur leider habe ich nun das Problem, dass wenn ich versuche in meinem Delphi-Programm den Com-Port zu öffnen mit "ComPort.Open" das die Fehlermeldung kommt, dass der Com-Port bereits geöffnet ist, logischerweise von dem Simulator und wenn ich den ausmachen, funktioniert das Programm auch, nur das ich halt keine Daten bekomme.

Ich habe das Programm PortMon: http://download.sysinternals.com/Files/PortMon.zip

Damit ist es möglich die Daten, die der Simulator ausgibt, auch zu lesen, also muss es doch auch eine Möglichkeit für mich geben, unter Delphi die Daten einfach zu lesen.

Kann mir da jemand helfen?

greetz
~Wendtslaw~
__________________

hoika 18. Jun 2007 16:08

Re: [Delphi] Com-Port auslesen, aber...
 
Hallo,

ich würde hier ein Mock-Objekt nehmen,
das den ComPort (oder hier die Klasse ComPort) simuliert.

Wenn du das selber bauen willst,
dann Gute Nacht ;) und starte hier

http://www.microsoft.com/technet/sys...s/portmon.mspx


Heiko

SvB 18. Jun 2007 22:48

Re: [Delphi] Com-Port auslesen, aber...
 
Das hört sich für mich so an, dass Du das Simulationsprogramm z.B. auf dem COM2 legst, Dein Programm auf den COM1 legst und dann die beiden COM-Ports mit einem Kabel verbindest. In dem Fall muss es ein gekreuztes sein.

So mache ich das jedenfalls bei mir, wenn ich ein Gerät mit einer Software simuliere. Irgendwie muss das Simulationsprogramm seine Daten ausgeben z.B. über COM2 und das eigentliche Programm empfängt die Daten wieder über COM1.

Hinweis: Mein PC hat nur einen physikalischen COM-Port und ich habe einfach einen USB zu seriall-Converter rangehängt, der mir dann noch einen weiteren COM-Port zur Verfügung stellt.

Gruß Sven

Wendtslaw 18. Jun 2007 23:03

Re: [Delphi] Com-Port auslesen, aber...
 
hmm, danke Sven, das klingt nach einem ganz brauchbaren Vorschlag, auch wenn eine Möglichkeit ohne Kabel mir besser gefallen würde, aber wahrscheinlich wird das zu kompliziert oder zuviel Arbeit.

Könntest du mir sagen, wie dieses Kabel genau heißt und was das im Dreh so kostet?


Edit: Wäre das hier so ein Kabel wie du meinst? Klick mich, ich bin ein verwunschener Link

x000x 19. Jun 2007 00:34

Re: [Delphi] Com-Port auslesen, aber...
 
Moin moin,

ich kenne deinen verwendeten PortMon nicht. Ich weiss aber, dass du mit
Bill Serial Monitor (Serial Port Monitor) (Freeware) dein Problem erschlagen bekommst.

Mit dem Tool kannst du z.B. zu COM1 (dein Simulator) verbinden, und einen virtuellen COM Port
aufmachen. Mit diesem virtuellen kannst du dich dann mit deinem Delphi-Programm verbinden ...
Nebenbei hast du auch gleich einen Monitor und kannst die Kommunikation mitverfolgen.
(Ist eigenlich genau das was Sven beschrieben hat, nur ohne Kabel)

SvB 19. Jun 2007 06:29

Re: [Delphi] Com-Port auslesen, aber...
 
@Wendtslaw
Das wäre ein Adapter um einen weiteren seriellen Anschluß an den PC zu bekommen. Um dann die COM-Anschlüsse zu verbinden braucht mal dann noch ein Kabel. Ich habe zur Zeit jetzt leider keine Zeit, aber ich suche später mal eines raus.

Gruß Sven

Wendtslaw 19. Jun 2007 12:47

Re: [Delphi] Com-Port auslesen, aber...
 
Zitat:

Zitat von x000x
Moin moin,

ich kenne deinen verwendeten PortMon nicht. Ich weiss aber, dass du mit
Bill Serial Monitor (Serial Port Monitor) (Freeware) dein Problem erschlagen bekommst.

Mit dem Tool kannst du z.B. zu COM1 (dein Simulator) verbinden, und einen virtuellen COM Port
aufmachen. Mit diesem virtuellen kannst du dich dann mit deinem Delphi-Programm verbinden ...
Nebenbei hast du auch gleich einen Monitor und kannst die Kommunikation mitverfolgen.
(Ist eigenlich genau das was Sven beschrieben hat, nur ohne Kabel)

Also irgendwie funktioniert das auch nicht so recht...
Wenn ich versuche den Simulator auf COM1 zu verbinden, ist der wieder Meinung, dass der Port bereits geöffnet ist. Auf den Virtuelle Port (bei mir COM3) kann ich ohne Probleme verbinden und er zeigt mir die Daten dann auch im Monitor an. Aber sie kommen halt nicht bei meinem Delphi Programm dann an (weil das nicht auf COM1 verbinden kann).

marabu 19. Jun 2007 16:05

Re: [Delphi] Com-Port auslesen, aber...
 
Hallo,

das benötigte Bauteil nennt sich Null Modem Adapter und gestattet den Einsatz eines normalen seriellen Verbindungskabels zwischen zwei COM-Schnittstellen. Wer kein serielles Verbindungskabel braucht, der kann auch gleich ein Null Modem Kabel erwerben. Die Preise liegen in beiden Fällen bei etwa 5 Euro. Sinnvoll für das Spielen mit der seriellen Schnittstelle ist manchmal auch ein RS232 Mini Tester, über dessen LED-Reihen man den Zustand der Signalleitungen optisch kontrollieren kann.

Grüße vom marabu

x000x 19. Jun 2007 18:59

Re: [Delphi] Com-Port auslesen, aber...
 
Zitat:

Zitat von Wendtslaw
Also irgendwie funktioniert das auch nicht so recht...

Ja, sorry... Du hast natürlich recht. Dein Simulator besetzt ja schon den Port. :oops:

Wendtslaw 19. Jun 2007 19:20

Re: [Delphi] Com-Port auslesen, aber...
 
Zitat:

Zitat von x000x
Zitat:

Zitat von Wendtslaw
Also irgendwie funktioniert das auch nicht so recht...

Ja, sorry... Du hast natürlich recht. Dein Simulator besetzt ja schon den Port. :oops:

Naja, passiert, dass man sich irrt^^

Ich werd ma sehen, dass ich morgen loskomme um mir ein Null Modem Kabel oder Adapter kaufe.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:00 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz