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));

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 在Android手机上对https请求进行抓包

    在Android手机上对https请求进行抓包前段时间跟QQ群里的群友聊天时无意聊到了抓包的话题。抓包可以说是程序员日常开发调试问题的一个重要手段,可以帮助我们理清客户端与服务器之间的数据传输问题,以便于甩锅。在过去,网络请求基本都是靠的http协议,那个时候的抓包是一件非常简单的事情。然而这几年,http协议在逐渐被淘汰,几乎所有的网络请求都变成了https协议,这就使事情变得复杂了。群里一位朋友说,https是不可能被抓包的,不然怎么保证https传输的安全性,毕竟那么多大公司都在用这个协议来传输重要的数据。这其实是一个比较有意思的话题

  • Alex 的 Hadoop 菜鸟教程: 第10课 Hive 安装和使用教程

    Alex 的 Hadoop 菜鸟教程: 第10课 Hive 安装和使用教程Hive提供了一个让大家可以使用sql去查询数据的途径。让大家可以在hadoop上写sql语句。但是最好不要拿Hive进行实时的查询。因为Hive的实现原理是把sql语句转化为多个MapReduce任务所以Hive非常慢,官方文档说Hive适用于高延时性的场景而且很费资源。

  • python数字转字符串函数_python中将数字转换成字符串

    python数字转字符串函数_python中将数字转换成字符串参考文献:tt=322tem=’%d’%tt可用,已经试用转载于:https://www.cnblogs.com/Wanggcong/p/7620225.html

    2022年10月12日
  • 获取和分析Dump的几种工具简介[通俗易懂]

    获取和分析Dump的几种工具简介[通俗易懂]最近在进一步学习support技能的时候,了解到分析Dump的重要性,经过学习,做一些笔记。一、什么是Dump文件。Dump文件时进程的内存镜像。可以把程序的执行状态保存到Dump文件中。Dump文件分为内核模式Dump和用户模式Dump。其中内核模式Dump是操作系统创建的崩溃转储,例如蓝屏Dump。而在我们调试或Troubleshooting过程中使用的Dump是用户模式Dump,又分为F…

  • build mdl app

    build mdl app

  • 2021pycharm激活码(JetBrains全家桶)「建议收藏」

    (2021pycharm激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~M…

发表回复

您的电子邮箱地址不会被公开。

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