机器视觉与西门子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:写入值
苏州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
技术支持: 易动力网络