Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Ich möchte gerne Signale über COM verschicken. Wie geht das? (https://www.delphipraxis.net/117048-ich-moechte-gerne-signale-ueber-com-verschicken-wie-geht-das.html)

Dark Angel 10. Jul 2008 16:27


Ich möchte gerne Signale über COM verschicken. Wie geht das?
 
Hallo,

ich bin dabei ein Projekt zu realisieren, bei dem ich mit Lichtschranken die Geschwindigkeit und die Beschleunigung messen will.
Die Lichtschranken sind über Bluetooth mit dem Laptop verbunden, also am COM Port. Die Berechnung und Empfang der PC Signale erfolgt mit einem ATMEGA8 Microcontroller, den ich noch programmieren muss.

Ziel ist es der Lichtschranke durch Tastenklick in meinem Delphi Programm zu Sagen, dass er Starten soll (der Mircocontroller soll dieses Signal dann erkenne und darauf reagieren) und weiter will ich Daten vom Microcontroller empfangen, wie zB die GEschwindigkeit die der Mircocontroller ausrechnen wird.

Ich habe mir bereits dieses Turbo Async Pro Dingens heruntergeladen und installiert, dort ist auch eine Hilfedatei dabei. allerdings in englisch, also bis ich da alles verstanden hab ist es zuspät.

Ich hab durch die Hilfefunktion bereits erfahren, dass ich die Datei "AdPort" dafür brauche. Starten kann ich die auch nur wie kann ich diese in mein Projekt importieren damit ich auch die Befehler (zB ApdComPort1.Open := true; usw..) nutzen kann.

Ich bin doch hoffentlich auf dem Richtigen Weg oder?

Vielen Dank schon mal

Markus

yogie 10. Jul 2008 16:58

Re: Ich möchte gerne Signale über COM verschicken. Wie geht
 
Der Weg ist erstmal richtig. AsynPro hätte ich auch vorgeschlagen.
Ich arbeite selber seit vielen Jahren damit.

Ich finde es toll, daß Du Dich mit einer Kombination aus
Hard- und Software beschäftigen willst.

Was genau soll denn an den Prozessor übertragen werden ?
Wie wird der programmiert ? Der muß ja auf die Signale
vom PC lauschen. Wenn es nur um eine Startfunktion geht,
reicht es eventuell die Signale RTS und CTS zu verwenden.
Dann langen auf der Prozessorseite ein digitaler Eingang
und ein digitaler Ausgang. Soweit ich weiß unterstützt
AsyncPro die Verwendung von RTS und CTS.

Achtung : ein normaler digitaler Eingang/Ausgang eines
Prozessors arbeitet mit 5 V (bzw. der Betriebsspannung)
Die serielle Schnittstelle sendet / empfängt +/- ca. 10 V.
Das kann man nicht einfach zusammenschalten. Stichwort ist
hier Pegelwandler (z.B. MAX 232)

shmia 10. Jul 2008 17:12

Re: Ich möchte gerne Signale über COM verschicken. Wie geht
 
Zunächst mal: es gibt relativ viele Komponenten, um die serielle Schnittstelle zu bedienen.
Async Pro von Turbo Power ist die umfangreichste Komponentensammlung zum Thema Kommunikation über serielle Schnittstelle, Modem, Telefon API.
Du hast also damit viel mehr bekommen, als du eigentlich brauchst.

Welche Komponente für die ser. Schnittstelle die Richtige oder Beste ist - da gehen die Meinungen auseinander.
Häufig wird auch SerialNG vorgeschlagen.

PS: suche mal nach Hier im Forum suchenserielle AND Schnittstelle - du siehst das ist ein Dauerbrenner hier.

Dark Angel 10. Jul 2008 17:41

Re: Ich möchte gerne Signale über COM verschicken. Wie geht
 
Danke erstmal für die schnell Antwort. Zeit ist leider etwas was ich nur begrenz zur Verfügung hab, denn in 12Tagen sollte dass alles eigentlich laufen.

@yogie
Das ganze wird meine Facharbeit an der Berufsoberschule und in 12Tagen ist eine Vorabpräsentation in der ich gerne das fertige Produkt vorstellen würde. Ich arbeite derzeit tag und nacht daran es fertig zu stellen. Hardware ist fertig und einsatzbereit, aber die Softwarr noch nicht, weil ich das noch nie gemacht habe.


Übertragung:
PC <--> yC (Die Übertragung erfolgt per Bluetooth, aber das braucht keinen zu interessieren, da die Signale wie bei einem COM port verarbeitet werden, soweit ich informiert bin)
1. Abfrage ob Verbindung steht (evtl. alle 5-10s ein Signal an den PC)
2. Startsignale vom PC ab dem die Zeit gemessen (vom yC) werden soll bis ein Eingangssignal vom yC(Microcontroller) kommt und diese Gemessene Zeit soll dann an den PC übertagen werden
3. Der yC soll die Zeit zwischen 2 Eingangflanken messen und dann die Zeit an den PC weitergeben.

Das mit den Verschiedenen Pegeln weiß ich und hab ich natürlich berückscichtigt, wie gesat Schaltung steht bereits.

Ein weiteres Problem das ich eigentlich erst später ansprechen wollte ist, dass ich für die messung 2 Verbindungen aufbauen muss, denn es werden insgesammt 3 Lichtschranken(1te am Start und 2te /3te beim Ziel um die Endgeschwindigkeit zu messen) also muss ich die Comports im Programm irgendwie auseinaderhalten.

Chemiker 10. Jul 2008 18:43

Re: Ich möchte gerne Signale über COM verschicken. Wie geht
 
Hallo Dark Angel,

ich bin jetzt zugegebener maßen nicht der Schnittstellen-Experte, aber Bluetooth und COM ist nicht das gleiche und werde soviel ich weis auch nicht gleich angesprochen.

Bis bald Chemiker

Der.Kaktus 10. Jul 2008 18:46

Re: Ich möchte gerne Signale über COM verschicken. Wie geht
 
Zitat:

Zitat von Chemiker
Hallo Dark Angel,

ich bin jetzt zugegebener maßen nicht der Schnittstellen-Experte, aber Bluetooth und COM ist nicht das gleiche und werde soviel ich weis auch nicht gleich angesprochen.

Bis bald Chemiker

Bluetooth ist auch nur ne "verkappte" serielle Schnittstelle..also auch genauso zu behandeln. ;-)

Chemiker 10. Jul 2008 19:08

Re: Ich möchte gerne Signale über COM verschicken. Wie geht
 
Hallo Der.Kaktus,

oh, das wusste ich nicht. Ich arbeite auf dem Laptop mit einer seriellen Schnittstellen-Emulation. Und probiere das Ganze mit einem Null-Modem-Kabel zwischen 2 älteren Rechnern die noch eine normalen seriellen Schnittstelle haben aus.
Das werde ich bei nächster Gelegenheit mal mit Bluetooth testen. Danke für die Info.

Bis bald Chemiker

yogie 11. Jul 2008 06:25

Re: Ich möchte gerne Signale über COM verschicken. Wie geht
 
Zum Thema "mehrere yC" :

Wenn die serielle Schnittstelle auf dem yC sowieso vollständig
(also mit richtigem Empfang von ASCII-Zeichen) programmiert
werden muß, kann man dort auch eine Abfrage einbauen, in der
Art : nur Sendungen die mit #A (#B, #C, ... usw ) beginnen, sind
für den jeweileigen yC bestimmt. D. h. Du brauchst ein Protokoll.
Ich habe immer meine Sendungen an den yC mit einem speziellen
Zeichen beginnen lassen (z.B. # oder @ s.o.), dann kann man den Anfanng
einer Sendung leichter finden. Das spielt besonders bei gestörten
Übertragungen eine Rolle

Dark Angel 11. Jul 2008 06:33

Re: Ich möchte gerne Signale über COM verschicken. Wie geht
 
@yogie

Das hört sich ja mal sehr interessatn an. Könntest du das näher erleutern wie ich überhaupt Daten sende und wie das mit dem Protokoll gehen soll.

Dark Angel 15. Jul 2008 22:47

Re: Ich möchte gerne Signale über COM verschicken. Wie geht
 
Kann mir denn niemand weiterhelfen!!!


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:21 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