关于376.1规约的理解

376.1报文都是以16进制进行传输,链路层的传输顺序都是低位在前、高位在后,控制域例外,需要转换成2进制,然后在翻转过来。

 

以下以点抄(日冻结正向有功总电能)二类F1数据为例进行剖析:

 

主站发送报文:

 

68 56 00 56 00 68 4B 73 08 10 00 0C 0D E3 02 01 01 00 29 11 11 00 22 35 0130 00 A9 16

报文解析:

68                                                    //帧起始符

56 00 56 00                                      //长度L0056→BIN:0000000001010110,最右两位为10代表376.1-2009规约,为01代表05规约;从右第三位起,转换成10进制,代表用户数据长度,这里为:21; 其实就是用户数据区的数据长度转换到二进制 比如说是110010 然后左移两位成为11001000 转换到十六进制然后+2 就可以了

68                                                    //帧起始符

4B                                                   //控制域CDIR=0,代表主站发送;PRM=1,报文来自启动站;ACD=0CID=11

73 08 10 00                                      //行政区划:0873,终端地址:0010

0C                                                   //0C→BIN:00001100,主站地址和组地址标志

0D                                                   //应用层功能码AFN0D,请求二类数据(历史数据)

E3                                                   //帧序列域

02 01                                               //信息点DA0102:第一组第二个点,即测量点2             

01 00                                               //数据标志:FN=0001,二类F1数据:正向有功数据块

29 11 11                                          //数据时标,111129

00 22 35 01 30 00                                    //00:启动帧帧号计数器PFC22 35 01 30:启动帧发

送时标,3013522秒;00:允许传输延时时

A9                                                   //帧校验和

16                                                     //帧结束符

 

终端有效回复报文:

 

68 C2 01 C2 0168 88 73 08 10 00 0C 0D E302 01 01 00 29 11 11 19 01 30 11 11 04 00 95 12 24 00 00 95 12 24 00 00 00 0000 00 00 00 00 00 00 00 00 00 00 00 EE EE EE EE EE EE EE EE EE EE EE EE EE EEEE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EEEE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE 00 22 35 01 30 00B4 16

运用上述方法,进行裂解,解析如下:

68

C2 01 C201

68

88

73 08 10 00

0C

0D

E3

02 01

01 00

29 11 11                                                  //数据时标,111129

19 01 30 11 11                                  //终端抄表时间,11年11月30日1190

04                                                    //费率数:4

00 95 12 24 00                                  //正向有功总电能示值:000024129500,整数位6位,

小数位4位,2412.95kWh

00 95 12 24 00                                  //费率1正向有功总电能示值

00 00 00 00 00                                  //费率2正向有功总电能示值

00 00 00 00 00                                  //费率3正向有功总电能示值

00 00 00 00 00                                  //费率4正向有功总电能示值

EE EE EE EE                                  //正向无功总电能示值

EE EE EE EE                                  //费率1正向无功总电能示值

EE EE EE EE                                  //费率2正向无功总电能示值

EE EE EE EE                                  //费率3正向无功总电能示值

EE EE EE EE                                  //费率4正向无功总电能示值

EE EE EE EE                                  //一象限无功总电能示值

EE EE EE EE                                  //费率1一象限无功总电能示值

EE EE EE EE                                  //费率2一象限无功总电能示值

EE EE EE EE                                  //费率3一象限无功总电能示值

EE EE EE EE                                  //费率4一象限无功总电能示值

EE EE EE EE                                  //四象限无功总电能示值

EE EE EE EE                                  //费率1四象限无功总电能示值

EE EE EE EE                                  //费率2四象限无功总电能示值

EE EE EE EE                                  //费率3四象限无功总电能示值

EE EE EE EE                                  //费率4四象限无功总电能示值

00 22 35 01 30 00                                    //00:启动帧帧号计数器PFC22 35 01 30:启动帧发

送时标,3013522秒;00:允许传输延时时

B4                                                   //帧校验和

16                                                     //帧结束符

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: Java 376.1协议是Sun Microsystems(现在是Oracle)在2002年发布的一个协议。这个协议定义了Java虚拟机的一种通信协议。在Java虚拟机中,Java应用程序与Java虚拟机之间需要进行通信以实现各种功能。通过使用Java 376.1协议,Java应用程序可以向Java虚拟机发送请求并接收返回的响应。 Java 376.1协议采用基于TCP/IP协议的客户端-服务器模型。Java应用程序可以充当客户端,而Java虚拟机则充当服务器。Java应用程序可以发送各种类型的请求到Java虚拟机,例如查询虚拟机状态、请求虚拟机执行某个方法等。Java虚拟机会解析这些请求并返回相应的响应。 Java 376.1协议定义了一套规范的请求和响应消息格式。请求消息由Java应用程序发送,其中包含了请求的类型和参数信息。Java虚拟机接收请求消息后,会根据消息中的信息执行相应的操作,并生成响应消息发送回Java应用程序。响应消息包括执行结果和其他相关信息。Java应用程序可以解析响应消息以获取所需的结果和信息。 Java 376.1协议的使用使得Java应用程序可以与Java虚拟机进行通信,从而实现更加灵活和强大的功能。无论是在开发Java应用程序还是在监视和调试Java应用程序时,Java 376.1协议都可以提供一种便捷的通信方式。通过这种协议,开发人员可以更好地控制和管理Java虚拟机,提升应用程序的性能和可靠性。 ### 回答2: Java 376.1协议是一种通信协议,用于在计算机网络上进行数据传输。它是基于TCP/IP协议的应用层协议,主要用于实现网络应用程序之间的通信。 Java 376.1协议提供了一种可靠的、面向连接的通信方式,保证数据的可靠传输。它使用了基于流的通信模型,即数据按照顺序逐个字节地传输。协议还支持差错检测和纠错功能,以保证数据的完整性和准确性。 Java 376.1协议采用了客户端-服务器的架构模式。在通信过程中,客户端向服务器发送请求,服务器接收请求并返回相应的数据。协议还支持多线程的并发处理,通过使用多线程,可以提高系统的并发能力和处理效率。 Java 376.1协议还支持消息的分组传输和数据的分段传输。通过将消息分组,可以减少网络开销,提高传输效率。同时,数据的分段传输可以保证大数据的传输稳定性。 总之,Java 376.1协议是一种可靠的、面向连接的数据通信协议,可以用于实现网络应用程序之间的通信。它采用了客户端-服务器架构模式,并支持多线程的并发处理。协议还具有差错检测、纠错、消息的分组传输和数据的分段传输等功能,以保证数据的可靠性和传输效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值