光伏數據採集分析系統

這個數據採集系統可以算作一個物聯網項目。主要就是通過工控機的串口連接各種類型的智能直流電錶、智能交流電錶、CR1000環境數據採集器和逆變器,然後實時採集各種相關數據存到本地,然後統一上傳到雲平臺進行統計分析並生成各種報表。這一堆設備裏面我只知道電錶,其他根本沒概念,串口程序也從來寫過,所以本來也沒想答應。但是沒想到國慶假期的第一天我就收到了朋友寄過來的一大堆設備,並給了一套他們之前用的程序源碼,說讓我幫忙試着改一改並幫忙部署一下,如果不行也沒辦法了。反正國慶我在家也沒啥事,於是就答應下來了。

花了差不多2天時間才,把這一堆設備環境搭起來,並把程序源碼大致看了一遍,整個系統的大致工作流程也差不多搞清楚了。

在工控機上裝了一套數據採集客戶端,通過串口將接入的各種智能設備數據採集上來,存到本地的mysql數據庫中。並且將本地的數據庫設置爲主庫。在雲主機上還有一套數據庫設置爲從庫,這樣通過mysql的主從同步機制將工控機上的數據通過到雲主機上,然後在雲主機上再部署一套數據分析服務系統,對同步上來的採集數據進行分析統計生成報表,供用戶查看或下載。

剛開始,我一直以爲那個採集程序是直接把數據上傳到雲上的,直到後來看了源碼才發現程序並沒有上傳數據到雲上,而是在本地工控機上也裝了個mysql採集的數據是直接放到本地的。這樣做應該也是爲了避免因爲外部網絡因素導致採集的數據丟失吧。

另外,這兒我開始也納悶,工控機是在內網,他們是怎麼配置雲主機上的從庫連接上主庫並實時獲取數據的,後來也是到他們的雲主機上翻了一遍,最終讓我發現他們跑了一個lanproxy的服務進程。原來是他們是通過這種內網穿透代理的方式,將雲主機與內網工控機打通。這樣我可以雲主機上的從庫就能主動連接上工控機的主庫進行數據同步,而且我也能將雲主機作爲跳板,通過遠程桌面直接連接到工控機上進行配置,一舉兩得。

具體開發上用的框架也是比較主流的,採集程序用的springboot作爲容器框架,通過javaFX提供一個com串口配置UI,方便工作人員進行採集程序的配置。服務主機上也是springboot做的web服務,通過調用從庫上的存儲過程獲取各種統計分析數據並進行展示。我根據這次項目的設備情況對採集代碼和報表代碼做了些調整,並在工控機上正常運行之後。考慮到使用環境是windows系統還用Procrun將報表服務系統的jar包裝成了windows的服務進程,方便用戶使用。

本來切進行的很順利,但冥冥中註定這個國慶是一場作死,因爲我最後不小心把CR1000採集設備的電源接錯了,活生生的把一臺價值快2萬塊的設備給燒了。哎,鬱悶,最後賠償的錢也是我跟我朋友一起分攤的,這個國慶節過得太慘了。

CR1000就是下圖圈起來的這個設備

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章