vb中用MSCOMM控件进行通信,如何处理不定长接收语句。

来源:百度知道 编辑:UC知道 时间:2024/05/28 02:39:08
情况如下:MSCOMM通信,在发出一串指令后等待回应。回应分两种,一是正常的回应,回应字节数为N;二是回复通信错误,回应字节数为M。M不等于N。

如果回应是定长,我可以设定RThreshold。像现在这种情况,又应该怎么处理呢?
谢谢 woshida007的回答。补充下:我要通信的对象是西门子的PLC,通信协议是PPI,首字是可预知,尾字不一定。且首尾字在通信串中均不一定是唯一的,故不可用特征字方法。

把你要传送的数据用特定的字符包裹起来比如 S1234O S2O S324O 等,然后设定rthreshold=1 定义一个string 让他不断的接收,每次用mid判断是不是接收到了S,O 中间的数据就是你的了。