OMRON_PLC_CP1H_HostLink通讯协议解析
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 |
关注微信公众号,获取更多
OMRON_PLC_CP1H_HostLink通讯协议解析相关推荐
- UART串口通讯协议解析
UART串口通讯协议解析 概述 接口 通信协议 波特率 示例 最后 概述 通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART ...
- 西门子plc与oracle报文,西门子PLC以太网 通讯协议 解析
本帖最后由 qingyun 于 2016-12-2 10:36 编辑 1.西门子和三菱的几个区别(上位只关心的通讯层面): 1. 西门子PLC通讯端口固定102,但是可以连接多个PC端(客户端),三菱 ...
- RS-232-C串口通讯协议解析
串行通信接口标准经过使用和发展,目前已经有几种.但都是在RS-232标准的基础上经过改进而形成的.所以,以RS-232C为主来讨论. 在讨论RS-232C接口标准的内容之前,先说明两点.首先,RS-2 ...
- rs232 python_RS232串口通讯协议解析
串行通信接口标准经过使用和发展,目前已经有几种.但都是在RS-232标准的基础上经过改进而形成的.所以,以RS-232C为主来讨论. 在讨论RS-232C接口标准的内容之前,先说明两点.首先,RS-2 ...
- MODBUS通讯协议解析及实例
1 简述 Modbus寄存器分为四种,如表1.1所示: 表1.1 寄存器分类 寄存器种类 数据类型 访问类型 功能码 PLC地址 寄存器地址 线圈寄存器 位 读写 01H 05H 0FH 00001- ...
- 通信协议/通讯协议 有哪些?包含哪些分类?
通讯和通信的区别? 1 "通信"与"通讯"傻傻分得清 传统意义上的"通讯"主要指电话.电报.电传.通讯的"讯"指消息( ...
- 西门子s7-200smart PLC通讯协议(TCP)
西门子s7-200smart PLC通讯协议(TCP) 由于网上找到的大部分指令解析资料都是以1200.300 等为主的指令,并未见到200smart系列,且恰巧项目需要与该plc通讯读写数据.虽然找 ...
- ADAS自动驾驶辅助系统通讯协议「ADASIS Protocol」接口定义解析(二)详细
「ADASIS Protocol Introduction」 --信号接口解析 本文来自微信公众号:[阿波兹得][续]ADASIS Protocol介绍 (2) 信号解析https://mp.weix ...
- 用C语言解析通讯协议数据,C/C++知识点之服务端使用c++实现websocket协议解析及通信...
C/C++知识点之服务端使用c++实现websocket协议解析及通信 小标 2018-12-03 来源 : 阅读 2289 评论 0 摘要:本文主要向大家介绍了 C/C++知识点之服务端使用c++实 ...
- 北斗通讯协议4.0 java_北斗4.0协议解析.doc
北斗4.0协议解析 北斗用户机用户接口协议 (4.0版本外用) 接口数据传输约定 串口非同步传送,参数定义如下: 传输速率:19200bit/s(默认),可根据用户机具体情况设置其它速率: 1 bit ...
最新文章
- 20160722noip模拟赛alexandrali
- 阿里云助力重庆打造“亚洲最智能大型城市”
- Android中ImageView常用属性含义
- oracle数据库转sqlite,Sqlite导入Oracle软件(SqliteToOracle)
- 动态规划训练16 [Doing Homework HDU - 1074 ]
- 前端学习(575):margin无效情形之鞭长莫及导致无效
- 处理后台返回文本带空格和换行页面不显示断句的问题
- 【计算机网络复习 数据链路层】3.4.3 后退N帧协议(GBN)
- 北大暑期课作业 - 对cnblog 和其他技术博客的分析,比较和展望
- oracle根据当前月份往前,oracle获取系统日期--当前时间+前一天+当前月+前一个月...
- 官宣,Shane Miller 当选 Rust 基金会首任主席
- 在JavaScript中定义枚举的首选语法是什么? [关闭]
- css不定高度实现垂直居中
- 14.PHP vld 扩展
- ORBSLAM3 VIO初始化
- sqlserver中计算日期差
- 有效 360 度反馈系统的关键
- 眨眼照片变名画,华为P20,创造着艺术,也是艺术本身
- 【Day12-Stream流Map集合】
- Go语言之值传递与引用传递