论文部分内容阅读
【摘要】随着自动控制技术在各行业的应用越来越广泛,构成自动控制的控制器PLC也成为现今研究的热点。本文以西门子S7-200系列PLC为例,着重阐述了以自由口通信模式与上位机之间进行数据传输、控制、管理的实现方法。
【关键词】PLC;PC;自由口;通信
一、引言
近年来可编程控制器PLC技术取得了快速发展,由于其抗干扰能力极强、可靠性相当高、体积较小的特点,广泛应用在自动控制领域中。
但是中小型PLC的数据计算、管理和存储功能较弱,显示功能较差,不能提供良好的用户界面。我们可以使用计算机来弥补PLC的不足,它不但能给用户提供非常美观又易于操作的界面,而且有很强的数据处理、管理和存储能力;将PLC与PC结合,既可以使系统及时采集、存储数据,又可以更好的处理和使用数据。
而想让PC作为上位机,提供人机交互的友好界面,实现数据的处理以及现场数据的实时显示等监视和远程控制等功能,这就势必涉及到PLC和PC之间互相通信的问题。
二、S7-200系列的PLC的通信模式
S7-200系列的PLC用于工业现场控制时,可以在四种通信模式下工作:PPI模式、MPI模式、PROFIBUS—DP模式和自由口通信模式[1]。利用这些通信协议可以实现:PLC与PLC之间,PLC与计算机,PLC与人机界面以及PLC与其他装置之间的联网通信。而其中,自由口通信模式是S7-200PLC的一个很有特色的功能。借助于自由口通信,可以通过用户程序对通信口进行操作,自己定义通信协议(如ASCII协议)[2]。自由口通信方式使S7-200PLC可以与任何通信协议已知且具有串口的智能设备和控制器进行通信,如打印机、变频器、条码阅读器、调制解调器,上位计算机等。本文采用自由口通信模式实现西门子公司的S7-200系列PLC与上位机的通信。
三、系统总体结构
在自动化系统中采用上位机和下位机结合的方法实现自动控制。使用PLC作为下位机,以完成数据采集和控制。而上位机采用普通的PC机,应用VB编制友好的开发界面及串行通信程序,实现在PC机上的实时显示、分析和监控。PLC与PC连接的结构图如图1所示。
图1 PLC与pc的连接的结构图
西门子S7-200系列控制器的自由口通信模式的通信端口是标准的RS-485兼容9针D型连接器,而上位机的串行通信端口为9针D型RS-232标准的端口,为了实现PLC与上位机通信,必须将RS-232标准转换成RS-485标准。这时我们需要使用RS-232/RS-485转换器将RS-232信号RS-485信号相互转换。
四、PLC与PC通信的实现
对于PLC的自由口模式的通信首先要对串口进行初始化,通过对特殊存储字节SMB30(端口0)写入通信控制字,来设置通信的波特率、奇偶校验、停止位和数据位数[3]。实际操作中,这些设定必须与上位机设定值相一致。其格式如下:
p p d b b b m m
pp为奇偶校验选择:00为无校验,0l为偶校验,10为无校验,11为奇校验;
d为数据选择:0为每个字符8位,1为每个字符7位;
bbb为波特率选择: 000为38400baud,001为19200baud;010为9600baud,01 1为4800baud;100为2400baud,101为1200aud;110为600baud,111为300baud;
mm为协议选择:00为PPI协议,01为自由口协议,10为PPI主站模式,11为保留,缺省设置为00。
图2 PLC通信程序流程图
初始化自由端口通信模式后,就可以进行数据的收发。而发送数据和接收数据都是通过指令来完成的。XMT指令激活发送数据区中的数据,数据缓冲区第一个数据指明了要发送的数据字节数。缓冲区最大为255个字符,在发送完最后一个字符时产生发送中断,执行中断程序;RCV指令激活初始化或结束接收信息的服务,它可以接收最多255个字符,这些字符存在缓冲区中。可以使用Step 7编写PLC端的通信程序。PLC通信程序流程图如图2所示。
上位机通信接口部分可以采用VB语言编写。通过MSCOMM控件的Setting属性进行串口初始化,使用Commport属性设置通信端口代码,以及使用PortOpen属性打开串行口。当然也可以利用MSCOMM控件提供的各种属性来进行串口的配置、双向传输数据、校验等设置,同时可以用OnComm事件来处理所有与通信相关的事件。当中断响应发生后,自动调用OnComm函数,在其中加入程序代碼,即可把PLC中传来的数据进行处理、存储等,很容易实现串行通信的问题。PC机通信程序的流程图如图3所示。
图3 PC机通信程序流程图
五、总结
通过利用S7-200 PLC自由口通信方式实现与上位机PC的实时通信,这种方法投资较少,不需要额外的硬件投入,对小规模的系统极具现实意义。而且具有方法简单、实时性好、可靠性高、操作方便等优点,已经在许多领域得到了具体的应用。
参考文献
[1]Khatri,v.K,Ghangro A,J.Industrial E1ectroIlics&Applications[J].2009,l(4):399-402.
[2]吴志敏,阳胜峰.西门子PLC与变频器、触摸屏综合应用教程[M].北京:中国电力出版社.
[3]SIEMENS公司.SIMATIC S7-200可编程控制器系统手册[M].http://www2.ad.siemens.eom.cn/download/Upload/AS/manual1109582.pdf.2008-08-01.
[4]范逸之,等.利用Visual Basic实现串并行通信技术[M].北京:清华大学出版社.
【关键词】PLC;PC;自由口;通信
一、引言
近年来可编程控制器PLC技术取得了快速发展,由于其抗干扰能力极强、可靠性相当高、体积较小的特点,广泛应用在自动控制领域中。
但是中小型PLC的数据计算、管理和存储功能较弱,显示功能较差,不能提供良好的用户界面。我们可以使用计算机来弥补PLC的不足,它不但能给用户提供非常美观又易于操作的界面,而且有很强的数据处理、管理和存储能力;将PLC与PC结合,既可以使系统及时采集、存储数据,又可以更好的处理和使用数据。
而想让PC作为上位机,提供人机交互的友好界面,实现数据的处理以及现场数据的实时显示等监视和远程控制等功能,这就势必涉及到PLC和PC之间互相通信的问题。
二、S7-200系列的PLC的通信模式
S7-200系列的PLC用于工业现场控制时,可以在四种通信模式下工作:PPI模式、MPI模式、PROFIBUS—DP模式和自由口通信模式[1]。利用这些通信协议可以实现:PLC与PLC之间,PLC与计算机,PLC与人机界面以及PLC与其他装置之间的联网通信。而其中,自由口通信模式是S7-200PLC的一个很有特色的功能。借助于自由口通信,可以通过用户程序对通信口进行操作,自己定义通信协议(如ASCII协议)[2]。自由口通信方式使S7-200PLC可以与任何通信协议已知且具有串口的智能设备和控制器进行通信,如打印机、变频器、条码阅读器、调制解调器,上位计算机等。本文采用自由口通信模式实现西门子公司的S7-200系列PLC与上位机的通信。
三、系统总体结构
在自动化系统中采用上位机和下位机结合的方法实现自动控制。使用PLC作为下位机,以完成数据采集和控制。而上位机采用普通的PC机,应用VB编制友好的开发界面及串行通信程序,实现在PC机上的实时显示、分析和监控。PLC与PC连接的结构图如图1所示。
图1 PLC与pc的连接的结构图
西门子S7-200系列控制器的自由口通信模式的通信端口是标准的RS-485兼容9针D型连接器,而上位机的串行通信端口为9针D型RS-232标准的端口,为了实现PLC与上位机通信,必须将RS-232标准转换成RS-485标准。这时我们需要使用RS-232/RS-485转换器将RS-232信号RS-485信号相互转换。
四、PLC与PC通信的实现
对于PLC的自由口模式的通信首先要对串口进行初始化,通过对特殊存储字节SMB30(端口0)写入通信控制字,来设置通信的波特率、奇偶校验、停止位和数据位数[3]。实际操作中,这些设定必须与上位机设定值相一致。其格式如下:
p p d b b b m m
pp为奇偶校验选择:00为无校验,0l为偶校验,10为无校验,11为奇校验;
d为数据选择:0为每个字符8位,1为每个字符7位;
bbb为波特率选择: 000为38400baud,001为19200baud;010为9600baud,01 1为4800baud;100为2400baud,101为1200aud;110为600baud,111为300baud;
mm为协议选择:00为PPI协议,01为自由口协议,10为PPI主站模式,11为保留,缺省设置为00。
图2 PLC通信程序流程图
初始化自由端口通信模式后,就可以进行数据的收发。而发送数据和接收数据都是通过指令来完成的。XMT指令激活发送数据区中的数据,数据缓冲区第一个数据指明了要发送的数据字节数。缓冲区最大为255个字符,在发送完最后一个字符时产生发送中断,执行中断程序;RCV指令激活初始化或结束接收信息的服务,它可以接收最多255个字符,这些字符存在缓冲区中。可以使用Step 7编写PLC端的通信程序。PLC通信程序流程图如图2所示。
上位机通信接口部分可以采用VB语言编写。通过MSCOMM控件的Setting属性进行串口初始化,使用Commport属性设置通信端口代码,以及使用PortOpen属性打开串行口。当然也可以利用MSCOMM控件提供的各种属性来进行串口的配置、双向传输数据、校验等设置,同时可以用OnComm事件来处理所有与通信相关的事件。当中断响应发生后,自动调用OnComm函数,在其中加入程序代碼,即可把PLC中传来的数据进行处理、存储等,很容易实现串行通信的问题。PC机通信程序的流程图如图3所示。
图3 PC机通信程序流程图
五、总结
通过利用S7-200 PLC自由口通信方式实现与上位机PC的实时通信,这种方法投资较少,不需要额外的硬件投入,对小规模的系统极具现实意义。而且具有方法简单、实时性好、可靠性高、操作方便等优点,已经在许多领域得到了具体的应用。
参考文献
[1]Khatri,v.K,Ghangro A,J.Industrial E1ectroIlics&Applications[J].2009,l(4):399-402.
[2]吴志敏,阳胜峰.西门子PLC与变频器、触摸屏综合应用教程[M].北京:中国电力出版社.
[3]SIEMENS公司.SIMATIC S7-200可编程控制器系统手册[M].http://www2.ad.siemens.eom.cn/download/Upload/AS/manual1109582.pdf.2008-08-01.
[4]范逸之,等.利用Visual Basic实现串并行通信技术[M].北京:清华大学出版社.