西门子PLC S7-200通讯协议
目 录
1 概述........................................................................................................................ 1
2 通讯数据报文总体格式........................................................................................ 1
2.1 主机读写申请的数据格式(OUT1).................................................................1
2.2 PLC 接收到读写命令,校验正确后,返回的数据格式(IN1)..................... 2
2.3 主机确认读写命令 POLL 的数据格式(OUT2).............................................2
2.4 从机返回读写完成消息,带回所读到的数据格式(IN2).............................3
3 通讯报文描述........................................................................................................ 4
3.1 主机读格式......................................................................................................4
3.2 主机写格式......................................................................................................5
3.3 主机 FORCE 格式..............................................................................................7
3.4 主机 UNFORCE 格式.........................................................................................8
3.5 主机 UNFORCE ALL 格式................................................................................10
3.6 PLC 返回(主机读)格式............................................................................ 11
3.7 PLC 返回(主机写)格式:........................................................................12
3.8 PLC 返回(主机 FORCE,UNFORCE)格式..................................................13
3.9 PLC 返回(主机 UNFORCE ALL)格式.........................................................14
4 S7-200 存储单元地址计算方法...........................................................................15
4.1 附一:............................................................................................................17
4.2 附二 存储区操作说明.................................................................................17
西门子 PLC S7-200 通讯协议
1 概述
S7-200 的编程口物理层为 RS-485 结构.SIEMENS S7-200PLC 的编程通讯接
口,内部固化的通讯协议有 PPI 协议,如果上位机遵循 PPI 协议来读写 PLC,就
可以省略编写 PLC 的通讯代码。上位机遵循 PPI 协议,就可以读写 PLC 内部的数
据,实现上位机的人机操作功能。
西门子的 PPI(Point to Point)通讯协议采用主从式的通讯方式,一次读写操
作的步骤包括 4 步:
(OUT1) 首先上位机发出读写命令.
(IN1) PLC 作出接收正确的响应.
(OUT2) 上位机接到此响应则发出确认申请命令(poll).
(IN2) PLC 则完成正确的读写响应,回应给上位机数据。
1.
2.
3.
4.
这样收发两次数据,完成一次数据的读写(如以下图例)。Unforce all 命令则主
机需要发三次确认命令(poll)。主机发出读写命令或 POLL 命令后 500ms 以内 PLC
应该作回应,否则视为出错.
主机
S7-200
OUT1
OUT2
IN1
IN2
2 通讯数据报文总体格式
2.1 主机读写申请的数据格式(OUT1)
报文 SD4 LE LER SD4
68
固定
符号
68
DA SA FC
6C
DASP
SSAP
DU
FCS
ED
16
-----------------------------------------------------------------------------
第 1 页 共 19 页
西门子 PLC S7-200 通讯协议
正文
1
1
1
1
1
1
1
1
1
N
1
1
字节
数
SD4:(Start Delimiter)开始定界符(68H)
LE:(Length)报文数据长度
LER:(Repeated Length)重复数据长度
SD4: (Start Delimiter)开始定界符(68H)
DA:(Destination Address)PLC 地址.
SA:(Source Address)主机地址.
FC:(Function Code)功能码
DSAP:(Destination Service Access Point)目的服务存取点
SSAP:(Source Service Access Point)源服务存取点
DU:(Data Unit)数据块
FCS:(Frame Check Sequence)校验码
ED:(End Delimiter)结束界定符(16H)
报文数据长度和重复数据长度为自 DA 到 DU 末的字节长度,校验码为 DA 到
DU 末数据的和校验,只取其中的末字节值。
2.2 PLC 接收到读写命令,校验正确后,返回的数据格式(IN1)
报文 ACK1
固定符号 E5
1
字节数
2.3 主机确认读写命令 POLL 的数据格式(OUT2)
报文 SD1
固定符号 10
1
字节数
SA DA FC FDS
1
1
5C
1
1
ED
16
1
SD1:起始符,为 10H
SA:主机地址
DA:PLC 地址
-----------------------------------------------------------------------------第
2 页 共 19 页
西门子 PLC S7-200 通讯协议
正文
FC 为功能码,取 5CH
FCS 为 SA+DA+FC 的和校验.
ED 为结束符,取 16H
2.4 从机返回读写完成消息,带回所读到的数据格式(IN2)
报文 SD4
LER SD4
DASP SSAP
LE
68
1
固定
符号
字节
数
68
1
1
1
DA SA FC
08
FCS
DU
ED
16
1
1
1
1
1
N
1
1
SD4:(Start Delimiter)开始定界符(68H)
LE:(Length)报文数据长度
LER:(Repeated Length)重复数据长度
SD4: (Start Delimiter)开始定界符(68H)
DA:(Destination Address)主机地址.
SA:(Source Address)PLC 地址.
FC:(Function Code)功能码(取 08h)
DSAP:(Destination Service Access Point)目的服务存取点
SSAP:(Source Service Access Point)源服务存取点
DU:(Data Unit)数据块
FCS:(Frame Check Sequence)校验码
ED:(End Delimiter)结束界定符(16H)
报文数据长度和重复数据长度为自 DA 到 DU 末的字节长度,校验码为 DA 到
DU 末数据的和校验,只取其中的末字节值。
校验码(和校验)的计算方法: 以字节为单位对需要校验的字段做累加,忽略进
位,累加和就是校验码.
-----------------------------------------------------------------------------第
3 页 共 19 页
西门子 PLC S7-200 通讯协议
正文
3 通讯报文描述
注:以下描述中紫色代表固定取值,绿色代表非固定取值,白色框不是报文的
部分只是一个标识。
3.1 主机读格式
1B
1B
68
02
00
6C
32
01
9 字节,自 SD4 到 SSAP 数据
68
段。
00
00
00
00
0E
00
4 字节保留位取:00 00 00 00 (待测)
2 字节,长度,即从 K1 到 K3 的字节数.
00
00
K1:
04
01
12
0A
K2:
10
04
00
01
2 字节,发给对方的数据的长度。
1 字节,04:读 05:写 00:force 或 unforce
1 字节,消息组数,取 01。
1 字节,消息组头
1 字节,消息组长度,从 K2 到 K3 的字节数.
1 字节.
1 字节,变量的类型. 01: bit; 02:byte;
04: word; 06: dword
1E:读 C 区 ; 1F:读 T 区;20:读 HC 区
2 字节,要读取的变量的数量,最大长度不能大于
0xDE 个字节。对于变量类型是 bit 型则只能对一位操作,
-----------------------------------------------------------------------------第
4 页 共 19 页
西门子 PLC S7-200 通讯协议
正文
即只能取 00 01.
00
00
2 字节,与变量类型有关,V 取 00 01 其他取 00 00
K3:
84
00
00
18
4 字节,起始变量的地址
01
16
1 字节,校验和(check sum)。
1 字节,结束界定符。
3.2 主机写格式
68
1B
1B
68
02
32
01
6C
00
9 字节,自 SD4 到 SSAP 数据段。
00
00
00
00
4 字节保留位取:00 00 00 00 (待测)。
00
0E
00
06
K1:
05
01
12
0A
K2:
10
04
2 字节,长度,从 K1 到 K3 的字节数.
2 字节,发给对方的数据的长度,从 K4 到 K5 的字节数
1 字节,04:读 05:写 00:force 或 unforce
1 字节,消息组数。
1 字节,消息组头
1 字节,消息组长度,从 K2 到 K3 的字节数。
1 字节
-----------------------------------------------------------------------------第
5 页 共 19 页
西门子 PLC S7-200 通讯协议
正文
1 字节,变量的类型.01: bit; 02 :byte; 04:
word; 06: dword
1E:写 C 区 ; 1F:写 T 区;不能写 HC 区
00
01
字
2 字节,要写入的数量,最大长度不能大于 0xDE 个
节。对于变量类型是 bit 型时,只能对一位进行操作,即
只能取 00 01
00
00
2 字节,与变量类型有关,V 取 00 01 其他取 00 00。
K3:
84
00
00
18
4 字节,变量的地址
K4:
00
04
00
00
K5:
00 ……… 00
01
16
1 字节,保留 00
1 字节,有效数据的类型 03:bit
04:非 bit
2 字节,有效 bit 数(即要写入的数据以 bit 计)。
对于 C 区:取 00 18
对于 T 区:取 00 28
n 字节,有效数据(高位在前,如:0x123
要写入 vw0 就是 01 23 两个字节)。
写 bit 数据格式:00 表示 bit0; 01 表示 bit1
写 T 区数据格式:00 00 00 XX XX 5 个字节.
写 C 区数据格式:00 XX XX
3 个字节.
1 字节,校验和。
-----------------------------------------------------------------------------第
6 页 共 19 页
西门子 PLC S7-200 通讯协议
正文
1 字节,结束界定符。
3.3 主机 force 格式
68
1B
1B
68
02
00
6C
32
07
9 字节,自 SD4 到 SSAP 数据段。
00
00
00
00
4 字节保留位取:00 00 00 00 (待测)。
2 字节,消息长度从此后第三字节到固定字符
*FF 之前的字节数。
2 字节,发给对方的数据的长度,从固定字符*FF
到 checksum 之前的字节数。
1 字节,04:读 05:写 00:force 或 unforce
00
0C
00
12
00
01
12
1 字节,消息组数。
08
12
48
0B
00
00
00
00
00
10 字节,此消息组为固定字符。
*FF
09
00
数。
0E
00
01
10
1 字节,消息长度从此后字节到 checksum 前的字节
1 字节,00 force; 01unforce; 02:unforce all
-----------------------------------------------------------------------------第
7 页 共 19 页