VB与三菱PLC串口通信问题 点击:518 | 回复:0



stefans

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 143回
  • 年度积分:0
  • 历史总积分:183
  • 注册:2012年7月30日
发表于:2013-11-29 09:43:47
楼主

下面是一段VB与三菱PLC的串口通信程序,这段程序是实时读取三菱PLC中D数据寄存器的值,我验证过是正确的,哪位大神能指导我一下,向三菱PLC的D数据寄存器中写入值的程序怎么编写啊????

Private Sub Form_Load()
MSComm1.PortOpen = True
End Sub

Private Sub Timer1_Timer()
Dim MlbL As String
Dim SendData As String
Dim GetData As String
Dim tim
Dim I
MlbL = "0" + "1000" + "08" + Chr(3)
SendData = Chr(2) + MlbL + Sumchk(MlbL)
MSComm1.InBufferCount = 0
MSComm1.OutBufferCount = 0
MSComm1.Output = SendData
tim = Timer
Do
If Timer > tim + 1 Then
Text8.Text = "通讯超时"
 Exit Sub
 End If
Loop Until MSComm1.InBufferCount >= 20
GetData = MSComm1.Input
GetData = Mid(GetData, 2, 16)
For I = 0 To 3
Text1(I).Text = Val("&H" + Mid(GetData, I * 4 + 3, 2) + Mid(GetData, I * 4 + 1, 2))
Next I
End Sub
Private Function Sumchk(dats As String) As String
Dim I
Dim CHK
For I = 1 To Len(dats)
CHK = CHK + Asc(Mid(dats, I, 1))
Next I
Sumchk = Right(Hex(CHK), 2)
End Function

 



热门招聘
相关主题

官方公众号

智造工程师