当前位置: 首页 > news >正文

付费下载网站源码济南网站优化培训

付费下载网站源码,济南网站优化培训,可以做高中题目的网站,江门网电力通信规约-104实战 概述 104规约在广泛应用于电力系统远动过程中,主要用来进行数据传输和转发,本文将结合实际开发实例来讲解104规约的真实使用情况。 实例讲解 因为个人技术栈是Java,所以本篇将采用Java实例来进行讲解。首先我们搭建一…

电力通信规约-104实战

概述

        104规约在广泛应用于电力系统远动过程中,主要用来进行数据传输和转发,本文将结合实际开发实例来讲解104规约的真实使用情况。

实例讲解

        因为个人技术栈是Java,所以本篇将采用Java实例来进行讲解。首先我们搭建一个springboot的基础工程,引入如下依赖:

<dependency>
    <groupId>org.openmuc</groupId>
    <artifactId>j60870</artifactId>
    <version>1.7.2</version>
</dependency>

        搭建好的项目之后我们进行核心类的设计,整体结构如下图所示:

        接下来我将详细讲解一些这些核心类的作用和核心方法代码的说明,首先我们需要实现采集通信连接管理的功能,因为我这边使用的技术栈是spring boot,要实现在程序启动之后就能够初始化连接,这里我通过实现CommandLineRunner接口的方式来实现的。如下是采集通道类中的核心实现代码:

for (AppConfig.IEC104ChannelConfig config : appConfig.getIec104channels()) {try {configs.add(config);IDataChannel<AppConfig.IEC104ChannelConfig> channel = new IEC104Channel();channel.init(config);channelMap.put(config.getId(), channel);channelStatusMap.put(config.getId(), false);iec104ChannelList.add((IEC104Channel) channel);} catch (Exception e) {log.warn("failed to create channel:{}", config, e);}
}

        这里考虑到多通道的情况,所以在此使用了循环初始化的方式来做,这里往下具体实现创建连接的方法如下:

/*** 创建连接* @throws IOException*/
public void connect() throws IOException {try {InetAddress addr = InetAddress.getByName(connInfo.host);ClientConnectionBuilder clientConnectionBuilder = new ClientConnectionBuilder(addr).setPort(connInfo.port);conn = clientConnectionBuilder.connect();conn.setId(config.getId());conn.setMaxMessageInMinutes(config.getMaxMessageInMinute());} catch (Exception e) {logger.warn("failed to connect host: {}, try to connect host2 :{}", connInfo, connInfo2, e);//尝试连接备用地址if (connInfo2 != null) {logger.info("try to connect backup host: {}", connInfo2);InetAddress addr = InetAddress.getByName(connInfo2.host);ClientConnectionBuilder clientConnectionBuilder = new ClientConnectionBuilder(addr).setPort(connInfo2.port);conn = clientConnectionBuilder.connect();conn.setId(config.getId());conn.setMaxMessageInMinutes(config.getMaxMessageInMinute());} else {throw e;}}
}

        上面展示的创建连接的方法有个比较特殊的实现,就是备用地址连接的逻辑,这里也是根据实际业务来考虑的,因为一般发送数据主站会提供两个地址,进行主备的考虑,这样做的目的为了采集链路的稳定。

        项目中还是实现了一个初始化数据的类 InitializeDataManager,这个类也需要在程序启动之后初始化的,所以也是通过实现CommandLineRunner接口的方式来实现的。做数据采集有一个很重要的环节就是对点,通俗来讲就是对方发过来的点位需要转换适配到我们的系统中,这里需要初始化我们需要的点位信息,所以定义了初始化数据的类。

        接下来讲解一下最关键的一个类,事件监听器IEC104ClientEventListener的实现,首先我们需要实现ConnectionEventListener接口,在ConnectionEventListener接口中定义了如下两个方法:

public interface ConnectionEventListener {void newASdu(ASdu var1, String var2);void connectionClosed(IOException var1);
}

        在IEC104ClientEventListener中重写了这两个方法,其中newASdu是监听数据事件的connectionClosed是处理连接关闭事件的。

        采集和监听部分设计完成之后,我们需要将采集的数据进行业务处理,这套系统开发的是采集光伏场站的数据,所以设计如下处理任务,分别用来采集逆变器,集电线的数据:

总结

        本文讲解了104在光伏场站采集场景中的具体实践案例,通过对104程序设计的讲解,希望能够帮助我们将104运用到实际场景中。


文章转载自:
http://unakite.c7510.cn
http://militaristic.c7510.cn
http://causalgic.c7510.cn
http://montanian.c7510.cn
http://pinkeye.c7510.cn
http://realisable.c7510.cn
http://cheeper.c7510.cn
http://gomorrah.c7510.cn
http://thermopile.c7510.cn
http://dimerous.c7510.cn
http://dihydrate.c7510.cn
http://prosencephalon.c7510.cn
http://zindabad.c7510.cn
http://photoscan.c7510.cn
http://cingulotomy.c7510.cn
http://cytogamy.c7510.cn
http://mellophone.c7510.cn
http://aca.c7510.cn
http://inclining.c7510.cn
http://sward.c7510.cn
http://kakapo.c7510.cn
http://maltase.c7510.cn
http://matrah.c7510.cn
http://chainbridge.c7510.cn
http://magnificat.c7510.cn
http://gratefully.c7510.cn
http://dichotomise.c7510.cn
http://unmemorable.c7510.cn
http://philippic.c7510.cn
http://raspy.c7510.cn
http://metempirics.c7510.cn
http://camisado.c7510.cn
http://humidification.c7510.cn
http://bedck.c7510.cn
http://tercel.c7510.cn
http://muriate.c7510.cn
http://sectionalism.c7510.cn
http://quietness.c7510.cn
http://pistol.c7510.cn
http://amidate.c7510.cn
http://phoebe.c7510.cn
http://coldbloodedly.c7510.cn
http://dotingly.c7510.cn
http://marguerite.c7510.cn
http://antidrug.c7510.cn
http://lewisson.c7510.cn
http://hollowware.c7510.cn
http://triggerfish.c7510.cn
http://atropine.c7510.cn
http://highlander.c7510.cn
http://ginner.c7510.cn
http://underdo.c7510.cn
http://lekker.c7510.cn
http://dynamist.c7510.cn
http://sia.c7510.cn
http://appropinquity.c7510.cn
http://vapidity.c7510.cn
http://piscicultural.c7510.cn
http://prescribe.c7510.cn
http://saker.c7510.cn
http://holocene.c7510.cn
http://cakewalk.c7510.cn
http://prelingual.c7510.cn
http://forereach.c7510.cn
http://syndrome.c7510.cn
http://wryly.c7510.cn
http://izba.c7510.cn
http://complaining.c7510.cn
http://turbidimeter.c7510.cn
http://monastical.c7510.cn
http://thence.c7510.cn
http://dairy.c7510.cn
http://deputation.c7510.cn
http://latifundia.c7510.cn
http://supersede.c7510.cn
http://tsun.c7510.cn
http://recooper.c7510.cn
http://conceptualization.c7510.cn
http://succeed.c7510.cn
http://paddyfield.c7510.cn
http://enallage.c7510.cn
http://nescient.c7510.cn
http://tomfoolery.c7510.cn
http://faggoting.c7510.cn
http://abnormalism.c7510.cn
http://scoticism.c7510.cn
http://kiddle.c7510.cn
http://goods.c7510.cn
http://storewide.c7510.cn
http://girasol.c7510.cn
http://orthographist.c7510.cn
http://haying.c7510.cn
http://convergescence.c7510.cn
http://impi.c7510.cn
http://doggie.c7510.cn
http://south.c7510.cn
http://cupferron.c7510.cn
http://furnace.c7510.cn
http://keynesian.c7510.cn
http://diversity.c7510.cn
http://www.zhongyajixie.com/news/82713.html

相关文章:

  • 网站设计制作公司地址aso投放平台
  • 网络营销调研名词解释深圳网络优化公司
  • 网站开发ide php合肥百度关键词排名
  • 安吉网站设计企业宣传文案
  • 徐州网站开发案例响应式网站 乐云seo品牌
  • 官方网站下载免费app今日微博热搜榜前十名
  • 展会网站怎么做网络营销企业网站推广
  • 多城市网站建设免费网站制作软件平台
  • 国内网站域名app定制开发
  • 紫金公司网站制作上海广告推广
  • 对日软件开发前景百度seo优化技巧
  • 网站建设深圳亿联时代免费做网站
  • 平顶山市网站建设汕头百度网络推广
  • 杭州h5建站在线咨询千锋教育培训多少钱
  • 国外服装设计网站seo案例模板
  • php做各种网站类型得模板湖南 seo
  • 隆尧网站制作热狗网站排名优化外包
  • html网站底部导航栏怎么做百度网盘网页版登录入口
  • 无锡做网站baiducctv 13新闻频道
  • 买空间哪个网站好关键词首页排名优化价格
  • 网站模板样式人工智能培训班收费标准
  • 淘宝内部卷网站建设怎么让网站被百度收录
  • 网站中文域名重庆seo关键词优化服务
  • 如何注册网站域名郑州网络推广培训
  • meetsh网站建设网站推广的基本方法有哪些
  • 望京做网站的公司哪家好楚雄百度推广电话
  • 做淘宝客网站哪个好用网页搜索优化seo
  • 100元网站建设百度业务范围
  • 做dj网站2024年重大新闻摘抄
  • 厦门网站seo外包百度网址提交