您的位置 主页 正文

java解析104规约

一、java解析104规约 Java解析104规约 在现代软件开发中,Java作为一种高度灵活且功能强大的编程语言,被广泛应用于各个领域。在Java开发过程中,严格遵守编码规范是至关重要的。本文

一、java解析104规约

Java解析104规约

在现代软件开发中,Java作为一种高度灵活且功能强大的编程语言,被广泛应用于各个领域。在Java开发过程中,严格遵守编码规范是至关重要的。本文将介绍Java解析104规约,探讨其在代码质量和可维护性方面的重要性。

为什么遵守104规约?

104规约是指由阿里巴巴提出的一套Java编码规范,旨在帮助开发人员编写出更加清晰、健壮和高效的Java代码。遵守104规约可以有效地提高代码质量,降低代码维护成本,并有助于团队协作和代码的可读性。

在实际开发中,无论是个人开发者还是团队开发,遵守104规约都能够带来诸多好处。首先,规范的代码风格可以减少代码中的bug,提高代码的可靠性和稳定性。其次,统一的编码规范有助于降低代码的复杂度,使代码更易于阅读和理解。最重要的是,遵守规范可以提高团队协作效率,减少代码Review的时间。

遵守104规约的注意事项

虽然遵守104规约对于代码质量至关重要,但在实际开发中,很多开发者容易忽视一些细节。以下是一些注意事项,帮助开发者更好地遵守104规约:

  • 命名规范: 变量、方法、类等命名要清晰易懂,避免使用拼音或缩写。
  • 代码缩进: 使用统一的缩进风格,增加代码的可读性。
  • 注释规范: 合理添加注释,解释代码的含义和逻辑,方便他人理解。
  • 异常处理: 要合理处理异常,避免出现空指针异常或未捕获的异常。

遵守104规约不仅仅是一种要求,更是一种态度和文化。作为一名优秀的Java开发者,应该始终秉持着严谨的态度,积极学习规范,不断提升自己的编码水平。

如何在项目中应用104规约?

在实际项目开发中,如何有效地应用104规约是每个开发者都需要思考的问题。以下是一些建议,帮助开发者在项目中更好地遵守104规约:

  1. 工具支持: 可以使用开源工具来检查代码规范性,如CheckStyle、FindBugs等。
  2. 持续学习: 定期学习最新的编码规范,保持对技术的敏感性。
  3. 团队共识: 在团队中建立统一的规范,制定相关的开发流程和规范。

总的来说,遵守104规约并不是一蹴而就的事情,需要持之以恒,不断地反复练习和总结。只有在日常的开发工作中时刻保持对规范的重视,才能逐步提升自己的编码能力,写出优质的Java代码。

结语

Java解析104规约对于Java开发者来说至关重要。遵守规范不仅能够提高代码质量,还能够促进团队协作,提升个人能力。希望本文能够帮助更多的开发者认识到规范的重要性,从而不断完善自己的编码习惯,成为一名优秀的Java开发者。

二、102规约和104规约区别?

1、用途不同。

102规约应用于保护设备的通信,104规约用于调度自动化系统、厂站之间的通讯。

2、传输数据方式不同。

102规约是用串口传输数据,104规约是用网络传输数据。

3、维护难度不同。

102串口通讯一般用于微机保护上,这种规约可以将微机保护内点无误差的上送,但维护难度相对较大。

104规约是目前常用的远动及集控,该规约规定的数据量一般可以满足现场的实际要求,其特点是稳定,便于维护。

4、保护对象不同

102规约一般用于保护设备的通信,保护设备之间交换信息,以及保护于监控系统、保护信息子站子站等之间的通信104规约属于远动通信规约,用于调度自动化系统,调度与厂站之间的SCADA系统等之间的通信。

5、用途不同

102是站内设备之间通信的,104是远动控制通信的。101用于串口通调度,属于远动规约。104是101的网络版,102有串口的有以太网的,不是通调度的,是通保护装置的,属于继电保护规约。102规约应用于保护设备的通信,104规约用于调度自动化系统、厂站之间的通讯。

三、101规约和104规约的区别?

一般来说CDT,101,104属于调度类的规约,属于调度端与站内的通讯规约,CDT,101用于串口,104用于网络.

主要区别在于:CDT规约属于主动上送,不管调度发什么命令都会主动上送全站遥信遥测,每隔一段时间就会循环上送全站信号,遥信最大个数512,遥测256,信息类型是通过控制字来区分的,功能码来区分点号,101和104类似,除了报文头有区别,上送信息内容大体一致。101与104是问答式,就是调度问什么回什么。大致流程为:主站测试链路报文-子站回确认帧,调度总召,子站上送全遥测遥信,调度下发二级数据召唤报文,子站回变化遥测。101与104通过类型标识区分信号类型,信息体地址判断信息点号。

三者遥信变位和SOE都是主动上送。

103主要用于站控层设备通讯,同样是问答式,通过ASDU号区分信息类型,FUN号,INF号区分点位。

另外CDT也能用于站内智能设备通讯。

四、103规约与104规约的区别?

103规约应用于保护,104规约用于调度通讯,其中104规约是101规约的网络版,所以104规约是用网络传输数据,而103规约是用串口传输数据

五、什么是104规约?

104规约是一种用于远程监控和控制系统的通信协议,常用于电力系统、工业自动化等领域。它定义了数据传输的格式、通信方式和错误处理等规范,支持高可靠性和实时性要求。104规约采用客户端-服务器架构,客户端发送请求命令给服务器,服务器执行相应操作并返回结果。它具有灵活的配置能力和强大的数据传输能力,可实现远程设备的监测、控制和数据采集等功能。104规约已成为工业领域中广泛应用的通信协议之一。

六、104规约基础知识?

104协议是101协议的网络版,101协议每次只能发送一个链路帧,而104协议可以连续发送多个链路帧,其传输效率明显高于101协议,而且具有TCP/IP的冲突检测和错误重传机制(这里重传是指断开重连重传),具有比101协议更高的可靠性和稳定性,另外对通信延时的限制更宽松。

IEC104协议适用于厂站与调度主站间的以太网通讯(全双工高速),位于OSI体系中的应用层,其基本定义为端口号2404,调度站为客户端,厂站端为服务器,平衡式传输,协议类型是滑动窗口协议。

说明:

1、平衡传输意为双方都可以发起信息传输。104协议下,一旦链路建立成功,变化信息除了响应召唤应答还可以主动发送而无需等待查询。

2、对于基于TCP的应用程序来说存在两种工作模式,即服务器模式和客户机模式。它们之间的区别是:在建立TCP连接时,服务器从不发起连接请求,他一直处于侦听状态,当侦听到来自客户机的连接请求时,则接受此请求,由此建立一个TCP连接,服务器和客户机就可以通过这个虚拟的通讯链路进行数据收发。

3、协议类型有三种,问答式协议模式为一问一答,超时重传,其特点是安全稳定,效率低下。简单窗口协议模式为N问一答,超时重传N个报文,其特点是效率相对提高,但浪费了A的发送。滑动窗口协议模式为A发送报文的同时,B发送确认帧进行确认;A记录自己已经被确认的报文,向前滑动最大可发送窗口,B记录有多少报文尚未确认,达到最大窗口或超时则发确认帧。A未确认窗口通常为B未确认窗口的1.5倍。其特点是效率高。

⑴、小端模式

104规约一般小端模式,即是指在内存的低地址中保存数据的低字节。大小端模式,并不由规约本身决定,而取决于CPU及操作系统。常见x86处理器(无论何种操作系统)都是小端模式,而PPC处理器则都是大端模式。

而TCP/IP协议中所定义的网络字节顺序采用大端模式排序,而一般的读写顺序为——数据按地址由低到高的写入,由高到低写出。这样就造就了我们所看到的报文是低位字节在前,高位字节在后。

举个例子在x86系统下,通过TCP/IP协议,我们将0x1234从以0x0000开始的内存写出。其过程如下:

在x86系统中0x0000存储数据为0x34,0x0001存储数据为0x12,即0x1234;经过写出后,在网络上传输的字节顺序为0x0000存储数据为0x12,0x0001存储数据为0x34,即0x3412。

说明:

1、既然数据分高字节、低字节,说明只有数据格式是2字节以上的,才有大小端模式,比如word、dword等;而byte类型数据是不分大小端模式的。

⑵、重要参数

Ⅰ、K值和W值

104规约规定了两个参数K和W,其取值为1到32767,其中K表示发送方在有K个I格式报文未得到对方的确认时,将停止数据发送;W表示接收方最迟在接收W个I格式报文后应发出认可。104规约规定K和W的默认值分别为12个APDU和8个APDU,推荐关系式为w<k*2/3。

在实际中,K和W的具体取值可以根据TCP连接双方的数据通信量加以确定。对于从站RTU来说,每收到一个调度端的I格式报文都应立即响应,其W的取值实际上为1,由于RTU端可以循环向主站发送遥信、遥测等信息,因此K的取值与其循环发送的定时周期有关,通常12到20个APDU就足够了;对于主站端,由于不停接收RTU数据,因此应及时地给以确认,通常W取小于8个APDU的值。

当未确认I格式APDU达到K个时,发送方停止发送。如果t1超时仍未收到确认,则重启链路。

Ⅱ、超时定义

为了能对TCP连接进行检查和维护,104规定了几个超时时间:t0、t1、t2、t3。它们的取值范围为1~255s,准确度为1s。

t0规定了主站和从站建立一次TCP连接的最大允许时间,即主站端一直发出连接请求,在t0时间内得不到连接建立成功的状态下,要向应用层提示,说明无法建立连接,一般可设置进行多次连接,当每次连接都超过t0无法建立成功时都应给出提示。默认值30s。

t1规定发送一个I格式报文或U格式报文后,必须在t1的时间内得到接收方的认可,否则发送方认为TCP连接出现问题并应重新建立连接。这个过程是双向的,即对于厂站端和主站端当这个过程任一方发生时,两方的连接都需关闭,重新建立连接。默认值15s。

t2规定接收方在接收到I格式报文后,若经过t2时间未再发送新的I格式报文,则必须向发送方发送S格式帧对已经收到的I格式报文进行认可,显然t2必须小于t1。默认值10s。

t3规定主站或从站每接收一个I,S,U报文将重新触发计时器t3,若再t3内未能接收到任何报文,将向对方发送测试链路报文(U帧)。发送测试帧后,若在t1时间内没有收到测试确认,则连接关闭,若达到t3时间,则再次发送测试链路报文(U帧)。默认值20s。

⑶、冗余机制

Ⅰ、通道冗余

方式一——链路冗余,应用共享

链路冗余:所有链路互为主备,备用通道仅仅测试链路维持连接,通道的主备用是动态可切换的。

手动切换模式:在当前激活的逻辑连接上人工发送STOPDT-ACT停止应用传输转为测试维护,然后再新的逻辑上人工发送STARTDT-ACT予以激活,作为主连接。

自动切换由主站判断进行。连接初始化时,主站按某种逻辑关系选择确定主、备通道,例如先建立链路的为主通道或者误码率低的为主通道或者响应快的为主通道或按自然顺序选择主通道。运行中的自动切换可以由主站根据目前主、备连接的通信情况而定。

应用共享:多个链路共用同一数据库,并且数据缓存的入栈出栈只针对当前主连接有效。

方式二——链路冗余,应用冗余

链路冗余:与上文描述基本一致。

应用冗余:即不同的链路不再共享数据库,各链路完全独立运行。这种方式的关键点是数据同步机制,用来实现数据的完整性和一致性。

一般是将当前主连接中已经被主站确认的数据点号和数量,告知其他所有备用连接,并对备用连接中的应用数据进行实时整理,从而实现各链路数据库的内容动态一致。

综上,方式二的模式实现了链路和应用真正的独立冗余,但内存消耗较多,程序较为复杂,同步机制的实施也会一定程度上影响数据的完整性。方式一,虽然各链路未能真正的独立运行,但在数据完整性的方面有着高可靠性。且编程复杂性较低,问题较少。本司正线采用方式一。

Ⅱ、双机冗余

1、冷备用

即当主机工作时,备机处于待命状态,当主机故障或数据链路断开时,切换至备机。

此方式的问题为:当主机与某个子系统数据链路断开无法连接时,将会使备机激活,接管主机全部的数据链路进行重新连接,初次连接建立时会产生大量网络传输。同时,在主机进行冗余切换而备机与子系统连接未完全建立时,数据交互将会暂停,无法取得子系统中最新的数据进行交互。

2、热备用

两台通信前置机fep同时处于工作状态,与所有子系统进行连接。两台通信前置机fep通过串口连接,把各条链路的重传次数、重要报文延迟时间等信息定义未每条链路的通信服务质量权重,然后进行质量仲裁选择数据存入实时库,当其中一台通信前置机fep故障或数据链路断开时,则只取未故障通信前置机fep中的数据进行交互。

同时也可以根据通信服务质量权重进行主备机的自动切换,这个过程从站(这时主备机通过串口传输通信服务质量权重)与主站均可发起。

此方式的问题为:两台通信前置机fep同时与所有子系统进行连接,数据量比较庞大时,将产生大量的网络带宽浪费(两台通信前置机fep均正常工作时,只取其中一台的数据),双通道进行数据交互时还有可能造成子系统压力较大从而造成数据接口不稳定。并且部分子系统由于其接口特殊性,如串口通信,同时仅能一方与其进行数据交互,两台通信前置机fep无法同时与此类子系统接口进行数据交互。

综上,可以看出冷备与热备各有优缺点,但上述内容只是基础知识,现在厂家针对这些问题在软件方面都做了大量优化,实际的技术细节以厂家资料为准。

本司主变电所采用双机冗余(热备用)+通道冗余(方式二)。

七、通信104规约深度解析?

1. 是必要的。2. 因为通信104规约是一种广泛应用于电力系统自动化领域的通信协议,对于了解电力系统通信的原理和机制非常重要。通过深度解析,可以更好地理解通信104规约的工作原理、数据传输方式以及通信过程中的各种控制和保护机制。3. 此外,通信104规约的深度解析还可以延伸到与其他通信协议的比较和应用场景的探讨。通过对通信104规约的深入研究,可以更好地理解和应用其他相关的通信协议,进一步拓宽自己在电力系统自动化领域的知识和技能。

八、104规约遥控起始地址?

104规约各类量的信息体地址范围没有规定,在1-65535的范围内可自由分配,

97版101规约:

单遥点和双遥点(1个地址/点):1-400h(1-1024,共1024点)

遥测点(1个地址/点):701h-900h(1793-2304,共512点)

遥控/升降(1个地址/点):B01h-B80h(2817-2944,共128点)

电能脉冲计数量(1个地址/点):C01h-C80h(3073-3200,共128点)

分接头点(1个地址/点):C81h-CA0h(3201-3232,共32点)

02版101:

遥信∶信息对象地址范围为1H~1000H。

继电保护1∶信息对象地址范围为1001H~2000H,对应带CP56Time2a时标的继电保护设备事件、带CP56Time2a时标的继电保护设备成组启动事件、带CP56Time2a时标的继电保护设备成组输出电路信息。

继电保护2∶信息对象地址范围为2001H~3000H,为继电保护动作的故障电流区。

继电保护3∶信息对象地址范围为3001H~4000H,为继电保护定值设定区。

遥测∶信息对象地址范围为4001H~5000H。

参数地址范围为5001H~6000H。

遥控、升降地址范围为6001H~6200H。

九、104规约浮点值计算方法?

首先,无论是短浮点数还是归一化值,都只是数据传输两方规定的一种传输方式。比如要传输10进制的100,双方规定以短浮点数形式传输,则报文就会按短浮点数的规则进行改变,解析的时候,按短浮点数的规则将其还原为100。也就是说,在传输时,报文并不是0x64. 目前,104,101中,短浮点数都是4个字节。归一化值是两个字节。遥测一般采用4字节短浮点数传输。 在程序中,直接强制类型转换,把float转成4个字节的char*即可。

十、104规约如何采集现场设备的数据?

一零四规约采集的现场设备的数据应当采用抽样的方式

为您推荐

返回顶部