SiemensMPI协议解析.doc
《SiemensMPI协议解析.doc》由会员分享,可在线阅读,更多相关《SiemensMPI协议解析.doc(21页珍藏版)》请在咨信网上搜索。
1、 Siemens MPI协议解析 摘要:在使用上位机和西门子s7300系列PLC实现自动化过程控制当中,选择 MPI协议进行通信时,PLC可以不用编程,并且可读写所有数据区,快捷方便。但是西门子公司没有公布MPI协议的格式,用户假如想使用MPI协议监控,就必须购买其监控产品或第三方厂家的组态软件。这样给用户自主开发带来一定困难,特别是自行开发的现场设备就不能通过MPI协议接入PLC。而采用其它通讯方式也存在编程复杂,需要购买软件和授权等局限性。本文通过数据监视、采集、分析的方法,解析出了MPI协议的关键报文格式,可用于实现上位机、现场设备与支持MPI协议的 CPU之间通讯,从而提供了一种高效率
2、低成本的通信方式。 关键字: MPI协议 前言工业的现代化,很大限度体现在工业生产过程的自动化,其中信息的传输,数据的互换也成为评价工业自动化水平高低的标准。网络通迅方式的多样化和通迅速率的高速化,使信息互换领域从设备控制层延伸到公司管理层。信息技术的飞速发展,促进了自动化系统结构的变革,以网络为主干的分布式控制系统已成为当今自动化系统的主流趋势。因此,网络通迅的实时性和可靠性,以及网络故障的诊断和排除都成为工业网络通信关注的焦点。MPI网络是西门子工业控制系统中经常用到的一种通迅方式,使用RS485物理接口进行数据传输。下面重要阐述西门子MPI协议的解析方法以及关键报文格式。MPI协议概述M
3、PI协议,其英文全名为Multi-point-Interface。在PLC之间可组态为主主协议或主从协议如何操作依赖于设备类型:假如控制站都是s7300400系列PLC,那么就建立主主连接关系,由于MPI协议支持多主站通讯,所有的s7300 CPU都可配置为网络主站,通过主主协议可以实现PLC之间的数据互换。假如某些控制站是s7200系列PLC,则可以建立主从连接关系,由于s7200 CPU是从站,用户可以通过网络指令实现s7300 CPU对s7200 CPU的数据读写操作。分析思绪 西门子Step 7 V5.4软件是S7-300系列PLC(涉及ET200S)的开发工具,上位机通过其PCI插槽
4、上的通讯卡(CP5613A2)接口以及通讯电缆连接到PLC的编程口上,并且通讯卡接口和PLC编程口都是RS485接口标准。这说明,PC机事实上是可以通过RS485串口同ET200 CPU(IM151-7)通讯,只是我们不知道通讯协议而已。因此,在上位机上运用西门子提供的PRODAVE S7软件读写PLC时, 通过监视通讯口上的数据,我们就有也许分析出通信报文格式。然后,撤掉西门子通讯卡,直接通过RS485串口向PLC发送报文来验证其对的性,并作进一步的操作。本着这一思想,采用以下环节获得这些报文。 环节硬软件需求硬件:串口分支器及通讯电缆,西门子CP5613A2通讯卡,ADVANTECH公司
5、PCI-1601A通讯卡,西门子ET200S(IM151-7CPU以及相关模块)。软件:step7 v5.4 , simatic net 2023 edition, prodave s7 , serial port monitor,PCI1601A driver,visual c+。硬件连接如图1-0 上位机ET200S编程口PCI1601AA啊 ACp5613A2 图1-0 安装完相关软件及驱动程序以后,进行硬件测试以及软件平台搭建(1) 串口分支器制作及通讯电缆的连接(附录A)(2) 运用STEP 7 V5.4对ET200S组态以及相关初始化设立(附录B)(3) PCI1601A通讯卡的测
6、试(附录C)(4) 串口监视软件设立和测试(附录D)(5) PRODAVE S7 调试运营(附录E)完毕设立和调试后,打开串口监视软件,并将PLC上电,运营PRODAVE S7并在其中进行各种操作(load 、unload、 read 、write等)时启动数据监视,通过比较分析发现:(1) 与S7-200不同,ET200S不管出于何种状态(run 或 stop),一经上电,就不断发出数据查找设备,在读写数据过程中也不间断。(2) 连接、读出、写入和断开时检测到一系列有规律的数据。通过多次监测比较分析,可得到相关操作的数据帧格式,初始化设定PLC与上位机的地址分别为02和00;为描述方便,现在
7、对数据帧格式做以下符号约定SD:(Start Delimiter)开始定界符LE:(Length)报文长度LER:(Repeated Length)反复数据长度SD: (Start Delimiter)开始定界符DA:(Destination Address)目的地址SA:(Source Address)源地址FC:(Function Code)功能码DSAP:(Destination Service Access Point)目的服务存取点SSAP:(Source Service Access Point)源服务存取点FS: (Frame Sequence)帧序列号UU:(unkown un
8、it)未知操作单元,其数值通常为固定值GU:(group unit) 分组单元DU:(Data Unit)数据单元FCS:(Frame Check Sequence)校验码END:(End Delimiter)结束分界符分析结果连接(load)过程(1)设备查找在PLC(ET200S)上电启动进入run状态后,开始不断发出数据查找设备,数据帧格式如下。DA从00到1F共32个站号,令牌帧和总线访问帧按照严格的帧时序(15帧/s),交替发出。 令牌帧: DC DA SA DC DA 02总线访问帧: SD DA SA FC FCS END 10 DA 02 49 FCS 16 在prodave
9、s7 中运营Load命令后,上位机也开始不断发出数据查找设备,数据帧格式如下。DA从00到1F共32个站号,令牌帧和总线访问帧按照严格的帧时序(19帧/s),交替发出。令牌帧: DC DA SA DC DA 00总线访问帧: SD DA SA FC FCS END 10 DA 00 49 FCS 16 SD、DC、FC、END均占据一个字节长度,为固定数值,分别等于 10、 DC 49、16,FCS采用求和校验,等于DA+SA+FC。(2)握手上位机在收到et200s发出的令牌帧(dc 02 02)后以其令牌帧(dc 00 00)作为回复,等待et200s应答,假如收到dc 00 02,pc机
10、立即回复dc 02 00,令牌握手成功。总线访问握手方式与令牌握手一致。在读写操作过程中,应答握手也不间断。总线访问准备上位机发送pc_request_frame Et200接受判断 Et200s发送plc_ack_frame 上位机等待、定期Et200s发送plc_return_frame上位机接受信息并判断飞上位机发送确认信息pc_ack_frame操作结束读取操作一次读操作的环节涉及上位机发出读命令帧(pc_request_frame_read),PLC作出对的的响应,并将确认信息帧(plc_ack_frame_read)返回给上位机,接着反馈回对的的数据信息帧(plc_return_f
11、rame_read)给上位机,上位机接到此帧数据,校验拟定后对PLC做出确认信息帧(pc_ack_frame_read),这样完毕一个读取数据的过程。在读取操作过程中,上位机和PLC共进行两次应答。读取命令读取数据时上位机的请求帧格式如下,该帧占据38字节长度,记作pc_request_frame_read(38)。SDLELERSDDASAFCDASPSSAPFSUUGUDUFCSENDSD LE LER SD 占据4字节长度,为固定值 。pc_request_frame_read(0)=68pc_request_frame_read(1)= 1F,帧长度校验,为DA+SA+FC+DSAP+
12、SSAP+FS+GU+DU的字节个数。pc_request_frame_read(2)=1F 反复帧长度,与帧长度校验记法相同。pc_request_frame_read(3)=68DA SA FC DSAP SSAP FS 各占据7字节。pc_request_frame_read(4)=82数值上等于目的站地址加上80pc_request_frame_read(5)=80数值上等于源站地址加上80pc_request_frame_read(6)=5C、7Cpc_request_frame_read(7)=16、15pc_request_frame_read(8)=02、01pc_reques
13、t_frame_read(9)=F1为分界符,其值不变。pc_request_frame_read(10)=00FF,帧序号,对相同操作时自加计数。在应答握手时用来判断当前应答帧是否为本请求的应答。UU占据6字节长度,均为固定值pc_request_frame_read(11)=32pc_request_frame_read(12)=01pc_request_frame_read(13)=00pc_request_frame_read(14)=00pc_request_frame_read(15) =33pc_request_frame_read(16)=02、01GU占据6字节长度,混合读写
14、时可以进行操作pc_request_frame_read(17)=00 pc_request_frame_read(18)=0Epc_request_frame_read(19)=00pc_request_frame_read(20)=00pc_request_frame_read(21)=04pc_request_frame_read(22)单一读写时pc_request_frame_read(22)=01,其他不变化;混合读写时pc_request_frame_read(22)为其他值。DU 单元占据12字节长度从pc_request_frame_read(23)到 pc_request_
15、frame_read(26) 这4字节为固定数值pc_request_frame_read(23)=12pc_request_frame_read(24)=0Apc_request_frame_read(25)=10pc_request_frame_read(26)=02pc_request_frame_read(27) 和pc_request_frame_read(28)这2字节共同表达读取的数据个数,当读取的存储区是I、 Q、M 、DB时表达字节个数,当存储区是C、 T时表达读取的计数器或定期器的个数。假如读取两个字节,则为:pc_request_frame_read(27)=00pc_r
16、equest_frame_read(28)=02假如读取一个计数器或者定期器,则为:pc_request_frame_read(27)=00pc_request_frame_read(28)=01pc_request_frame_read(29)、pc_request_frame_read(30)共同表达要操作的DB号,假如读取其他区,则两者分别为00 00。pc_request_frame_read(31)表达存储区类型,具体参考表1-1 存储区IQMDBCT标示符818283841C1D 表1-1pc_request_frame_read(32)pc_request_frame_read(
17、33)pc_request_frame_read(34)共同表达操作的起始地址,对于I、 Q、 M 、 DB存储区按照bit计算,对C 、T存储区按照其个数计算。若读取DB1B1时则依次为pc_request_frame_read(32)=00pc_request_frame_read(33)=00pc_request_frame_read(34)=08若读取C1或T1时则为pc_request_frame_read(32)=00pc_request_frame_read(33)=00pc_request_frame_read(34)=01pc_request_frame_read(35)是帧
18、校验码,采用和取余算法:(DA+SA+FC+DSAP+SSAP+FC+UU+GU+DU )mod 16#100pc_request_frame_read(36)、pc_request_frame_read(37)是结束符,为固定值,分别等于16 E5。PLC接受到请求命令(pc_request_frame_read)时,确认后返回一个数据帧表达回应,占据15字节长度,记作plc_ack_frame_read(15),格式如下:SDLELERSDDASAFCDASPSSAPUUFSFCSENDSD LE LER SDplc_ack_frame_read(0)=68plc_ack_frame_re
19、ad(1)=08plc_ack_frame_read(2)=08plc_ack_frame_read(3)=68DA、SAplc_ack_frame_read(4)=80plc_ack_frame_read(5)=82FCplc_ack_frame_read(6)=7C 5CDSAP、SSAPplc_ack_frame_read(7)=02plc_ack_frame_read(8)=16UUplc_ack_frame_read(9)=B0plc_ack_frame_read(10)=01FSplc_ack_frame_read(11)帧序号,和pc_request_frame_read(10)
20、保持一致。FCSplc_ack_frame_read(12) 帧校验,等于(DA+SA+FC+DSSAP+SSAP+UU+FS+FCS)mod 16#100ENDplc_ack_frame_read(13)=16 plc_ack_frame_read(14)=E5在发送完响应数据帧(plc_ack_frame_read)后PLC接着给上位机反馈其所要读取的数据信息帧(plc_return_frame_read),其长度因读取字节个数而长短不定,格式如下:SDLELERSDDASAFCDASPSSAPFSUUGUDUFCSENDSD LE LER SDplc_return_frame_read(
21、0)=68plc_return_frame_read(1)plc_return_frame_read(2)plc_return_frame_read(3)=68DA SA FC DSAP SSAP FS各占一个字节plc_return_frame_read(4)=80plc_return_frame_read(5)=82plc_return_frame_read(6)=5Cplc_return_frame_read(7)=16plc_return_frame_read(8)=02plc_return_frame_read(9)分界符,为固定值F1plc_return_frame_read(10
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SiemensMPI 协议 解析
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。