上位机与S7-200 PLC之间的数据交换方法
2015-05-11刘文波王孟效
刘文波,王孟效,王 锋
(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)