Hallo,
interessant wird es ja, wenn man nicht genau weiss, was überhaupt erst einen Datenfluss auslöst. Ich
such schon seit einiger Zeit nach einer Möglichkeit, von meinem, am
Com-Port angeschlossenen BZ Messgerät
die Daten auszulesen. Ich schaffe es aber nicht, das BZ Messgerät dazu zu überreden, Daten zu senden...
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?