光伏数据采集分析系统

这个数据采集系统可以算作一个物联网项目。主要就是通过工控机的串口连接各种类型的智能直流电表、智能交流电表、CR1000环境数据采集器和逆变器,然后实时采集各种相关数据存到本地,然后统一上传到云平台进行统计分析并生成各种报表。这一堆设备里面我只知道电表,其他根本没概念,串口程序也从来写过,所以本来也没想答应。但是没想到国庆假期的第一天我就收到了朋友寄过来的一大堆设备,并给了一套他们之前用的程序源码,说让我帮忙试着改一改并帮忙部署一下,如果不行也没办法了。反正国庆我在家也没啥事,于是就答应下来了。

花了差不多2天时间才,把这一堆设备环境搭起来,并把程序源码大致看了一遍,整个系统的大致工作流程也差不多搞清楚了。

光伏数据采集分析系统_第1张图片

在工控机上装了一套数据采集客户端,通过串口将接入的各种智能设备数据采集上来,存到本地的mysql数据库中。并且将本地的数据库设置为主库。在云主机上还有一套数据库设置为从库,这样通过mysql的主从同步机制将工控机上的数据通过到云主机上,然后在云主机上再部署一套数据分析服务系统,对同步上来的采集数据进行分析统计生成报表,供用户查看或下载。

刚开始,我一直以为那个采集程序是直接把数据上传到云上的,直到后来看了源码才发现程序并没有上传数据到云上,而是在本地工控机上也装了个mysql采集的数据是直接放到本地的。这样做应该也是为了避免因为外部网络因素导致采集的数据丢失吧。

另外,这儿我开始也纳闷,工控机是在内网,他们是怎么配置云主机上的从库连接上主库并实时获取数据的,后来也是到他们的云主机上翻了一遍,最终让我发现他们跑了一个lanproxy的服务进程。原来是他们是通过这种内网穿透代理的方式,将云主机与内网工控机打通。这样我可以云主机上的从库就能主动连接上工控机的主库进行数据同步,而且我也能将云主机作为跳板,通过远程桌面直接连接到工控机上进行配置,一举两得。

具体开发上用的框架也是比较主流的,采集程序用的springboot作为容器框架,通过javaFX提供一个com串口配置UI,方便工作人员进行采集程序的配置。服务主机上也是springboot做的web服务,通过调用从库上的存储过程获取各种统计分析数据并进行展示。我根据这次项目的设备情况对采集代码和报表代码做了些调整,并在工控机上正常运行之后。考虑到使用环境是windows系统还用Procrun将报表服务系统的jar包装成了windows的服务进程,方便用户使用。

本来切进行的很顺利,但冥冥中注定这个国庆是一场作死,因为我最后不小心把CR1000采集设备的电源接错了,活生生的把一台价值快2万块的设备给烧了。哎,郁闷,最后赔偿的钱也是我跟我朋友一起分摊的,这个国庆节过得太惨了。

CR1000就是下图圈起来的这个设备

光伏数据采集分析系统_第2张图片

你可能感兴趣的:(java)