Siemens-PPI-串口通讯协议分析

上传人:cn****1 文档编号:512203570 上传时间:2022-09-22 格式:DOC 页数:10 大小:99KB
返回 下载 相关 举报
Siemens-PPI-串口通讯协议分析_第1页
第1页 / 共10页
Siemens-PPI-串口通讯协议分析_第2页
第2页 / 共10页
Siemens-PPI-串口通讯协议分析_第3页
第3页 / 共10页
Siemens-PPI-串口通讯协议分析_第4页
第4页 / 共10页
Siemens-PPI-串口通讯协议分析_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《Siemens-PPI-串口通讯协议分析》由会员分享,可在线阅读,更多相关《Siemens-PPI-串口通讯协议分析(10页珍藏版)》请在金锄头文库上搜索。

1、eens PPI合同分析 人们好:我是山东临沂的郝金红,LC解密网是我的个人网站。由于前段时间的疯狂的研究西门子PPI合同解密之故,因此无心插柳的研究出了较实用的西门子S-20 PPI合同,今天奉献人们。我们常常要用于上位机、现场设备与7-20CPU之间的通讯,但是西门子公司没有发布PPI合同的格式,顾客如果想使用PP合同监控,必须购买其监控产品或第三方厂家的组态软件。人们要懂得国内的组态王、紫金桥、力控等等组态公司是花了多少钱才得到的PPI的深层合同吗?其实西门子工控产品的超高价垄断掠夺行为已经引起了我们国家及业内人士的抵制和抗议,她们的什么软件都需要授权且对于系统的霸道性是有目共睹的,并且

2、我是深受其害的。_我近来弄了个CC,装了一种星期还没装上,网友告诉我要重做系统才可以,悲哀啊。 这样给顾客自主开发就带来了一定的困难,特别是想用VB、VC等语言自行开发,主线没措施接入LC,要么你大把掏钱给她们。洋为中用,近来在国外网站得到一种串口监视软件,带合同分析的相称不错,你吧!我就是通过此软件的数据监视、分析措施,找出了PPI合同的核心报文格式所在。 其实西门子S7-200PL之间或者LC与PC之间通信有诸多种方式:自由口,I方式,MI方式,Profib方式。使用自由口方式进行编程时,在上位机和PLC中都要编写数据通信程序。使用PPI合同进行通信时,P可以不用编程,并且可读写所有数据区

3、,快捷以便。这也是我们之因此要研究、找出PI合同的源动力! 下面我们就要说说分析的措施了!西门子的STEP7icroWIN 是用于7-00系列PC的开发工具,它使用C机上的COM口通过一条C/PI编程电缆连到PLC的编程口上。这阐明,PC事实上是可以通过串口同7-2 通讯。只是我们不懂得通讯合同而已。通过截获P机串口上的收发数据,对照Step 软件发出的指令,我们就有也许分析出有关指令的报文和通讯方式;然后,直接通过串口向PL发送报文,以验证这些指令报文与否对的。本着这一思想,我们采用如下环节获得这些报文。 一方面你这个英文的串口监控软件,英文不好的网友可以用金山快译翻译一下,你必须使用这个软

4、件,由于我先前使用过诸多的监控软件,在收发数据诸多的状况下均有死机现象,导致数据丢失,容易给我们错误分析。接下来你先打开这个软件,新建、选择端口CO1,然后再将/PI编程电缆接在OM上,这样,Stp Miro/Wi发给PLC的报文就可以在监视软件上完全裸露的展目前你的面前了。我们按-00系统手册设立好串口参数:00,8,E偶校验,1位停止位。然后设立好Step7软件,使之能与S7-20 CU正常通讯。从S软件中发出一种明确指令,监视软件就能显示这条报文了(用1进制显示,SI码的只能看到几种版本号之类的,其她都没故意义)。 我们的破解方略就是通过软件监视的措施,分析PLC内部固有的PPI通讯合同

5、,然后上位机采用V编程,遵循PPI通讯合同,读写PC数据,实现人机操作任务。这种通讯措施,与一般的自由通讯合同相比,省略了PC的通讯程序编写,只需编写上位机的通讯程序资源。S7-20的编程口物理层为RS-48构造,SIEE提供MroWin软件,采用的是PI(Pit tPint)合同,有关232串口转485你可以采用我们网站开发研制的自制PPI电缆,效果倍好哦! 还是自己动手,丰衣足食啊! 不能光说不练啊!下面我们就说说西门子PLC究竟是怎么通讯的。 PC与LC采用主从方式通讯,P按如下文的格式发读写指令,PL作出接受对的的响应(返回应答数据E5H或F9H见下文分析),上位机接到此响应则发出确认

6、命令(1 05CE1),PLC再返回给上位机相应数据。一般上位机要连接PLC就要先发送如下寻呼数据 10 004 4B 同志们呐!我们可都是有血、有肉、有思想、有灵感的高档动物啊,面对这样多枯燥、无味、复杂、混乱的机器数字你怎么记呢?反正我是记不住啊!(开始洗脑)这时你可以闭上眼睛,安静、静、再静。想一想战争时期的战地对讲机通话模式,那么这个指令(10 02 0 49 4B 16)就可以理解为:00呼喊2,听到请回答。目前我们来简朴的分析一下这个指令的具体含义: 0起始符 02是上位机要联系的下位机的地址站号,就是要找的人 00就是上位级自身自己的站号 寻呼指令 1终结符 其中4B为校验码,是

7、这样得来的:0+00+49的最后两位就是校验码,这就是所说的偶校验或称和校验也称余校验,由于取的是余数。计算器在1进制计算时公式(02+0049)od 10得出的数就是校验码,你计算一下是不是等于4B啊!其她的所有I合同校验都是如此。如果02站号的PC收到寻呼信号那么会回答: 10 00 02 002 16 意思是:报告00 ,0收到,请批示 这样的解释是不是较好理解啊!你有更好的解释吗?接下来呢,找到了要寻呼的人PC上位机,就是司令啦!就可以发号施令了,发号施令后C对的接受后就会发送 E5 字符,意思是:“02洞两明白”。其实啊,说到这里PL只说她明白,她已经明白了上位机PC的批示,但并没有

8、执行命令,那么要怎么她才执行命令呢?就是上位机PC发出确认命令后才执行。这时上位机会发出确认指令(10 2 5C 5E 6),意思是:“请立即执行”。然后PLC就干她应当干的工作了!本来PLC也不容易啊,怪不得叫下位机呢!说了这样多乱不乱呐?目的就是要理清上下级关系、主从关系,指令的顺序,用一种好的记忆措施记住枯燥无味的机器码。下面我们列表分析读取PL密码的指令:68 1 1 68020 C 32 1 00 000000 0E 00 004 0 1 0A 12 00 080 00 3 00 05 E 2 16读命令分析:一次读一条数据SD L D S F DAS SSA CSD SD:(ta

9、elimiter)开始定界符(68H)E:(Lngh)报文数据长度LER:(epaedLeth)反复数据长度SD: (Sta Deimi)开始定界符(68H)SA:(Source Adrs)目的地址,指该地址的值,就是C的地址D:(Destinatin Addrss)本地地址,指该地址的指针,就是上位机自己的地址FC:(FntoCoe)功能码,5CH为交替周期触发,CH为初次信息周期触发,7CH为交替周期触发。SAP:(Deinato erv Acces Poin)目的服务存取点SSAP:(SoureServc Acce Pnt)源服务存取点DU:(aaUt)数据单元FCS:(Frame he

10、ckSequne)校验码ED:(EdDelmite)结束分界符(6H)报文数据长度和反复数据长度为自DA至D的数据长度,校验码为A至DU数据的和校验,只取其中的末字节值有关这个校验码的计算措施同上面阐明。在读写PLC的变量数据中,读数据的功能码为 6H,写数据的功能码为 7CH。对于一次读取一种数据,读命令都是33个字节。前面的02字节是相似的,为012345689011211415171891SDLERDDSAC开始符长度长度开始符站号源地址功能码合同辨认远程控制冗余辨认冗余辨认合同数据单元参照参数长度参数长度数据长度数据长度0读5写变量地址数6811B6802006C32010000000

11、0E0004110A10读取LC密码的指令:61B 1B 68 02 0 6C 32 000 00 00 00 E 00 0 040112 0A 10 02 0 08 00 0 03 0005E 216222562282303132UDE读取长度数据个数存储器类型偏移量校验码结束符0200800003005E0D216由于是PC上发的读PLC数据的命令,S=0,DA=0,如果有多种站,DA要改成相应的站号。读命令中从DA到D的长度为B即27个字节。从22字节开始根据读取数据的类型、位置不同而不同。上表是读不同存储器命令的Byte232。字节22425262829303132功能读取长度数据个数

12、存储器类型偏移量校验码结束符读Q0.10100010008200064读0.01000100083000005读.1100010008300001616读SM34020001000050001F91读B100200001800032086读100040010018400328D6读VD100601001400038F16读0.5010010008100005616读I0.7010010000800076A16上表读命令的te2-从表中我们可以得出如下成果:Byte 2读取数据的长度:1Bit :1yte 04:1 Wo 06:Doul WorByte 2数据个数,这里是01,一次读多种数据时见

13、下面的阐明。yte 26 存储器类型,01:存储器 00:其他By 27 存储器类型0:S 05:06:AI 0:AQ 1: C1:I 82:Q :M 84:V 1:Tyte28,29,0存储器偏移量指针(存储器地址*),如:V10,存储器地址为100,偏移量指针为800,转换成16进制就是320H,则Byte 2829这三个字节就是:0 0320。By 31 校验和,前面已说到这是从(DA+S+DSA+SP+DU) o 。一次读多条数据对于一次读多种数据的状况,前21te与上面相似只是长度,L及Bte 14不同:y 4 数据块占位字节,它指明数据块占用的字节数。与数据块数量有关,长度=4+数据块数*10,如:一条数据时为4+=0(H);同步读M,Q三个不同

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号