常州plc培训

常州PLC编程培训

常州和讯自动化培训中心欢迎您!
当前位置:网站首页 > 技术资料 技术资料
上位机与西门子S7-1200通信编码
日期:2022/4/24 17:27:00人气:  标签:常州PLC培训 常州PLC编程培训

 

 

与西门子1200通讯解码

1.建立通讯

 与PLC通讯的建立需要计算机发送两次命令报文,通讯建立后即可发送读写报文来读写PLC数据,西门子的端口号固定为102

 

与西门子1200系列PLC建立通讯的报文为

 

第一次 发送 03 00 00 16 11 E0 00 00 00 01 00 C1 02 01 00 C2 02 01 01 C0 01 09

第一次 响应 03 00 00 16 11 D0 00 01 00 06 00 C0 01 09 C1 02 01 00 C2 02 01 01

第二次 发送 03 00 00 19 02 F0 80 32 01 00 00 FF FF 00 08 00 00 F0 00 00 01 00 01 07 80

第二次 响应 03 00 00 1B 02 F0 80 32 03 00 00 FF FF 00 08 00 00 00 00 F0 00 00 01 00 01 00 F0

 

可以通过响应报文来判断计算机是否与PLC成功连接

(通过判断响应的总字节数或某个字节实现)

 

如果读写过程发送通讯错误,需要重新发送两次命令,再次建立通讯

2.读取通讯报文分析

 

1)读取DB存储器

  如果要读取4个存储器的值 DB10.DB0---DB10.DB3 分别为11 12 13 14

发送报文 03 00 00 1F 02 F0 80 32 01 00 00 00 1C 00 0E 00 00 04 01 12 0A 10 02 00 04 00 0A 84 00 00 00

响应信息:03 00 00 1D 02 F0 80 32 03 00 00 00 1C 00 02 00 08 00 00 04 01 FF 04 00 20 0C 0D 0E 0F 

下面分析报文规则

03 00 : 固定报文开头

00 1F  : 报文长度

02 F0 80 32 01 00 00:固定7个字节

00 1C: 标志序列号

00 0E 00 00 04 01 12 0A 10 02:固定10个字节

00 04:读取的字节数量

00 0A :表示DB编号

84:表示存储器类型,81:输入 82:输出 83:继电器M  84:数据区

00 00 00:偏移量,以位为单位 从V0.0算起

 

 

 

2)读取输入I 数据

读取I0.0--I1.7   2个字节  这里I0.3为ON

发送报文:03 00 00 1F 02 F0 80 32 01 00 00 00 02 00 0E 00 00 04 01 12 0A 10 02 00 02 00 00 81 00 00 00 

回复:03 00 00 1B 02 F0 80 32 03 00 00 00 02 00 02 00 06 00 00 04 01 FF 04 00 10 04 00 

 报文解析:

03 00 :固定开头

00 1F:报文长度

02 F0 80 32 01 00 00 :固定7个字节

00 02:标志序列号

00 0E 00 00 04 01 12 0A 10 02:固定10个字节

00 02:读取的字节个数

00 00: 如果是DB块,这里是DB号,目前这里为00 00

81:表示存储器类型,81:输入 82:输出 83:继电器M  84:数据区

00 00 00:偏移量,以位为单位 从I0.0算起

 

回复报文解析:

04 00:转成二进制就是 0000 0100 0000 0000 即I0.2为ON

 

3)读取输出Q

 读取

 发送报文:03 00 00 1F 02 F0 80 32 01 00 00 00 02 00 0E 00 00 04 01 12 0A 10 02 00 01 00 00 82 00 00 00 

 响应报文:03 00 00 1A 02 F0 80 32 03 00 00 00 02 00 02 00 05 00 00 04 01 FF 04 00 08 03

报文解析:

03 00 :固定开头

00 1F:报文长度

02 F0 80 32 01 00 00 :固定7个字节

00 02:标志序列号

00 0E 00 00 04 01 12 0A 10 02:固定10个字节

00 01:读取的字节个数

00 00: 如果是DB块,这里是DB号,目前这里为00 00

82:表示存储器类型,81:输入 82:输出 83:继电器M  84:数据区

00 00 00:偏移量,以位为单位 从Q0.0算起

 

回复报文解析:

03:转成二进制就是 0000 0011  即Q0.0,Q0.1为ON

 

4)读取MD0

 读取

 发送报文:03 00 00 1F 02 F0 80 32 01 00 00 00 02 00 0E 00 00 04 01 12 0A 10 02 00 04 00 00 83 00 00 00 

 响应报文:03 00 00 1A 02 F0 80 32 03 00 00 00 02 00 02 00 05 00 00 04 01 FF 04 00 20 00 00 00 03

报文解析:

03 00 :固定开头

00 1F:报文长度

02 F0 80 32 01 00 00 :固定7个字节

00 02:标志序列号

00 0E 00 00 04 01 12 0A 10 02:固定10个字节

00 04:读取的字节个数

00 00: 如果是DB块,这里是DB号,目前这里为00 00

83:表示存储器类型,81:输入 82:输出 83:继电器M  84:数据区

00 00 00:偏移量,以位为单位 从Q0.0算起

 

回复报文解析:

00 00 00 03:读取到值

 

 

 

 

 

 

 

 

 

3.写报文分析

1)写入Q的值 ,将Q0.3置为ON

发送报文:03 00 00 24 02 F0 80 32 01 00 00 00 03 00 0E 00 05 05 01 12 0A 10 01 00 01 00 01 82 00 00 03 00 03 00 01 01

报文分析:

03 00:固定开头

00 24:报文长度 35+写入长度

02 F0 80 32 01 00 00:固定7个字节

00 03: 标志序列号 按位写 Q M一样

00 0E:固定2个字节

00 05:写入长度+4

05 01 12 0A 10:固定5个字节

01 : 01 按位写入 02 按字节写入

00 01:写入数据个数

00 01:如果是DB块,这里是DB号,其他时候可以是任意值目前这里为00 01

82:表示存储器类型,81:输入 82:输出 83:继电器M  84:V

00 00 03:偏移量,以位为单位 从Q0.0算起

 00 03: 写入方式,03 表示按位写入,04 表示按字节写入

00 01: 写入位个数

01:写入值

 

2)写入QB0的值 ,为3

发送报文:03 00 00 24 02 F0 80 32 01 00 00 00 08 00 0E 00 05 05 01 12 0A 10 02 00 01 00 01 82 00 00 00 00 04 00 08 03

报文分析:

03 00:固定开头

00 24:报文长度 35+写入长度

02 F0 80 32 01 00 00:固定7个字节

00 08: 标志序列号 按字节,字或双字写 Q M一样

00 0E:固定2个字节

00 05:写入长度+4

05 01 12 0A 10:固定5个字节

02 : 01 按位写入 02 按字节写入

00 01:写入数据个数

00 01:如果是DB块,这里是DB号,其他时候可以是任意值目前这里为00 01

82:表示存储器类型,81:输入 82:输出 83:继电器M  84:V

00 00 00:偏移量,以位为单位 从Q0.0算起

 00 04: 写入方式,03 表示按位写入,04 表示按字节写入

00 08: 写入位个数

03:写入值

 

 

发送报文:03 00 00 24 02 F0 80 32 01 00 00 00 03 00 0E 00 05 05 01 12 0A 10 01 00 01 00 01 82 00 00 03 00 03 00 01 00   表示Q0.3置为0

 

3)写入 M的值 M2.0为1

发送报文:03 00 00 27 02 F0 80 32 01 00 00 00 08 00 0E 00 05 05 01 12 0A 10 01 00 01 00 01 83 00 00 10 00 03 00 01 01

报文分析:

03 00:固定开头

00 27:报文长度 35+写入长度

02 F0 80 32 01 00 00:固定7个字节

00 08: 标志序列号 按位写 Q M一样

00 0E:固定2个字节

00 05:写入长度+4

05 01 12 0A 10:固定5个字节

01 : 01 按位写入 02 按字节写入

00 01:写入数据个数

00 01:如果是DB块,这里是DB号,目前这里为00 00

83:表示存储器类型,81:输入 82:输出 83:继电器M  84:V

00 00 10:偏移量,以位为单位 从m0.0算起,这里偏移16个位

 00 03: 写入方式,03 表示按位写入,04 表示按字节写入

00 01: 写入位个数

01:写入值

 

发送报文:03 00 00 24 02 F0 80 32 01 00 00 00 03 00 0E 00 05 05 01 12 0A 10 01 00 01 00 01 83 00 00 11 00 03 00 01 01  表示M2.1 为1

4)写入 MD的值 MD0为9

发送报文:03 00 00 27 02 F0 80 32 01 00 00 00 08 00 0E 00 08 05 01 12 0A 10 02 00 04 00 01 83 00 00 00 00 04 00 20 00 00 00 09

报文分析:

03 00:固定开头

00 27:报文长度

02 F0 80 32 01 00 00:固定7个字节

00 08: 标志序列号 按字节,字或双字写 Q M一样

00 0E:固定2个字节

00 08:写入长度+4

05 01 12 0A 10:固定5个字节

02 : 01 按位写入 02 按字节写入

00 04:写入数据个数

00 01:如果是DB块,这里是DB号,目前这里为00 00

83:表示存储器类型,81:输入 82:输出 83:继电器M  84:V

00 00 00:偏移量,以位为单位 从m0.0算起,这里偏移16个位

 00 04: 写入方式,03 表示按位写入,04 表示按字节写入

00 20: 写入位个数

00 00 00 09:写入值

 

发送报文:03 00 00 27 02 F0 80 32 01 00 00 00 08 00 0E 00 08 05 01 12 0A 10 02 00 04 00 01 83 00 12 C0 00 04 00 20 00 00 00 09  表示MD600 为9

 

3)写数据区DB10.DW2=0x1F2F

发送报文:03 00 00 25 02 F0 80 32 01 00 00 00 05 00 0E 00 06 05 01 12 0A 10 02 00 02 00 0A 84 00 00 10 00 04 00 10 1F 2F

 

报文分析:

03 00:固定开头

00 25:报文长度 (35个字节加写入数据长度)

02 F0 80 32 01 00 00:固定7个字节

00 05: 标志序列号

00 0E:固定2个字节

00 06:写入长度+4

05 01 12 0A 10:固定5个字节

02 : 01 按位写入 02 按字节写入

00 02:写入数据个数 字节

00 0A:表示DB块编号

84:表示存储器类型,81:输入 82:输出 83:继电器M  84:DB

00 00 10:偏移量,以位为单位 

 00 04: 写入方式,03 表示按位写入,04 表示按字节写入

00 10: 写入位个数

1F 2F:写入值

 

 

写数据区DB10.DX4.0=1

 

发送报文:03 00 00 24 02 F0 80 32 01 00 00 00 08 00 0E 00 05 05 01 12 0A 10 01 00 01 00 0A 84 00 00 20 00 03 00 01 01

 

报文分析:

03 00:固定开头

00 24:报文长度 35+写入长度

02 F0 80 32 01 00 00:固定7个字节

00 08: 标志序列号

00 0E:固定2个字节

00 05:写入长度+4

05 01 12 0A 10:固定5个字节

01 : 01 按位写入 02 按字节写入

00 01:写入数据个数 

00 0A:表示DB编号

84:表示存储器类型,81:输入 82:输出 83:继电器M  84:DB

00 00 20:偏移量,以位为单位 

 00 03: 写入方式,03 表示按位写入,04 表示按字节写入

00 01: 写入位个数

 01:写入值

本文网址:
上一篇:S7-1200 下载
下一篇:S7-1200特点

相关信息:
版权所有 CopyRight 2006-2013 常州和讯自动化培训中心 电话:0519-85602926 地址:常州市新北区府琛商务广场2号楼1409室
《中华人民共和国电信与信息服务业务经营许可证》 编号:苏ICP证1312012312号 网站统计 技术支持:常州山水网络
本站关键词:常州plc培训 常州PLC编程培训网站地图 网站标签
在线与我们取得联系