Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi InfraRot Kabel am Com Port abfragen (https://www.delphipraxis.net/58708-infrarot-kabel-am-com-port-abfragen.html)

AirJordan 16. Dez 2005 08:03

Re: InfraRot Kabel am Com Port abfragen
 
Hallo,

sorry bin noch nicht dazu gekommen, das mit meinem PC zuhause zu checken. Ich werde das am Wochenende mal ausprobieren. Ich bin aber in anderen Diabetes Foren vermehrt auf die Information gestossen, das die Hersteller der Messgeräte ihre eigene Software "verkaufen" möchten und daher die Schnittstellen nur sehr spärlich oder gar nicht rausrücken. :twisted:

Ich vermute also, das ich mit dem HyperTerminal und unterschiedliche Baudraten keinen Kontakt zum Gerät herstellen kann. :cry: Teste es aber trotzdem und berichte dann. Vielen Dank an euch für die Hilfe. :thumb:

AirJordan 17. Dez 2005 09:52

Re: InfraRot Kabel am Com Port abfragen
 
Hi,
so habe das mal getestet. Ich habe die Einstellungen für die Verbindung auf 9600baud, 8 Datenbits, 1 StopBit, Parität kein
und "Flusssteuerung" Xon/Xoff. Ich konnte dann immerhin schon etwas eingeben. Allerdings wurde hinter jedem Buchstaben ein "§" gesetzt... :?: :roll: Auf Enter reagierte HyperTerminal aber gar nicht.

Irgendwie bringt mich das aber nicht weiter. :gruebel: Noch einer eine Idee???

AirJordan 27. Dez 2005 08:21

Re: InfraRot Kabel am Com Port abfragen
 
Hallo,

nochmal zu meinem Problem die Daten von einem BZ Messgerät auszulesen, dessen Schnittstellen-
beschreibung nicht vorliegt (und wahrscheinlich vom Hersteller auch nicht zu bekommen ist,
weil dieser seine eigene Software vertreibt..). Wie kann ich die Informationen, die mir PortMon
liefert, richtig interpretieren?!? :gruebel:

Kann jemand das Protokoll von PortMon interpretieren und mir sagen, was ich an den Com-Port senden muss, damit das Gerät zb über TComPort oder TMS AsyncCom antwortet!?!?

So kommuniziert das Gerät mit einer anderen Software:
.................................................. ...

Zitat:

IOCTL_SERIAL_SET_BAUD_RATE Serial0 SUCCESS Rate: 9600
IOCTL_SERIAL_SET_RTS Serial0 SUCCESS
IOCTL_SERIAL_SET_DTR Serial0 SUCCESS
IOCTL_SERIAL_SET_LINE_CONTROL Serial0 SUCCESS StopBits: 1 Parity: NONE WordLength: 8
IOCTL_SERIAL_SET_CHAR Serial0 SUCCESS EOF:0 ERR:0 BRK:0 EVT:0 XON:11 XOFF:13
IOCTL_SERIAL_SET_HANDFLOW Serial0 SUCCESS Shake:1 Replace:40 XonLimit:2048 XoffLimit:512
IOCTL_SERIAL_SET_DTR Serial0 SUCCESS
IOCTL_SERIAL_SET_RTS Serial0 SUCCESS
IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
IOCTL_SERIAL_SET_WAIT_MASK Serial0 SUCCESS Mask: RXCHAR CTS DSR RLSD BRK ERR RING
IOCTL_SERIAL_SET_TIMEOUTS Serial0 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0
Hier kommt der Teil, wo Daten gesendet werden und wo Daten empfangen werden. Wo muss man nun
genau lesen, um zu verstehen, was man selber in dem eigenen Programm senden muss???
.................................................. ....

Zitat:

IOCTL_SERIAL_PURGE Serial0 SUCCESS Purge: RXABORT RXCLEAR
IOCTL_SERIAL_PURGE Serial0 SUCCESS Purge: TXABORT TXCLEAR
IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
IRP_MJ_WRITE Serial0 SUCCESS Length 1: .
IOCTL_SERIAL_WAIT_ON_MASK Serial0 SUCCESS
IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
IRP_MJ_READ Serial0 SUCCESS Length 1: .
Solche Werte werden ebenfalls mehrmals an das Gerät gesendet. Es scheint mir so, als ob vorher
irgendwas eingestellt wird.

Zitat:

IRP_MJ_WRITE Serial0 SUCCESS Length 1: C
IOCTL_SERIAL_WAIT_ON_MASK Serial0 SUCCESS
IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
IRP_MJ_READ Serial0 SUCCESS Length 1: C
IOCTL_SERIAL_PURGE Serial0 SUCCESS Purge: RXABORT RXCLEAR
IOCTL_SERIAL_PURGE Serial0 SUCCESS Purge: TXABORT TXCLEAR
Ganz zum Schluss werden dann wahrscheinlich die einzelnen Datensätze aus dem Gerät ausgelesen.
Sie müssten eigentlich Datum, Uhrzeit und ein num.Wert enthalten.

Zitat:

IRP_MJ_WRITE Serial0 SUCCESS Length 1: .
IOCTL_SERIAL_WAIT_ON_MASK Serial0 SUCCESS
IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
IRP_MJ_READ Serial0 SUCCESS Length 8: .1001631
IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
IOCTL_SERIAL_WAIT_ON_MASK Serial0 SUCCESS
IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
IRP_MJ_READ Serial0 SUCCESS Length 8: 72325120
IOCTL_SERIAL_WAIT_ON_MASK Serial0 SUCCESS
IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
IOCTL_SERIAL_WAIT_ON_MASK Serial0 SUCCESS
IOCTL_SERIAL_WAIT_ON_MASK Serial0 SUCCESS
IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
IRP_MJ_READ Serial0 SUCCESS Length 6: 5006C.
IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
IOCTL_SERIAL_WAIT_ON_MASK Serial0 SUCCESS
Wer hat einen Tipp für mich, wie man die Daten "lesen" muss um sie richtig umzusetzen? :gruebel:

AirJordan 30. Dez 2005 09:25

Re: InfraRot Kabel am Com Port abfragen
 
Hallo,
hat keiner eine Idee, wie ich das Protokoll auswerten kann und erkenne kann, was man dem
Gerät am Ser.-Port senden muss??? :gruebel:

AirJordan 20. Sep 2006 16:16

Re: InfraRot Kabel am Com Port abfragen
 
Ich kram den alten Beitrag nochmal hervor. Ich habe ja jetzt das Pearl Script gefunden, nur habe ich von dieser Script Sprache überhaupt keinen Plan. Ich kann nur daraus erlesen, das über OUT (die für mich eine Variable ist) auf den Port geschrieben wird und in der Variable BAH Daten eingelesen werden.

Beispiel:

Zitat:

$out = pack("C",hex(D));
$foo = $meterport->write($out);
sleep 0.3;
$bah = $meterport->input;
$bah =~ s/$six//g;
$bah =~ s/$four//g;
$bah =~ s/$three//g;
$bah =~ s/$two//g;
oder

Zitat:

$out = "S";
$foo = $meterport->write($out);
sleep 0.1;
$out = " ";
$foo = $meterport->write($out);
sleep 0.1;
$out = "2";
$foo = $meterport->write($out);
sleep 0.1;
$bah = $meterport->input;
Hat einer eine Idee wie man das in Delphi umsetzen kann? Oder einfach 1:1 übernehmen und zb über AsyncPro oä auf den Port schreiben und von dort lesen?

Danke schonmal für eure Tipps!

AirJordan 6. Nov 2006 10:17

Re: InfraRot Kabel am Com Port abfragen
 
Moin,

sooo das Problem mit dem Einlesen der Daten aus einem Blutzuckermessgerät und der COM-Port Kommunikation ist zu 95% gelöst. :thumb: Nochmal vielen Dank an die DP Gemeinde die mir mit wertvollen Tipps hier im Beitrag oder per PN geholfen haben!!!


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:10 Uhr.
Seite 2 von 2     12   

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