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:广东电网配网自动…

大家好,欢迎来到IT知识分享网。java 104规约_电网104规约解包(java)

【实例简介】电网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://yundeesoft.com/22983.html

(0)
上一篇 2023-12-17 18:00
下一篇 2023-12-18 21:15

相关推荐

发表回复

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

关注微信