郭 波, 李福星, 鄒麗梅, 許淑嫻, 王世豪
(1.武夷學(xué)院農(nóng)機(jī)智能控制與制造福建省高校重點(diǎn)實(shí)驗(yàn)室,福建 武夷山 354300;2.華梵大學(xué)機(jī)電工程系,臺(tái)灣 臺(tái)北 223;3.南平市延平區(qū)鑫四海機(jī)電自動(dòng)化有限公司,福建 南平 353000)
改革開(kāi)放后,閩北水利建設(shè)發(fā)展加快,興建有一批中小型水庫(kù),以及大量鄉(xiāng)村小水電站設(shè)施,早期建設(shè)的水利水電設(shè)施地處偏遠(yuǎn),自動(dòng)化程度偏低,依賴人員駐站管理控制。而且,電站運(yùn)維管理受到當(dāng)?shù)剡\(yùn)維人力與技術(shù)水平的限制,缺少運(yùn)維管理的設(shè)備的高額維護(hù)費(fèi)用,又進(jìn)一步惡化電站盈利,因此閩北區(qū)域許多中小電站地位頗為尷尬。業(yè)界與科研院所一直高度關(guān)注水電監(jiān)控技術(shù)研究。何滔提出一種過(guò)程信息交互自動(dòng)化遠(yuǎn)程子站網(wǎng)絡(luò)創(chuàng)新改造策略,用于提升生產(chǎn)過(guò)程信息傳輸?shù)目煽啃浴⒎€(wěn)定性和可行性[1]。韋松直以100/1000Mbps自適應(yīng)光纖以太網(wǎng)實(shí)時(shí)通信解決電廠自動(dòng)監(jiān)控系統(tǒng)通信,設(shè)計(jì)三層控制結(jié)構(gòu)實(shí)現(xiàn)水電系統(tǒng)在上位機(jī)的在線顯示、控制與調(diào)節(jié)[2]。閩北中小水電站受到老區(qū)貧弱的投資能力限制,且因投入產(chǎn)出比低,不適合更換全套先進(jìn)自動(dòng)化系統(tǒng),因此產(chǎn)業(yè)急切需要水利設(shè)施遠(yuǎn)程監(jiān)控升級(jí)和集中運(yùn)維。據(jù)此,提出一種中小水電站分布式監(jiān)控構(gòu)建策略,主要采用Redis云架構(gòu),樹(shù)莓派通過(guò)執(zhí)行開(kāi)發(fā)的Python代碼,銜接電站現(xiàn)場(chǎng)分布的PLC控制器、測(cè)控儀表、專用設(shè)置繼保裝置與現(xiàn)場(chǎng)攝像監(jiān)視構(gòu)成獨(dú)立節(jié)點(diǎn),集控中心與監(jiān)視運(yùn)維節(jié)點(diǎn)通過(guò)Redis哈希對(duì)象獲得電站監(jiān)視數(shù)據(jù),發(fā)布遠(yuǎn)程控制指令,通過(guò)開(kāi)發(fā)節(jié)點(diǎn)PC應(yīng)用程序,應(yīng)用可靠交互策略,保證了分布式監(jiān)控系統(tǒng)的穩(wěn)定運(yùn)行。
閩江是福建省最大的河流[3],其格子河系形由建溪、富屯溪等大量支流匯聚為干流,閩北山區(qū)內(nèi)分布著大量中小型水利水電設(shè)施。為實(shí)現(xiàn)項(xiàng)目核心目標(biāo),以分布式云監(jiān)控系統(tǒng),納入?yún)^(qū)域內(nèi)水電站機(jī)組設(shè)施,實(shí)現(xiàn)統(tǒng)一監(jiān)控與運(yùn)維管理。但區(qū)域內(nèi)電站機(jī)組設(shè)施建成時(shí)間不一,涉及的設(shè)施裝置種類多,自動(dòng)化水平差異大,電站通信基礎(chǔ)設(shè)施條件弱,因此很難直接利用現(xiàn)有成套先進(jìn)通訊網(wǎng)絡(luò)技術(shù)改造監(jiān)控運(yùn)維。
閩北當(dāng)?shù)亟?jīng)濟(jì)水平偏低,中小型水電站設(shè)施年發(fā)電總量有限,評(píng)估項(xiàng)目改造成本與發(fā)電收益的投入產(chǎn)出比偏低,電站中小企業(yè)自身追加投資全面改造電站的意愿不強(qiáng),同時(shí)普遍缺少技改與運(yùn)維力量,使得電站收益靠天吃飯的產(chǎn)出模式多年難以改變。針對(duì)產(chǎn)業(yè)技術(shù)短板,受益于開(kāi)放源碼軟件運(yùn)動(dòng),課題組基于Redis、Python等開(kāi)源平臺(tái)[4],設(shè)計(jì)了開(kāi)發(fā)水電站分布式云監(jiān)控架構(gòu)。
水電站分布式云監(jiān)控系統(tǒng)由電站控制層、云端控制層與遠(yuǎn)程監(jiān)控層組成,如圖1所示。電站控制層物理上位于水電站設(shè)施現(xiàn)場(chǎng),分布于閩北區(qū)域的不同地理位置,現(xiàn)場(chǎng)一般具有機(jī)組設(shè)施、有關(guān)控制屏組設(shè)施、其他繼保裝置和傳感裝置等。電站控制層為每一設(shè)施和裝置配備微型電腦節(jié)點(diǎn),標(biāo)識(shí)為系統(tǒng)內(nèi)獨(dú)一無(wú)二的站控節(jié)點(diǎn)PC。微型電腦PC的成本低廉,硬件配置不斷提升,適合在架構(gòu)中大規(guī)模配置,可以勝任實(shí)時(shí)可靠的數(shù)據(jù)采集與傳輸任務(wù)。站控節(jié)點(diǎn)PC內(nèi)部署應(yīng)用程序,負(fù)責(zé)橋接云端Redis集群服務(wù)器與現(xiàn)場(chǎng)設(shè)施裝置。
云端控制層根據(jù)管轄的站控節(jié)點(diǎn)數(shù)量,允許在分布式的云服務(wù)器配置相應(yīng)規(guī)模Redis集群系統(tǒng),用于保持系統(tǒng)規(guī)模與性能的高彈性。利用Redis集群系統(tǒng)內(nèi)置的自動(dòng)分區(qū)功能,系統(tǒng)可獲得水電站分布式云監(jiān)控服務(wù)的高度可用性。Redis哨兵機(jī)制的加入,系統(tǒng)運(yùn)行過(guò)程可實(shí)現(xiàn)一定程度的自動(dòng)化故障恢復(fù)。
遠(yuǎn)程監(jiān)控層由集控中心、監(jiān)管節(jié)點(diǎn)與運(yùn)維節(jié)點(diǎn)的計(jì)算機(jī)組成,集控中心通過(guò)高速帶寬網(wǎng)絡(luò)與云端Redis集群服務(wù)器通信,監(jiān)管節(jié)點(diǎn)與運(yùn)維節(jié)點(diǎn)數(shù)量在系統(tǒng)內(nèi)不受限制。出于遠(yuǎn)程控制安全性的設(shè)計(jì)考慮,采用了集控中心為主,監(jiān)管節(jié)點(diǎn)與運(yùn)維節(jié)點(diǎn)為從的分級(jí)結(jié)構(gòu),監(jiān)管節(jié)點(diǎn)與運(yùn)維節(jié)點(diǎn)上線需要獲得集控中心認(rèn)證與授權(quán)。
圖1 分布式云監(jiān)控總體架構(gòu)圖
站控節(jié)點(diǎn)設(shè)計(jì)的核心是圍繞微型電腦的軟硬件裝置。為了與電站設(shè)施的PLC控制器、測(cè)控儀表、專用設(shè)置繼保裝置與現(xiàn)場(chǎng)攝像監(jiān)視集成,項(xiàng)目采用了基于ARM的微型電腦主板樹(shù)莓派[5],其部件整合于85*56毫米的主板中,最新的版本Raspberry Pi 4 Model B發(fā)布于2019年,網(wǎng)絡(luò)通信性能提升至千兆以太網(wǎng)、雙頻802.11ac無(wú)線、藍(lán)牙5.0以及串口通信.最大支持8G運(yùn)行內(nèi)存,以Python為主要編程語(yǔ)言,并且支援Java、C和Perf等主流編程。
站控節(jié)點(diǎn)核心開(kāi)發(fā)工作為樹(shù)莓派交互接口,連接種類繁多的中小水電站各種設(shè)施。Modbus是一種串行通信協(xié)議,作為工業(yè)領(lǐng)域通信協(xié)議的業(yè)界標(biāo)準(zhǔn),受到絕大部分中小水電站工控裝置支持。課題組開(kāi)發(fā)Python開(kāi)源平臺(tái)的通訊協(xié)議,將讀寫(xiě)線圈、讀寫(xiě)寄存器等常用功能碼以Python定義為程序庫(kù),以供樹(shù)莓派與水電站工控裝置Modbus通訊調(diào)用。少量型號(hào)老舊的專用設(shè)施繼電和保護(hù)裝置不具備串口數(shù)字輸出能力,則利用樹(shù)莓派內(nèi)置的通用型輸入輸出GPIO直接采集或控制,應(yīng)用程序可直接利用使用 RPi.GPIO 庫(kù)。部分儀表裝置本身具有以太網(wǎng)接口能力,項(xiàng)目將樹(shù)莓派增加至局域內(nèi)網(wǎng)就可與其通訊,應(yīng)用程序利用socket庫(kù)實(shí)現(xiàn)通訊讀寫(xiě)。
根據(jù)項(xiàng)目遠(yuǎn)程監(jiān)控內(nèi)容組成,樹(shù)莓派將中小水電站各種設(shè)施的交互信息分為監(jiān)視數(shù)據(jù)、歷史記錄數(shù)據(jù)文件、遠(yuǎn)程控制指令和多媒體數(shù)據(jù)四類。考慮大多數(shù)電站通信基礎(chǔ)設(shè)施弱,帶寬不足的條件限制,為了提升監(jiān)控運(yùn)行的實(shí)時(shí)性,系統(tǒng)設(shè)計(jì)了站控節(jié)點(diǎn)與Redis云服務(wù)器的通訊協(xié)議,嚴(yán)格限制了實(shí)時(shí)通訊數(shù)據(jù)包規(guī)模。
實(shí)時(shí)通訊數(shù)據(jù)包內(nèi)容由監(jiān)視數(shù)據(jù)、歷史記錄數(shù)據(jù)文件地址、遠(yuǎn)程控制指令代碼及多媒體數(shù)據(jù)文件地址組成。利用Redis管道模式批量存取云端Redis鍵值。
遠(yuǎn)程字典服務(wù)器Remote Dictionary Server(Redis) 是一個(gè)用ANSI C編寫(xiě)的開(kāi)源內(nèi)存數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)系統(tǒng),可以在Linux等大多數(shù)POSIX系統(tǒng)中工作,支持諸如字符串、散列、列表等豐富數(shù)據(jù)結(jié)構(gòu)。Redis服務(wù)在支持中小水電站分布式云監(jiān)控應(yīng)用中極為有利,其原本設(shè)計(jì)用于數(shù)據(jù)庫(kù)、緩存和消息代理,獨(dú)有的Redis Sentinel和Redis Cluster自動(dòng)分區(qū)來(lái)提供更高的可靠性。Redis除了出色的高并發(fā)、集群規(guī)模、部署靈活特性外,它的開(kāi)源特性為遠(yuǎn)程監(jiān)控升級(jí)和集中運(yùn)維提供更低成本的選擇。研究機(jī)構(gòu)近年利用Redis開(kāi)發(fā)的專用系統(tǒng)越來(lái)越多[6-8]。
監(jiān)控方案將Redis服務(wù)部署于云端服務(wù)器,電站控制層節(jié)點(diǎn)PC與遠(yuǎn)程監(jiān)控層PC均為客戶端,以服務(wù)器-客戶機(jī)(C/S)架構(gòu)組建云監(jiān)控通訊網(wǎng)絡(luò)。該方案避免了在電站控制層節(jié)點(diǎn)PC與遠(yuǎn)程監(jiān)控層PC之間架設(shè)通訊專線的成本,任意地理位置分布的PC只要能接入互聯(lián)網(wǎng),就能作為客戶端與服務(wù)器和其他客戶端交互信息。
監(jiān)控過(guò)程中,電站控制層節(jié)點(diǎn)映射于Redis的唯一哈希hash對(duì)象,節(jié)點(diǎn)PC定時(shí)刷新對(duì)象的字段與值,讀取對(duì)象內(nèi)遠(yuǎn)程控制指令字段的代碼值,執(zhí)行控制指令后報(bào)告響應(yīng)代碼。遠(yuǎn)程監(jiān)控層PC獲得集控中心授權(quán)后,被允許訪問(wèn)相應(yīng)電站控制節(jié)點(diǎn)對(duì)象的字段,同樣以Redis管道模式批量獲得數(shù)據(jù)后用于人機(jī)界面顯示。具有控制權(quán)限的運(yùn)維節(jié)點(diǎn)PC執(zhí)行應(yīng)用程序,將遠(yuǎn)程控制指令自動(dòng)轉(zhuǎn)換成指令代碼,擁有寫(xiě)對(duì)象內(nèi)遠(yuǎn)程控制指令字段和讀響應(yīng)代碼的權(quán)限。
集控中心計(jì)算機(jī)擁有完整的上線電站綜合監(jiān)控、管理功能與最高權(quán)限。通過(guò)Redis存儲(chǔ)系統(tǒng)與中心計(jì)算機(jī)SQL數(shù)據(jù)庫(kù)同步實(shí)現(xiàn)數(shù)據(jù)持久化保存;按顯示需要完成數(shù)據(jù)可視化轉(zhuǎn)換;提供電站控制層節(jié)點(diǎn)標(biāo)識(shí)和統(tǒng)計(jì)管理;提供下級(jí)監(jiān)視節(jié)點(diǎn)與運(yùn)維節(jié)點(diǎn)的認(rèn)證管理功能;以維護(hù)Redis的控制指令與代碼對(duì)照表、歷史文件地址表、多媒體數(shù)據(jù)文件地址表等鍵值數(shù)據(jù),實(shí)現(xiàn)系統(tǒng)程序和功能的自動(dòng)化遠(yuǎn)程升級(jí)。
考慮中小水電站現(xiàn)場(chǎng)電磁環(huán)境不利于PC穩(wěn)定運(yùn)行,電站控制層節(jié)點(diǎn)雙機(jī)熱備份策略是系統(tǒng)最為重要的硬件可靠性措施。策略應(yīng)用采用主從工作模式,主微型電腦處于工作狀態(tài),而從微型電腦處于監(jiān)控準(zhǔn)備狀態(tài)。當(dāng)主微型電腦出現(xiàn)故障,數(shù)據(jù)采集收發(fā)延時(shí)超過(guò)閾值,從機(jī)以軟件診斷模式轉(zhuǎn)化為激活模式,保證節(jié)點(diǎn)工作在短時(shí)間的全面恢復(fù)。
Redis系統(tǒng)設(shè)計(jì)是結(jié)構(gòu)數(shù)據(jù)的存儲(chǔ),但沒(méi)有文件可靠傳輸?shù)膬?nèi)部機(jī)制,水電站分布式云監(jiān)控系統(tǒng)利用Redis最大的鍵值長(zhǎng)度指標(biāo),運(yùn)輸傳輸不超過(guò)512M的歷史記錄數(shù)據(jù)文件及多媒體數(shù)據(jù)文件數(shù)據(jù)。為了實(shí)現(xiàn)大文件傳輸可靠性,節(jié)點(diǎn)PC數(shù)據(jù)傳輸模塊設(shè)計(jì)了三項(xiàng)工作流程。
1)數(shù)據(jù)文件的分片上傳與下載
以節(jié)點(diǎn)與云服務(wù)器的網(wǎng)絡(luò)延時(shí)數(shù)據(jù)為依據(jù),自動(dòng)選擇切片數(shù)據(jù)大小,避免高延時(shí)下節(jié)點(diǎn)PC與云服務(wù)器產(chǎn)生傳輸失??;
2)數(shù)據(jù)片段的MD5校驗(yàn)
以MD5驗(yàn)證程序計(jì)算數(shù)據(jù)片段的MD5校驗(yàn)碼,與數(shù)據(jù)片段拼接后上傳Redis,接收方PC下載數(shù)據(jù)后重算接收數(shù)據(jù)片段的MD5碼驗(yàn)證完整性;
3)數(shù)據(jù)片的Base64編碼與解碼
Base64是網(wǎng)絡(luò)上最常見(jiàn)的用于傳輸8Bit字節(jié)碼的編碼方式之一,是一種基于64個(gè)可打印字符來(lái)表示二進(jìn)制數(shù)據(jù)的方法,工控設(shè)施和裝置歷史記錄文件與多媒體數(shù)據(jù)文件可能存在無(wú)法常規(guī)編碼的符號(hào),上傳Redis前編碼,讀取Redis數(shù)據(jù)后解碼,用于解決監(jiān)控系統(tǒng)數(shù)據(jù)交互過(guò)程的可讀性。
圖2 監(jiān)控系統(tǒng)集控中心運(yùn)行現(xiàn)場(chǎng)
圖3 遠(yuǎn)程運(yùn)維節(jié)點(diǎn)智能手機(jī)運(yùn)維界面
目前,水電站分布式云監(jiān)控系統(tǒng)2019年已在福建省南平市延平區(qū)鑫四海機(jī)電自動(dòng)化有限公司上線應(yīng)用。已納入光澤湖邊電站(裝機(jī)容量:1500kW),延平合坑電站(裝機(jī)容量:250kW),建甌楊梅坪電站(裝機(jī)容量:560kW)。項(xiàng)目投產(chǎn)至今,統(tǒng)計(jì)數(shù)據(jù)表明三個(gè)電站發(fā)電量約提升15%。平均每個(gè)電站縮減員工4人。預(yù)測(cè)2020年全年提升發(fā)電量可達(dá) 138.6萬(wàn)千瓦時(shí),預(yù)計(jì)帶來(lái)直接發(fā)電收入提升41.58萬(wàn)元;節(jié)約的人工費(fèi)用預(yù)計(jì)降低成本60萬(wàn)元。水電站分布式云監(jiān)控系統(tǒng)集控中心運(yùn)行現(xiàn)場(chǎng)如圖2所示,遠(yuǎn)程運(yùn)維節(jié)點(diǎn)智能手機(jī)運(yùn)維界面如圖3所示。隨著系統(tǒng)上線后示范作用逐漸增強(qiáng),閩北流域多家中小型電站已進(jìn)入代管談判,預(yù)計(jì)2021年系統(tǒng)將擴(kuò)容至20個(gè)電站,超過(guò)4萬(wàn)千瓦的總裝機(jī)容量。
水電站分布式云監(jiān)控系統(tǒng)利用成本低廉的樹(shù)莓派微型電腦作為電站控制節(jié)點(diǎn),在云端部署開(kāi)源且可靠的Redis存儲(chǔ)系統(tǒng)為服務(wù)器,任意地理位置分布的電站控制層節(jié)點(diǎn)PC與遠(yuǎn)程監(jiān)控層PC為客戶機(jī),設(shè)計(jì)開(kāi)發(fā)了成本低,容量彈性大,性能穩(wěn)定的監(jiān)控架構(gòu),降低系統(tǒng)的推廣應(yīng)用難度,并可柔性移植于其他地域和產(chǎn)業(yè)應(yīng)用。利用開(kāi)源軟件Python平臺(tái),基于遠(yuǎn)程監(jiān)控可靠交互策略開(kāi)發(fā)節(jié)點(diǎn)PC應(yīng)用軟件,系統(tǒng)上線運(yùn)行平穩(wěn),監(jiān)控時(shí)延低,滿足用戶要求。系統(tǒng)逐步納入當(dāng)?shù)仉娬局悄芑\(yùn)維,實(shí)現(xiàn)統(tǒng)一運(yùn)維托管,不僅為公司帶來(lái)穩(wěn)定的托管分成收入,同時(shí)促進(jìn)流域電站提效增產(chǎn),輻射帶動(dòng)區(qū)域經(jīng)濟(jì)發(fā)展,企業(yè)與老區(qū)群眾都從發(fā)電量增加、用工減少直接增加了經(jīng)濟(jì)效益。與此同時(shí),可靠、智能的控制技術(shù)開(kāi)發(fā)應(yīng)用于解決產(chǎn)業(yè)問(wèn)題,向技術(shù)創(chuàng)新要發(fā)展,要效益,切合國(guó)家發(fā)展戰(zhàn)略,加速老區(qū)人口脫貧致富,社會(huì)效益不可估量。