我用VB写MODBUS通讯程序定时读功能1,2,3的时读不上来,要么读上来的数据不正确,我读其中一个功能就没有什么问题,我在Private Sub MSComm1_OnComm()实践里面写的接收收据,我换了别的方式同时读几个功能还是有问题,我怀疑是数据拥堵的原因,请指点定时读三个功能的数据有需要注意些什么呢,是把定时读三个功能写在一个定时器里面还是分别写在三个定时器里面呢,请给予指点,如果有好的列子给一个列子是最好的,谢谢大家!

解决方案 »

  1.   

    Dim i As Integer
    Private Sub Form_Load()
        i = 0
    End SubPrivate Sub Timer1_Timer()
        i = i + 1
        Select Case i
            Case 1
                Me.Caption = 1
            Case 2
                Me.Caption = 2
            Case 3
                Me.Caption = 3
        End Select
        If i = 4 Then i = 0
    End Sub
      

  2.   

    modbus好像03命令才是读命令,你要调试的是budbus TCP还是其他?
      

  3.   

    你是上位机的话不要在oncomm事件里读,你直接监视接收缓冲区里的数据等他的大小不再变化的时候就去把数据取 出来