R
rovedream
Unregistered / Unconfirmed
GUEST, unregistred user!
在接收下位机数据的同时返回数据给下位机.下位机数据量不大时一切正常;
但下位机要是发来的数据比较大时,用Spcomm.WriteCommData返回就很慢,但后面又越来越快
上位机: 请求传送数据
E7 E7 E7 01 07 41 00 00 30 30 04 05 01 01 08 BC
下位机应答 +0.1094 seconds
E7 E7 E7 51 07 41 AA AA B0 00 01 00 9E
继续发送请求数据:第一包
E7 E7 E7 01 07 C0 AA AA B0 00 F4 00 02 00 01 02 06 07 01
16 04 31 DF BF 63 10 01 02 06 07 01 16 04 33 DF
BF 63 10 01 02 06 07 01 16 04 35 DF BF 63 10 01
02 06 07 01 16 04 50 DF BF 63 10 01 02 06 07 01
16 04 51 DF BF 63 10 01 02 06 07 01 16 04 52 DF
BF 63 10 01 02 06 07 01 16 04 53 DF BF 63 10 01
02 06 07 01 16 04 54 DF BF 63 10 01 02 06 07 01
16 04 55 DF BF 63 10 01 02 06 07 01 16 04 56 DF
BF 63 10 01 02 06 07 01 16 05 08 DF BF 63 10 01
02 06 07 01 16 05 10 DF BF 63 10 01 02 06 07 01
16 05 DF BF 63 10 01 02 06 07 01 16 05 12 DF BF
63 10 01 02 06 07 01 16 05 DF BF 63 10 01 02 06
07 03 08 50 21 DF BF 63 10 01 02 06 07 03 08 50
25 DF BF 63 10 01 02 06 07 03 08 50 36 DF BF 63
10 01 02 06 07 03 09 10 39 DF BF 63 10 02 02 06
07 03 09 10 52 DF BF 63 10 02 6F
上位机返回 +9.7188 seconds //居然隔了差不多10秒才返回,不要说我处理数据用时,都没处理,收到后马上返回
E7 E7 E7 51 07 C0 B0 00 AA AA 01 01 1E
下位机 +0.1250 seconds //判断超时,重复发送第一包
E7 E7 E7 01 07 C0 AA AA B0 00 F4 00 02 00 01 02 ççç..Àªª°.ô.....
06 07 01 16 04 31 DF BF 63 10 01 02 06 07 01 16 .....1ß¿c.......
04 33 DF BF 63 10 01 02 06 07 01 16 04 35 DF BF .3ß¿c........5ß¿
63 10 01 02 06 07 01 16 04 50 DF BF 63 10 01 02 c........Pß¿c...
06 07 01 16 04 51 DF BF 63 10 01 02 06 07 01 16 .....Qß¿c.......
04 52 DF BF 63 10 01 02 06 07 01 16 04 53 DF BF .Rß¿c........Sß¿
63 10 01 02 06 07 01 16 04 54 DF BF 63 10 01 02 c........Tß¿c...
06 07 01 16 04 55 DF BF 63 10 01 02 06 07 01 16 .....Uß¿c.......
04 56 DF BF 63 10 01 02 06 07 01 16 05 08 DF BF .Vß¿c.........ß¿
63 10 01 02 06 07 01 16 05 10 DF BF 63 10 01 02 c.........ß¿c...
06 07 01 16 05 DF BF 63 10 01 02 06 07 01 16 05 .....ß¿c........
12 DF BF 63 10 01 02 06 07 01 16 05 DF BF 63 10 .ß¿c........ß¿c.
01 02 06 07 03 08 50 21 DF BF 63 10 01 02 06 07 ......P!ß¿c.....
03 08 50 25 DF BF 63 10 01 02 06 07 03 08 50 36 ..P%ß¿c.......P6
DF BF 63 10 01 02 06 07 03 09 10 39 DF BF 63 10 ß¿c........9ß¿c.
02 02 06 07 03 09 10 52 DF BF 63 10 02 6F .......Rß¿c..o
上位机 (+0.2969 seconds) //这里就快了 0.29秒
E7 E7 E7 51 07 C0 B0 00 AA AA 01 01 1E
下位机 (+0.1406 seconds) //发送第二包
E7 E7 E7 01 07 C0 AA AA B0 00 7C 00 02 00 02 01 ççç..Àªª°.|.....
06 07 03 09 51 12 34 56 10 01 02 06 07 03 10 19 ....Q.4V........
57 DF BF 63 10 02 02 06 07 03 10 21 12 DF BF 63 Wß¿c.......!.ß¿c
10 02 02 06 07 03 10 27 29 DF BF 63 10 02 01 06 .......')ß¿c....
07 03 10 33 31 12 34 56 10 01 01 06 07 03 10 40 ...31.4V.......@
26 12 34 56 10 01 02 06 07 03 05 48 DF BF 63 10 &.4V.......Hß¿c.
02 02 06 07 03 15 37 DF BF 63 10 02 02 06 07 03 ......7ß¿c......
14 19 37 DF BF 63 10 02 01 06 07 03 14 19 53 12 ..7ß¿c........S.
34 56 10 01 39 4V..9
上位机 (+0.0313 seconds) //更快了,0.03秒
E7 E7 E7 51 07 C0 B0 00 AA AA 01 02 1F
后面基本就保持这个返回速度,这是什么原因呢???怎么第一包这么慢,后面还有加速度.看了一下Spcomm源码,看不出什么端倪,请那位对Spcomm熟悉的朋友看看!
但下位机要是发来的数据比较大时,用Spcomm.WriteCommData返回就很慢,但后面又越来越快
上位机: 请求传送数据
E7 E7 E7 01 07 41 00 00 30 30 04 05 01 01 08 BC
下位机应答 +0.1094 seconds
E7 E7 E7 51 07 41 AA AA B0 00 01 00 9E
继续发送请求数据:第一包
E7 E7 E7 01 07 C0 AA AA B0 00 F4 00 02 00 01 02 06 07 01
16 04 31 DF BF 63 10 01 02 06 07 01 16 04 33 DF
BF 63 10 01 02 06 07 01 16 04 35 DF BF 63 10 01
02 06 07 01 16 04 50 DF BF 63 10 01 02 06 07 01
16 04 51 DF BF 63 10 01 02 06 07 01 16 04 52 DF
BF 63 10 01 02 06 07 01 16 04 53 DF BF 63 10 01
02 06 07 01 16 04 54 DF BF 63 10 01 02 06 07 01
16 04 55 DF BF 63 10 01 02 06 07 01 16 04 56 DF
BF 63 10 01 02 06 07 01 16 05 08 DF BF 63 10 01
02 06 07 01 16 05 10 DF BF 63 10 01 02 06 07 01
16 05 DF BF 63 10 01 02 06 07 01 16 05 12 DF BF
63 10 01 02 06 07 01 16 05 DF BF 63 10 01 02 06
07 03 08 50 21 DF BF 63 10 01 02 06 07 03 08 50
25 DF BF 63 10 01 02 06 07 03 08 50 36 DF BF 63
10 01 02 06 07 03 09 10 39 DF BF 63 10 02 02 06
07 03 09 10 52 DF BF 63 10 02 6F
上位机返回 +9.7188 seconds //居然隔了差不多10秒才返回,不要说我处理数据用时,都没处理,收到后马上返回
E7 E7 E7 51 07 C0 B0 00 AA AA 01 01 1E
下位机 +0.1250 seconds //判断超时,重复发送第一包
E7 E7 E7 01 07 C0 AA AA B0 00 F4 00 02 00 01 02 ççç..Àªª°.ô.....
06 07 01 16 04 31 DF BF 63 10 01 02 06 07 01 16 .....1ß¿c.......
04 33 DF BF 63 10 01 02 06 07 01 16 04 35 DF BF .3ß¿c........5ß¿
63 10 01 02 06 07 01 16 04 50 DF BF 63 10 01 02 c........Pß¿c...
06 07 01 16 04 51 DF BF 63 10 01 02 06 07 01 16 .....Qß¿c.......
04 52 DF BF 63 10 01 02 06 07 01 16 04 53 DF BF .Rß¿c........Sß¿
63 10 01 02 06 07 01 16 04 54 DF BF 63 10 01 02 c........Tß¿c...
06 07 01 16 04 55 DF BF 63 10 01 02 06 07 01 16 .....Uß¿c.......
04 56 DF BF 63 10 01 02 06 07 01 16 05 08 DF BF .Vß¿c.........ß¿
63 10 01 02 06 07 01 16 05 10 DF BF 63 10 01 02 c.........ß¿c...
06 07 01 16 05 DF BF 63 10 01 02 06 07 01 16 05 .....ß¿c........
12 DF BF 63 10 01 02 06 07 01 16 05 DF BF 63 10 .ß¿c........ß¿c.
01 02 06 07 03 08 50 21 DF BF 63 10 01 02 06 07 ......P!ß¿c.....
03 08 50 25 DF BF 63 10 01 02 06 07 03 08 50 36 ..P%ß¿c.......P6
DF BF 63 10 01 02 06 07 03 09 10 39 DF BF 63 10 ß¿c........9ß¿c.
02 02 06 07 03 09 10 52 DF BF 63 10 02 6F .......Rß¿c..o
上位机 (+0.2969 seconds) //这里就快了 0.29秒
E7 E7 E7 51 07 C0 B0 00 AA AA 01 01 1E
下位机 (+0.1406 seconds) //发送第二包
E7 E7 E7 01 07 C0 AA AA B0 00 7C 00 02 00 02 01 ççç..Àªª°.|.....
06 07 03 09 51 12 34 56 10 01 02 06 07 03 10 19 ....Q.4V........
57 DF BF 63 10 02 02 06 07 03 10 21 12 DF BF 63 Wß¿c.......!.ß¿c
10 02 02 06 07 03 10 27 29 DF BF 63 10 02 01 06 .......')ß¿c....
07 03 10 33 31 12 34 56 10 01 01 06 07 03 10 40 ...31.4V.......@
26 12 34 56 10 01 02 06 07 03 05 48 DF BF 63 10 &.4V.......Hß¿c.
02 02 06 07 03 15 37 DF BF 63 10 02 02 06 07 03 ......7ß¿c......
14 19 37 DF BF 63 10 02 01 06 07 03 14 19 53 12 ..7ß¿c........S.
34 56 10 01 39 4V..9
上位机 (+0.0313 seconds) //更快了,0.03秒
E7 E7 E7 51 07 C0 B0 00 AA AA 01 02 1F
后面基本就保持这个返回速度,这是什么原因呢???怎么第一包这么慢,后面还有加速度.看了一下Spcomm源码,看不出什么端倪,请那位对Spcomm熟悉的朋友看看!