手把手教你用VB实现Modbus RTU串行通讯工程实例 联系客服

发布时间 : 星期日 文章手把手教你用VB实现Modbus RTU串行通讯工程实例更新完毕开始阅读48f0218a680203d8ce2f241f

WriteStr(6) = k ,数据长度<字节的个数> WriteStr(7) = &H12,写的第1个字的高字节 WriteStr(8) = &H34,写的第1个字的低字节 WriteStr(9) = &H56,写的第2个字的高字节 WriteStr(10) = &H78,写的第2个字的低字节 WriteStr(11) = &H9A,写的第3个字的高字节 WriteStr(12) = &HBC,写的第3个字的低字节

Call crc16(WriteStr(), 6 + k)

WriteStr(9 + (k / 2 - 1) * 2) = HiByte WriteStr(10 + (k / 2 - 1) * 2) = LoByte

MSComm1.InBufferCount = 0 MSComm1.Output = WriteStr

,写命令发送后,当接收到8个字节时中断 CmdLenth = 8

MSComm1.RThreshold = CmdLenth

5. 通讯事件中断产生时的数据处理: Private Sub MSComm1_OnComm() Dim inx() As Byte

Select Case MSComm1.CommEvent Case comEvReceive ,判断为接收事件

MSComm1.InputLen = CmdLenth ,接收数据的长度 inx = MSComm1.Input ,接收数据 MSComm1.InBufferCount = 0

For k = 3 To CmdLenth - 3 tmpstr = tmpstr & \& Hex(inx(k)) Next

Text1.Text = tmpstr ,以十六进制显示所接收长度的数据 Beep End Select End Sub