摘 要:通过数据监视,分析的方法,找出了PPI协议的关键报文格式,可用于上位机、现场设备与S7-200 CPU之间通讯。
关键字:PLC ,PPI ,协议
西门子S7-200 PLC之间或者PLC与PC之间通信有很多种方式:自由口,PPI方式,MPI方式,Profibus方式。使用自由口方式进行编程时,在上位机和PLC中都要编写数据通信程序。使用PPI协议进行通信时,PLC可以不用编程,而且可读写所有数据区,快捷方便。但是西门子公司没有公布PPI协议的格式。用户如果想使用PPI协议监控,必须购买其监控产品或第三方厂家的组态软件。这样给用户自主开发带来一定困难,特别是自行开发的现场设备就不能通过PPI协议接入PLC。其它通讯方式编程也存在编程复杂,需要购买软件和授权等局限性(1)。通过数据监视、分析的方法,我们找出了PPI协议的关键报文格式,可用于上位机、现场设备与S7-200 CPU之间通讯。
西门子的Step 7 Micro/Win32 是用于S7-200系列PLC的开发工具,它使用PC机上的COM口通过一条PC/PPI编程电缆连到PLC的编程口上。这说明,PC实际上是可以通过串口同S7-200 CPU通讯。只是我们不知道通讯协议而已。通过截获PC机串口上的收发数据,对照Step 7软件发出的指令,我们就有可能分析出有关指令的报文和通讯方式;然后,直接通过串口向PLC发送报文,以验证这些指令报文是否正确。本着这一思想,我们采用以下步骤获得这些报文。
首先制作一个串口的分支器,COM1的RX、TX分别接到COM2的TX、RX,即交叉接线,使得COM1发的数据COM2能收到。PC/PPI编程电缆接在COM1上,这样,Step7 Micro/Win32发给PLC的报文就可以在COM2上接收了。我们按S7-200系统手册设置好两个串口,参数要一样,均为9600,8,偶校验,1位停止位。然后设置好Step7软件,使之能与S7-200 CPU正常通讯。从Step7软件中发出一个明确指令,COM2上的监视软件就能显示这条报文了(用16进制显示)。通过与Profibus标准的类比(2)我们就可以得到一些关键的报文了。这种方法比分析PLC中NETR,NETW指令要直接、全面(3)。
PC与PLC采用主从方式通讯,PC按如下的格式发读写指令,PLC作出接收正确的响应(返回应答数据E5H或F9H见下文分析),上位机接到此响应则发出确认命令(10 02 5C 5E 16),PLC再返回给上位机相应数据。
SD WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) |
LE plcjs.技.术_网 |
LEr WWW_PLCJS_COM-PLC-技.术_网 |
SD WWW_PLCJS_COM-PLC-技.术_网 |
DA W1WW_P4LCJS_COM-PLC-技.术_网 |
SA WW.W_PLCJS_COM-PLC-技.术_网 |
FC WWW_PLCJS_COM-PLC-技.术_网 |
DSAP WWW.PLCJS.COM——可编程控制器技术门户 |
SSAP WWcW_PLCJS_COM-PLC-技.术_网 |
DU WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) |
FCS WWW_PLC※JS_COM-PmLC-技.术_网 |
ED WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) |
SD:开始符(68H) LE、Ler:长度(从DA到DU)
DA:目的地址 SA:源地址
FC:功能码 (6CH) DSAP:目的服务存取点
SSAP:源服务存取点 DU:数据单元
FCS:校验和 ED:结束符(16H)
对于一次读取一个数据,读命令都是33个字节。前面的0—21字节是相同的,为 :
68 1B 1B 68 02 00 6C 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10
因为是PC上发的读PLC数据的命令,SA=00,DA=02,如果有多个站,DA要改成相应的站号。读命令中从DA到DU的长度为1B即27个字节。从22字节开始根据读取数据的类型、位置不同而不同。表一是读不同存储器命令的Byte22—32。
字节 WWW_PLCJS_COM-PLC-技.术_网 |
22 WWW.PLCJS.COM——可编程控制器技术门户 |
23 WWW_PLC※JS_COM-PmLC-技.术_网 |
24 WW.W_PLCJS_COM-PLC-技.术_网 |
25 W1WW_P4LCJS_COM-PLC-技.术_网 |
26 WWW_PLCJS@_COM%-PLC-技.术_网 |
27 WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) |
28 WW.W_PLCJS_COM-PLC-技.术_网 |
29 WW.W_PLCJS_COM-PLC-技.术_网 |
30 WWcW_PLCJS_COM-PLC-技.术_网 |
31 WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) |
32 WWW_PLCJS@_COM%-PLC-技.术_网 |
功能 plcjs.技.术_网 |
读取长度 WWW_PL※CJS_COM-PLC-技.术_网 |
WWW_PLCJS_COM-PLC-技.术_网 |
数据个数* ——可——编——程——控-制-器-技——术——门——户 |
WWW_PLCJS@_COM%-PLC-技.术_网 |
WWW_PL※CJS_COM-PLC-技.术_网 |
存储器类型 WWW.PLCJS.COM——可编程控制器技术门户 |
偏移量 WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) |
校验 P.L.C.技.术.网——可编程控制器技术门户 |
结束 P.L.C.技.术.网——可编程控制器技术门户 | ||
读q0.0 P.L.C.技.术.网——可编程控制器技术门户 |
01 plcjs.技.术_网 |
00 WWW_P※LCJS_CO※M-PLC-技-.术_网 |
01 WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) |
00 WWW_P※LCJS_CO※M-PLC-技-.术_网 |
00 WWW_PLC※JS_COM-PmLC-技.术_网 |
82 WWW_P※LCJS_COM-PLC-)技.术_网 |
00 WWW_P※LCJS_COM-PLC-)技.术_网 |
00 WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) |
00 P.L.C.技.术.网——可编程控制器技术门户 |
64 P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 |
16 WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) |
读m0.0 WWW_PLC※JS_COM-PmLC-技.术_网 |
01 WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) |
00 W1WW_P4LCJS_COM-PLC-技.术_网 |
01 WWW.PLCJS.COM——可编程控制器技术门户 |
00 WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) |
00 WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) |
83 WW.W_PLC※JS_C,OM-PL,C-技.术_网 |
00 WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) |
00 WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
00 WWW.PLCJS.COM——可编程控制器技术门户 |
65 WWW_PL※CJS_COM-PLC-技.术_网 |
16 WWW_P※LCJS_CO※M-PLC-技-.术_网 |
读M0.1 P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 |
01 WWW_P※LCJS_CO※M-PLC-技-.术_网 |
00 WWW_PLCJS@_COM%-PLC-技.术_网 |
01 plcjs.技.术_网 |
00 W1WW_P4LCJS_COM-PLC-技.术_网 |
00 W1WW_P4LCJS_COM-PLC-技.术_网 |
83 P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 |
00 WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) |
00 P.L.C.技.术.网——可编程控制器技术门户 |
01 WWW_PLCJS_COM-PLC-技.术_网 |
66 WWW_P※LCJS_CO※M-PLC-技-.术_网 |
16 WW.W_PLC※JS_C,OM-PL,C-技.术_网 |
读SMB34 WWW_P※LCJS_CO※M-PLC-技-.术_网 |
02 P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 |
00 WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) |
01 WW.W_PLCJS_COM-PLC-技.术_网 |
00 WWW.PLCJS.COM——可编程控制器技术门户 |
00 WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) |
05 P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 |
00 WWW_PLCJS@_COM%-PLC-技.术_网 |
01 WWW_PL※CJS_COM-PLC-技.术_网 |
10 WW.W_PLC※JS_C,OM-PL,C-技.术_网 |
F9 WWW_PLCJS@_COM%-PLC-技.术_网 |
16 WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) |
读VB100 ——可——编——程——控-制-器-技——术——门——户 |
02 WWW_PLCJS@_COM%-PLC-技.术_网 |
00 WWW_PLC※JS_COM-PmLC-技.术_网 |
01 W1WW_P4LCJS_COM-PLC-技.术_网 |
00 WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
01 WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) |
84 WWcW_PLCJS_COM-PLC-技.术_网 |
00 WWcW_PLCJS_COM-PLC-技.术_网 |
03 plcjs.技.术_网 |
20 W1WW_P4LCJS_COM-PLC-技.术_网 |
8B WWW_P※LCJS_COM-PLC-)技.术_网 |
16 WWW_PLCJS_COM-PLC-技.术_网 |
读VW100 WWW_PLCJS@_COM%-PLC-技.术_网 |
04 ——可——编——程——控-制-器-技——术——门——户 |
00 WW.W_PLC※JS_C,OM-PL,C-技.术_网 |
01 WWW_PLC※JS_COM-PmLC-技.术_网 |
00 WW.W_PLC※JS_C,OM-PL,C-技.术_网 |
01 WWW_PL※CJS_COM-PLC-技.术_网 |
84 WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) |
00 WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
03 plcjs.技.术_网 |
20 WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) |
8D WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
16 WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
读vd100 WW.W_PLCJS_COM-PLC-技.术_网 |
06 WW.W_PLC※JS_C,OM-PL,C-技.术_网 |
00 WWW_PLC※JS_COM-PmLC-技.术_网 |
01 WWW.PLCJS.COM——可编程控制器技术门户 |
00 WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) |
01 WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) |
84 WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) |
00 W1WW_P4LCJS_COM-PLC-技.术_网 |
03 WWW.PLCJS.COM——可编程控制器技术门户 |
20 WWW.PLCJS.COM——可编程控制器技术门户 |
8F WWW_P※LCJS_COM-PLC-)技.术_网 |
16 ——可——编——程——控-制-器-技——术——门——户 |
读i0.5 WW.W_PLCJS_COM-PLC-技.术_网 |
01 W1WW_P4LCJS_COM-PLC-技.术_网 |
00 WWcW_PLCJS_COM-PLC-技.术_网 |
01 plcjs.技.术_网 |
00 WWW_PL※CJS_COM-PLC-技.术_网 |
00 WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) |
81 WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) |
00 WWW_PL※CJS_COM-PLC-技.术_网 |
00 WWW_PLCJS@_COM%-PLC-技.术_网 |
05 WWW_P※LCJS_CO※M-PLC-技-.术_网 |
68 WWW_PLC※JS_COM-PmLC-技.术_网 |
16' WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) |
读i0.7 WW.W_PLC※JS_C,OM-PL,C-技.术_网 |
01 WWW_P※LCJS_CO※M-PLC-技-.术_网 |
00 ——可——编——程——控-制-器-技——术——门——户 |
01 WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) |
00 ——可——编——程——控-制-器-技——术——门——户 |
00 WWW_PLC※JS_COM-PmLC-技.术_网 |
81 WW.W_PLCJS_COM-PLC-技.术_网 |
00 WWW_P※LCJS_COM-PLC-)技.术_网 |
00 WW.W_PLCJS_COM-PLC-技.术_网 |
07 WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) |
6A WWW_PL※CJS_COM-PLC-技.术_网 |
16' WWW_P※LCJS_COM-PLC-)技.术_网 |