关于对376.1协议的理解

关于对376.1协议的理解

帧格式定义

帧格式定义

传输规则
a) 线路空闲状态为二进制1。
b) 帧的字符之间无线路空闲间隔;两帧之间的线路空闲间隔最少需33位。
c) 如按e)检出了差错,两帧之间的线路空闲间隔最少需33位。
d) 帧校验和(CS)是用户数据区的八位位组的算术和,不考虑进位位。
e) 接收方校验:

  1. 对于每个字符:校验起动位、停止位、偶校验位。
  2. 对于每帧:(1) 检验帧的固定报文头中的开头和结束所规定的字符以及协议.标识位;
    (2) 识别2个长度L;
    (3) 每帧接收的字符数为用户数据长度L1+8;
    (4) 帧校验和;
    (5) 结束字符;
    (6) 校验出一个差错时,校验按c)的线路空闲间隔;
    (7) 若这些校验有一个失败,舍弃此帧;若无差错,则此帧数据有效。

报文分析
协议内容太多了,这只简述一下如何分析报文
11:5:13 Send:(发) 68 3E 00 3E 00 68 5B 88 88 CE EA 02 0D 6B 02 01 01 00 29 03 21 EE 16
RecvFrom socket1 IP:192.168.8.100
11:5:13 Recv(回): 68 B2 01 B2 01 68 A8 80 01 CE EA 02 0D 6B 02 01 01 00 29 03 21 02 11 30 03 21 04 00 00 00 08 90 00 00 00 61 61 00 00 00 60 70 00 99 53 61 80 00 99 61 82 60 33 35 17 30 00 35 18 30 00 10 41 30 00 20 81 30 00 30 81 30 00 35 04 00 00 55 04 00 00 40 03 00 00 50 03 00 00 60 03 00 00 35 04 00 00 35 04 00 00 70 03 00 00 80 03 00 00 90 03 00 08 00 D7 16

在这里插入图片描述
68                                       //帧起始符

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

68                                       //帧起始符

5B                                       //控制域CBIN:01011011,DIR=0,代表主站发送;PRM=1,报文来自启动站;ACD=0,CID=11在这里插入图片描述

88 88 CE EA                             //行政区划:8888,终端地址:60110

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

6B                                       //帧序列域

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

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

29 03 21                                       //时间21年 03月29日

EE                                       //帧校验和

16                                       //帧结束符

回的数据不一一进行解析,可用三星电气得解析工具。
68 B2 01 B2 01 68 A8 80 01 CE EA 02 0D 6B 02 01 01 00 29 03 21 02 11 30 03 21 04 00 00 00 08 90 00 00 00 61 61 00 00 00 60 70 00 99 53 61 80 00 99 61 82 60 33 35 17 30 00 35 18 30 00 10 41 30 00 20 81 30 00 30 81 30 00 35 04 00 00 55 04 00 00 40 03 00 00 50 03 00 00 60 03 00 00 35 04 00 00 35 04 00 00 70 03 00 00 80 03 00 00 90 03 00 08 00 D7 16
在这里插入图片描述

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
### 回答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协议是一种可靠的、面向连接的数据通信协议,可以用于实现网络应用程序之间的通信。它采用了客户端-服务器架构模式,并支持多线程的并发处理。协议还具有差错检测、纠错、消息的分组传输和数据的分段传输等功能,以保证数据的可靠性和传输效率。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值