上位机VB与200PLC走PPI协议通讯时VD寄存器数据写不进
请教各位:上位机采用VB编程,PLC走PPI协议,现想往PLC的VD100中写入十六进制FFFFFFFF数值,上位机VB通过字节格式发送十六进制68 23 23 68 02 00 7C 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10 06 00 01 00 01 84 00 03 20 00 04 00 20 FF FF FF FF AF 16 后PLC成功返回E5,接着发送确认指令十六进制10 02 00 5C 5E 16后,PLC返回68 F F 68 00 02 08 32 02 00 00 00 00 00 00 00 00 85 00 C3 16 ,此时查看PLC寄存器VD100的值没被写入,不知何原因,还请高手帮忙分析,先谢谢了。
[解决办法]
你这个样子写没人懂的,写的详细点.最好有点源代码来分析.
[解决办法]
LZ:你的SendSurePublicByte过程代码有BUG,多发送了1字节,所以导致出错,代码修改如下:
Sub SendSurePublicByte() '向PLC发送确认指令的公共字节 Dim StrSendSure As String Dim LenSureByte As Integer Dim i As Long Dim SendSureByte() As Byte StrSendSure = "10 02 00 5C 5E 16" StrSendSure = Replace(StrSendSure, " ", "") Print StrSendSure ReDim SendSureByte(0 To -1 + Len(StrSendSure) / 2) For i = 1 To Len(StrSendSure) Step 2 SendSureByte((i - 1) / 2) = Val("&H" + Mid(StrSendSure, i, 2)) Next i MSComm1.Output = SendSureByteEnd Sub