我用mscomm 做电脑和 s7-200 的通讯时,监视时 能够看到是有两百个数据全部接受到了,但是 当我将接收到的数据进行赋值时,发现只有113 个数据,不知道怎么回事?我用监控软件监视时,确实看到数据了啊,
Dim str_array() As Byte
Dim strkk As String
Dim ss As String
Dim rcv_len, i, j As Integer
str_array = MSComm1.Input
我用 ubound(str_array) 的值 只有113
  希望高手能够帮我看看,亟待解决

解决方案 »

  1.   

    你直接读缓存这种方法不好,你用ubound(str_array)读时可能对方数据还没发完
    你可以用中断方式接收数据,把所有的数据都接收到一个数组中,再去判断ubound(str_array)
      

  2.   

    inputlen来设定
    0:串口缓冲区中有多少读多少
    1~N:一次读取N个
      

  3.   

    已经解决了!确实是因为没有发完呢,我的 读取程序就工作了,我在读取代码后面加了个延迟sleep(50),就可以读取全部了,另外我测试了下,根据每次读取的数据多少 这个延迟时间不确定,因为 每次最多读取200多个数据嘛,按照最大量来读取的话 延迟时间也就是在150--180 微秒之间,还是可以 实现实时显示的!
     希望对 别人也会有用吧    结贴了 ,再次感谢大家的热心帮助