在编一个Modbus主站的招测程序,debug了调试结果,如下:
发送数据strtemp: 04 01 00 00 02 BC 3C 8E
接受数据4
StrArray接受数据0:4
接受数据1
StrArray接受数据1:1
接受数据58
StrArray接受数据2:58
接受数据F
StrArray接受数据3:F
接受数据0
StrArray接受数据4:0
接受数据0
StrArray接受数据5:0
接受数据0
StrArray接受数据6:0
接受数据0
StrArray接受数据7:0
上下界:0---7
接受数据0
StrArray接受数据0:0
接受数据0
StrArray接受数据1:0
接受数据0
StrArray接受数据2:0
接受数据0
StrArray接受数据3:0
接受数据0
StrArray接受数据4:0
接受数据0
StrArray接受数据5:0
接受数据0
StrArray接受数据6:0
接受数据0
StrArray接受数据7:0
接受数据0
StrArray接受数据8:0
接受数据0
StrArray接受数据9:0
接受数据0
StrArray接受数据10:0
接受数据0
StrArray接受数据11:0
接受数据0
StrArray接受数据12:0
接受数据0
StrArray接受数据13:0
接受数据0
StrArray接受数据14:0
接受数据0
StrArray接受数据15:0
接受数据0
StrArray接受数据16:0
接受数据0
StrArray接受数据17:0
接受数据0
StrArray接受数据18:0
接受数据0
StrArray接受数据19:0
接受数据0
StrArray接受数据20:0
接受数据0
StrArray接受数据21:0
接受数据0
StrArray接受数据22:0
接受数据0
StrArray接受数据23:0
接受数据0
StrArray接受数据24:0
接受数据0
StrArray接受数据25:0
接受数据0
StrArray接受数据26:0
接受数据0
StrArray接受数据27:0
接受数据0
StrArray接受数据28:0
接受数据0
StrArray接受数据29:0
接受数据0
StrArray接受数据30:0
接受数据0
StrArray接受数据31:0
上下界:0---31
接受数据0
StrArray接受数据0:0
接受数据0
StrArray接受数据1:0
接受数据0
StrArray接受数据2:0
接受数据0
StrArray接受数据3:0
接受数据0
StrArray接受数据4:0
接受数据0
StrArray接受数据5:0
接受数据0
StrArray接受数据6:0
接受数据0
StrArray接受数据7:0
接受数据0
StrArray接受数据8:0
接受数据0
StrArray接受数据9:0
接受数据0
StrArray接受数据10:0
接受数据0
StrArray接受数据11:0
接受数据0
StrArray接受数据12:0
接受数据0
StrArray接受数据13:0
接受数据0
StrArray接受数据14:0
接受数据0
StrArray接受数据15:0
接受数据0
StrArray接受数据16:0
接受数据0
StrArray接受数据17:0
接受数据0
StrArray接受数据18:0
接受数据0
StrArray接受数据19:0
接受数据0
StrArray接受数据20:0
接受数据0
StrArray接受数据21:0
接受数据0
StrArray接受数据22:0
接受数据0
StrArray接受数据23:0
接受数据0
StrArray接受数据24:0
接受数据0
StrArray接受数据25:0
接受数据0
StrArray接受数据26:0
接受数据0
StrArray接受数据27:0
接受数据0
StrArray接受数据28:0
接受数据0
StrArray接受数据29:0
接受数据0
StrArray接受数据30:0
接受数据0
StrArray接受数据31:0
接受数据0
StrArray接受数据32:0
接受数据0
StrArray接受数据33:0
接受数据0
StrArray接受数据34:0
接受数据0
StrArray接受数据35:0
接受数据0
StrArray接受数据36:0
接受数据0
StrArray接受数据37:0
接受数据0
StrArray接受数据38:0
接受数据0
StrArray接受数据39:0
接受数据0
StrArray接受数据40:0
接受数据0
StrArray接受数据41:0
接受数据0
StrArray接受数据42:0
接受数据0
StrArray接受数据43:0
接受数据0
StrArray接受数据44:0
接受数据0
StrArray接受数据45:0
接受数据0
StrArray接受数据46:0
接受数据0
StrArray接受数据47:0
上下界:0---47
接受数据0
StrArray接受数据0:0
接受数据0
StrArray接受数据1:0
接受数据0
StrArray接受数据2:0
接受数据B8
StrArray接受数据3:B8
接受数据A7
StrArray接受数据4:A7
上下界:0---4
txtReceive: 4 1 58 F 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 B8 A7
细心看下,在接受的过程中有几个数组,我列出了上下界,而且在每一次招测,数组的上下界会变化,但是总数不变。有点不明白!麻烦谁能解释一下!
最佳答案
你是用什么做的?MsComm控件?接受的方式是什么呢,是OnComm事件吗?
可能对方不是一次性将数据发送过来的。
提问者对于答案的评价:
是写在mscom_OnComm里的,rthreshhold参数改大点就可以了。我的偏小了,由于windows不是严格按时间执行的,要多任务切换。程序执行周期没准
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc272582.html