104规约使用总结(一)——格式介绍

104规约使用总结(一)——格式介绍一、格式APDU应用规约数据单元(整个数据)=APCI应用规约控制信息(固定6个字节)+ASDU应用服务数据单元(长度可变)二、固定帧报文1、格式常见帧:启动数据传输激活:680407000000(U帧)启动数据传输确认:68040B000000(U帧)测…

大家好,又见面了,我是你们的朋友全栈君。

一、格式

 APDU :应用规约数据单元
 APCI :应用规约控制信息(固定6个字节)
 ASDU :应用服务数据单元(长度可变)
 APDU=APCI+ASDU

1、APCI格式

固定6个字节
格式:启动字符 长度 控制域一 控制域二 控制域三 控制域四

启动字符:0x68
长度:(APDU长度,最大为253)该字节之后的报文的字节数据,短帧都为0x04.
控制域:
I帧(可变长度)的控制域定义:
其中发送序号、接收序号的低位都需要左移1位,即乘2,才发出;接收时除2即可。
在这里插入图片描述
S帧(固定6个字节的短帧,用于确认接收到对方的帧,但本身无信息数据)的控制域定义:
在这里插入图片描述
U帧(固定6字节)的控制域定义 :
启动控制信息(V-生效(激活) C-确认)
命令(TEST-测试 STOP-停止 START-启动)
在这里插入图片描述

1.1、常见帧

常见帧:    启动数据传输 激活:   68 04 07 00 00 00  (U帧)
           启动数据传输 确认:   68 04 0B 00 00 00  (U帧)
                     测试帧:   68 04 43 00 00 00  (U帧)
                   测试确认:   68 04 83 00 00 00  (U帧)
	                 监视帧:  68 04 01 00 00 00  (S帧)

2、ASDU格式

启动字符 长度 控制域一 控制域二 控制域三 控制域四
类型标识符 可变结构限定词 传送原因高字节 传送原因低字节 
公共地址高字节 公共地址低字节 数据(信息体)
【规约要求,传送原因用2个字节,公共地址用2个字节,信息体地址用3个字节】

在这里插入图片描述

2.1 、类型标识

0x01:单点遥信	   0x09:归一化遥测(整形)
0x0D:浮点型遥测   0x03:双点遥信
0x1E:SOE事件记录 0x67:对时
0x25:电度         0x64:总召
0x2D:单点遥控  	  0x2E:双点遥控
0x24:M-ME-TF-1 =测量值,带时标CP56TimE2A的短浮点数 

2.2、可变结构限定词

最高位表示数据是否连续
1:连续   0:不连续,低7位表示报文中包含数据的个数

2.3、传送原因

0x01---周期、循环   0x02---背景扫描   0x03---突发、自发上传
0x04---初始化    0x05---请求或被请求   0x06---激活    0x07---激活确认
0x08---停止激活   0x09---停止激活确认   0x0a---激活结束   
0x14---响应总召唤

2.4、案例

68 0E 06 00 02 00 64 01 07 00 01 00 00 00 00 14
启动字符:68  
长度:0E=>14 说明此字节之后报文的长度为14
控制域:[06 00]--发送序号  [02 00]--接收序号
类型标识:64 =》总召
可变结构限定词:01=》连续
传送原因:07 00=》激活确认
公共地址:01 00
信息体地址:00 00 00
召唤限定词:14,表示站点总召唤

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/151365.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • python:最大公约数和最小公倍数

    python:最大公约数和最小公倍数任务目标:1.输入两个数2.打印这两个数的最大公约数3.打印这两个数的最小公倍数实验环境:pycharm的python3.6实现代码:#最大公约数和最小公倍数a=int(input(‘请输入第一个数:’))b=int(input(‘请输入第二个数:’))Min=min(a,b)Gys=1foriinrange(1,int(Min+1)):…

  • Spark调研笔记第4篇 – PySpark Internals

    Spark调研笔记第4篇 – PySpark Internals

  • objectable_java throwable

    objectable_java throwable问题众所周知,Java中的Cloneable接口被破坏了。这有很多原因,我不会提及;others已经做到了。它也是Javaarchitects自己的立场。因此,我的问题是:为什么还没有被弃用?如果核心Java团队已经确定它已被破坏,那么他们也必须考虑弃用。他们这样做的原因是什么(在Java8中它是stillnotdeprecated)?#1热门回答(117赞)在1997年提交的abu…

    2022年10月14日
  • 请简述什么是Vue组件化开发_vuecli和webpack

    请简述什么是Vue组件化开发_vuecli和webpack前言真实项目开发过程中,我们都是使用组件化的去开发vue的项目,但是组件化的思想又是如何来的呢?下面就从开始讲解演变过程演变过程1.0一般情况下vue都是单页面开发,所以项目中只会有一个inde

  • connectionStrings「建议收藏」

    connectionStrings「建议收藏」<connectionStrings>     <add name=”connstr” connectionString=”server=.;uid=

  • 成本=固定成本+可变成本_可避免固定成本是机会成本吗

    成本=固定成本+可变成本_可避免固定成本是机会成本吗1、固定成本和可变成本根据成本费用与产量的关系可将总成本费用分为:可变成本;是指随着产品产量的增减而成正比例变化的各项费用。固定成本:是指不随产品产量的变化的各项成本费用。半可变(或半固定)成本:有些成本费用属于半可变成本,如不能熄灭的工业炉的燃料费等。工资、营业费用和流动资金利息等也都可能既有可变因素,又有固定因素。必要时需将半可变(或半固定)成进一步分解为可变成本和…

    2022年10月22日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号