• 学前教育
  • 小学学习
  • 初中学习
  • 高中学习
  • 语文学习
  • 数学学习
  • 英语学习
  • 作文范文
  • 文科资料
  • 理科资料
  • 文档大全
  • 当前位置: 雅意学习网 > 英语学习 > 正文

    【基于HostLink协议实现欧姆龙PLC-CJ1G与计算机的串口通信】 欧姆龙PLC协议

    时间:2020-03-07 08:47:04 来源:雅意学习网 本文已影响 雅意学习网手机站

      摘要:本文以欧姆龙公司的CJ1G中型PLC为例,介绍了欧姆龙HostLink即上位链接协议,详细的讨论了基于HostLink即上位链接协议的PLC与计算机通信的原理、上位链接命令和用VB如何实现PLC与计算机的通信。
      关键词:PLC 串口通讯 FCS 上位链接
      中图分类号:TP273 文献标识码:A 文章编号:1007-9416(2011)12-0001-03
      
      PLC是新一代工业控制装置,由于可靠性高、适应性好、抗干扰能力优、接口功能强、编程简单、直观以及模块化结构、使用方便等优点,在工业控制领域中,作为一种稳定可靠的控制器得到广泛的应用。但它也有自身的一些缺点,即数据的计算处理和管理能力较弱,不能给用户提供良好的界面等。而计算机恰好能弥补PLC的不足,它不但有很强的数据处理和管理能力,而且能给用户提供非常美观而又易于操作的界面。将PLC与计算机结合,可使系统达到既能及时地采集、存储数据,又可处理和使用好数据,两者结合的关键是PLC与计算机之间的通信。本文以欧姆龙公司的CJ1G中型PLC为例,详细的讨论了基于HostLink协议的PLC与计算机通信的原理和用VB如何实现PLC与计算机的通信。
      1、欧姆龙HostLink简介
      欧姆龙公司的CP、CQM、C200、CJ、CS1等PLC的串行通讯都是采用HostLink协议进行通讯的,HostLink协议是欧姆龙的专有协议,通过HostLink协议使用计算机的串行口可与OMRON的PLC设备通讯。上位机链接系统即Hostlink系统是对于弱电系统集成一种即优化又经济的通信方式,它适合一台上位机与一台或多台PLC进行链接。上位机可对PLC传送程序,并监控PLC的数据区,以及控制PLC的工作情况。Hostlink系统允许一台上位机通过上位机链接命令向Hostlink系统的PLC发送命令,PLC处理来自上位机的每条指令,并把结果传回上位机。HostLink协议系统可使上位机对PLC的程序进行传送或读取,并可对PLC数据区进行读写操作。所有通信都将作奇偶检验和帧检验的双重检查系统,从而能估计出通信中的错误。可以使用PLC自带的RS-232C口与上位机进行连接,也可使用欧姆龙专用的通信板进行连接。通讯参数设置应与设备的通讯参数相同,默认为:9600,7,2,E(偶校验)。PLC与计算机之间的连接线是OMRON提供的专用电缆CJ1W-CN118来实现的,也可自制通讯电缆来实现,其连接图如图1所示。
      2、上位机与PLC间通信的基本原理
      要实现上位机与PLC间的通信,欧姆龙CJ系列PLC与上位机通讯可以采用上位链串行通信模式。进行上位链接通信时,上位机与PLC间使用命令和响应进行发送接收。而命令与响应都是以“帧”为单位进行的。首先,上位机向PLC发送命令,同时把发送权移交给PLC,PLC接收到上位机的命令后,进行FCS校验,FCS校验就是把从一帧的开始到FCS前面的数据进行逻辑异或得到的8位数据变换成2个字符的ASCII码,对接收信息的各帧计算FCS,并同时附加在帧后的FCS进行对照校合,就能检查数据错误。数据正确后再由PLC向上位机发送响应,这样就完成了一次通讯。
      3、上位机与PLC间通信命令与响应的格式
      (1)命令格式,如图2所示。
      @:表示以@开始,而且必需以以@开始。设备号:是上位机用来识别所连接PLC的唯一号码。识别码:就是命令码,设定为两个字符的长度。正文:设定命令参数。FCS:设定为两个字符的检验码,如果通信出错通过计算FCS校验码,就可以及时发现。终端:命令结束,用两个字符设定即“*”和CR回车符来表示。
      (2)响应格式,如图3所示。
      @:表示以@开始,而且必需以以@开始。设备号:是上位机用来识别所连接PLC的唯一号码。异常码:返回命令的执行状态(有无错误)。正文:在有读出数据时返回。FCS:设定为两个字符的检验码。终端:命令结束,用两个字符设定即“*”和CR回车符来表示。
      (3)欧姆龙上位链接命令介绍。
      欧姆龙公司提供的上位链接命令,用于对欧姆龙PLC 进行相应的读写操作,常用上位链接命令如表1:
      4、基于VB的通信程序设计
      为了充分利用计算机数据处理的强大功能,我们可以采用计算机有优先权的方式,在计算机上编写程序来实现计算机与PLC的通信,计算机向PLC发出命令发起通信,PLC自动返回响应。本文中采用了VB来编写计算机与PLC间的通讯程序。
      (1)计算FCS校验的VB自定义函数如下:
      Function fcs(ByVal inputstr As String) As String
       Dim slen, i, xorresult As Integer
       Dim tempfcs As String
       slen=Len(inputstr) (求输入字符串长度)
       xorresult=0
       For i=1 To slen
       xorresult=xorresult Xor Asc(Mid$(inputstr,i,1)) (按位异或)
       Next i
       tempfcs=Hex$(xorresult) (转化为16进制)
       If Len(tempfcs)=1 Then tempfcs="0"+tempfcs
       fcs=tempfcs
      End Function
      (2)计算机与PLC通信程序。
      读PLC的 VB自定义函数如下:
      Public Function MyRead(OrigWord As String, NumRead As String)
       Dim ReadCom As String
       Dim i2 As Integer
       Dim ReadWord As String
       Static Tim1 As Integer
       Static TIM2 As Integer
       On Error GoTo ErrDeal
       If MAINMENU.MS1.PortOpen=False Then MAINMENU.MS1.PortOpen=True
       ReadCom="@00RD"+OrigWord+NumRead (读DM区,前四个表示起始字,后四位表示字数)
       ReadCom=ReadCom+fcs(ReadCom)+"*"+Chr(13)
       i2=0
       MAINMENU.MS1.InBufferCount=0
       MAINMENU.MS1.Output=ReadCom
       Do
       DoEvents
       i2=i2+1
       Loop Until MAINMENU.MS1.InBufferCount>= CInt(NumRead)*4+11 Or i2>10000
       If i2    Else
       GoTo ErrDeal
       End If
       Exit Function
      ErrDeal:
       Tim1=Tim1+1
       If Tim1>5 Then
       Tim1=0
       If WarnDis1=True Then Exit Function "GoTo mss2
       MsgBox"上下位机通信错误,请检查!", vbCritical,"警告"
       WarnDis1=True
       End If
      End Function
      写PLC的 VB自定义函数如下:
      Public Sub MyWrite(OrgiWord As String,WrStr As String)
       Dim WritCom As String
       Dim i2 As Integer
       Dim ResStr As String
       Dim TIM As Integer
       WritCom="@00WD"+OrgiWord+WrStr(写DM区,前四个表示起始字,后四位表示写入值)
       WritCom=WritCom+fcs(WritCom)+"*"+Chr(13)
       i2=0
       MAINMENU.MS1.InBufferCount=0
       MAINMENU.MS1.Output=WritCom
       Do
       DoEvents
       i2=i2+1
       Loop Until MAINMENU.MS1.InBufferCount>=11 Or i2>10000
       If i210 Then
       MsgBox"上下位机通信错误,请检查!",vbCritical,"警告"
       End If
      End Sub
      从上面程序可以看到,计算机对PLC返回的响应帧要进行FCS校验,并利用异常码排除返回的错误数据,这样不但可以提高计算机获取信息的正确性,而且也提高了计算机监控的实时性。
      上位链接协议通信方法在我台自动化控制系统中得到了运用,以工控机作为上位机,以PLC为下位机,形成一个优势互补的自动控制系统,实现了“集中管理,分散控制”。经过几年运行,运行可靠、稳定、抗干扰能力强。
      参考文献
      [1]欧姆龙公司《欧姆龙C系列可编程序控制器操作手册》.

    推荐访问:串口 欧姆龙 协议 基于HostLink协议实现欧姆龙PLC-CJ1G与计算机的串口通信

    • 文档大全
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章