iec104规约遥测遥信解析笔记
最近在写104规约的解析暂时做一个笔记,先写一个遥信的后期再补全
规约解析表如下:
104规约解析 | |||||||||||||||
启动字符 | 1字节 | 取值 | 68H | APCI应用规约控制信息 | APDU应用规约数据单元 | ||||||||||
APDU长度 | 1字节 | 取值 | 最大,253 | ||||||||||||
控制域 | 4字节 |
I格式控制域标志 (编号的信息传输格式) (包含ASDU) |
位 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | ||||
控制域八位位组1 | 发送序列号N(S) | 0 | |||||||||||||
控制域八位位组2 | 发送序列号N(S) | ||||||||||||||
控制域八位位组3 | 接收序列号N(R) | 0 | |||||||||||||
控制域八位位组4 | 接收序列号N(R) | ||||||||||||||
S格式控制域标志 (编号的监视功能格式) (不包含ASDU) |
位 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | ||||||
控制域八位位组1 | 0 | 1 | |||||||||||||
控制域八位位组2 | 0 | ||||||||||||||
控制域八位位组3 | 接收序列号N(R) | 0 | |||||||||||||
控制域八位位组4 | 接收序列号N® | ||||||||||||||
U格式控制域标志 (不编号的控制功能格式) (不包含ASDU) (同一时刻TESTFR、STOPDT、STARTDT中只能有一个功能可以被激活) |
位 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | ||||||
控制域八位位组1 | TESTFR | STOPDT | STARTDT | 1 | 1 | ||||||||||
确认 | 命令 | 确认 | 命令 | 确认 | 命令 | ||||||||||
控制域八位位组2 | 0 | ||||||||||||||
控制域八位位组3 | 0 | ||||||||||||||
控制域八位位组4 | 0 | ||||||||||||||
类型标识TI | 1字节 | 取值 | 10进制 | 16进制 | 意义 | 类别 | ASDU应用服务数据单元 | ||||||||
1 | 0x01 | 单点信息(遥信) | 监视方向的过程信息 | ||||||||||||
3 | 0x03 | 双点信息 (遥信) | |||||||||||||
9 | 0x09 | 测量值,归一化值(遥测)* | |||||||||||||
11 | 0x0B | 测量值,标度化值(遥测) | |||||||||||||
13 | 0x0D | 测量值,短浮点数(遥测) | |||||||||||||
30 | 0x1E | 带CP56Time2a时标的单点信息(遥信带时标) | |||||||||||||
31 | 0x1F | 带CP56Time2a时标的双点信息(遥信带时标) | |||||||||||||
45 | 0x2D | 单命令(遥控) | 遥控 | ||||||||||||
46 | 0x2E | 双命令(遥控) | |||||||||||||
102 | 0x66 | 读单个参数命令(参数设置) | 参数设置 | ||||||||||||
132 | 0x84 | 读多个参数命令(参数设置) | |||||||||||||
48 | 0x30 | 预置/激活单个参数命令(参数设置) | |||||||||||||
136 | 0x88 | 预置/激活多个参数命令(参数设置) | |||||||||||||
70 | 0x46 | 初始化结束 | 系统命令 初始化结束 | ||||||||||||
100 | 0x64 | 召唤命令 | 系统命令 总召唤 | ||||||||||||
103 | 0x67 | 时钟同步/读取命令 | 系统命令 时钟同步 | ||||||||||||
105 | 0x69 | 复位进程命令 | 系统命令 复位进程 | ||||||||||||
可变结构限定词 | 1字节 | 位 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |||||
取值方法 | &0x80 | &0x7F | |||||||||||||
符号表示 | SQ | number | |||||||||||||
意义 | 地址连续性 | 应用服务数据单元信息元素(单个信息元素或同类信息元素组合)的数目 | |||||||||||||
值及功能 |
0.地址不连续 1.地址连续 |
<0>∶=应用服务数据单元不含信息对象;<1..127>∶=应用服务数据单元信息元素的数目 | |||||||||||||
传输原因 | 2字节 | 位 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |||||
取值及含义 |
T(test)
0.未试验 1.试验 |
P/N
0.肯定确认 1.否定确认 |
0 | 0x00 | 未用 | ||||||||||
1 | 0x01 | 周期、循环 (遥测) | |||||||||||||
2 | 0x02 | 背景扫描(遥信)(遥测) | |||||||||||||
3 | 0x03 | 突发(自发) (遥信)(遥测) | |||||||||||||
4 | 0x04 | 初始化完成 | |||||||||||||
5 | 0x05 | 请求或者被请求(遥信被请求)(遥测被请求) | |||||||||||||
6 | 0x06 | 激活(激活)(遥控、参数设置 控制方向) | |||||||||||||
7 | 0x07 | 激活确认(激活确认)(遥控、参数设置 监视方向) | |||||||||||||
8 | 0x08 | 停止激活 (遥控、参数设置 控制方向) | |||||||||||||
9 | 0x09 | 停止激活确认(遥控、参数设置 监视方向) | |||||||||||||
10 | 0x0a | 激活终止 (遥控 监视方向) | |||||||||||||
13 | 0x0d | 文件传输 | |||||||||||||
20 | 0x14 | 响应站召唤(总召唤)(遥信响应总召唤)(遥测响应总召唤) | |||||||||||||
44 | 0x2c | 未知的类型标识(遥控、参数设置 监视方向) | |||||||||||||
45 | 0x2d | 未知的传送原因(遥控、参数设置 监视方向) | |||||||||||||
46 | 0x2e | 未知的应用服务数据单元公共地址(遥控、参数设置 监视方向) | |||||||||||||
47 | 0x2f | 未知的信息对象地址(遥控、参数设置 监视方向) | |||||||||||||
48 | 0x30 | 遥控执行软压板状态错误 | |||||||||||||
49 | 0x31 | 遥控执行时间戳错误 | |||||||||||||
50 | 0x32 | 遥控执行数字签名认证错误 | |||||||||||||
应用服务数据单元公共地址 | 2字节 | 是一个系统参数,每一个配电终端对应唯一的一个值 | |||||||||||||
信息对象地址 (单个或多个) |
3字节 | 位 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |||||
地址表示 | 7位 | 0位 | |||||||||||||
15位 | 8位 | ||||||||||||||
23位 | 16位 | ||||||||||||||
描述 | 信息对象地址位三个字节(总召唤,信息地址为0)(时钟同步,信息地址为0)(复位进程地址为0)(初始化地址为0) | ||||||||||||||
信息元素 (可能是单个 或多个 信息元素) |
1字节 | 位 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |||||
单点遥信 |
0.有效 1.无效 |
0.当前值 1.非当前值 |
0.未被取代 1.被取代 |
0.未被闭锁 1.被闭锁 |
备用 | 备用 | 备用 |
0.开关分 1.开关合 |
|||||||
双点遥信 |
0.有效 1.无效 |
0.当前值 1.非当前值 |
0.未被取代 1.被取代 |
0.未被闭锁 1.被闭锁 |
备用 | 备用 |
0.不确定或中间状态 1.确定开关分 2.确定开关合 3.不确定 |
||||||||
遥控 单命令 |
0.遥控执行命令 1.遥控选择命令 |
备用 | 备用 | 备用 | 备用 | 备用 | 备用 |
0.开关分 1.开关合 |
|||||||
遥控 双命令 |
0.遥控执行命令 1.遥控选择命令 |
备用 | 备用 | 备用 | 备用 | 备用 |
0.不允许,有错误 1.开关分 2.开关合 3.不允许,有错误 |
||||||||
2字节 | 遥测 | 链路层传输顺序为低位在前,高位在后;低字节在前,高字节在后。如:69 01应该是01 69,即二进制0000 0001 0110 1001,转换成10进制是361 | |||||||||||||
参数设置 4字节 |
读取单个参数 | 在控制方向:空,在监视方向:返回参数(信息值为4个字节) | |||||||||||||
读取多个参数 | 在控制方向:空,在监视方向:返回参数(信息值1为4个字节,信息值n为4个字节) | ||||||||||||||
预置/激活单个参数 | 在控制方向:参数值,在监视方向:返回参数镜像(信息值为4个字节),后缀设定命令限定词1字节 | ||||||||||||||
预置/激活多个参数 | 在控制方向:参数值,在监视方向:返回参数镜像(信息值1为4个字节,信息值n为4个字节),后缀设定命令限定词1字节 | ||||||||||||||
描述 | 总召唤无此项,时钟同步无此项,复位进程无此项,初始化结束无此项, | ||||||||||||||
限定词 | 1字节 | 总召唤限定词 | 20 | ||||||||||||
复位进程限定词 | 1 | ||||||||||||||
初始化原因 | 0.当地电源合上,1.当地手动复位,2.远方复位 | ||||||||||||||
品质描述词(遥测) | 0(每个信息元素后缀1个字节) | ||||||||||||||
设置命令限定词 (参数预置) |
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |||||||
S/E | QL | ||||||||||||||
1:选择预置参数 0:执行激活参数 |
0:缺省值 | ||||||||||||||
描述 | 时钟同步无此项,遥信无此项,遥控无此项, | ||||||||||||||
时标CP56Time2a | 7字节 | 位 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |||||
第1字节 | 毫秒(低8位) | ||||||||||||||
第2字节 | 毫秒(高8位) | ||||||||||||||
第3字节 | 0 | 0 | 分钟(0~59) | ||||||||||||
第4字节 | 0 | 0 | 0 | 小时(0~23) | |||||||||||
第5字节 | 星期(1~7) | 日(0~31) | |||||||||||||
第6字节 | 0 | 0 | 0 | 0 | 月(1~12) | ||||||||||
第7字节 | 0 | 年(0~99) | |||||||||||||
描述 | 时钟同步带时标、总召唤无时标、进程复位无时标、初始化结束无时标、参数设置无时标 |
遥信的解析例子:68 0E 0A 00 10 00 01 01 03 00 01 00 01 00 00 01(单点遥信),注意下面的所有运行 都需要把值转为10进制再进行运行比如(0A & 0x03-->11&0x03)
分析如下:
第一个字节68:起始符(固定的就是这个,转换成10进制就是104)
第二个字节0E: 报文长度(表示0E 后面的字节一共有多少个字节 即0A 到最后01一共14个字节,0E的十进制即为14)
第三个字节到第六个字节:都是控制域值 分三种
I帧是信息帧,作用是用于传输具体的通信数据的 长度必大于6个字节。
* S帧是用于确认接收的I帧,即当接收到I帧后需要返回一个S帧 长度等于6个字节。
* U帧是控制帧,用于控制启动/停止子站进行数据传输,或测试TCP链路连接,长度等于6个字
把第一控制域的值和 16进制的03进行与运算(0A & 0x03) 是1代表S格式, 3代表U格式,其余就是I格式
第七个字节 01 是类型标识符:对应上面的表 就是单点遥信类型 十进制值为1
第八个字节01 是可变结构限定词:这里可得出两个值,对应上面表
sq值:01 & 0x80的结果 如果为128 就是信息元素地址是顺序的,sq值设置为1。如果为0,sq值等于0 信息元素地址非顺序的
元素个数:01 & 0x7F 表示信息元素的个数。
第九个字节03到第十个字节00:表示传输原因,对应上表得出以下几个值:
注意:这里03带入计算表示第九个字节为03
T(test): 03&0x80 值为128 为已实验 ,值为0 表示未实验
PN值:03 & 0x40 值为64 为否定确认,值为0肯定确认
原因值:03 & 0x3F (对应上面的表,计算的值表示对应的原因)
第十一字节01到第十二字节00:表示应用服务数据单元公共地址 计算规则是 第十二字节在前第十一字节在后拼成 十六进制的格式:0001 然后计算出这个数的十进制值
第十三字节01到第十五字节00:表示信息对象地址 00 << 16 + 00<<8 + 01计算规则:第十五字节 << 16 + 第十四字节 << 8 +第十三字节 (记住字节转为十进制再计算)
第十六字节01:表示信息元素的值 这里一般会有多个或者一个
源码:https://github.com/wangtingsong/iec104_wts
iec104规约遥测遥信解析笔记相关推荐
- IEC-104报文结构及解析说明
报文帧结构: APDU:应用规约数据单元:包含该帧报文的控制域和应用服务数据单元: APCI: 应用规约控制单元:定义了启动字符.APDU长度和控制域: ASDU:应用 ...
- 源码解析:Spring源码解析笔记(五)接口设计总览
本文由colodoo(纸伞)整理 QQ 425343603 Java学习交流群(717726984) Spring解析笔记 启动过程部分已经完成,对启动过程源码有兴趣的朋友可以作为参考文章. 源码解析 ...
- React深入学习与源码解析笔记
***当前阶段的笔记 *** 「面向实习生阶段」https://www.aliyundrive.com/s/VTME123M4T9 提取码: 8s6v 点击链接保存,或者复制本段内容,打开「阿里云盘」 ...
- DLT645-2007 规约 电表 报文解析
注:本文为转载 转载地址:https://wenku.baidu.com/view/cc10838283d049649b66580d.html DLT645-2007 规约 常见报文解析 //2012 ...
- javaSE基础——集合全面解析笔记
javaSE基础--集合全面解析笔记 英文单词 一.容器定义 1.1.容器继承体系 二.Set--------容器类 部分方法数学集合意义 2.1 HashSet 2.1.1 基本用法 2.1.2 特 ...
- FastDFS中long2buff解析笔记
long2buff解析笔记 在阅读fastdfs中遇到了long2buffer函数,对于里面的位移操作以及unsigned char* 操作感觉很迷茫> 查找资料后总结如下: void long ...
- mysql中10049是什么错误_【学习笔记】Oracle数据库10049用于分析SQL解析笔记案例
[学习笔记]Oracle数据库10049用于分析SQL解析笔记案例 时间:2016-11-05 13:54 来源:Oracle研究中心 作者:HTZ 点击: 次 天萃荷净 Oracle研究 ...
- obs 源码解析笔记
obs 源码解析笔记 由于obs rtp音频传输有问题,所以可能需要修改obs源码,学习了两天,发现官方文档有些混乱,国内有关说明又少,特此记录,也方便以后自己查阅.这里主要涉及工作有关源码其他基本略 ...
- IEC104 规约详细解读(二)交互流程以及协议解析
流程 第一步:首次握手(U帧) 发送―>激活传输启动 : 68(启动符)04(长度)07(控制域) 00 00 00 接收―>确认激活传输启动: 68(启动符)04(长度)0B(控制域) ...
- IEC104 规约录波解析工具
软件截图: 下载地址 lubo.rar 待解码录波文件样例: F1050_20161231003901.rar
最新文章
- Facebook人工智能副总裁:AI 这一领域很快就会「碰壁」
- centos快速安装npm-2.15.8
- Dapper试用简例
- 模式窗口showModalDialog的用法总结
- Oracle数据库日常管理之数据备份,恢复及迁移 (第五讲 )
- 关于IOS内存机制的较深入分析
- 【KMP】KMP 字符串匹配算法
- mysql实现高效率随机取数据
- ubuntu desktop 12 lts 安装 vmplayer 问题
- 我解决了net framework 4安装失败,提示找不到指定文件的问题
- 包装严重的 IT 圈,作为面试官,是如何甄别应聘者呢?
- caffe:最优化方法
- AS3多线程快速入门(三):NAPE物理引擎+Starling[译]
- 虚拟机安装和破解密码
- yolo和以往算法的区别/yolo为什么叫yolo
- 数字澳洋背后的用友云混合云架构支撑
- 人工智能领域最佳5种编程语言
- python爬取国家统计局2019年行政区划分数据
- C++第一阶段(远程控制)-卢嘉文-专题视频课程
- 夜神云手机技术正式发布,App试玩时代开启
热门文章
- HTML+CSS+JavaScript实现打字小游戏
- 【离散数学】集合论 第三章 集合与关系(1) 集合的概念与表示
- ibm服务器操作系统重装步骤,ibm服务器安装 操作系统安装步骤
- verifycode.php,php验证码|php图片验证码|php image.verifyCode.class.php
- 算法设计与分析期末考试
- QQ for Linux 安装和卸载
- VS2013 Codejock 实现 MFC 换肤
- 《数据结构:c语言版》(严蔚敏)知识点整合
- java实现PDF转word,使用jacob插件
- python语言程序设计实践教程答案上海交通大学_计算机二级教程 Python语言程序设计 第4章程序的控制结构...