OMRON_PLC_CP1H_HostLink通讯协议解析
前言:欧姆龙的硬件连接,见文章《欧姆龙HostLink通讯协议485实现方法》(编号103)所用调试工具为串口调试工具。对于校验位等其它数据,在工具里设定即可,无需编写数据。
文章目录分为三部分:
第一部分:分析数据的组成
第二部分:解析说明文档给出的数据
第三部分:解析下发以及反馈的数据
第四部分:读写D存储区
第一部分:分析数据的组成
HostLink通讯协议的数据,由4部分组成。
1. 头代码
2. FINS命令
3. 异或校验
4. 结束码
以下的数据用于串口调试工具下发给PLC,所以以下由上述的1、2部分组成
头代码:红色 FINS命令:蓝色
@00FA0000000000101B00064000001
红色部分数据分析:
@后的1-2位,为PLC地址,默认PLC地址为0,可设定0--31
@后的FA为头编码,可为”FA” “RD” “WR”
@后的第5位为等待时间,默认为0*10ms
后面的数据从右到左依次是:ICF\DA2\SA2\SID各占一个字节默认为00,具体设定可参照HostLink(具体可参考 HOSTLINK 通讯参考手册 W342-E1-15 第 3-3-3 节)
蓝色部分数据分析:见第二部分
第二部分:解析说明文档给出的数据
读取CIO100一个字
@00FA0000000000101B00064000001
读取:0101 写入:0102
功能码B0:指定相应寄存器类型 (详见附表1)
006400: 0064为存储器的编号(16进制的0064为10进制的100)
0064后的00为存储器的位(HEX 00)
0001:读取1个字
————————————————————————————
写CIO100.05-100.09位地址
@00FA00000000001023100640500050101000001
0102:写数据
31:W存储区
006405:100.05(十进制100.05)
0005:连续写5个位
0101000001:写5个位的数据
—————————————————————————————
第三部分:解析下发以及反馈的数据
下发数据:@00FA000000000010231001E06000100
返回数据:@00FA00400000000102000040*\CR
下发的内容:写数据(0102)到W存储区(31)的W30寄存器(001E)寄存器W30.06(06),连续写1个字节(0001)写的内容为0(00)
返回的内容:返回之前的操作为写(0102),数据正常写入(0000)。数据后面附带的(*\CR)为异或校验的结束符。
第四部分:读写D存储区
RD指令命令格式
@00RD10230006
读取站00地址为W1023的0006个字
举例:
WR举例:
08WR00后的尾码00为正常完成
附表1
存储区名称 |
数据类型 |
CP系列代码(十六进制) |
操作方式
|
CIO |
BIT |
30 |
1读
2写 |
WR |
31 |
||
HR |
32 |
||
AR |
33 |
||
CIO |
WORD |
B0 |
|
WR |
B1 |
||
HR |
B2 |
关注微信公众号,获取更多