机电之家行业门户网运行
文章 下载
最新公告:

  没有公告

设备维修与管理培训
您现在的位置: 设备维修与管理 >> 设备管理 >> 管理论文 >> 设备维修论文 >> 资讯正文
 
赞助商
 
 
最新文章
 
 涤纶工业长丝纺丝机用变频器、可
 PLC实现变频调速器多电机控制
 啤酒糖化绞笼吹气出槽改用LOGO!
 PLC控制步进电机在机床自动线中的
 应用PLC改进绕线式电动机起动控制
 KDN-K3系列PLC在热封切袋机中的应
 GEO系列旋转包装机计量控制系统的
 PLC在轧钢生产故障诊断中的应用研
 浮法玻璃生产线的智能自动化技术
 多串口PLC在电池混料搅拌中的应用
 
推荐技术
 
 
相关文章
 
基于VB的台达PLC与监控计
嵌入式远程测控终端与PL
台达PLC串行通讯应用原理
VB6.0的工控机与智能流量
台达PLC串行通讯原理
浅谈配电自动化的通信方
微机并行通信网络在电力
数据压缩技术在电力系统
基于CAN总线变电站综合自
基于GPRS通信的配电变压
 
客户服务
 
如果您有设备方面好的文章或见解,您可以送到我们的投稿信箱
客服电话:0571-87774297
信   箱:88ctv@163.com
我们保证在48小时内回复


s

b

g

l

.

j

d

z

j

.

c

o

m

 

[组图]基于VB的台达PLC与监控计算机的串行通信实现(二)           
基于VB的台达PLC与监控计算机的串行通信实现(二)
作者:佚名 文章来源:网络 点击数: 更新时间:2009-5-31 8:26:56

  2)功能码







  4.2 VB与PLC通信的实现

  以下举例说明现场设备与PLC通信的实现。

  1)控制要求:控制PLC的起动、停止,并显示运行状态(绿色为运行,红色为停止);能够用交替型按钮控制Y0,Y1,并用指示灯显示Y0,Y1状态(绿色为运行,红色为停止);能够对D256,D512两个寄存器进行数值写入的操作。

  2)实现思路:PLC起动停止的标志位为M1072,查DVP协议,知道地址为H0C30,按功能码01操作; 同样Y0,Y1的地址分别为H0500,H0501。写入FF00为ON,0000为OFF,按功能码05操作;D256,D512地址分别为H1100,H1200,按功能码06操作即可。

  3)VB接口的设计如图10所示。

图10
图10 监控程序界面




  用按钮控制PLC的起动停止,Y0、Y1的ON/OFF及D256、D512写完数据的发送;用Shape组件做指示灯,表示PLC的运行状态和Y的状态;用timer组件不停的读取M1072的状态,以判断PLC的运行情况;用MScomm控件实现PC与PLC的通信。


  4)编程实现的代码构成

  (1) LRC算法校验的实现

   Public Function LRC(str As String) As String
      c = 0
      l = Len(str)
      For c = c + 1 To l
      c_data = Mid$(str, c, 2)
      d_lrc = d_lrc + Val("&H" + c_data)
      c = c + 1
      Next c
      If d_lrc > &HFF Then
      d_lrc = d_lrc Mod &H100
      End If
      h_lrc = Hex(&HFF - d_lrc + 1)
      If Len(h_lrc) > 2 Then
       h_lrc = Mid(h_lrc, Len(h_lrc) - 1, 2)
      End If
      LRC = h_lrc
      End Function


  (2) 运行的开始就判断PLC的状态并设置标志位

      Rem 初次运行打开串口,并显示PLC运行状态
      Private Sub Form_Load()
      Dim s1 As String
      Dim s2 As String
      Dim s22 As String
      Dim s3 As String
      Dim s4 As String
      MSComm1.PortOpen = True
      s2 = "01010C300001"
      s22 = LRC(s2)
      s1 = ":" + s2 + s22 + Chr$(13) + Chr$(10)
      MSComm1.Output = s1
      s3 = MSComm1.Input
      s4 = Mid$(s, 6, 8)
      If s4 = "0C30FF00" Then
        plc = 1 Rem PLC为运行标志
      Else
        plc = 0 Rem PLC为停止标志
      End If
      End Sub


  (3) 下面一段为用指示灯表示PLC的运行状态


      Private Sub Timer5_Timer()
      Dim s1 As String
      Dim s2 As String
      Dim s22
      Dim s3 As String
      Dim s4 As String
      s2 = "01010C300001"
      s22 = LRC(s2)
      s1 = ":" + s2 + s22 + Chr$(13) + Chr$(10)
      MSComm1.Output = s1
      s3 = MSComm1.Input
      s4 = Mid$(s3, 8, 2)
      If s4 = "31" Then
        plc = 1 Rem PLC为运行标志
      Else: If s4 = "30" Then plc = 0 Rem PLC为停止标志
      End If
      If plc = 1 Then
        Label2.Caption = "PLC正在运行......"
        Shape1.FillColor = RGB(0, 255, 0) Rem green
      Else
      Label2.Caption = "PLC已经停止"
        Shape1.FillColor = RGB(255, 0, 0) Rem red
      End If

      End Sub


(4) PLC的起动与停止

      Rem 起动PLC
      Private Sub start_Click()
      Dim strout As String
      Timer5.Enabled = False
      str = "00050C30FF00"

      Rem M1072 为PLC起动停止标志位。查地址表,M1072为OC30.FF00为置ON,0000为置OFF。
      Rem 以上都是固定格式,要牢记。

      LRCC = LRC(str) Rem 计算 str的lrc校验码。
      strout = ":" + str + LRCC + Chr$(13) + Chr$(10) Rem 欲传送之数据。13为D,10为A
      MSComm1.Output = strout
      Timer5.Enabled = True
      End Sub
      Rem 停止PLC
      Private Sub stop_Click()
      Dim strout As String
      Timer5.Enabled = False
      str = "00050C300000"
      LRCC = LRC(str)
      strout = ":" + str + LRCC + Chr$(13) + Chr$(10)
      MSComm1.Output = strout
      Timer5.Enabled = True
      End Sub



  Y0、Y1的ON/OFF与PLC起动/停止的控制方式相同,指示灯的表示方式也相同。D256,D512数据写入的操作类似,限于篇幅其它代码就不再列出了。


  5 结束语

  VB语言易于编程使用,为与串行设备的通信提供了很大的方便。台达PLC采用标准的目前广为流行的MODBUS协议,为实现PLC与监控计算机的通信提供了简化的平台。由于台达所有的机电产品都支持MODBUS协议,所以,掌握了VB与PLC通信过程,也就等于掌握了PC与台达所有机电产品的通信。
资讯录入:admin    责任编辑:admin 
  • 上一篇资讯:

  • 下一篇资讯:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    不良信息
    举报中心
    机电之家设备管理网
    致力于机电设备维修与管理技术
    网络110
    报警服务
    服务热线:0571-87774297 传真:0571-87774298 电子邮件:donemi@hz.cn 服务 QQ:66821730
    机电之家(www.jdzj.com)旗下网站 杭州滨兴科技有限公司提供技术支持

    版权所有 Copyright © 机电之家--中国机电行业门户·设备维修与管理

    主办:杭州高新(滨江)机电一体化学会
    网站经营许可证:浙B2-20080178-1