您现在所在的是:

PLC论坛

回帖:2个,阅读:1027 [上一页] [1] [下一页]
1028
newchp
文章数:21
年度积分:50
历史总积分:1028
注册时间:2005/12/27
发站内信
发表于:2007/1/13 13:50:00
#0楼
我用VB6.0做的简单的监控程序,使用CPM1-CIF01适配器与一台CPM1A-20CDR PLC连接,通讯不上。我的PLC外设口设置为HOSTLINK,通讯设置为标准。后来写了个最简单的测试连接情况的小程序,还是通讯不上,请OMRON技术帮我看看,谢谢了!
我的RS232C使用的是9PIN,接线图如下:
   PLC      电脑
2……………………2
3……………………3
4,5短接         4,6短接
               7,8短接
9……………………5

VB6.0写的测试程序如下:
Private Sub cmds_Click()
   Timer1.Enabled = True          ’按下开始按钮,使定时器1使能
End Sub

Private Sub Command1_Click()
   MSComm1.PortOpen = False             ‘按下停止按钮,关闭串行口
End Sub

Private Sub Form_Load()
   Label1.Caption = ""         ’用于显示PLC返回帧数据
End Sub

Private Sub Timer1_Timer()
   MSComm1.CommPort = 1                  ‘HOSTLINK通讯参数设置
   MSComm1.Settings = "9600,e,7,2"
   MSComm1.InBufferSize = 1024
   MSComm1.OutBufferSize = 1024
   MSComm1.InputLen = 0
   MSComm1.InputMode = comInputModeBinary
   MSComm1.PortOpen = True                 ’打开串行口
   Data = "@00ts8899"                     ’待发送测试数据
   a = 0                                  ‘求FCS
   For i = 1 To Len(Data)
       d = Mid(Data, i, 1)
       a = Asc(d) Xor a
   Next i
   fcs = Hex(a)
   If Len(fcs) = 1 Then                       ’如果FCS为1位则补足2位
       fcs = "0" + fcs
   End If
   senddata = Data + fcs + "*" + Chr(13)      ‘从串行口发送数据帧
   MSComm1.Output = senddata
                                                '读取应答帧
   Do
       DoEvents
   Loop Until MSComm1.InBufferCount >= 13
   Do
       tag1 = MSComm1.Input
   Loop Until MSComm1.InBufferCount = 0
   Label1.Caption = tag1                ’ 在屏幕上显示PLC返回的测试数据
End Sub

1028
newchp
文章数:21
年度积分:50
历史总积分:1028
注册时间:2005/12/27
发站内信
发表于:2007/1/13 21:13:00
#2楼
to利昌机电,能不能指出我上面的错误呢?你发的我下下来后不能完全的打开,无法看到结果。

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

46.8003