iec104协议java_GitHub - renduy/IEC104_microgrid: iec104协议主站客户端程序,属于微电网管理系统一部分...

该博客介绍了基于Java实现的IEC104协议主站客户端程序,它是微电网管理系统的一部分。文章详细讲解了IEC104协议的介绍、帧格式、通信流程,并展示了主站程序的设计实现,包括数据库模型、操作、连接初始化,以及遥信、遥测、遥控、遥调的处理流程。此外,还通过PMA软件进行了模拟测试。
摘要由CSDN通过智能技术生成

IEC104_microgrid

iec104协议主站客户端程序,属于微电网管理系统一部分

一 IEC104协议介绍

1 IEC104简要说明

IEC104是一种基于TCP/IP的电力行业通信协议,主要用于数据远程监控等功能。通信有一般有主要发送数据、接收命令的从站服务端和接收数据、发送命令的主站客户端构成。采用应答式数据传输,一般上行数据为遥信、遥测,下行信息为遥控、遥调。

2 IEC104帧格式

IEC104的通用帧格式如图

IEC104%E5%B8%A7%E6%A0%BC%E5%BC%8F.png

其中APCI为控制信息部分,ASDU为存储数据单元,APDU为长度等于APCI+ASDU-2,即减去起始字节和APDU长度字节。

IEC104有3种帧格式,分别为U帧即控制报文帧、S帧即监视帧和I帧即信息传输帧。

1)U帧:只包括APCI部分,主要有启动帧、停止帧、测试帧。U帧具体格式如图

U%E5%B8%A7%E6%A0%BC%E5%BC%8F.png

2)S帧:只包含APCI部分。S帧格式如图

S%E5%B8%A7%E6%A0%BC%E5%BC%8F.png

3)I帧:包含APCI+APDU部分。I帧格式如图

I%E5%B8%A7%E6%A0%BC%E5%BC%8F.png

发送序号和接收序列号是保证数据完整性的条件。

类型标识定义发送数据的格式。

可变结构体定义发送数据信息是有序还是无序,有序即一个信息体地址,元素的对应地址会在此信息地址基础上依次加1。无序即1个地址对应一个元素。

传输原因定义记录传送的原因,用以对传输数据进行归类。

3 IEC104规约流程

1.由客户端向服务器建立连接,同时,发送链路启动帧。

2.服务端在收到链路启动帧后,向客户端发送启动确认帧。

3.客户端收到启动确认帧后,发送总召唤命令数据请求帧。

4.服务端收到总召唤命令数据请求后,发送总召唤命令数据响应帧,然后继续发送总召唤命令数据。总召唤命令数据发送完成后,发送总召唤命令数据结束帧。

5.客户端在收到总召唤命令数据结束帧后,发送对时请求帧。

6.服务器收到对时请求帧后,发送对时响应帧。

7.由服务器主动向客户端发送变化数据帧。同时,收到客户端发送的控制类命令,回复相应的操作结果。

8.客户端等到下一个数据总召唤命令数据周期,重复第4步之后的流程。

二 IEC104通信主站程序总体设计实现

根据项目需求和IEC104通信规约设计,主要包括遥信、遥测的解析程序功能,遥控、遥调的组合程序功能,数据库并发操作。涉及技术Java面对对象编程,多线程,socket编程,JDBC数据库操作映射API,C3P0高并发数据库连接池。

首先设计如图的目录结构:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值