張長利 房俊龍 王樹文
(東北農(nóng)業(yè)大學電氣工程系,哈爾濱 150030)
自動抄表系統(tǒng)是指利用微電子技術(shù)、通信技術(shù)和計算機網(wǎng)絡(luò)技術(shù)自動讀取計量表數(shù)據(jù),并將城市居民的用電信息加以綜合處理并發(fā)布的系統(tǒng)。長久以來,供電企業(yè)對電能表數(shù)據(jù)的發(fā)布都是采用人工派遣的作業(yè)方式,即每月定期派人到各用電用戶處將用電費用報知用戶,同時手工抄取下一次的電量,但傳統(tǒng)的人工發(fā)布信息和抄表方式存在不足。第一,隨著電力負荷的急劇增長,需要人工發(fā)布信息和抄錄的電表數(shù)量也隨之增加,因此使用傳統(tǒng)的信息發(fā)布和抄錄方式必將消耗大量的人力資源和物質(zhì)資源。第二,供電企業(yè)為了適應(yīng)市場化和規(guī)?;男枰?,采用了一戶一表以及直供到戶等營銷措施,這就造成了當供電企業(yè)想要把它所管轄區(qū)域內(nèi)的用戶用電情況匯總時必然會付出額外的通信成本。最后,傳統(tǒng)的手工抄表方式也不可能對用戶的用電情況進行實時監(jiān)測?;谝陨显?,傳統(tǒng)的信息發(fā)布和手工抄表的工作方式已經(jīng)無法滿足現(xiàn)代用電管理的要求,因此有必要提出一種新型的電量發(fā)布和查詢系統(tǒng)來從根本上解決傳統(tǒng)人工發(fā)布用電信息的不足。
在歐美和日本等一些發(fā)達國家和地區(qū),自動抄表系統(tǒng)終端己經(jīng)得到了廣泛的應(yīng)用。進入 20世紀90年代后,計算機技術(shù)、超大規(guī)模集成電路和通信技術(shù)的高速發(fā)展,使得 AMR系統(tǒng)在向低功耗、低成本和高性能方向發(fā)展。通信領(lǐng)域的最新成果不斷應(yīng)用到數(shù)據(jù)傳輸中,因此無線自動抄表技術(shù)作為信息技術(shù)和工業(yè)領(lǐng)域的一個重要子系統(tǒng),已經(jīng)有了深厚的技術(shù)積累,市場前景相當廣闊[1]。此外,還有的國家采用類似以色列的抄表方式,各用戶電能表將用電的各種數(shù)據(jù)按采集的時間順序傳輸?shù)焦╇娮儔浩鞲綆У募衅髦?,把各用戶的用電?shù)據(jù)處理后,利用有線或無線的傳輸方式將數(shù)據(jù)定期傳輸給電力局的計算機系統(tǒng)[2]。經(jīng)計算后,再用有線傳輸方式把各用戶的電費數(shù)據(jù)傳輸?shù)姐y行以進行劃撥。
我國在自動抄表上的研究還處于起步階段,因此電量的網(wǎng)絡(luò)化發(fā)布也處于萌芽狀態(tài),雖然在我國已經(jīng)有諸如福建、重慶等省市的電業(yè)部門提供網(wǎng)上電量查詢服務(wù),但是由于還主要采用手工抄表方式作業(yè),T同時在錄入數(shù)據(jù)庫上也是多采用手工方式,效率低下的同時不能保證錄入的準確性[3-4]。此外由于手工錄入工作繁重,不能達到實時發(fā)布和監(jiān)控的作用,因此出現(xiàn)了許多查詢網(wǎng)站很多時候無法連接入數(shù)據(jù)庫的情況,極大的耗費電業(yè)部門的人力資源和物力資源,也給查詢用戶帶來了諸多不便。
本文在深入研究現(xiàn)有國內(nèi)外的抄表服務(wù)器系統(tǒng)并分析其各自優(yōu)缺點的基礎(chǔ)上,結(jié)合網(wǎng)站構(gòu)建的自身特點,設(shè)計了一種基于ARM和LAMP技術(shù)的電力遠程自動抄表服務(wù)器系統(tǒng)。
自動抄表服務(wù)器系統(tǒng)的硬件開發(fā)平臺主要由上位機PC機、ARM9S3C2410處理器、DM9000E網(wǎng)卡接口芯片、SP3485芯片以及RS485串口構(gòu)成。本實驗采用了MagicARM2410處理器,該處理器可使用μC/OS-II、Linux和WinCE操作系統(tǒng),支持QT、MiniGUI圖形系統(tǒng),集眾多功能于一身的ARM9開發(fā)平臺[5]。同時采用了32位S3C2410 RISC處理器,為手持設(shè)備和一般類型的應(yīng)用提供了低功耗、低價格、高性能微控制器的解決方案。該硬件平臺主要是通過Internet完成計算機與ARM開發(fā)機的連接,可以實現(xiàn) PC主機對測試設(shè)備的實時數(shù)據(jù)采集和對設(shè)備狀態(tài)的實時監(jiān)控。通過 S3C2410和 DM9000E組建的網(wǎng)絡(luò)接口電路可將測試測量的數(shù)據(jù)方便快速的傳送到服務(wù)器計算機,同時可以完成服務(wù)器計算機對ARM開發(fā)板的實時監(jiān)控,拓展了ARM測試測量設(shè)備的應(yīng)用范圍。在 ARM 平臺上通過采用SP3485芯片與 S3C2410芯片級聯(lián),實現(xiàn)一組 485串口實時傳輸數(shù)據(jù),通過以太網(wǎng)卡與ARM的相連,就可以實現(xiàn)數(shù)據(jù)的快速和準確地傳輸。
本文選用 Linux操作系統(tǒng),將以往部分在Windows操作系統(tǒng)上的開發(fā)工作完全移植到目前非常流行的Ubuntu系統(tǒng)中,真正實現(xiàn)了全Linux平臺開發(fā)。系統(tǒng)軟件主要是分為兩個部分,一是 ARM Linux中的嵌入式人機界面程序,另一個是上位PC機為服務(wù)器的抄表、數(shù)據(jù)庫和網(wǎng)絡(luò)服務(wù)器的程序。無論是ARM中的人機界面程序還是PC機中數(shù)據(jù)庫服務(wù)器程序,軟件的開發(fā)模擬主要集中在Ubuntu操作系統(tǒng)中來完成。
搭建一套完整的網(wǎng)絡(luò)服務(wù)器,目前國際上有多種實現(xiàn)方法,但是總結(jié)這些方法可以看出,搭建網(wǎng)絡(luò)服務(wù)器最主要是要看搭建所需要的軟件和操作系統(tǒng),由于本文采用了以Linux為操作系統(tǒng)的開發(fā)平臺,所以在此平臺上這里選用了目前國際最為流行的一套網(wǎng)絡(luò)服務(wù)器開發(fā)套件LAMP。
對于PHP網(wǎng)絡(luò)腳本語言、MySQL數(shù)據(jù)庫和Qt系列編程語言,一套完整使用的開發(fā)平臺可以極大的簡化程序開發(fā)的難度,因此需要一套完整的在Linux下工作的開發(fā)平臺套件。因此本文選用了三種不同的開發(fā)套件:用Eclipse來開發(fā)Qt系列軟件,用 Bluefish來開發(fā) PHP網(wǎng)絡(luò)腳本程序,用phpMyAdmin來管理MySQL數(shù)據(jù)庫。
交叉編譯是在一種平臺上編譯出能運行在體系結(jié)構(gòu)不同的另一種平臺上的程序。為了實現(xiàn)跨平臺程序的編譯因此需要一種跨平臺的編譯器,這種編譯器就是交叉編譯器。所以在生成的目標機上運行的程序,必須要用交叉編譯工具鏈內(nèi)的編譯器來重新編譯,以達到編譯出來的程序可在另一平臺體系中運行。交叉編譯工具鏈是一個由編譯器、連接器和解釋器組成的綜合開發(fā)環(huán)境,交叉編譯工具鏈主要由binutils、gcc和glibc三個部分組成。
本文通過Crosstool腳本工具來實現(xiàn)一次編譯生成交叉編譯工具鏈,了解了交叉編譯的步驟和構(gòu)建的全貌,該方法出錯的機會較少,軟件依賴性也相對較少。在此基礎(chǔ)上,深入探討了交叉編譯的機理,進行了分步編譯和安裝交叉編譯工具鏈所需要的庫和源代碼,最終生成交叉編譯工具鏈,為將來創(chuàng)建其他平臺的交叉編譯工具鏈打下基礎(chǔ)。
ARM 平臺伺服程序設(shè)計是本文實現(xiàn)抄表系統(tǒng)的基礎(chǔ),這部分需要Linux下C語言、qtopia腳本語言和交叉工具鏈共同完成。首先,實現(xiàn) ARM 平臺與 PC機連接和等待發(fā)送抄表命令的程序,因此使用Linux下C語言編程來實現(xiàn)。其次,為了使ARM平臺能夠可視化操作該伺服程序系統(tǒng),本文運用qtopia腳本語言開發(fā)了一套簡易的人機操作互動界面。最后,由于以上的伺服程序和人機界面是在PC機下開發(fā)的,而最終的目標是移植到ARM平臺下,因此通過制作好的交叉編譯工具鏈對編寫好的程序源代碼進行重新編譯,將編譯好的可執(zhí)行二進制文件拷貝或者下載到ARM平臺下,就可以通過ARM平臺的觸摸屏來對其進行操作。
作為Linux下的套接字(socket)實現(xiàn)網(wǎng)絡(luò)編程的Client端,PC機端可以向ARM平臺發(fā)送抄表指令,并將 ARM 傳送回來的電量數(shù)據(jù)直接錄入到設(shè)計好的數(shù)據(jù)庫中,省去了以往傳輸數(shù)據(jù)后再手工逐一錄入到網(wǎng)絡(luò)服務(wù)器數(shù)據(jù)庫的繁瑣過程。本文采用了十分流行的網(wǎng)站架構(gòu)LAMP技術(shù),LAMP是指代Linux操作系統(tǒng)、Apache網(wǎng)絡(luò)服務(wù)器、MySQL數(shù)據(jù)庫和PHP(Perl或Python)腳本語言的組合。由于網(wǎng)站架設(shè)和ARM平臺開發(fā)都在Linux操作系統(tǒng)下完成,因此本研究可以完全實現(xiàn)全 Linux操作系統(tǒng)下的操作,避免了由于使用Windows操作系統(tǒng)帶來的軟件不兼容問題。
本文利用了嵌入式 ARM 技術(shù)構(gòu)建了一個用于小區(qū)電表電量采集的電力遠程自動抄表系統(tǒng),同時采用目前最為流行的網(wǎng)絡(luò)架構(gòu)LAMP技術(shù)構(gòu)建了一套電量信息網(wǎng)絡(luò)發(fā)布服務(wù)器。該系統(tǒng)的抄表部分下位機結(jié)構(gòu)比較簡單,而上位機部分因為融合網(wǎng)絡(luò)服務(wù)器因此較為復雜。然而,正因為利用了這種相對復雜的查抄和網(wǎng)絡(luò)服務(wù)器技術(shù),構(gòu)造了一個高穩(wěn)定性、操作簡單的抄表系統(tǒng),拓寬了傳統(tǒng)抄表和發(fā)布的局限性,該抄表系統(tǒng)不僅僅可以用來抄收電量,同時還可以用在抄水表、燃氣表上面,具有廣闊的應(yīng)用前景。
[1]曾乃鴻.自動抄表技術(shù)在北美的發(fā)展[J].供用電.2002,13(1)∶48-50.
[2]王輝.基于蜂窩網(wǎng)絡(luò)的無線抄表系統(tǒng)[D]. 浙江工業(yè)大學碩士學位論文,2006∶8-9.
[3]李文進, 韓曉萍.基于 ARM 平臺的變電站遠程抄表系統(tǒng)[J].電力自動化設(shè)備,2005,5(11)∶85-85.
[4]趙聞蕾.基于M-BUS總線的遠程智能抄表系統(tǒng)[J].電力自動化設(shè)備. 2004,24(12)∶61-63.
[5]王松月,楊福興.基于ARM920T嵌入式通信控制系統(tǒng)設(shè)備驅(qū)動開發(fā)研究[J].微型電腦應(yīng)用,2006,22(10)∶21-24.