專利名稱:電能計量設(shè)備的自動采集系統(tǒng)的專用語言實現(xiàn)方法
技術(shù)領(lǐng)域:
電通訊技術(shù)領(lǐng)域。一種自動采集系統(tǒng),對多種電能計量設(shè)備進(jìn)行采集,在系統(tǒng)實現(xiàn)時采用了專用編程語言。
背景技術(shù):
隨著電力系統(tǒng)規(guī)模的不斷擴(kuò)大,電網(wǎng)管理自動化水平的不斷提高,自動化系統(tǒng)在各省供電局得到越來越廣泛的應(yīng)用,系統(tǒng)基本能夠?qū)崿F(xiàn)各項功能但也存在一些問題,主要有1)各系統(tǒng)間數(shù)據(jù)資源不能很好地共享不同軟件開發(fā)商開發(fā)的產(chǎn)品由于存在所用數(shù)據(jù)庫不同、數(shù)據(jù)結(jié)構(gòu)不同或數(shù)據(jù)類型不同等各種差異而不能實現(xiàn)不同系統(tǒng)之間的數(shù)據(jù)資源共享。
2)各廠家開發(fā)的各種系統(tǒng)兼容性不理想由于不同軟件開發(fā)廠家開發(fā)的產(chǎn)品沒有很好的可移植性和互換性,導(dǎo)致系統(tǒng)間的兼容性不高。
發(fā)明內(nèi)容
發(fā)明的目的為解決系統(tǒng)之間的兼容性問題提供一種解決方案,實現(xiàn)提高電力自動化系統(tǒng)開發(fā)的速度。
發(fā)明的技術(shù)方案根據(jù)電力系統(tǒng)的特點,制定出了電力系統(tǒng)編程語言的規(guī)范。該語言在Win32下提供了該語言編譯工具,可以方便開發(fā)者進(jìn)行實際的Win32應(yīng)用程序開發(fā)。使用該語言開發(fā)一種自動采集系統(tǒng),能對多種電能計量設(shè)備進(jìn)行采集。
該語言程序開發(fā)的過程編寫代碼→解釋成標(biāo)準(zhǔn)語言代碼→編譯成目標(biāo)文件→連接成可執(zhí)行程序→執(zhí)行→生成該語言接口文件→提供給其它應(yīng)用程序→調(diào)用語言代碼為用戶編寫的一系列的文本文件,其中可以嵌入各種各樣的語言和系統(tǒng)接口;通過該語言的解釋程序,將語言代碼解釋成標(biāo)準(zhǔn)的代碼;編譯工具做了兩件事情,第一是生成可執(zhí)行程序,第二是生成了外部調(diào)用接口文件,前者用于單一功能應(yīng)用程序的開發(fā),后者可以用來作為某一特定功能模塊的開發(fā)。就這兩點具體介紹如下一、該語言的幾種特殊變量1.電能量數(shù)據(jù)系列Energy/Energyd該語言定義了針對電力行業(yè)的電能量數(shù)據(jù)類型Energy/Energyd。
Energy數(shù)據(jù)類型用于記錄線路或測點上的電能表底值;由于表底值必然和某一個時刻相互關(guān)聯(lián),因而Energy內(nèi)部還包含一個時間計數(shù)器;根據(jù)表底值類型的不同,Energy內(nèi)部提供3個標(biāo)志quaternion、tern、bool,用于記錄該電能值的象限,類型等。
Energyd數(shù)據(jù)類型用于記錄線路或測點上的電能增量值;由于增量值必然和某一個時間段相互關(guān)聯(lián),因而Energy內(nèi)部還包含兩個時間計數(shù)器;Energyd內(nèi)部同樣提供3個標(biāo)志quaternion、tern、bool,用于記錄該電能值的象限,類型等。
Energy數(shù)據(jù)類型定義的變量可進(jìn)行減法運算,運算結(jié)果為Energyd。Energy變量不可以進(jìn)行加法運算。Energy和Energyd相加得到Energy。
Energyd本身支持加法和減法,支持?jǐn)?shù)乘和數(shù)除運算。
Energy/Energyd變量組實質(zhì)上定義了標(biāo)準(zhǔn)的電能量數(shù)據(jù)類型。無論是從數(shù)據(jù)庫讀取數(shù)據(jù)和電能數(shù)據(jù)管理系統(tǒng)中的數(shù)據(jù)共享和傳輸都采用統(tǒng)一的數(shù)據(jù)格式,從而保證了不同的數(shù)據(jù)庫結(jié)構(gòu)下的數(shù)據(jù)共享。如果在不同的采集終端采集數(shù)據(jù),因為通信規(guī)約的不同還會導(dǎo)致用戶在進(jìn)行數(shù)據(jù)存取時的混亂,通過該數(shù)據(jù)類型獲得電能量數(shù)據(jù)就可以保證電能數(shù)據(jù)的一致性。
2.特殊標(biāo)志變量在Energy變量中有兩個特殊的標(biāo)志quaternion、tern,正是該語言中專門定義的4布爾型和3布爾型。這兩個標(biāo)志為電能數(shù)據(jù)的標(biāo)識提供了更為簡潔的支持。
quaternion、tern數(shù)據(jù)類型定義的標(biāo)志標(biāo)量具有其鮮明的電力特色,主要表現(xiàn)在◆quaternion定義了電能數(shù)據(jù)的象限序號,解決了電能數(shù)據(jù)的正反向有無功的分歧。
◆tern定義了電能數(shù)據(jù)操作狀態(tài)的標(biāo)識,能夠很好地為電能數(shù)據(jù)不可更改提供代碼級的支持。
◆上述兩種變量都支持特殊的性質(zhì),比如tern的自動變值和不可逆性,quaternion的只能在初始的時候賦值,賦值之后不許改變。
3.超長整數(shù)類型電力自動化系統(tǒng)的安全性非常重要。對數(shù)據(jù)進(jìn)行校驗和審核、數(shù)據(jù)的加密和解密都需要用到特殊的長整型數(shù)據(jù)類型。而通常的程序設(shè)計語言最多只支持到64位的整數(shù)類型,這遠(yuǎn)遠(yuǎn)不能夠滿足當(dāng)下流行的長數(shù)據(jù)加密算法的要求。而語言支持的int10數(shù)據(jù)類型,對每個變量支持512位容量,可采用直接的加密解密算法?,F(xiàn)代芯片技術(shù)將支持?jǐn)?shù)據(jù)量更大的系統(tǒng)總線、存儲媒質(zhì)的存儲量海量增加,都預(yù)示著需要有一種更為寬泛的數(shù)據(jù)類型。語言的長整數(shù)類型正好滿足了這一趨勢,并且具有良好的擴(kuò)展定義。
二、該語言與外部的接口該語言的一個很大的優(yōu)點是可以嵌入其它語言的程序,所以該語言的接口是其最大的特點之一。該語言語法中提供了三類主要接入方式,支持對其它程序設(shè)計語言的調(diào)用、其它應(yīng)用程序和模塊的調(diào)用、各種數(shù)據(jù)庫的接入。
在該語言的偽指令中,提供了2類主要接入方式的標(biāo)識E_LOAD_LANGUAGE/END_LOAD_LANGUAGE和E_LOAD_COMPONENT/END_LOAD_COMPONENT;并支持ODBC對象的聲明和連接E_LOCKODBC。
1.該語言程序的接口該語言的源代碼編寫中支持對其它語言的源代碼的嵌入。
該嵌入遵循以下約束◆以偽指令來開始和終止一段嵌入。
E_LOAD_LANGUAGEEND_LOAD_LANGUAGE◆需要初始化偽指令變量。
指定環(huán)境變量LANGUAGE=“”;LANGUAGE等同于一個常量,只能在E_LOAD_LANGUAGE語句后賦值初始化,但可以在其它位置調(diào)用。
COMPILER=”\root\dev\c\”;COMPILER等同于一個變量,在預(yù)定義文件中有默認(rèn)定義,但是可以在LANGUAGE語句后進(jìn)行修改。跳出END_LOAD_LANGUAGE后自動恢復(fù)默認(rèn)定義。
3.該語言程序和其它程序的接口該語言的源代碼編寫中支持對其它應(yīng)用系統(tǒng)的嵌入。
該嵌入遵循以下約束◆偽指令來開始和終止一段嵌入。
E_LOAD_COMPONENTEND_LOAD_COMPONENT◆要初始化偽指令變量。
指定環(huán)境變量COMPONENT_SOURCE=”\root\comp\”;COMPONENT_SOURCE等同于一個常量,只能在E_LOAD_COMPONENT語句后賦值初始化,但可以在其它位置調(diào)用。
COMPONENT=“d11”;COMPONENT等同于一個變量,在預(yù)定義文件中有默認(rèn)定義,但是可以在COMPONENT_SOURCE語句后進(jìn)行修改。跳出END_LOAD_COMPONENT后自動恢復(fù)默認(rèn)定義。
◆可以使用非嵌入模塊中修飾為general的變量。
◆特別地,可以通過←→操作進(jìn)行數(shù)據(jù)傳輸◆特別地,可以將內(nèi)部的對象修飾成general變量讓外部調(diào)用。
4.語言程序和數(shù)據(jù)庫的接口該語言支持?jǐn)?shù)據(jù)庫的標(biāo)準(zhǔn)ODBC調(diào)用。
該語言還可以通過偽指令實現(xiàn)數(shù)據(jù)庫的直接增刪改查操作。該接口方式類似于部件變量的嵌入。事實上,該語言中就是把數(shù)據(jù)庫對象看成了一個應(yīng)用程序部件;為了操作的方便性,該語言對這個數(shù)據(jù)庫應(yīng)用程序部件提供了更強大的支持。
該嵌入遵循以下約束◆偽指令來開始和終止一段嵌入。
E_LOAD_COMPONENT_DBEND_LOAD_COMPONENT_DB◆需要初始化偽指令變量。
指定環(huán)境變量COMPONENT_SOURCE=”\root\db\”;COMPONENT_SOURCE等同于一個常量,只能在E_LOAD_COMPONENT語句后賦值初始化,但可以在其它位置調(diào)用。
◆使用非嵌入模塊中修飾為general的變量。
◆特別地,支持Add/Del/Update/Query(ADUQ)四種偽指令函數(shù)操作。通過←→操作進(jìn)行數(shù)據(jù)傳輸◆特別地,可以將內(nèi)部的對象修飾成general變量讓外部調(diào)用。外部調(diào)用也支持ADUQ操作。
有益效果因為本編程語言在規(guī)范上考慮了電力系統(tǒng)的特點,所以,可以提高電力系統(tǒng)軟件開發(fā)的速度;并且編程語言的規(guī)范還考慮了軟件之間的兼容問題,能夠?qū)崿F(xiàn)各軟件之間的兼容。用這種語言實現(xiàn)的自動采集系統(tǒng),能對多種電能計量設(shè)備進(jìn)行采集。
權(quán)利要求
1.一種自動采集系統(tǒng),其特征是針對多種電能計量設(shè)備進(jìn)行采集。
2.一種自動采集系統(tǒng),其特征是使用了一種專用編程語言。
3.根據(jù)權(quán)利要求2所述的編程語言,其特征是具有電力方面特色。
4.根據(jù)權(quán)利要求3所述的編程語言,其特征是具有電力特色的變量類型。
5.根據(jù)權(quán)利要求3或4所述的編程語言,其特征是變量類型中含有電能量數(shù)據(jù)類型。
6.根據(jù)權(quán)利要求5所述的編程語言,其特征是電量數(shù)據(jù)類型中含有電能值的象限、類型的標(biāo)志。
7.根據(jù)權(quán)利要求3或4所述的編程語言,其特征是變量類型中含有自定義長度的數(shù)據(jù)類型。
8.根據(jù)權(quán)利要求3所述的編程語言,其特征是有與數(shù)據(jù)庫的接口。
9.根據(jù)權(quán)利要求3所述的編程語言,其特征是有與其它語言程序之間的接口。
10.根據(jù)權(quán)利要求1所述的電能計量設(shè)備,其特征是電能表、電能采集終端、電能采集模塊。
全文摘要
一種自動采集系統(tǒng),能對多種電能計量設(shè)備進(jìn)行采集,在系統(tǒng)實現(xiàn)時采用了專用編程語言。這種編程語言具有電力方面的特點。這種語言有適合電力系統(tǒng)的變量類型,比如電能計量設(shè)備的變量類型,可以適應(yīng)于多種電能計量設(shè)備數(shù)據(jù)采集;比如energy變量類型,從這個變量類型中除了可以得到電量的數(shù)值大小外,還能得到電量所處的象限,及得到電量值發(fā)生的時刻等。這種語言針對于其它形式的程序語言預(yù)留了該語言的代碼嵌入接口,從而保證了程序設(shè)計語言級別的通用性,有利于實現(xiàn)語言之間的兼容性,方便各種軟件之間的接口。
文檔編號G01R21/00GK1621852SQ20031011683
公開日2005年6月1日 申請日期2003年11月28日 優(yōu)先權(quán)日2003年11月28日
發(fā)明者章柏幸, 劉靜芳, 王俊華, 韓勁松 申請人:北京津誠信業(yè)技術(shù)有限公司