发表于:2008/4/4 11:18:00
#0楼
本人通过阅读欧姆龙提供的CPM1A手册上的 与上位机通讯协议.
做了几个小例子..通过编程电缆,可以与CPM1A和CQ1MH的CPU,写,读数据
当我应用到CS1G的CPU的时候就傻了眼,
第一个问题是: 这个 协议好象只能读写DM0000---DM9999
如果我要读DM区超过五位的数据怎么办了..例如DM10000的数据
因为协议上写了地址区是十进值数.
第二个是.我用的一摸一样的程序.读CS1G的CPU的DM2的数据,还回的数据是"????"
下面是我写的只读DM2的数据,端口 已经打开了,,异或效验也没问题这是可以肯定的..
Private Sub Command1_Click()
OUTSTRING = "@" + "00" + "RD" + "0002"+"0001"
xrordata = fcs$(OUTSTRING)
outdata = OUTSTRING + xrordata + "*" + Chr$(13)
MSComm1.Output = outdata
indata = MSComm1.Input
Label1.Caption = indata
End Sub
那位高人.做过与CS1G的CPU的通讯的 能否指点下我的错误..或者提醒我还有什么地方没注意的..
本人的qq号 282328990 可以一起交流下.相互学习.
做了几个小例子..通过编程电缆,可以与CPM1A和CQ1MH的CPU,写,读数据
当我应用到CS1G的CPU的时候就傻了眼,
第一个问题是: 这个 协议好象只能读写DM0000---DM9999
如果我要读DM区超过五位的数据怎么办了..例如DM10000的数据
因为协议上写了地址区是十进值数.
第二个是.我用的一摸一样的程序.读CS1G的CPU的DM2的数据,还回的数据是"????"
下面是我写的只读DM2的数据,端口 已经打开了,,异或效验也没问题这是可以肯定的..
Private Sub Command1_Click()
OUTSTRING = "@" + "00" + "RD" + "0002"+"0001"
xrordata = fcs$(OUTSTRING)
outdata = OUTSTRING + xrordata + "*" + Chr$(13)
MSComm1.Output = outdata
indata = MSComm1.Input
Label1.Caption = indata
End Sub
那位高人.做过与CS1G的CPU的通讯的 能否指点下我的错误..或者提醒我还有什么地方没注意的..
本人的qq号 282328990 可以一起交流下.相互学习.