[欧姆龙] OMRON_PLC_CP1H_HostLink通讯协议解析

[复制链接]
查看323 | 回复0 | 2024-7-21 16:12:02 | 显示全部楼层 |阅读模式
前言:欧姆龙的硬件连接,见文章《欧姆龙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





免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则