IEC 103 协议的学习和总结
2 IEC 103 协议的学习和总结
通过近两周时间的学习,开始对iec 103 协议有了一定的认识,也能对简单的协议进行分析。
如对下报文的分析:
09:10:19.546 串口2 发送 10 5B 02 5D 16
09:10:19.562 串口2 收到 10 09 02 0B 16 00 00 00 //下面将分析
09:10:22.562 串口2 发送 10 7B 02 7D 16
09:10:24.578 串口2 发送 10 7B 02 7D 16
09:10:24.578 串口2 收到 10 09 02 0B 16 00 00 00
09:10:27.593 串口2 发送 10 5B 02 5D 16
09:10:27.593 串口2 收到 10 09 02 0B 16 00 00 00
09:10:30.609 串口2 发送 10 7B 02 7D 16
09:10:30.609 串口2 收到 10 09 02 0B 16 00 00 00
09:10:32.656 串口2 收到 10 09 01 0A 16 00 00 00
09:10:35.671 串口2 发送 68 0F 0F 68 53 02 06 81 08 01 FF 00 6C DE 05 08 01 01 07 44 16
09:10:35.671 串口2 收到 10 00 02 02 16 00 00 00
09:10:35.875 串口2 发送 10 7B 02 7D 16
09:10:35.890 串口2 收到 10 09 02 0B 16 00 00 00
09:10:36.187 串口2 发送 10 5B 02 5D 16
09:10:36.203 串口2 收到 10 09 02 0B 16 00 00 00
09:10:36.500 串口2 发送 10 7B 02 7D 16
09:10:36.515 串口2 收到 10 09 02 0B 16 00 00 00
09:10:36.828 串口2 发送 10 5B 02 5D 16
09:10:36.843 串口2 收到 10 09 02 0B 16 00 00 00
09:10:39.843 串口2 发送 10 7B 02 7D 16
09:10:39.843 串口2 收到 10 09 02 0B 16 00 00 00
09:10:42.859 串口2 发送 10 5B 02 5D 16
09:10:42.859 串口2 收到 10 09 02 0B 16 00 00 00
2.1 主站初始化(下面具体分析)
从上面分析可知,帧的两种不同的格式,分别有:固定帧长报文和可变帧长报文(可由启动报文判断)
那么我已上面具体事例来分别解析一个固定帧长报文和可变帧长报文.
那么以09:10:19.546 串口2 发送 10 5B 02 5D 16 为例来解析固定帧长报文
目的:给地址为02的装置召唤2级数据。
10 //固定帧长 起始字符
5B //控制域
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
备用 |
PRM |
FCB |
FCV |
功能码 |
|||
02 //
44
16
分析如下:首先对控制域分析5B
5B 二进制 101 1011
由iec103 协议分析可知:主----> 从
功能码 |
帧类型 |
功能描述 |
FCV状态 |
0 |
发送/确认帧 |
复位通信单元 |
0 |
3 |
发送/确认帧 |
传送数据 |
1 |
4 |
发送/无回答帧 |
传送数据 |
0 |
7 |
复位帧计数位 |
传送数据 |
0 |
9 |
请求/响应帧 |
召唤链路状态 |
0 |
10 |
请求/响应帧 |
召唤1级数据 |
1 |
11 |
请求/响应帧 |
召唤2级数据 |
1 |
功能码
由功能码定义可知:
为召唤二级数据.
2.2 子站回答
09:10:19.562 串口2 收到 10 09 02 0B 16 00 00 00 =
“从à 主”报文的控制域:
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
DIR(1) |
PRM(0) |
ACD |
DFC |
功能码 |
ACD(要求访问位):ACD = 1,通知主站,从站有2级数据请求传送。
DFC(数据流控制位):DFC = 0表示从站可以接受数据,DFC =1表示从站缓冲区已满,无法接受新数据。
功能码(从à主方向):
功能码 |
帧类型 |
功 能 |
0 |
确认帧 |
确认 |
1 |
确认帧 |
链路忙,未收到报文 |
8 |
响应帧 |
以数据包响应请求帧 |
9 |
响应帧 |
从站没有所召唤的数据 |
11 |
响应帧 |
从站以链路状态响应主站请求 |
注:功能码等于8的报文为可变帧长报文,其余报文均为固定帧长报文。
同理由上面分析可知:
目的:ACD=0,从站并没有主站需要的数据
3 可变帧分析
3.1 以下面的报文分析可变帧长
l 主站发: 10 7a 04 7e 16
目的:向地址为04的装置发请求1级数据命令(可由2.1分析)。
子站回答:68 15 15 68 28 04 05 81 04 04 b2 03 03 c4 cf c8 f0 bc cc b1 a3 01 00 01 00 9b 16 (ASDU5,CON=28,COT=4)
可变帧长报文
68 H |
———— |
启动字符1(1byte) |
Length |
———— |
长度(1byte) |
Length |
———— |
长度(重复)(1byte) |
68 H |
———— |
启动字符2(重复)(1byte) |
CTRL |
———— |
控制域(1byte) |
ADDR |
———— |
地址域(1byte) |
ASDU |
———— |
链路用户数据[(length-2)byte] |
C S |
———— |
校验和(1byte) |
16 H |
———— |
结束字符(1byte) |
注:(1)校验和 = 控制域 + 地址域 + ASDU代码和(不考虑溢出位,即256模和)
(2)ASDU为“链路用户数据”包,具体格式将在下文介绍
(3)Length = ASDU字节数 + 2
具体分析:
68 //启动字符
15 //报文长度
15 //报文长度
68 //启动字符
//控制域, 地址域, 类型标识, 可变结构限定词, 传送原因, 公共地址
28 04 05 81 04 04
//功能类型,信息序号, 兼容级别,8个ASCII
b2 03 03 c4 cf c8 f0 bc cc b1 a3
//4个自由赋值
01 00 01 00
///
//连路用户数据
9b //校验和
16 //结束字符
(ASDU5,CON=28,COT=4)
80 00
目的:子站以ASDU5(复位通信单元)响应主站的召唤。并ACD位置1,表明子站向主站请求1级数据上送。
3.2 可变帧的定时
可以简单的分析定时:
主站发:68 0f 0f 68 44 ff 06 81 08 ff ff 00 d4 26 0f 09 28 0b 63 78 16
目的:给地址为ff(广播地址)发对时命令。
68 0f 0f 68
44 //控制域
ff //地址
06 //类型标示
81 //可变结构限定词
08 //传送原因
ff //公共地址
ff 00 //信息体地址
d4 26 // 26d4=9940
0f //分
09 //时
28 //低四位表示日 ;高四位表示周日(8号星期二)
0b // 11月
63 // 1900 + 99年
78 //校验和
16//结束字符
时间:1999年11月8日9时15分9.940秒
IEC 103 协议的学习和总结相关推荐
- IEC 61851-1 协议
IEC 61851-1 协议 学习笔记 文章目录 IEC 61851-1 协议 学习笔记 概述 充电桩状态 状态A 状态B 状态C 状态D 状态E 状态F 充电桩状态转换 充电顺序 一般充电顺序 简易 ...
- 【SIP协议】学习初学笔记
1.SIP这玩意是怎么走来和如何构建的? 通俗的说,SIP就是一个轻量级信令协议,它可以作为音频.视频.及时信息的信令. 说到SIP是怎么出来的就要提H.323,而提到这个标准由不得不提到ITU-T, ...
- TCP与UDP协议初步学习——网络环境中分布式进程通信的基本概念
TCP与UDP协议初步学习--网络环境中分布式进程通信的基本概念 一.单机系统中进程通信方法 进程和进程通信是操作系统中最基本的概念,首先通过回忆操作系统课程中,关于单击系统中进程和进程通信的问题描述 ...
- CTFHUB http协议题目 学习笔记 详细步骤 请求方式 302跳转 cookie 基础认证 响应源代码
CTFHUB http协议题目 学习笔记 详细步骤 请求方式 302跳转 cookie 基础认证 响应源代码 WEB-HTTP协议 1-请求方式 2-302跳转 3.cookie 4.基础认证 5.响 ...
- CAN-BUS协议粗浅学习
CAN-BUS协议粗浅学习 CAN-BUS(Controller Area Network) 1.CAN总线概述 1.1 标准架构 1.2 外设与CAN总线的连接 1.3 CAN总线上的信号 2.CA ...
- 视频播放压缩的相关知识点:I帧、P帧、B帧、RTMP协议、RTSP协议、GB28181协议等学习记录
I帧.P帧.B帧.RTMP协议.RTSP协议.GB28181协议等学习记录 引言 1. I帧.P帧.B帧 1.1 P帧 1.2 B帧 1.3 I帧 2.ONVIF协议与GB28181协议,RTMP与R ...
- IM通讯协议专题学习(八):金蝶随手记团队的Protobuf应用实践(原理篇)
本文由金蝶随手记技术团队丁同舟分享. 1.引言 跟移动端IM中追求数据传输效率.网络流量消耗等需求一样,随手记客户端与服务端交互的过程中,对部分数据的传输大小和效率也有较高的要求,普通的数据格式如 J ...
- mavlink协议_MAVLink学习之路03_XML中定义MSG并生成C代码
说明: 本文原创作者『strongerHuang』 首发于微信公众号『嵌入式专栏』,同时也更新在我的个人网站:EmbeddedDevelop 一.写在前面 如果你前面两篇文章掌握了,说明你已经入门了. ...
- ISO/IEC 14443协议浅谈:TYPE A与TYPE B
ISO/IEC14443规定了邻近卡(PICC)的物理特性;需要供给能量的场的性质与特征,以及邻近耦合设备(PCDs)和邻近卡(PICCs)之间的双向通信;卡(PICCs)进入邻近耦合设备(PCDs) ...
最新文章
- get 和 post
- sqldatasource mysql_.net的sqldatasource控件操作mysql数据库传递参数的问题
- MNA-CNN: 如何在美学质量评估中储存照片原始信息
- python -使用del语句删除对象引用
- 配置单节点伪分布式Hadoop
- FreeMarker中assign指令的用法
- 使用PostgREST的RestAPI操作之 类型转JSON对象 | 嵌入视图
- 交互式多模型_论文深度提升的万金油方法——多属性决策 Ⅱ
- 5分钟弄懂Docker
- 微信公众帐号开发教程第8篇-文本消息中使用网页超链接
- 网络七层协议_IT人计算机网络浅析
- 认识 size_t 和指针类型的大小
- 目标检测(二)--Hough Forests for Object Detection
- 课堂作业(求几个数的最大值)
- 如何把map的value转为list_Java 8 将Map转换为List
- 什么是瑞利分布和准静态平坦衰落信道?
- 贪心科技与多门类数据分析课程的对比与评价
- Office快捷键汇总(仅供学习交流)
- 肖特基二极管、稳压二极管、瞬态二极管之间的区别的理解
- Go开发 之 基础语法(常量、枚举、注释、类型别名、指针)
热门文章
- 电气simulink常用模块_16种常用模块电路分析,电气工程师的必备!
- UE4 MotionBuilder快速动画重定向
- 浅析IM即时通讯开发出现上网卡顿?网络掉线?
- B站美食区内卷愈演愈烈,头部UP主跟风挑战
- Texlive镜像安装问题解决open(>C:\Users\\x{00c2}ío\x{00c6}ó\x{00ee}\AppData\Local\Temp\sj5U6hahZk\tnOx_DyThu/t
- 【熬夜整理近百份大厂面经】2022校招提前批面经总结分享(腾讯、字节、阿里、百度、京东等招聘信息+必考点+简历书写)
- 手机蹭网新体验之WiFi精灵
- 机器学习笔记之概率图模型(六)推断基本介绍
- ROS 导航——SLAM之用Gmapping构建一张地图
- 【echarts】数据可视化之桑葚图