PLC与上位PC机的高速通信的设计与实现

2010-11-17 15:51:37来源: 微计算机信息

0、引言

  工业控制领域中PLC作为一种高效、灵活、可靠的控制器,有着广泛的应用。以PLC控制器为核心,上位PC机为实时监控体的控制系统已成为工业自动化PLC控制系统的一个发展方向。实现PLC与PC的通信可以实现向上级提供诸如工艺流程图、动态数据画面、报表显示等多种窗口技术,使PLC控制系统具有良好的人机界面,通过上位机对PLC数据的读写监控实现现场数据的采集、传送以及生产过程调度的自动化和信息化,其应用前景十分广阔。常用的各种PLC网络有差异,但表现在 PLC 通信程序、系统联结和系统配置等方面,通信机理有统一性。目前市场上通信组态系统结构复杂,价格昂贵,应用繁琐,不适应用户使用。针对上述问题笔者以西门子公司的S7-200系列的PLC为研究对象,提出了一种用VC实现上位机与PLC的高速可靠的通信方法。

1、S7-200系列PLC通信方式

  西门子S7-200系列性能优良,性价比较高,适用范围很广,因此本文主要讨论西门子7-200系列与计算机之间的通信。S7-200系列通信方式有三种:

  (1) 点对点PPI方式与上位机通信:用于与西门子公司的PLC编程器或其他该公司人机接口产品的通信。该种通信方式采用的是MSComm ActivcX控件。PPI是主/从协议,网络上的S7-200均为从站,其他CPU、SIMATIC编程器或TD200为主站。如果在用户程序中允许PPI主站模式,一些S7-200CPU在RUN模式下可以作主站,它们可以用网络读和网络写指令读写其他CPU中的数据。PPI没有限制可以有多少个主站与一个从站通信,但是在网络中最多只能有32个从站。PPI通信协议是不公开的;

  (2) Freeport方式与上位机通信:Freeport方式具有与外围设备通信方便、自由,易于微机开发等特点,因此使用自由口方式实现与上位机通信的控制方案较多。但在该通信方式下,上位机与PLC的最大通信能力为128bit/s,这无法满足高速通信的需要;

  (3) Profibus-DP方式与上位机通信:Profibus协议用于几分布式I/O设备的高速通信。S7-200CPU需通过EM277。Profibus-DP模块接入Profibus网络,网络通常有一个主站和几个I/O从站。这种方式使得PLC可以通过Profibus的DP通信接口接入Profibus现场总线网络,从而扩大PLC的使用范围。PPI协议和Profibus协议的结构模型都是基于开放系统互连参考模型的7层通信结构。

2、PLC网络通信标准简介

  (1) RS-232C标准

  通信的连接接口与连接电缆的相互兼容是通信得以保证的前提。它的实现方法发展迅速,型式较多。其中RS-232C就是实际应用较多的标准之一,它是计算机或终端与调制解调器之间的标准接口。RS-232C功能规范定义了电路之间的连接,以及它的含义。RS-232C的规程规范定义的是协议,即事件出现的正确顺序。RS-232C的缺点是数据传输率低传输距离短。

  (2) RS-485标准

  在许多工业环境中,要求用最少的信号连线来完成通信任务。日前广泛应用的是RS-485串行接口总线,RS-485支持半双工通信,分时使用一对双绞信号线进行发送或接收。RS-485用于多站互联时实现简单,节省材料,可以满足高速远距离传送,构成分布式网络控制系统十分方便。

3、通信网络接口的设计

  在本工程中,我们采用的PLC为CPU224型,该可编程控制器的通信端口为RS-485接口,由于PC机的串行端口为RS-232接口,且远离控制现场(PLC位置),因此PC机的RS-232接口必须通过RS-232/RS-485转换器转换后才能与PLC通信端口连接,这种通信方式可以实现最远1.2Krn的远程通信。

  PC机的标准串口为RS232。S7-200系列CPU226提供2个串口,其中一个端口Portl作为DP口,另一个端口Port0为自由口,自由口为标准RS485串口。西门子公司提供的PC/PPI电缆带有RS232/RS485电平转换器,因此在不增加任何硬件的情况下,可以很方便地将PLC和PC机互联。

4、通信程序设计

  (1) 上位机部分程序

  单命令把MSComm控件加入到工程中。MSComm控件通信功能的实现实际上是调用了API函数。而API函数是由Comm.drv解释并传递给设备驱动程序进行的。即MSComm控件的属性提供了通信接口的参数设置,能实现串行通信。MSComm控件有关属性如下:

  CommPort:设置并返回通信端口号。Window系统将会利用该端口与外界通信;

  Setings:设置并返回初始化参数。其组成格式为“BBBB。P。D。S”。BBBB为数据速率。P为奇偶校验。D为数据比特。S为停止位;

  PortOpen:设置并返回通信端口的状态。也可以打开和关闭端口;

  Ouptut:向传输缓冲区写1B的数据;

  Input:将传送到输入缓冲区的字符读到程序里;

  RThreshold:设置在产生OnComm之前要接受的字符数;

  InputLen:设置并返回Input属性从接收缓冲区读取的字符数;

  InBbuffersize:设置或返回输入缓冲区的大小;

  InBufferCount:返回输入缓冲区内等待读区的字节个数。可通过设置该属性值为0来清除接收缓冲区;

  InputMode:设置或返回传输数据的类型;

  CommEvent:传回OnComm事件发生时的数值码;

  软件通信流程图如图1 。


图1 :通信流程图

  在实际应用中,从站被动的接收上位机发出的指令后做出响应,然后将信息传回上位机,由于上位机在整个通信的过程中不能被中断,因此上位机在接收与发送数据过程中采用了不可中断的方法。

  (2) 从站PLC程序

  S72200系列PLC选择了自由口通信方式后,在程序中就可以使用接收中断、发送中断、接收指令(RCV)、发送指令(XMT)来控制通信操作,当处于自由口模式时通信协议完全由用户程序指令控制。SMB30被用于选择比特率和校验类型,各个位的配置为:


图2:SMB30的位配置

  pp,校验选择:00为不校验,01为偶校验,10为不校验,11为奇校验;

  d,每个字符的数据位数:0,每个数字符8位;1,每个数字符7位。

  bbb,自由口比特率,kbit/s:000为3814,001为1912,010为916,011为418,100为214,101为112,110为11512,111为5716。

  mm,协议选择:00,PPI/从站模式;01,自由口模式;10,PPI/从站模式;11,保留。

  接收指令(RCV)启动或终止接收信息功能,必须为接收操作指定开始和结束条件。发送指令(XMT)在自由口模式下依靠通讯口发送数据。

  PLC程序分为主程序和中断程序。主程序完成初始化通信口、开中断、判断、发送数据等功能,中断程序完成接收和发送数据的功能。

5、高速通信设计及检验

  (1) 高速接口设计

  PC机采用400MHz的CPU以及256M的RAM,应用VC++6.0开发软件和Sicmcns SIMATIC Microcomputing软件进行开发设计。使用PC/PPI电缆可实现计算机的RS232接口与PLC通信。但该方式下只能使用PPI协议或自山通信。要使用PROFIBUS协议通信。上位机应有PROFIBUS DP模块。同时S7- 200 PLC应连接通信模块。这里上位机使用的是CP5611 PROFIBUS DP模块。安装的是SicmcnsSIMATIC Micro computing软件;下位机使用的是EM277 PROFIBUS DP模块和S7-200 224PLC组建的通信网络。

  (2) 速度仿真与检测

  Siemens SIMATIC Microcomputing软件使用ActiveX技术提供对数据的访问控制。 Microcomputing软件由2部分组成:第一部分,一系列的SIMATIC ActiveX控件,用于对PLC的数据操作,主要包括数据控件!按钮控件!编辑控件!标签控件和滑块控件;另一部分,一个容器,用于创建使用ActiveX控件的处理界面[7-8]。

  上位机用Micro computing configuration设定通信协议和波特率。 Siemens Micro computing提供PPI, MPI, PROFIBUS-I办议支持Data Control与PLC通信。PPI协议支持的最高通信速率为187.5KbpsMPI和PROFIBUS都支持9.6kbps-12Mbps的速率通信。PROFIBUS包含PROFIBUS-DP协议、PROFIBUS-Standard协议、PROFIBUS-User-defined协议和PROFIBUS-Universal协议(该协议只支持9.6kbps-1.5Mbps的通信)。用Micro computing configuration设定相应的应用程序接口点和协议。检测实验中表示应用程序接口点为CP5611协议为PROFIBUS基木实现流程图如4所示。


图3:检测实验流程图

  对PLC数据的读写。Data Control提供了4个函数:Write Variable(对单存储单元写),Write Multi Variable(对多存储单元写),Read Variable(对单存储单元读),Read Multi Variable(对多存储单元读)。

  表1是在WIN2000系统下,针对PROFIBUS的不同协议,Data Control使用自动连接,自动超时设为100ms,用Write Multi Variable函数对一个S7- 200PLC的V存储区10个存储单元进行20个字节写1000次的测试数据见表1。从表1数据可知,PROFIBUS-DP协议,PROFI-BUS-Standard协议、PROFIBUS-User-defined协议和PROFIBUS-Universal协议在1.5 M的波特率下,其写操作时间最短的是PROFIBUS-Universal协议,时间为31.61ms。

表1:不同协议下对PLC写数据时间

6、结束语

  本系统通过现场调试实验,功能达到设计要求。试验结果表明,当数据传输速率为916kbit/s时误码率< ,能够实现现场网络的在线监控、调试及数据修改。由于程序中采用了以16进制ASCII码描述数据传输格式,因此一条指令中的数据字节和控制字节不可能发生混淆,通信更加可靠。同时采用了PROFIBUS-Universal协议,实现了上位机和PLC之间的高速通信,并用实验证实了该协议的优越性。对于其它品牌的PLC,尽管通信规范及初始化有所不同,可以参照本系统方法进行编程,稍做修改即可应用。本系统的成功研制将对工业控制系统的自动化、智能化、网络化的发展提供有益的借鉴。

关键字:PLC  串行通信  高速通信  VC  自由口模式

编辑:金海 引用地址:http://www.eeworld.com.cn/gykz/2010/1117/article_3596.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
PLC
串行通信
高速通信
VC
自由口模式

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved