通过modbus与表通信有关问题

通过modbus与表通信问题
各位大侠:
  我通过Modbus协议与一个仪表通信,发送命令格式都正确,返回值也正确。
但是我把这个发送命令的过程,放到timer时间中去执行时,就会出现返回值混乱问题,总是几个数来循环出现。只有当多个timer事件同时发送的时候才出现这个问题。要不就是我做一个按钮一下一下的发送命令,也会偶尔出现数据不匹配的问题!


大家帮我分析一下到底是什么原因:是不是串口冲突的问题还是中断时间太短的原因呢?

------解决方案--------------------
VB code

Private Sub Timer1_Timer()
    Static sum As Long
    sum = sum + 1
    If sum = 1 Then
        With vModbusBSBill
            .ReadBalValue
        End With
    ElseIf sum = 2 Then
        With vModbusBSBill
            .ReadBalPanAndState
        End With
    ElseIf sum = 3 Then
        sum = 0
        '写轮询指令3
    End If
End Sub