PLC与上位机的高速通信实现_第1页
PLC与上位机的高速通信实现_第2页
PLC与上位机的高速通信实现_第3页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、PLC 与上位机的高速通信实现摘 要:本文先介绍了S7-200 系列 PLC 的三种通信方式,及其在网络中通信的RS-232 和 RS-485 标准。 在实例中, 采用西门子公司的S7-200 系列 PLC 为下位机, 按照 RS-485 标准与上位机通信 ;通信协议为以自由口模式创建用户自定义的协议,数据传输格式为16 进制 ASCII 编码,求和校验;上位机采用VC 编程的可视化界面,在编程过程中采用不可中断方式和多缓冲区结构,实现了可靠且高速的通信方式。关键词: PLC; 串行通信 ;高速通信 ;VC; 自由口模式0、引言工业控制领域中PLC 作为一种高效、灵活、可靠的控制器,有着广泛的

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

3、提出了一种用 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-200

4、CPU 在 RUN 模式下可以作主站,它们可以用网络读和网络写指令读写其他CPU 中的数据。 PPI 没有限制可以有多少个主站与一个从站通信,但是在网络中最多只能有32 个从站。 PPI 通信协议是不公开的;( 2) Freeport 方式与上位机通信:Freeport 方式具有与外围设备通信方便、自由,易于微机开发等特点,因此使用自由口方式实现与上位机通信的控制方案较多。但在该通信方式下,上位机与PLC 的最大通信能力为128bit/s,这无法满足高速通信的需要;(3) Profibus-DP 方式与上位机通信:Profibus 协议用于几分布式I/O 设备的高速通信。S7-200CPU 需

5、通过 EM277 。 Profibus-DP 模块接入Profibus 网络,网络通常有一个主站和几个 I/O 从站。这种方式使得PLC 可以通过Profibus 的 DP 通信接口接入Profibus 现场总线网络,从而扩大PLC 的使用范围。 PPI 协议和 Profibus 协议的结构模型都是基于开放系统互连参考模型的7 层通信结构。2、 PLC 网络通信标准简介( 1) RS-232C 标准通信的连接接口与连接电缆的相互兼容是通信得以保证的前提。它的实现方法发展迅速,型式较多。其中RS-232C 就是实际应用较多的标准之一,它是计算机或终端与调制解调器之间的标准接口。RS-232C 功

6、能规范定义了电路之间的连接,以及它的含义。RS-232C的规程规范定义的是协议,即事件出现的正确顺序。RS-232C 的缺点是数据传输率低传输距离短。( 2) RS-485 标准在许多工业环境中,要求用最少的信号连线来完成通信任务。日前广泛应用的是RS-485 串行接口总线,RS-485 支持半双工通信,分时使用一对双绞信号线进行发送或接收。RS-485 用于多站互联时实现简单,节省材料,可以满足高速远距离传送,构成分布式网络控制系统十分方便。3、通信网络接口的设计在本工程中, 我们采用的 PLC 为 CPU224 型,该可编程控制器的通信端口为RS-485 接口,由于 PC 机的串行端口为R

7、S-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) 上位机部分程序单命令把 M

8、SComm 控件加入到工程中。MSComm 控件通信功能的实现实际上是调用了 API 函数。而 API 函数是由Comm.drv 解释并传递给设备驱动程序进行的。即MSComm控件的属性提供了通信接口的参数设置,能实现串行通信。MSComm 控件有关属性如下:CommPort :设置并返回通信端口号。Window 系统将会利用该端口与外界通信;Setings:设置并返回初始化参数。其组成格式为 “BBBB。P。D。S”。BBBB 为数据速率。P 为奇偶校验。D 为数据比特。S 为停止位 ;PortOpen:设置并返回通信端口的状态。也可以打开和关闭端口;Ouptut :向传输缓冲区写1B 的数

9、据 ;Input :将传送到输入缓冲区的字符读到程序里;RThreshold:设置在产生OnComm 之前要接受的字符数;InputLen :设置并返回Input 属性从接收缓冲区读取的字符数;InBbuffersize :设置或返回输入缓冲区的大小;InBufferCount :返回输入缓冲区内等待读区的字节个数。可通过设置该属性值为0 来清除接收缓冲区 ;InputMode :设置或返回传输数据的类型;CommEvent:传回 OnComm 事件发生时的数值码;软件通信流程图如图1 。图 1 :通信流程图在实际应用中, 从站被动的接收上位机发出的指令后做出响应,然后将信息传回上位机,由于上

10、位机在整个通信的过程中不能被中断,因此上位机在接收与发送数据过程中采用了不可中断的方法。( 2) 从站 PLC 程序S72200 系列 PLC 选择了自由口通信方式后,在程序中就可以使用接收中断、发送中断、接收指令( RCV )、发送指令( XMT )来控制通信操作,当处于自由口模式时通信协议完全由用户程序指令控制。SMB30 被用于选择比特率和校验类型,各个位的配置为:图 2: SMB30 的位配置pp,校验选择: 00 为不校验, 01 为偶校验, 10 为不校验, 11 为奇校验 ;d,每个字符的数据位数:0,每个数字符8 位 ;1,每个数字符7 位。bbb,自由口比特率,kbit/s

11、: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 机采用

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

13、224PLC 组建的通信网络。( 2) 速度仿真与检测Siemens SIMATICMicrocomputing软件使用ActiveX 技术提供对数据的访问控制。Microcomputing 软件由 2 部分组成:第一部分,一系列的SIMA TIC ActiveX 控件,用于对PLC 的数据操作, 主要包括数据控件! 按钮控件 !编辑控件 !标签控件和滑块控件;另一部分, 一个容器,用于创建使用ActiveX 控件的处理界面7-8 。上位机用 Microcomputingconfiguration 设定通信协议和波特率。Siemens Microcomputing 提供 PPI, MPI ,

14、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 的通信)。用 Microcomputingconfiguration 设定相应的应用程序接口点和协议。检测实验中表示应用程序接口点为CP5611协议为 PR

15、OFIBUS 基木实现流程图如4 所示。图 3:检测实验流程图对 PLC 数据的读写。 Data Control 提供了 4 个函数: Write Variable(对单存储单元写) ,Write MultiVariable(对多存储单元写) , Read Variable(对单存储单元读) , Read MultiVariable(对多存储单元读) 。表 1 是在 WIN2000 系统下, 针对 PROFIBUS 的不同协议, Data Control 使用自动连接,自动超时设为100ms,用 Write MultiVariable 函数对一个S7- 200PLC 的 V 存储区 10 个存

16、储单元进行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

17、 码描述数据传输格式,因此一条指令中的数据字节和控制字节不可能发生混淆,通信更加可靠。同时采用了PROFIBUS-Universal协议,实现了上位机和PLC 之间的高速通信,并用实验证实了该协议的优越性。对于其它品牌的 PLC ,尽管通信规范及初始化有所不同, 可以参照本系统方法进行编程, 稍做修改即可应用。 本系统的成功研制将对工业控制系统的自动化、智能化、网络化的发展提供有益的借鉴。参考文献1 蔚俊兰,丁振荣 .组态王 6.5 与单片机的通信方法 J. 工业控制计算机, 2004, 17( 10), 58-59.2 张晞,王德银,张晨 .MSP430 系列单片机使用 C 语言程序设计 M. 北京,人民邮电出版社, 2005.3 ADAM-5000 Series RS-485 Based Data Acquisition and Control System UsersManual.4 吕鹏刚,何承波,刘开培等.基于亚当模块的火电厂自动加药系统J ,微计算机信息 2001, 17( 11) :19-2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论