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)


相关推荐

  • python判断是否为空_python 判断对象是否为空

    python判断是否为空_python 判断对象是否为空在实际的工作当中,我们难免要与空值打交道,相信不少初学者都会写出下面的代码:ifaisNone:dosomething.else:dotheotherthing.python学习网,大量的免费python视频教程,欢迎在线学习!这样写看起来不错,但实际上会有问题。一般来讲,Python中会把下面几种情况当做空值来处理:NoneFalse0,0.0,0L”,(),[],{}其中Non…

  • oracle 创建索引的sql语句_oracle数据库创建索引语句

    oracle 创建索引的sql语句_oracle数据库创建索引语句CREATEINDEXPOLICYIMPART_INDEXONROOTE.W_POLICYIMPART(POLICYIDASC,IMPARTCODEASC,CUSTOMERTYPEASC)POLICYIMPART_INDEX索引名称ROOTE.W_POLICYIMPART表名

  • mysql分区表详解_详解MySQL分区表「建议收藏」

    mysql分区表详解_详解MySQL分区表「建议收藏」前言:分区是一种表的设计模式,通俗地讲表分区是将一大表,根据条件分割成若干个小表。但是对于应用程序来讲,分区的表和没有分区的表是一样的。换句话来讲,分区对于应用是透明的,只是数据库对于数据的重新整理。本篇文章给大家带来的内容是关于MySQL中分区表的介绍及使用场景,有需要的朋友可以参考一下,希望对你有所帮助。1.分区的目的及分区类型MySQL在创建表的时候可以通过使用PARTITIONBY子句定…

  • 卷积神经网络如何进行图像识别的

    卷积神经网络如何进行图像识别的在机器视觉的概念中,图像识别是指软件具有分辨图片中的人物、位置、物体、动作以及笔迹的能力。计算机可以应用机器视觉技巧,结合人工智能以及摄像机来进行图像识别。 什么是图像识别?为什么要进行图像识别? 在机器视觉的概念中,图像识别是指软件具有分辨图片中的人物、位置、物体、动作以及笔迹的能力。计算机可以应用机器视觉技巧,结合人工智能以及摄像机来进行图像识别。 …

  • JMH初探

    JMH初探JMH入门(很多情况下需要做性能基准测试(benchmark)。简单的说就是,在几种类似的解决方案中,寻找效率较高的。比如对比一下thrift,protobuf,avro在对象序列化时的效率等。这种测试通常需要对被测的代码段反复执行,最后取平均值,然后横向对比几种方案。如果能有(时间、CPU、内存、IO)曲线图表输出就更加直观了。一开始考虑用JMeter来做,但是这个框架似乎有点大,看了几次都

  • fread函数的使用「建议收藏」

    fread函数的使用「建议收藏」fread函数的原型是:size_tfread(void*ch,size_tmode,size_tnumber,FILE*fp)。第一个参数是数组的地址;第二个参数是数据类型的大小;第三个参数是需要读取多少个这样的数据类型;第四个参数是文件指针。该函数正常情况下返回的值是number,这表示读取了多少个数据。例子:doubleret[10];(其中有一个文件指针名为fp)fread(ret,sizeof(double),10,fp);这个例子表示fread函数将要从fp文件指针中

发表回复

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

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