Hostlink协议
1. 与FinsTCP协议的区别
- 通讯方式:HostLink是一种串行通信协议,通常通过RS-232或RS-485等串行接口与PLC进行通信。而FinsTCP是基于TCP/IP网络的通信协议。
- 协议格式:HostLink协议包含起始字符、站号、命令、数据和校验和等字段,通常用于简单的命令/响应通信。
- 适用场景:HostLink通常用于本地连接和简单的监控任务,多用于PLC与外部设备的通信。
2. 报文组成
HostLink通讯协议的数据,由4部分组成。
1.头代码 | 2.FINS命令 | 3.异或校验 | 4.结束码
大致可分为头代码和FINS命令两个部分
2.1 读取报文
举例如下:
@00FA0000000000101B00064000001
解析图如下:
2.2 写入报文
@00FA00000000001023100640500050101000001
00: 等待时间
FA: 头编码
0: 等待时间
00: ICF
00: DA2
00: SA2
00: SID
0102: 写指令
31: 寄存器(D位:02,D字:82,W位:31,C位:30,W字:B1,C字:B0)
006400: 起始地址(由通道号0064+位号00构成)
0005: 读取5个数
0101000001: 位依次为11001
2.3 解析反馈数据
下发数据: @00FA000000000010231001E06000100
返回数据: @00FA00400000000102000040*\CR
0102: 写指令
0000: 错误码(为0说明无误)
*\CR: 异或校验的结束符
3. 实验现象
- 发送报文
@00FA0000000000102820064000001000C0E*\0D
从FINS命令开始看:
0102: 写指令
82: 对D字区操作
0064: 起始地址100
00: 起始位0
01: 写一个数
0000C: 写入12
- 反馈报文
@00FA00400000000102000040*\0D
0102: 写指令
0000: 错误码(说明无误)