APP下载

上位机与S7-200 PLC之间的数据交换方法

2015-05-11刘文波王孟效

制造业自动化 2015年14期
关键词:组态上位编程

刘文波,王孟效,王 锋

(1.陕西科技大学 电气与信息工程学院,西安 710021;2.浙江力诺流体控制科技股份有限公司,瑞安 325200)

上位机与S7-200 PLC之间的数据交换方法

刘文波1,王孟效1,王 锋2

(1.陕西科技大学 电气与信息工程学院,西安 710021;2.浙江力诺流体控制科技股份有限公司,瑞安 325200)

0 引言

在工业控制领域,PLC得到广泛应用[1]。随着控制系统的网络化,PLC除了实现对现场信号的采集及现场设备的控制功能之外,还需要能与上位控制计算机之间实现数据交换,从而通过上位机实施监控。根据所选则的PLC及上位机的不同,它们之间的数据交换方法也不尽相同。本文针对西门子公司的S7-200系列PLC,研究其与上位机之间的数据交换,并给出其实现方法。

1 控制系统结构

在实际应用中,以PLC为控制器的控制系统结构可由图1表示。其中上位机用于实现现场设备运行状况监控、数据处理、数据存储等功能。系统中可使用单台或多台PLC,它们与现场设备之间通过输入输出通道进行连接,用于实现现场设备信号采集及控制功能。

图1 PLC控制系统结构

2 数据交换方法及实现

S7-200 是西门子公司推出的一种小型可编程序控制器,相对于S7-300及S7-400系列,S7-200系列PLC与上位机间的数据交换较为复杂,上位机使用不同组态软件时,数据交换方法也不尽相同。实际应用中上位机组态软件主要有两类实现方式,其一是采用WinCC等专用组态软件,另一种是根据具体应用系统采用VC++、VB等编程软件开发。根据所使用的组态软件不同,主要有如下数据交换方法。

2.1 上位机采用WinCC组态软件

当上位机采用WinCC组态软件时,可以通过OPC[2](OLE for Process Control,过程控制的对象连接和嵌入)、Prof i bus-DP以及自由口通讯等方式实现数据交换。

2.1.1 OPC方式

OPC当前已成为工业控制和自动化领域中的接口标准,其将设备制造商与软件制造商之间的关系确定为OPC服务器与应用程序之间的关系,任何带OPC接口的应用程序都以与一个或多个设备制造商的OPC服务器进行连接,目前主流设备制造商都支持OPC协议通讯。

利用OPC进行数据交换,实质上是OPC客户端与服务端之间进行连接并实现数据交换。为与S7-200进行数据交换,可将WinCC作为OPC客户端,并利用西门子公司针对S7-200的OPC软件PC Access作为服务端,在两者间建立连接,从而实现数据交换。此过程中主要软、硬件分别有上位机、S7-200 PLC、PPI电缆、WinCC、PC Access,实现方法如下:

1)软件安装及硬件连接

上位机中安装WinCC、PC Access,并利用PPI电缆连接上位机与S7-200 PLC。此方式下,上位机与S7-200 PLC间的连接如图2所示。

图2 WinCC与S7-200的OPC方式连接

2)配置PC Access软件

在PC Access软件中配置与S7-200 PLC之间的接口,选择接口为PC/PPI cable(PPI)。

3)配置WinCC软件

运行WinCC,添加OPC驱动,利用其作为OPC客户端,连接由PC Access所建立的OPC服务器,如图3所示。

通过以上步骤,即可利用OPC方式实现上位机与S7-200 PLC之间的数据交换。

图3 连接OPC服务器

2.1.2 Profibus-DP总线方式

S7-200自身不带Profibus-DP接口,需利用扩展模块EM277将其接入到Profibus-DP网络中。将上位机作为DP主站,S7-200通过扩展EM277作为DP从站。此过程中主要软、硬件分别有上位机、S7-200 PLC、CP5611卡、EM277模块、Prof i bus-DP电缆、WinCC,实现方法如下:

1)软件安装及硬件连接

上位机中安装WINCC、CP5611卡,在S7-200 PLC上扩展EM277模块,并利用电缆连接上位机与EM277。此方式下,上位机与S7-200 PLC间的连接如图4所示。

图4 WINCC与S7-200的Profibus-DP方式连接

2)组态DP网络

组态DP网络,CP5611卡配置为主站模式,EM277配置为从站模式,如图5所示。

图5 DP网络组态

3)配置WinCC软件

运行WinCC,添加Prof i bus-DP驱动。

通过以上步骤,即可利用Prof i bus-DP方式实现上位机与S7-200 PLC间的数据交换。

2.1.3 自由口方式

由于S7-200的RS485接口支持自由口模式,利用该模式,S7-200可使用自定义的通信协议与多种智能设备连接[3]。因而可考虑在WinCC中利用脚本语言通过自由口方式实现与S7-200的数据交换,上位机作为主机发起通信,S7-200作为从机响应主机命令。此过程中主要软、硬件分别有上位机、RS485接口模块、S7-200 PLC、通信电缆、WinCC,实现方法如下:

1)软件安装及硬件连接

在上位机中安装WinCC、RS485接口模块,利用通信电缆连接上位机与S7-200。此方式下,上位机与S7-200 PLC间的连接如图6所示。

图6 监控软件与S7-200的自由口方式连接

2)自定义通信协议

参照OSI七层模型,利用物理层、数据链路层及应用层自定义通信协议。

(1)物理层

采用RS485接口标准,波特率为9600bps,无校验,1位停止位。

(2)数据链路层

采用主从方式,通信由主机发起,从机等待主机请求,然后响应。上位机作为主机,S7-200 PLC作为从机。

主从机之间数据帧的传输采用RTU模式,每帧6字节,帧格式如表1所示。每个从机地址唯一,范围从1~255,地址0为广播地址,校验采用16位CRC,低字节在前,高字节在后。

表1 数据帧格式

数据帧包括请求帧、响应帧及错误帧。其中请求帧由主机发往从机,响应帧和错误帧由从机发往主机。主机发送请求帧后,需等待从机响应才能发送下一请求帧,若等待超时,也可发送下一请求帧;若从机出现状态错误,则响应错误帧。

(3)应用层

数据帧中,地址字段是从机的唯一标识。当主机需与从机交换数据时,在此字段填入地址;命令字段表示主机命令,范围从1~255;数据字段为两字节,根据不同数据帧而有不同内容;校验字段包含对地址、命令、数据字段的CRC校验信息,用于检验数据传输是否出错。

3)编写脚本

在WinCC软件中调用Mscomm控件,并编写脚本语言实现与S7-200之间的通信。

2.2 上位机采用编程软件开发监控软件

上位机除采用专用组态软件外,也可采用编程软件开发监控软件。此时可以通过OPC、PPI及自由口通讯等方式实现数据交换。

2.2.1 OPC方式

编写OPC客户端程序,并利用PC Access作为OPC服务端。此过程中主要软、硬件分别有上位机、S7-200 PLC、PPI电缆、PC Access,实现方法如下:

1)软件安装及硬件连接

在上位机中安装PC Access软件,并利用PPI电缆连接上位机与S7-200 PLC。此方式下,上位机与S7-200 PLC之间的连接如图7所示。

图7 监控软件与S7-200的OPC方式连接

2)配置PC Access软件

在PC Access软件中配置与S7-200 PLC之间的接口,并建立OPC服务器。

3)编写OPC客户端

编写OPC客户端,连接建立的OPC服务器,从而实现数据交换。

2.2.2 自由口方式

在使用自由口方式时,上位机作为主机发起通信,S7-200作为从机响应主机命令。此过程中,主要硬件及软件分别有上位机、RS485接口模块、S7-200 PLC、通信电缆,实现方法如下:

1)硬件连接

在上位机中安装RS485接口模块,并利用通信电缆连接上位机与S7-200 PLC。此方式下,上位机与S7-200 PLC之间的连接如图8所示。

图8 监控软件与S7-200的自定义协议方式连接

2)自定义通信协议

可采用与使用专用组态软件进行数据交换时类似的自定义通信协议。

3)利用Mscomm控件编程实现串口通信

在上位机监控软件中调用Mscomm控件,并根据实际需求编程实现数据发送及接收。

2.2.3 PPI(Point to Point,点到点)方式

PPI协议是西门子S7-200系列PLC提供的一种点对点通信方式[4]。其采用主从方式通讯,一次读写操作步骤包括:首先上位机发出读写命令,然后PLC响应,上位机接收响应后发出确认申请命令,PLC完成读写响应并向上位机回送数据。在使用PPI方式交换数据时,上位机作为主机,S7-200 PLC作为从机。此过程中主要软、硬件分别有上位机、RS485接口模块、S7-200 PLC,实现方法如下:

1)硬件连接

上位机中安装RS485接口模块,利用通信电缆连接上位机与S7-200 PLC。此方式下,上位机与S7-200 PLC之间的连接与自由口方式下类似。

2)利用VB编程模拟实现PPI协议

利用VB编写上位机监控软件,调用Mscomm控件,通过编程模拟实现PPI协议,而在S7-200 PLC端则无需编写通讯程序及制定自定义通讯协议,大大简化系统的开发过程。此过程中主要数据报文如下:

表2 数据报文格式

其中SD为开始定界符(68H),LE为发送的数据长度,DA为目标地址,SA为源地址,FC为功能码(读操作为6CH,写操作为7CH),DU为数据, FCS为校验码(和校验), ED为结束字符(16H)。

3 各方法优缺点

以上6种方法都可在上位机与S7-200 PLC之间实现数据交换,适用于不同的控制场合,各有优缺点。

当上位机采用WINCC组态软件时,采用OPC方式优点在于成本较低,只需较少的硬件,连接简单,且可以读写S7-200 PLC中的所有存储区域,缺点在于通信速度较慢,适用于低速、对实时性要求不高、投入资金有限的场合;采用Prof i bus-DP方式优点在通信速度快,最高可达12Mbps、实时性好,缺点在于需要较高的硬件成本投入,连接上较为复杂,适用于对通信速率及实时性要求较高的场合;采用自由口方式优点在于成本较低,硬件连接简单,可实现对数据交换的完全控制,缺点在于通信速度较慢,且需要在上位机及PLC端编写通信程序,实现较为复杂,适用于对通信速率及实时性要求不高、投入资金有限的场合。

当上位机采用编程软件开发监控软件时,采用OPC方式优点在于成本较低,连接调试简单,缺点在于通信速度较慢;采用自由口通讯方式优点在于编程灵活,对数据交换可实现完全控制,缺点在于通信速度较慢,且需要分别在上位机及PLC端编写通信程序,实现较为复杂;采用PPI方式优点在于连接简单,硬件成本较低,缺点在于需对PPI协议有较为深入的了解,编程较复杂。

4 结论

以上给出了上位机与S7-200 PLC之间的6种数据交换方法,这些方法对于不同要求的系统能较好实现数据交换。总体说来,当上位机采用WinCC组态软件实现监控时,功能强大,可靠性高,但软硬件成本较高,且需要解决WinCC与S7-200 PLC之间的通信问题,适用于较为复杂的控制系统;而当上位机采用编程软件开发监控软件时,灵活性好,软硬件成本较低,但系统开发工作量较大,难以保证可靠性,对开发人员技术水平要求较高,适用于软硬件投资有限,希望实现灵活控制功能的系统。在工程实践中可根据具体需求选择不同的方法。

[1]孟强,梅大成,秦勃,叶强.以单片机作为S7-200PLC从站的PPI协议的设计[J].微型机与应用,2012,31(17):57-59,62.

[2]王杰,高昆仑,王万召.基于OPC通信技术的火电厂DCS后台控制[J].电力自动化设备,2013,33(4):142-147.

[3]谢明磊.PLC自由口通信在特殊量监测中的应用[J].仪表技术与传感器,2010,(10),69-71.

[4]龙慧.基于S7-200 PLC的自动化生产线多站PPI通信实现[J].电气传动,2012,42(9):77-80.

Data exchange methods for host computer and S7-200 PLC

LIU Wen-bo1, WANG Meng-xiao1, WANG Feng2

在控制系统中为了实现对现场设备的监控,上位机需要与下位PLC之间实时进行数据交换,针对此问题,研究并总结了在上位机采用专用组态软件及自编监控软件,并以S7-200 PLC作为下位机的情况下,上位机与下位机之间的多种数据交换方法,并分别给出了它们的具体实现方式,通过数据交换,能有效实施对现场数据的实时监控和集中管理。

上位机;S7-200;数据交换

刘文波(1981 -),男,湖北天门人,讲师,博士,研究方向为控制理论与控制工程。

TP273+.5

A

1009-0134(2015)07(下)-0028-04

10.3969/j.issn.1009-0134.2015.07(下).08

2015-03-18

陕西省科技计划经费资助项目(2014K05-03);陕西科技大学科研启动基金项目(BJ11-07)

猜你喜欢

组态上位编程
编程,是一种态度
元征X-431实测:奔驰发动机编程
基于PLC及组态技术的恒温控制系统开发探讨
编程小能手
纺织机上诞生的编程
要攻城略地关键要有好筹码,这匹水产动保“黑马”如何能迅速上位?
特斯拉 风云之老阿姨上位
基于PLC和组态的智能电动拧紧系统
基于ZigBee和VC上位机的教室智能监测管理系统
铸造行业三维组态软件的应用