java 104规约_电网104规约解包(java)「建议收藏」

java 104规约_电网104规约解包(java)「建议收藏」【实例简介】电网104规约解包java代码项目是围绕电网规约101规约(DL/T634.5101-2002)和104规约(DL/T634.5104-2009),项目基于Java语言。可以完成规约的内容解析工作和组装工作。可用于实际场景的把发送报文的生成等工作。【文件目录】101_104规约解析├──LICENSE├──README.md├──docs│├──附件1:广东电网配网自动…

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

【实例简介】电网104规约解包java代码

项目是围绕电网规约101规约(DL/T634.5101-2002)和104规约(DL/T634.5104-2009),项目基于Java语言。 可以完成规约的内容解析工作和组装工作。可用于实际场景的把发送报文的生成等工作。

【文件目录】

101_104规约解析

├── LICENSE

├── README.md

├── docs

│   ├── 附件1:广东电网配网自动化101规约实施细则(试行).docx

│   ├── 附件2:广东电网配网自动化104规约实施细则(试行).docx

│   └── 附件3:规约解析细则.xlsx

├── iec.iml

├── iec_analysis

│   ├── iec_analysis.iml

│   ├── pom.xml

│   ├── src

│   │   ├── main

│   │   │   └── java

│   │   │       └── com

│   │   │           └── iec

│   │   │               ├── analysis

│   │   │               │   ├── common

│   │   │               │   │   ├── BalancedLinkCode.java

│   │   │               │   │   ├── TransferReason.java

│   │   │               │   │   └── TypeIdentifier.java

│   │   │               │   ├── exception

│   │   │               │   │   ├── CsCheckException.java

│   │   │               │   │   ├── CustomException.java

│   │   │               │   │   ├── IllegalFormatException.java

│   │   │               │   │   ├── LengthException.java

│   │   │               │   │   ├── UnknownLinkCodeException.java

│   │   │               │   │   ├── UnknownTransferReasonException.java

│   │   │               │   │   └── UnknownTypeIdentifierException.java

│   │   │               │   ├── protocol101

│   │   │               │   │   ├── ASDU.java

│   │   │               │   │   ├── Analysis.java

│   │   │               │   │   ├── Control.java

│   │   │               │   │   └── InformationBody

│   │   │               │   │       ├── InfoElement.java

│   │   │               │   │       ├── ParamePreset.java

│   │   │               │   │       ├── SystemCommand.java

│   │   │               │   │       ├── Telecontrol.java

│   │   │               │   │       ├── Telemetry.java

│   │   │               │   │       └── Telesignalling.java

│   │   │               │   └── protocol104

│   │   │               │       ├── ASDU.java

│   │   │               │       ├── Analysis.java

│   │   │               │       ├── ParamePreset104.java

│   │   │               │       ├── Telecontrol104.java

│   │   │               │       ├── Telemetry104.java

│   │   │               │       └── Telesignalling104.java

│   │   │               ├── assemble101

│   │   │               │   ├── ContinuousAddressBuilder.java

│   │   │               │   ├── UnContinuousAddressBuilder.java

│   │   │               │   └── VariableLengthPacket.java

│   │   │               ├── assemble104

│   │   │               │   ├── ContinuousAddressBuilder.java

│   │   │               │   ├── UnContinuousAddressBuilder.java

│   │   │               │   └── VaribleLengthPacket.java

│   │   │               └── utils

│   │   │                   └── Util.java

│   │   └── test

│   │       └── java

│   │           └── com

│   │               └── iec

│   │                   └── test

│   │                       ├── Analysis101Test.java

│   │                       └── Analysis104Test.java

│   └── target

│       ├── classes

│       │   └── com

│       │       └── iec

│       │           ├── analysis

│       │           │   ├── common

│       │           │   │   ├── BalancedLinkCode.class

│       │           │   │   ├── TransferReason.class

│       │           │   │   └── TypeIdentifier.class

│       │           │   ├── exception

│       │           │   │   ├── CsCheckException.class

│       │           │   │   ├── CustomException.class

│       │           │   │   ├── IllegalFormatException.class

│       │           │   │   ├── LengthException.class

│       │           │   │   ├── UnknownLinkCodeException.class

│       │           │   │   ├── UnknownTransferReasonException.class

│       │           │   │   └── UnknownTypeIdentifierException.class

│       │           │   ├── protocol101

│       │           │   │   ├── ASDU.class

│       │           │   │   ├── Analysis.class

│       │           │   │   ├── Control.class

│       │           │   │   └── InformationBody

│       │           │   │       ├── InfoElement.class

│       │           │   │       ├── ParamePreset.class

│       │           │   │       ├── SystemCommand.class

│       │           │   │       ├── Telecontrol.class

│       │           │   │       ├── Telemetry.class

│       │           │   │       └── Telesignalling.class

│       │           │   └── protocol104

│       │           │       ├── ASDU.class

│       │           │       ├── Analysis.class

│       │           │       ├── ParamePreset104.class

│       │           │       ├── Telecontrol104.class

│       │           │       ├── Telemetry104.class

│       │           │       └── Telesignalling104.class

│       │           ├── assemble101

│       │           │   ├── ContinuousAddressBuilder.class

│       │           │   ├── UnContinuousAddressBuilder.class

│       │           │   └── VariableLengthPacket.class

│       │           ├── assemble104

│       │           │   ├── ContinuousAddressBuilder.class

│       │           │   ├── UnContinuousAddressBuilder.class

│       │           │   └── VaribleLengthPacket.class

│       │           └── utils

│       │               └── Util.class

│       ├── generated-sources

│       │   └── annotations

│       ├── generated-test-sources

│       │   └── test-annotations

│       └── test-classes

│           └── com

│               └── iec

│                   └── test

│                       ├── Analysis101Test.class

│                       └── Analysis104Test.class

├── iec_interaction

│   ├── iec_interaction.iml

│   └── pom.xml

└── pom.xml

43 directories, 79 files

【核心代码】

Apdu apdu = new Apdu(new DataInputStream(is));

if (apdu.getApciType() == Apdu.ApciType.I_FORMAT) {

Asdu asdu = apdu.getAsdu();

//处理I命令

handleData(asdu.getTypeId(), asdu.getInformationObjects());

//返回S确认命令

int receiveSeqNum = apdu.getSendSeqNumber() 1;

byte[] recNum = new byte[2];

recNum[0] = (byte) (receiveSeqNum << 1);

recNum[1] = (byte) (receiveSeqNum >> 7);

String recStr = ChangeUtils.toHexString(recNum);

os.write(ChangeUtils.hexStringToBytes(“68040100” recStr));

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151361.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月20日 下午3:46
下一篇 2022年6月20日 下午4:00


相关推荐

  • Linux: sctp 实例

    Linux: sctp 实例https://www.opensourceforu.com/2011/12/socket-api-part-5-sctp/需要安装lksctp-tools-develyuminstalllksctp-tools-devel编译需要-lsctpgccserver.c-lsctp-oserverClient,调用connet函数时,会触发SCTP-INIT消息,消息里的IPaddress列表是根据当前机器所配置的所有IP地址来填充,如何配置这个地址列表呢?:__sctp_con

    2022年6月23日
    36
  • 数据结构 Hash表(哈希表)

    数据结构 Hash表(哈希表)参考链接:数据结构(严蔚敏)什么是Hash表要想知道什么是哈希表,那得先了解哈希函数哈希函数对比之前博客讨论的二叉排序树二叉平衡树红黑树BB+树,它们的查找都是先从根节点进行查找,从节点取出数据或索引与查找值进行比较。那么,有没有一种函数H,根据这个函数和查找关键字key,可以直接确定查找值所在位置,而不需要一个个比较。这样就**“预先知道”**key所在的位置,直…

    2022年7月23日
    11
  • 贝叶斯公式的理解

    贝叶斯公式的理解作者:知乎用户链接:https://www.zhihu.com/question/21134457/answer/169523403来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。最近我自己在学习一些关于机器学习的东西,目前学到了贝叶斯统计这一块,我觉得很感兴趣,于是便找了一些资料看了看,在自己琢磨一段时间后,写了一篇博客,原文地址:机器学习(一)——浅谈贝叶斯和…

    2022年5月5日
    32
  • Jmeter 参数化实现

    Jmeter 参数化实现在测试过程中,我们经常遇到需要根据需求动态操作数据的情况,常规的固定数据无法满足我们的需要,这个时候,我们可以通过jmeter提供的参数化组件来实现动态的获取数据、改变数据。Jmeter中常用的参数化方式jmeter为我们提供了四种实现参数化的方式,分别是【CSVDataSetConfig】(数据集配置)组件、【用户参数】组件、【用户定义的变量】组件和【函数】组件,四种方式都有…

    2022年6月30日
    42
  • 光纤及光纤接入设备[通俗易懂]

    光纤及光纤接入设备[通俗易懂]全面了解光纤接入设备及使用图解由于不同种类信息的需求也越来越多,伴随而来的不断增长的IP数据、话音、多媒体图像等多种新业务需求,促使了各大网络运营商的传送网络环境发生了翻天俯地的变化,以前那些以承载模拟话音为主要目的的传统城域网和接入网在容量以及接口种类上都已经无法满足多种多样的新业务传输与处理的要求。于是迫于社会信息量的突飞猛进,那些专门为城域网和接入…

    2025年5月22日
    6
  • 【保姆级】零基础小白的AI编程环境搭建:Claude Code × Kimi K2 完全步骤-windows

    【保姆级】零基础小白的AI编程环境搭建:Claude Code × Kimi K2 完全步骤-windows

    2026年3月16日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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