通过modbus连续发送命令出现的有关问题

通过modbus连续发送命令出现的问题
不好意思!我又有问题来了!


我是在timer事件中,写了轮询指令,通过Modbus协议实时读取智能仪表上的数值和表上的状态!


但是我现在需要通过手动发送命令,来控制只能仪表的动作,又出现发送命令冲突问题。


用什么方法,可以保证手动发送的命令和timer时间中的发送的命令不发生冲突呢!
------解决方案--------------------
简单,你定义一个布尔变量,当手动需要设置时将其置为True

Option Explicit
Dim bolManual As Boolean
Dim intComm As Integer

Private Sub Command1_Click()
    bolManual = True    '标记手动操作
End Sub

Private Sub Form_Load()
    Timer1.Interval = 100   '之所以把这个值设置为100,是为了让手动操作得到及时响应
    
End Sub

Private Sub Timer1_Timer()
    If intComm = 0 Then
        '轮询通信
        
    End If
    intComm = (intComm + 1) Mod 5   '控制轮询执行时间间隔,Timer执行5次,读一次,也就是大约间隔500ms
    If bolManual Then
        '手动操作
        bolManual = False
    End If
End Sub


------解决方案--------------------
Private Sub TimerRead_Timer()
Static Sum As Long
  Sum = Sum + 1
 If Sum = 1 Then
With vModbusBSbill
    .ReadBalPanAndState
End With                           '写轮询指令1


 ElseIf Sum = 2 Then
  Sum = 0
With vModbusBSbill
.ReadBalValue
End With                                  '写轮询指令2



If Test Then

vModbusBSbill.AggControl (4)

Test = False
End If

End If




我是要发送2个轮询指令的。

按照你的方式这么写对么??还是没有得到想要的结果!!!
------解决方案--------------------
http://topic.****.net/u/20110829/07/af1a1422-bd14-453a-a982-8efaa3abada4.html?1992813楼.