SIEMENS PPI协议分析

更新时间:2023-07-20 06:47:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

通过数据监视、分析的方法,找出了西门子S7—200系列PLC 的PPI协议关键帧格式,可用于上位机、现场设备与PLC之间通讯。关键词:PLC,PPI,协议

维普资讯

《工业控制计算机} 0 5年 1 20 8卷第 7期

Se n P协议分析 i me s P I龙永辉孙中生天津大学电信学院(0 0 2 30 7 )Ab t c sr t a

B y o a a mo i r n n l e f u d o t t e k y r me o ma f P p o o o n ime s S7 2 0 e is PL i y wa f d t nt a d a ay, o n u h e fa s f r t o P I r t c lo S e n — 0 s r C t o z e,

c n b s n c mmu i t n o p e o a euei o n cai f u p rc mp t r i l e ie wi L o u e,e d d v c t a P C f h K y r s P C, PI r t c l e wo d: L P, o o o P

.

摘要通过数据监视、分析的方法,出了西门子 S— 0找 7 2 0系列 P C的 P协议关键帧格式, L PI可用于上位机、场设备与 P C现 L之间通讯。

关键词:L P I协议 P C,P,

西门子 S— 0 L 7 2 0 P C之间或者 P C与 P之间通信有很 L C多种方法:自由口, P、、 rf u P IMPIPoi s方式。使用自由口方式进 b

2数据帧,于读写数, )用据格式如下

行编程时,在上位机和 P C中都要编写通信处理程序。用 P I L使 P 协议进行通信时, L P C可以不用编程,而且可读写所有数据区,快捷方便。是西门子公司没有公布 P I但 P协议的格式。用户如果想使用 P I议进行通讯,必须购买其监控产品或第三方的软 P协件。这样给用户自主开发带来一定困难,特别是自行开发的现场设备就不能通过 P I议接人 P C。其它通讯方式也存在编程 P协 L

字 0 l 2 3 4l l I I…I l I 7 8 5 6 9 I述 S2 E E D AlAI C lSP A D FS D描 D Lr 2 S F DA SP U lC E L S D I S l I

值 8 6 H

6 Xl 6 X x IxIH 8 xI H l I H I C I 6

报文数据长度 L L r自 DA至 DU的数据长度,校验 E、 E为

码:D至 D (A U

数据的和 ) o 5,在读写 P C的变量数据 m d 26 L中,读写数据的功能码为 6 CH。

3 P C返回的状态码:收到读写命令时返回 E H,收到 )L 5R/T UN S OP命令时返回 F H给上位机。 9 在分析过程我们发现,据帧前面的字节值都较为固定,数只要能确定 DU单元的格式,就能给出相应的帧。面我们在只有下一

复杂,要购买软件或授权等局限性。通过数据监视、需分析的方法,们找出了 P I议的关键帧格式,用于上位机、我 P协可现场设备与 S - 0 U之间通讯。 7 2 0 CP1分析方法

个主站 ( C)一个从站 (— 2 U) P, S7 2 2 CP的情况下进行分析。

西门子的 S e c o Wi3是用于 S— 0 tp 7 Mir/ n 2 7 2 0系列 P C L

2 1读命令分析 . 1一次读一个数据。对于一次读取一个数据,命令都是 )读3 3个字节。前面的 0 2~ 1字节是相同的,:为6 B B 6 2 O C 3 1 O O O O O OE O 0 0 1 8 1 1 8 O O 6 2 O O O O O O O 0 4 01 A O 2O 1

的开发工具,它使用 P机上的 C0M口通过一条 P P I C C/ P编程电缆连到 P C的编程口上。通过截获 P机串口上的收发数 L C

据,照 Se 对 tp 7软件发出的指令,们就有可能分析出有关指我令的格式和通讯方式。着这一思想,用以下步骤获得这些帧本采数据。首先制作一个串口的分支器, C0M1的 R T X、X分别接到 C0M2的 T R即交叉接线,得 C0M1发的数据 C0M2能 X、 X,使收到。P/ P编程电缆接在 C0M1上,Se 7 Mir/ n 2 CP I t p co Wi3 发给 P C的数据就可以在 C0M2上接收。设置好两个串口和 L S e 7软件,之能与 S— 0 U正常通讯。从 S e 7软件 tp使 7 2 0 CP tp中发出一个明确指令, C0M2上的监视软件就能显示这条报文 ( 1用 6进制显示 )通过与 P o b s标准的类比我们可以得到。 rf u i一

因为是 P上发出的读 P C数据的命令,故 S 0 D C L A= 0, A= O,如果有

多个站, 2 DA要改成相应的站号。读命令中从 DA到 DU的长度为 1 B即 2 7个字节。从 2 2字节开始根据读取数据的类型、置不同而不同。位下表是读不同存储器命令的 B t2 - 2 ye 2 3。字节 2 2 2 3 2 4 2 2 5 6 2 7 2 2 3 8 9 0 3 l 3 2

功能读 q 00读 m 00读 M 1 0

读取长度0 l 0 l 0 l 0 0 0 0 0 0

数据个数0 l 0 l 0 l 0 0 0 0 0 0 0 0 0 0 0 0

存储嚣类型8 2 8 3 8: 1

偏移量0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 l

校验结束6 4 6 5 6 6 l 6 l 6 l 6

些关键的帧格式。种方法比分析 P C中 NE R、 T v指令这 L T NE v

要直接、面。全 2 P协议分析 PI

读 SB4 M 3读 vl0 0 R读 l 0 O读 v10 d O

0 20 20 4 0 6

0 00 00 0 O 0

0 l0 l0 l 0 l

0 0 0 00 0 0 l0 0 0 l O 0 0 l

0 58{8 4 8 4

0 0 l F 0 l 0 90 0 2 8 0 3 0 BO 0 2 0 3 0 0 0 2 0 3 0 8 D 8 F

l 61 6l 6 l 6

P I一个主/协议,站向从站发出请求,站响应, P是从主从主站接到此响应则发出确认信息,从站完成正确的读写响应并返

回相应数据。这样收发两次数据,完成一次数据的读写。默认条件下, 7 2 0 CP都作为从站。在通常的读写数据过程我们 S— 0 U看到了以下几种帧格式: 1类似 Po b s中的 F ) rf u i DL状态请求帧,这里用作确认。实例是:0 O O 5 E 1 1 2 0 C 5 6

读 l 05读 i 07

0 l 0 I

0 0 O 0

0 l 0 l

0 O 0 0 O 0 0 0

8 l 8 l

O O 0 0 0 5

6 8

l 6 l 6

0 0 0 6 0 0 7 A

从上表中我们可以得出以下结果:

B t 2读取数据的长度。0: i 0 1 ye 0 1 ye 2: 1 1 t 2: B; B t 4:W or; 6: u e d 0 Do

bl W or d。

B t 4:据个数,里足 0,次读多个数据时见下面 ye 2数这 1一

ID A S F FS D 1 A C C S D El H X O X X X l H 6

的说明。

B t 6存储器类型。0: ye 2: 1 V存储器; 0:它。 0其B t 7存储器类型。 ye 2:

通过数据监视、分析的方法,找出了西门子S7—200系列PLC 的PPI协议关键帧格式,可用于上位机、现场设备与PLC之间通讯。关键词:PLC,PPI,协议

维普资讯

1 20: 5: M 4S 0 S 8: 8 Q 1 I 2: 0 Al 6: 8: 3 M 0 A 7: Q 8: 4V 1:C E 1:T F

Se n P协议分析 ime s P I6 0 6 8 02 0 C 3 00 0 0 0 0 0E 00 0 0 1 2 01 0 0 0 0 O 4 01 2

O 0写一个其它类型的数据,只是 L L r节变为 2。从 A 1 E、 E字 1 2 2字节开始根据写人数据的值和位置不同而变化。B t 2 ye 2~ B t 0写人数据的长度、 ye 3存储器类型、存储器偏移量与读命令相同。T、等不能用写命令写人。 C B t 2: ye 3如果写入的是位数据这一字节为 0,它则为 0 3其 4 B t 4写人数据的位数。0:1 i 0 ye 3: 1 Bt 8:1 ye 1 H:; B t;O1 o d: 0H:1 W r 2 Dou e W o d bl r

B t 8、9、0: ye 2 2 3存储器偏移量指针 (存储器地址{8,: )如 V O,储器地址为 1 0,移量指针为 8 0, B1 0存 0偏 0转换成 1 6进制就是 3 0则 B t 8 3 2 H, ye 2~ 0这三个字节就是:0 0 0 O 32。 Bye 3:验和,面已说到这是从 ( A十 A+ S+ S t 1校前 D S D AP S—AP DU Mo 5 + ) d 26

2一次读多个数据。对于一次读多个数据的情况, )前 2 B t上面相似只是长度字节 L、 E及 B t 1 1 ye与 EL r ye 4不同: B t 4数据块长度字节, ye 1它指明数据块占用的字节数。与数据块数量有关,=+据块数 1值 4数 0。如:个数据时值为 4 一+

B t 3~ 0值:验码、束符。如果写人的是位、 ye 5 4 校结字节数据。 ye 5就是写人的值, ye 6= 0, ye 7=检验码, B t3 B t3 0

B t3 B t3=1 H,结束。如果写入的是字数据 (字节 )Bye 5、 ye 8 6双, t3 B t3 e 6就是写人的值,B t3=验码, ye 8 6 y ye 7检 B t3=1 H。如果写个的是双字数据 (字节 ) B t3 3四, ye 5~ 8就是写人的值, B t 3=验码, ye 0 H。 ye 9检 B t4=1 6 24其它命令分析

1= E() 0 O H;同时读 M、 Q三个不同的数据块时值为 4 3 V、+ 1= 2H。 0 2()B t 2:是 0,表示以 B t ye 2总 2 ye为单位。 B t 4:续读取的字节数。如读 2个 VD则 B t2=。 ye 2连 ye 4 8 Bye 1 ̄ 0按上述一次读一个数据的格式依次列出。 t 9 3: B t 1 4: ye 3 ̄ 2另一类型的数据,是按上述格式给出。以此也类推,次最多读取 2 2个字节数据。一 2 22读出数据分析 - P C响应的数据也是用 P I L P封装的。如果用一次读一个数据

强制写入/消强制写:L中的 l 取 PC、 S存储位等不能使 Q用上述的写命令写入数据,只能用强制写人的方式。强制写人 l、 Q等后,这些值就不能被程序改变,非使用“消强制命令”除取。

S O/ R N命令:令使得 S— 0 U运行状态发生变 T P U命 7 2 0CP化 (时 CP此 U模块上的模式开关开应打在 R UN或 T RM位置 ) E。

命令,响应的帧中就只包含一条数据,响应帧的 B tl< 8此 ye 6=。B t 4 DA O; ye 0: A 0 ye 0:= 0 B t 5 S= 2即从 0 L 2 P C站发往 P C。

P C发出 S OPRU T/ N命令,L返回 F, PC 9此时 P C已进入等待状 L态,C再发确认帧(00 05 E 1 )完成一个命令过程。 P 1 20 C 5 6,3应用

B t 6:据块占位字节, B t2 ye 1数从 ye 1到校验和前的字节数。一

条数据时: r 0 o be Wod 0其它为 0。 Wod= 6 D u l r= 8 5

在 P机与 P C通讯时,我们就可以利用上述 P I议, C L P协读写 S— 0 P C中的各种类型数据,包括 IQ、 M、 V、 720L、 S M、 T、

B t 2数据类型。位=其它=。

ye 2: 3, 4B t 4:据宽度。 i 0, ye 0 Wod O Do be ye 2数 Bt 1 B t= 8, r=1 H, u l=W o d=2 r 0H。

C、 S等数据类型,够直接读出以上变量中的位、能字节、、字字双等,其中读位变量时,际是读取该位所在的字节值 ) (实。可以改变 P C的运行状态 ( UN S OP。在编程时,好将读取的检 L R/T )最测值、出值等数据,输存放在 P C的一个连续的变量区中, L当上位机读取 P C的数据时,就可以一次读出这组连续的数据, L减

B t 5 2:。 ye 2 - 8值

如果网络上只可能有一个站会发回响应帧,那么可以简单地根据 L E长度字节判断返回值的位置: E 6 L=I H,返回值是字节,或位类型的值,响应帧的 B t 5即是返回值;E= 7返 ye 2 L I H,回值是字 (字节 )型的值,双类响应帧的 B t 5、 6即是返回 ye 2 2值;E= 9返回值是双字 ( L 1 H,四字节 )型的值,类响应帧的 B t ye 2 N 8即是返回值。更准确的方式是要根据返回帧的 S DA 52 A、 及存储器位置等信息识别目标地址和源地址,确认是这次申请的返回数据,后经过校验检查,到正确的数据。然得

少数据的分次频繁读取。当修改设定值等数据时,行写数据的进通讯操作。 利用 P I议除了能与上位机 ( C)讯外,重要的是为 P协 P通更现场设备与 S— 0 CP 7 2 0 U之间的通讯提供了捷径。自行开发的设备可以方便的利用 P I议通过 4 5 2 2接口接人 S— P协 8/3 7 2 0 P联入 P C的网络, 0 C U, L包括控制面板,采集器等。4结束语

如果用的是一次读多个数据的命令,响应的帧中就包含有多条数据。这些数据只有类型参数,有偏移量参数,以要注没所

通过分析 S E 7 Mir/ n 2软件与 S— 0 CP的通 T P co Wi3 7 20 U讯数据,我们得到了西门子 P I议的关键帧格式,一结果对 P协这工程实践具有较高的参考价值。在不使用西门子或其它组态软件的情况下,用分析得到的 P I议实现了上位机对 P C的利 P协 L监控。现场设备与

P C通讯方面的工作正在进行中。另外这种 L对通讯端口进行监测、分析的方法也对一些未知协议的测定和通讯错误的检查具有指导意义。参考文献1 SIME E NS.SMATC S7 0 I I—2 0可编程序控制器系统手册 20 00 2郝莉,东兴 . R I S从站与 S—2 0 L的通讯研究 .京机王 P OFBU 7 0 PC北

意根据读命令的顺序将其一一对应起来。B t 6 ye 1:数据块长度字节。从 B t2 ye 1到校验和前的字节数,与数据块数量和类型有关。 B t 0数据块的个数。 ye 2: B t 1开始为数据块,一个数据块都以 F 4开始, ye 2:每 F0

接下来的两个字节表示这一数据块的长度,以位计算,后依次然是连续的数据。下一个数据块也是以 F 4开始,重复上述格 F0式,直到结束。

23写命令分析 .与读命令不同的是:一次只能写一个数据。D u l Wo d o be r类型的数据,写命令是 4 0个字节,其余为 3 8个字节。写一个 D u l Wo d类型的数据,前面的 0 2 o be r ̄ 1字节为: 8 2 3 6 3 2

械工业学院学报 (合版 )2 0 (5综 00 1 )[收稿日期: 0 54 1] 2 0 . 1

欢迎订阅见我刊网站 (nnfp m.o .n“ 1^^ic c r c )稿件征集”^ . n频道。

投稿

欢迎到当地邮局订阅我刊《业控制计算机》,阅代号:8 6。投稿可直接发往邮箱: c— j 6 . r,工订 2- 0 i mn p@13c n投稿详细要求请参 o

本文来源:https://www.bwwdw.com/article/l861.html

Top