与西门子200smart通讯解码
1. 建立通讯
与PLC通讯的建立需要计算机发送两次命令报文,通讯建立后即可发送读写报文来读写PLC数据,西门子的端口号固定为102
与西门子200smart系列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 CC C1 00 08 00 00 F0 00 00 01 00 01 03 C0
第二次 响应 03 00 00 1B 02 F0 80 32 03 00 00 CC C1 00 08 00 00 00 00 F0 00 00 01 00 01 00 F0
可以通过响应报文来判断计算机是否与PLC成功连接
(通过判断响应的总字节数或某个字节实现)
如果读写过程发送通讯错误,需要重新发送两次命令,再次建立通讯
2. 读取通讯报文分析
1)读取V存储器
给 VB0 VB1 VB2 VB4 分别赋予初始值为 12,13,14,15
如果要读取4个存储器的值
发送报文 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 01 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
读取VB1开始2个字节
发送报文:03 00 00 1F 02 F0 80 32 01 00 00 00 1C 00 0E 00 00 04 01 12 0A 10 02 00 02 00 01 84 00 00 08
响应信息:03 00 00 1B 02 F0 80 32 03 00 00 00 1C 00 02 00 06 00 00 04 01 FF 04 00 10 0D 0E
以上都是16进制
下面分析报文规则
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 01 :表示V存储器
84:表示存储器类型,81:输入 82:输出 83:继电器M 84:数据区
00 00 00:偏移量,以位为单位 从V0.0算起
2)读取输入I 数据
读取I0.0--I0.7 一个字节 这里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 01 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 08
报文解析:
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
81:表示存储器类型,81:输入 82:输出 83:继电器M 84:数据区
00 00 00:偏移量,以位为单位 从I0.0算起
回复报文解析:
08:转成二进制就是 0000 1000 即I0.3为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
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 00 82 00 00 03 00 03 00 01 01
报文分析:
03 00:固定开头
00 24:报文长度
02 F0 80 32 01 00 00:固定7个字节
00 03: 标志序列号
00 0E:固定2个字节
00 05:写入长度
05 01 12 0A 10:固定5个字节
01 : 01 按位写入 02 按字节写入
00 01:写入数据个数
00 00:如果是DB块,这里是DB号,目前这里为00 00
82:表示存储器类型,81:输入 82:输出 83:继电器M 84:V
00 00 03:偏移量,以位为单位 从Q0.0算起
00 03: 写入方式,03 表示按位写入,04 表示按字节写入
00 01: 写入位个数
01:写入值
2) 写入 M的值 M2.0为1
发送报文: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 00 83 00 00 10 00 03 00 01 01
报文分析:
03 00:固定开头
00 24:报文长度
02 F0 80 32 01 00 00:固定7个字节
00 03: 标志序列号
00 0E:固定2个字节
00 05:写入长度
05 01 12 0A 10:固定5个字节
01 : 01 按位写入 02 按字节写入
00 01:写入数据个数
00 00:如果是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 00 83 00 00 11 00 03 00 01 01 表示M2.1 为1
3) 写数据区VB10=0x1E
发送报文:03 00 00 24 02 F0 80 32 01 00 00 00 05 00 0E 00 05 05 01 12 0A 10 02 00 01 00 01 84 00 00 10 00 04 00 08 1E
报文分析:
03 00:固定开头
00 24:报文长度 (35个字节加写入数据长度)
02 F0 80 32 01 00 00:固定7个字节
00 05: 标志序列号
00 0E:固定2个字节
00 05:写入长度
05 01 12 0A 10:固定5个字节
02 : 01 按位写入 02 按字节写入
00 01:写入数据个数
00 01:表示VB区域
84:表示存储器类型,81:输入 82:输出 83:继电器M 84:V
00 00 50:偏移量,以位为单位 从V0.0算起,这里偏移16#50个位即80个位
00 04: 写入方式,03 表示按位写入,04 表示按字节写入
00 08: 写入位个数
1E:写入值
写数据区VB10=0x1E,VB11=0x2F
发送报文: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 01 84 00 00 10 00 04 00 10 1E 2F
报文分析:
03 00:固定开头
00 25:报文长度,增加1个
02 F0 80 32 01 00 00:固定7个字节
00 05: 标志序列号
00 0E:固定2个字节
00 06:写入长度,增加1个
05 01 12 0A 10:固定5个字节
02 : 01 按位写入 02 按字节写入
00 02:写入数据个数 写入2个数据
00 01:表示VB区域
84:表示存储器类型,81:输入 82:输出 83:继电器M 84:V
00 00 50:偏移量,以位为单位 从V0.0算起,这里偏移16#50个位即80个位
00 04: 写入方式,03 表示按位写入,04 表示按字节写入
00 10: 写入位个数,2个字节16个位
1E 2F:写入值
苏州C#与工业自动化培训
苏州C#高级语言培训
苏州C#上位机培训
苏州C#上位机培训
苏州上位机软件开发培训
苏州上位机培训
苏州C#与PLC通信培训
苏州上位机界面开发培训
苏州C#与三菱PLC培训
苏州C#与运动控制卡SDK通信培训
苏州C#与西门子PLC通信软件开发培训
苏州C#与相机SDK培训
苏州C#与ABB六轴机器人联动培训
苏州C#与爱普生EPSON四轴机器人联动培训
苏州C#与数据库培训(sqlite,mysqlsever,access)
苏州C#与工业机器人通信培训
苏州工业机器人培训
苏州ABB工业机器人培训
苏州ABB六轴工业机器人编程培训
苏州EPSON四轴机器人编程培训
苏州C#与halcon机器视觉培训
苏州halcon机器视觉培训
苏州机器视觉培训
苏州机器视觉软件开发培训
苏州视觉培训
苏州视觉软件开发培训
苏州C#视觉软件开发培训
苏州C#与halcon联合机器视觉软件开发培训
苏州C#与halcon机器视觉培训
苏州CCD机器视觉培训
苏州机器视觉检测培训
苏州运动控制卡+机器视觉培训
苏州双相机机器视觉培训
苏州9点标定视觉培训
苏州手眼标定视觉培训
苏州智能视觉培训
苏州工业相机软件开发培训
苏州相机镜头选型培训
苏州视觉检测光源打光培训
苏州ABB机器人与halcon机器视觉应用
苏州C#联合halconABB工业机器人培训
苏州C#视觉引导ABB工业机器人培训
苏州C#视觉引导epson工业机器人培训
苏州C#视觉引导三轴运动培训
苏州C#三轴运动控制培训
苏州2D+3D视觉系统培训
苏州CCD机器视觉项目实战培训班
苏州halconCCD机器视觉项目培训
苏州halcon手眼标定抓取培训
苏州halcon软件应用培训
苏州visipro软件培训
苏州海康视觉软件开发培训
苏州Halcon视觉软件培训
苏州C#与CCD机器视觉项目实战培训班
苏州C#与halconCCD机器视觉项目培训
苏州C#与halcon手眼标定抓取培训
苏州halcon软件应用培训
苏州visipro软件培训
苏州海康视觉软件开发培训
苏州C#halcon软件应用培训
苏州C#与visipro机器视觉软件培训
苏州C#工业软件培训
苏州机器视觉引导机器人抓取培训
苏州视觉定位培训
苏州视觉缺陷检测培训
苏州机器视觉模板匹配定位培训
苏州SCL编程培训
苏州PLC培训
苏州PLC编程培训
苏州三菱plc培训
苏州西门子plc培训
苏州三菱plc培训(FX3U/FX5U)
苏州西门子plc培训(s7-200smart/s7-1200/s7-1500)
版权所有:江苏和讯自动化设备有限公司所有 备案号:苏ICP备2022010314号-1
技术支持: 易动力网络