Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Kommunikation über RS485 (halfduplex) (https://www.delphipraxis.net/61200-kommunikation-ueber-rs485-halfduplex.html)

TomDooley 18. Jan 2006 09:22


Kommunikation über RS485 (halfduplex)
 
Hallo

Ich möchte ein Delphi-Programm schreiben, welches mit einem externen Gerät über RS485 kommuniziert. Auf meiner Seite setze ich einen RS232/RS485 Konverter ein.

Mein Problem:

Da in diesem Fall nur ein Halbduplex-Betrieb möglich ist, muss ich im Programm zwischen Sende- und Empfangsbetrieb umschalten! Das externe Gerät setzt jedoch eine Hardwarlösung ein und antwortet deshalb sehr schnell. Während dieser Zeit habe ich noch gar nicht von Sende- auf Empfangsbetrieb umgeschaltet!

Habe ich softwaremässig überhaupt irgend eine Möglichkeit? Wie kann ich die Zeit bestimmen, die ich mindestens brauche, bis ich vom Sende- auf den Empfangsbetrieb umgestellt habe?

Danke und Gruss

Tom

PMM 18. Jan 2006 10:12

Re: Kommunikation über RS485 (halfduplex)
 
Wenn ich mich recht erinnere, werden COM-Ports doch von Windows wie Files behandelt (OpenFile bzw. CreateFile). Das Puffern der einlaufenden Zeichen wird also von Windows im Hintergrund erledigt. Das Duplex-Problem kommt damit bei der Applikation doch gar nicht mehr an. Such mal nach dem COM Port Driver von Marco Cocco - meine Version ist noch D2 hat's aber, als ich sie unter D5 das letzte mal benutzt habe, getan.
PMM

Der_Unwissende 18. Jan 2006 10:13

Re: Kommunikation über RS485 (halfduplex)
 
Hi,
ich weiß nicht genau mit was für einen Adapter/Konverter du arbeitest, aber eigentlich gibt es zwei Möglichkeiten. Die etwas Neueren oder Hochwertigeren können automatisch umschalten. Die Erkennen einfach mal ob gerade gesendet oder Empfangen wird. Wird dies nicht geleistet, musst du Handshaking einstellen und hast dann entsprechend die Zeit, die deine Software benötigt um umzuschalten und danach das Handshake Signal zu schicken.

Gruß Der Unwissende


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:35 Uhr.

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