回复:vb与S7226通讯

Winters

  • 帖子

    324
  • 精华

    0
  • 被关注

    5

论坛等级:游侠

注册时间:2004-01-15

普通 普通 如何晋级?

发布于 2004-10-11 09:34:04

0楼

这是我写的代码,请指正。

recbuf = ""
trsbuf = ""
Select Case Combo1.Text
Case "V"
mode = "0800"
Case "M"
mode = "0200"
Case "Q"
mode = "0100"
Case "I"
mode = "0000"
End Select

PLC = ""
ld_1 = Text4.Text
lon = Len(ld_1)
For i = 1 To 2 - lon
PLC = PLC + "0"
Next
PLC = PLC + ld_1

If Option1.Value = True Then '读
dx = Chr(5)
R_W = "00"
data = "0000000000000000"
End If

If Option2.Value = True Then '写
dx = Chr(6)
data = ""
ld_1 = Combo2.Text
Select Case ld_1
Case "Byte"
R_W = "02"
Call data_cal
Case "Word"
R_W = "04"
Call data_cal
Case "Doble Word"
R_W = "08"
Call data_cal
End Select
End If



address = ""
ld_1 = Text1.Text
For i = 1 To 4 - Len(Hex(Val(ld_1)))
address = address + "0"
Next

For i = 1 To Len(Hex(Val(ld_1)))
address = address + Mid(Hex(Val(ld_1)), i, 1)
Next

checksum = 0
ld_1 = dx + PLC + mode + address + R_W + data
For i = 1 To Len(ld_1)
checksum = checksum Xor Asc(Mid(ld_1, i, 1))
Next

BCC = ""
ld_1 = Hex(checksum)
For i = 1 To 2 - Len(ld_1)
BCC = BCC + "0"
Next

BCC = BCC + ld_1

trsbuf = "g" + dx + PLC + mode + address + R_W + data + BCC + "G"
MSComm1.output = trsbuf
国民.彩 Rangers Lead The Way! All The Way,Sir! Hoo-ah!
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33257条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。