Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi APRO Async Pro (https://www.delphipraxis.net/79163-apro-async-pro.html)

bingo72 17. Okt 2006 14:40


APRO Async Pro
 
Hallo Experten!!

Ich möchte über einen Bewegungssensor, der über die ser. Schnittstelle (COM1) verbunden ist, Daten in meiner Applikation aufzeichnen und weiterverarbeiten.
Natürlich hab ich bis jetzt viele Threads durchgestöbert, wie man das machen könnte....ebenso die Docs von Async Pro.
Nur ich komm einfach ned weiter...

Was ich bislang gemacht habe:
+) Sensor an COM1 anschliessen und Software für Bewegungssensor installieren (--> mit der kleinen Software, konnte ich mich auch von der Funktionalität des Sensors überzeigen) (Baudrate: 9600, ComNumber: 1, ansonsten alle anderen Werte default gelassen)
+) Async Pro installiert und Packages werden in der Delphi5-Entwicklungsumgebung angezeigt
+) Habe die TAdpComPort-Komponente in meine Form gezogen, mache in der FormShow die Verbindung mit .Open := true; auf
und will in der TriggerAvail-Methode Daten testweise einlesen....

procedure TfmMain.accelComPortTriggerAvail(CP: TObject; Count: Word);
var
c: Char;
begin
c := accelComPort.GetChar;
end;

Anschließend läßt sich auch alles fehlerfrei installieren!!
Wenn ich aber den Debugger auf begin stelle, wird dieser gar nie ausgelöst?? Wie kann ich delphiseitig meinen Sensor ansprechen?? :gruebel:
Oder anders formuliert, wie muß ich die TAdpComPort-Komponente implementieren, damit ich in jedem Fall Werte vom Sensor geliefert bekomme??

LG
Thomas

Bemo 17. Okt 2006 14:57

Re: APRO Async Pro
 
Hallo Thomas,

also, ich kenn die Komponente von Async Pro nicht, aber die vielen seriellen Komponenten, die ich bisher in den Fingern gehabt habe, funktionieren eigentlich alle gleich. Deshalb:

[quote] Habe die TAdpComPort-Komponente in meine Form gezogen, mache in der FormShow die Verbindung mit .Open := true; auf

Hast Du das Comport vor open:= true auch initialisiert, d.h. hast Du der Komponente die richtige Schnittstelle zugewiesen, hast Du Baudrate, Parity, Handshake richtig gesetzt. Das alles muss vor open:=true passieren.

[quote]procedure TfmMain.accelComPortTriggerAvail(CP: TObject; Count: Word);

So wies aussieht, ist die procedure der serielle receive-Interrupt. Normalerweise muss man in den anderen seriellen Komponenten, die ich kenne erst den EVENT für den receive-Interrupt freigeben, d.h. in der Komponente müsste irgendwo die Möglichkeit bestehen, den Empangs Interrupt zu aktivieren.

Vielleicht hilft Dir das weiter

Gruß Bernd

bingo72 17. Okt 2006 15:09

Re: APRO Async Pro
 
Hallo Bernd!!

Danke für Deinen Tipp...

Also die beiden Dinge die ich gesetzt hatte (Baudrate u. Com-Number) hab ich im Object-Inspector gesetzt, d.h. dies müßte eigentlich noch vor dem FormShow passieren oder?? Wiegesagt alle anderen Werte sind default!!
Die Sache mit den Interrupts hab ich mir nochmals angesehen...ich kann auf die Komponente doch eigentlich nur über den Objektinspektor zugreifen oder?? Und da hab ich nichts gefunden, was man frei geben könnte.

LG
Thomas

Bemo 17. Okt 2006 15:22

Re: APRO Async Pro
 
Hallo Thomas,

ok, sieht soweit gut aus. Jetzt sind eher Leute gefragt, die die Komponente kennen.

Grüße Bernd

v2afrank 18. Okt 2006 05:58

Re: APRO Async Pro
 
Erst einmal scheint alles richtig zu sein, wenn ich davon ausgehe, dass Du 8 Datenbits, 1 Stopbit, Keine Parität benutzt. Ansonsten musst Du diese Einstellungen natürlich auch im OI vornehmen.
Danach würde ich folgendes machen. Starte mal Hyperterminal und schaue nach, ob Du damit denn die Daten von dem Bewegungssensor empfängst. Oft ist es auch nur ein falsches/defektes Rs232 Kabel.

Ach so, noch eins. Machst Du denn mit den empfangenen Daten noch etwas. Nicht, dass der Compiler es nur wegoptimiert hat, da mit C ja nichts passiert

bingo72 18. Okt 2006 06:34

Re: APRO Async Pro
 
Hallo Frank!!

Ich verwende die von Dir angeführten Einstellungen...
Das Kabel ist ok, sonst hätte ich mit der kleinen Applikation, die beim Bewegungssensor dabei war, auch keine Signale empfangen können.
Ich hab auch versucht den Char in einen Label auf der Oberfläche zu schreiben...es tut sich nichts. Nochmals mit dem Debugger drüber....dieser wird nicht ausgelöst...

Ich denke ich hab vom Gefühl vielleicht etwas entscheidendes vergessen. Wiegesagt ich hab die Komponente in die Form gezogen, diesem einen Namen vergeben, in FormShow die Komponente geöffnet (mit accelComPort.Open := true;) und warte nun in der Trigger-Methode auf eine Reaktion....muß ich da sonst noch was machen??

LG
Thomas

Klaus01 18. Okt 2006 06:59

Re: APRO Async Pro
 
Mal eine grundlegende Frage, der Bewegungsmelder schickt er Daten oder
ändert er nur den Status eines Signal (DTR,DSR, RTS) eine bestimmten Ports?

Dazu werden bei AsynPro verschieden Trigger ausgelöst:

Wenn Daten anliegen -> Data available trigger
Status Änderung -> Status trigger

Vielleicht auch einmal in den APRO_ReferenceGuide schauen.

Grüße
Klaus

bingo72 18. Okt 2006 07:13

Re: APRO Async Pro
 
Hallo Klaus...

Also ich kann ja leider nur auf mein kleines Analyse-Tool zurückgreifen und da gibt es ein Diagramm, wo Änderungen in Kurven dargestellt werden....also vermute ich mal, daß er Daten sendet...
Er sendet bei einer Baud-Rate von 38400, da hab ich mir gedacht "fein, das hast Du noch nicht umgestellt" --> im Object-Inspector die Baud-Rate hochgeschraubt...aber keinerlei Änderung!!
Aber kann man mal davon ausgehen, wenn man eine Verbindung zum Port öffnet und man die TriggerAvail-Procedure angibt (wenn er Daten sendet), dann sollte es reichen?? Oder muß man vielleicht sonst noch was installieren??

Klaus01 18. Okt 2006 07:18

Re: APRO Async Pro
 
Hast Du Dir die Daten mal mit dem Hyperterminal angeschaut (wurde oben schon einmal erwähnt)?
Kann es sein, daß das kleine Tool den Bewegungsmelder abfragt/pollt?

Grüße
Klaus

bingo72 18. Okt 2006 07:39

Re: APRO Async Pro
 
Liste der Anhänge anzeigen (Anzahl: 1)
Also ich hab jetzt mal die AdTerminal Komponente ebenfalls in die Form gezogen und das ganze gestartet. Ich weiß jetzt ned in der Kürze, ob man beim Terminal selber auch noch was einstellen muß...jedenfalls bleibt das Fenster schwarz!!
Ich hab auch noch ein Pic angehängt wo man zumindest das Analyse-Tool sieht...vielleicht hilft es wem??

v2afrank 18. Okt 2006 07:40

Re: APRO Async Pro
 
Die Einstellungen sollten reichen.
Wenn Dein Rechner noch zwei Comschnittstellen hat, kannst Du mit Hilfe eines Nullmodemkabels und Hyperterminal noch einmal die Verbindung testen. Sende einfach mal Daten mit Hilfe von ApdComPort1.PutString('Hallo'+#13#10); Diese solltest Du in Hyperterminal sehen.
Notfalls kannst Du dir auch mal den Serial Monitor runterladen. Damit kannst Du gut beobachten, was auf der Schnittstelle passiert

bingo72 18. Okt 2006 07:49

Re: APRO Async Pro
 
Ich hab leider nur eine COM-Schnittstelle...hab den Test trotzdem gemacht....also Button und im OnClick-Ereignis die PutString-Anweisung reingeschrieben...sehe ich auch nix im Terminal??!! Werd mir aber mal den Monitor runterladen...

chrisw 18. Okt 2006 07:51

Re: APRO Async Pro
 
Hab Dir hier doch die Lösung gegeben !

bingo72 18. Okt 2006 08:10

Re: APRO Async Pro
 
Jetzt habe ich mich schon so gefreut und mir war sofort klar....das muß es sein...hab auch den StopBit auf 0 gesetzt!! War zuvor standardmässig auf 1!! Dennoch wird die TriggerAvail nicht ausgelöst...sende das 'G' in einem Timer im Intervall von 100...was mach i jetzt noch falsch...Baud-Rate is auf 34800!!

chrisw 18. Okt 2006 08:12

Re: APRO Async Pro
 
Die Geschwindigkeit ist 38400, nun sollte es aber funzen !

Sonst nimm doch mal ein Hyperterminal und drücke mal das 'G'. Was passiert dann ?

bingo72 18. Okt 2006 08:25

Re: APRO Async Pro
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ja die Geschwindigkeit ist auf 34800...
Also ich hab jetzt mal den Serial-Monitor ausprobiert...ganz interessant...man sieht die 'G'-Zeichen die an die COM-Stelle gesendet werden, aber keine Antwort vom Sensor....achso...man sieht noch 'Port closed'...dies wurde aber erst nach dem Schließen der Verbindung ausgelöst!!

bingo72 18. Okt 2006 08:28

Re: APRO Async Pro
 
Liste der Anhänge anzeigen (Anzahl: 1)
Wenn ich das selbe "Experiment" nochmals mit dem Crossbow mache, sieht das so aus....

bingo72 18. Okt 2006 08:33

Re: APRO Async Pro
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ach ja und nochmals meine Einstellungen im Object Inspector...da es sich ja vermutlich um ein "Setting"-Problem handelt...

bingo72 18. Okt 2006 08:59

Problem gelöst...
 
ALSO!!

Als allererst möchte ich mich recht herzlich für Euere Tipps und Hilfen bedanken!! :thumb:

Die Lösung für all jene die einen Sensor diesen Typs verwenden... :?:
DTR UND RTS müssen auf True gesetzt werden!! Das war's... :coder:

chrisw 18. Okt 2006 09:00

Re: APRO Async Pro
 
Desweiteren hab ich im Handbuch gesehen, dass Du 1 Stopbit einstellen musst (0 wäre bei Async auch Blödsinn)

bingo72 18. Okt 2006 09:34

Re: APRO Async Pro
 
Hallo Chris nochmal...

Eine Frage hab ich noch...wo hast Du den Hinweis mit dem 'G' gefunden?? Hast Du da noch die Internetadresse zur Hand??

LG
Thomas

chrisw 18. Okt 2006 09:53

Re: APRO Async Pro
 
hier hab ich das gefunden.

Handbuch kannst Du auch hier bekommen.

Da sind auch die anderen "Befehle" und "Modis" drin

bingo72 18. Okt 2006 10:04

Re: APRO Async Pro
 
Hey vielen Dank....hilft sicher auch anderen!!

LG
Thomas


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:08 Uhr.

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