预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共18页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

SiemensMPI协议解析 摘要:在使用上位机和西门子s7300系列PLC实现自动化过程控制当中,选择MPI协议进行通信时,PLC可以不用编程,而且可读写所有数据区,快捷方便。但是西门子公司没有公布MPI协议的格式,用户如果想使用MPI协议监控,就必须购买其监控产品或第三方厂家的组态软件。这样给用户自主开发带来一定困难,特别是自行开发的现场设备就不能通过MPI协议接入PLC。而采用其它通讯方式也存在编程复杂,需要购买软件和授权等局限性。本文通过数据监视、采集、分析的方法,解析出了MPI协议的关键报文格式,可用于实现上位机、现场设备与支持MPI协议的CPU之间通讯,从而提供了一种高效率低成本的通信方式。 关键字:MPI协议 前言 工业的现代化,很大程度体现在工业生产过程的自动化,其中信息的传输,数据的交换也成为评价工业自动化水平高低的标准。网络通迅方式的多样化和通迅速率的高速化,使信息交换领域从设备控制层延伸到企业管理层。信息技术的飞速发展,促进了自动化系统结构的变革,以网络为主干的分布式控制系统已成为当今自动化系统的主流趋势。因此,网络通迅的实时性和可靠性,以及网络故障的诊断和排除都成为工业网络通信关注的焦点。MPI网络是西门子工业控制系统中经常用到的一种通迅方式,使用RS485物理接口进行数据传输。下面主要阐述西门子MPI协议的解析方法以及关键报文格式。 MPI协议概述 MPI协议,其英文全名为Multi-point-Interface。在PLC之间可组态为主/主协议或主/从协议.如何操作依赖于设备类型:如果控制站都是s7—300/400系列PLC,那么就建立主/主连接关系,因为MPI协议支持多主站通讯,所有的s7—300CPU都可配置为网络主站,通过主/主协议可以实现PLC之间的数据交换。如果某些控制站是s7—200系列PLC,则可以建立主/从连接关系,因为s7—200CPU是从站,用户可以通过网络指令实现s7—300CPU对s7200CPU的数据读写操作。 分析思路 西门子Step7V5.4软件是S7-300系列PLC(包括ET200S)的开发工具,上位机通过其PCI插槽上的通讯卡(CP5613A2)接口以及通讯电缆连接到PLC的编程口上,并且通讯卡接口和PLC编程口都是RS485接口标准。这说明,PC机实际上是可以通过RS485串口同ET200CPU(IM151-7)通讯,只是我们不知道通讯协议而已。因此,在上位机上运用西门子提供的PRODAVES7软件读写PLC时,通过监视通讯口上的数据,我们就有可能分析出通信报文格式。然后,撤掉西门子通讯卡,直接通过RS485串口向PLC发送报文来验证其正确性,并作进一步的操作。本着这一思想,采用以下步骤获得这些报文。 步骤 硬软件需求 硬件:串口分支器及通讯电缆,西门子CP5613A2通讯卡,ADVANTECH公司PCI-1601A通讯卡,西门子ET200S(IM151-7CPU以及相关模块)。 软件:step7v5.4,simaticnet2006edition,prodaves7,serialportmonitor,PCI1601Adriver,visualc++。 硬件连接如图1-0 上位机 ET200S编程口 PCI1601AA啊A Cp5613A2 图1-0 安装完相关软件及驱动程序以后,进行硬件测试以及软件平台搭建 串口分支器制作及通讯电缆的连接(附录A) 运用STEP7V5.4对ET200S组态以及相关初始化设置(附录B) PCI1601A通讯卡的测试(附录C) 串口监视软件设置和测试(附录D) PRODAVES7调试运行(附录E) 完成设置和调试后,打开串口监视软件,并将PLC上电,运行PRODAVES7并在其中进行各种操作(load、unload、read、write等)时启动数据监视,通过比较分析发现: 与S7-200不同,ET200S不管出于何种状态(run或stop),一经上电,就不断发出数据查找设备,在读写数据过程中也不间断。 连接、读出、写入和断开时检测到一系列有规律的数据。经过多次监测比较分析,可得到相关操作的数据帧格式,初始化设定PLC与上位机的地址分别为02和00;为描述方便,现在对数据帧格式做以下符号约定 SD:(StartDelimiter)开始定界符 LE:(Length)报文长度 LER:(RepeatedLength)重复数据长度 SD:(StartDelimiter)开始定界符 DA:(DestinationAddress)目标地址 SA:(SourceAddress)源地址 FC:(FunctionCode)功能码 DSAP:(DestinationServiceAccessPoint)目的