專利名稱:一種基于電力監(jiān)控的iec61850設計方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電力系統(tǒng)領(lǐng)域,具體涉及開發(fā)電力監(jiān)控的IEC61850的設計方法。
背景技術(shù):
目前普遍使用的基于電力通訊MMS協(xié)議的電力監(jiān)控IEC61850,其設計結(jié)構(gòu)和處理過程存在很多缺陷。常用的一種方法是采用同步的方式,發(fā)送和接收共用一個線程,首先檢查是否有命令要發(fā)送,并從發(fā)送隊列中取出一條命令,映射到MMS命令,發(fā)送給命令接收者,然后進入等待命令接收者回復的過程,在收到回復后進行命令的處理,然后檢查是否有命令要發(fā)送,進入一個收發(fā)的循環(huán)。這樣的處理方式看似簡單明了,但是它具有效率比較低下,實時性不高,無法實現(xiàn)接收和發(fā)送的并發(fā)處理的缺點,因此急一種更加高效,支持并發(fā)的處理方法。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題在于提供一種高效、運行穩(wěn)定,基于電力通訊匪S協(xié)議電力監(jiān)控IEC61850的設計方法。為解決上述技術(shù)問題,本發(fā)明通過以下技術(shù)方案來實現(xiàn)一種基于電力監(jiān)控的 IEC61850設計方法,其特征在于基于各種MMS報文服務器發(fā)送的報文,對MMS協(xié)議進行正確的編碼和解碼,再對MMS報文進行編碼和解碼,對解碼后的報文進行處理后得出結(jié)構(gòu),最后進行分析和存儲,整個系統(tǒng)設計過程包括以下步驟a、解析報文的流程采用邊檢查邊提取數(shù)據(jù),報文檢查完畢也同時完成了數(shù)據(jù)提取工作,如果中間發(fā)現(xiàn)錯誤便從錯誤出口退出,但仍然使用通過檢查報文中的數(shù)據(jù);b、匪S軟件設計包括各種匪S服務的編碼模塊、控制發(fā)送和解析報文的控制模塊、各種匪S報文的響應解析模塊;C、報文響應流程報文的響應包括確認響應、無確認響應和錯誤響應,接口接收來自MMS服務器報文后,首先確認報文類型,MMS軟件啟動報文解析函數(shù)對報文進行解析,另一方面調(diào)用反饋函數(shù),并發(fā)送反饋信息;d、整個IEC61850動態(tài)庫數(shù)據(jù)流通訊方案該方案為異步通信方式,解析處理報文和發(fā)送報文響應同時進行,收到服務器報文后,對報文進行響應處理,解析報文時對各類報文進行解析,得出解析結(jié)果,最后對得出的結(jié)構(gòu)進行存儲。根據(jù)IEC 61850和匪S的數(shù)據(jù)類型、SCSM映射特點以及ASN. 1編碼原理,所述存儲方案采用動態(tài)分配存儲空間方式,MMS數(shù)據(jù)類型遵循ASN. 1編碼規(guī)則,在讀數(shù)據(jù)定義的時候,通過編碼聲明數(shù)據(jù)的類型和范圍,分類定義時沒有對空間進行預分配,而是在讀到數(shù)據(jù)的類型定義后,根據(jù)它的最大長度動態(tài)分配存儲空間;數(shù)據(jù)類型統(tǒng)一,所有全部統(tǒng)一成字符型,以ASN. 1的編碼方式存儲;數(shù)據(jù)值備份,在分配空間時,共申請了兩塊這樣的內(nèi)存,一塊用來存放從服務器讀到的值,另一塊是冗余備份,當進行設置數(shù)據(jù)值寫入操作時,首先修改本地的值,然后形成編碼,最后實施操作,如果操作成功,將備份的數(shù)據(jù)值更新為修改值,否則使用備份值作為當前的有效數(shù)據(jù)值。進一步的,所述步驟a中報文出錯處理,對于相應的錯誤代碼在MMS協(xié)議上已經(jīng)定義好了的報文,程序采用獲取相應的返回錯誤,根據(jù)錯誤采用不同的方式進行處理的方式; 對于錯誤主要包括與服務器端建立連接時的一些基本錯誤,有兩個步驟進行處理,第一,在程序中有PING程序,如果PING的通,說名網(wǎng)絡是正常的,否則網(wǎng)絡不正常的,第二,在解析報文的函數(shù)中進行處理,如果是錯誤報文則拋棄該幀,如果沒有解析完,就沖掉該幀,第三, 根據(jù)PING的結(jié)果,如果PING的通的,則斷開連接,然后重新建立連接,如果PING不通的,就要報警了,告知用戶網(wǎng)絡可能中斷了,但是程序還是定時的去連接服務器,主要網(wǎng)絡通的就可以自動連接了。本發(fā)明采用邊檢查邊提取數(shù)據(jù),報文檢查完畢也同時完成了數(shù)據(jù)提取工作,如果中間發(fā)現(xiàn)錯誤便從錯誤出口退出,但仍然使用通過檢查報文中的數(shù)據(jù),其優(yōu)點是只需一次遍歷報文,提高了系統(tǒng)處理效率;其存儲方式采用動態(tài)存儲空間、統(tǒng)一數(shù)據(jù)類型、服務器數(shù)據(jù)和冗余數(shù)據(jù)備份同時存儲的存儲方式,即最大限度減少存儲使用空間,又使存儲數(shù)據(jù)簡單化,方便后期數(shù)據(jù)處理和調(diào)用;高效安全的報文出錯處理方案,進一步的提高系統(tǒng)的安全性和可靠性。
圖1為本發(fā)明報文解析流程圖;圖2為本發(fā)明匪S軟件模塊劃分圖;圖3為本發(fā)明響應報文流程圖;圖4為本發(fā)明報文處理流程圖;圖5為本發(fā)明整個IEC61850動態(tài)庫的數(shù)據(jù)流程圖。具體實時方式以下結(jié)合附圖對本發(fā)明作進一步詳細說明一種基于電力監(jiān)控的IEC61850設計方法,基于各種匪S報文服務器發(fā)送的報文, 對MMS協(xié)議進行正確的編碼和解碼,再對MMS報文進行編碼和解碼,對解碼后的報文進行處理后得出結(jié)構(gòu),最后進行分析和存儲,整個系統(tǒng)設計過程包括以下步驟a、解析報文的流程圖1所示,采用邊檢查邊提取數(shù)據(jù),報文檢查完畢也同時完成了數(shù)據(jù)提取工作,如果中間發(fā)現(xiàn)錯誤便從錯誤出口退出,但仍然使用通過檢查報文中的數(shù)據(jù),這樣處理報文就只需一次遍歷報文;b、匪S軟件設計圖2所示,包括各種匪S服務的編碼模塊、控制發(fā)送和解析報文的控制模塊、各種匪S報文的響應解析模塊,控制程序主要是控制發(fā)送報文和解析報文的對應關(guān)系,使程序的流程有,其中解碼模塊用一個線程來實現(xiàn)對各種服務響應報文的解碼;C、報文響應流程圖3、圖4所示,報文的響應包括確認響應、無確認響應和錯誤響應,接口接收來自MMS服務器報文后,首先確認報文類型,MMS軟件啟動報文解析函數(shù)對報文進行解析,另一方面調(diào)用反饋函數(shù),并發(fā)送反饋信息;d、整個IEC61850動態(tài)庫數(shù)據(jù)流通訊方案圖5所示,該方案為異步通信方式,解析處理報文和發(fā)送報文響應同時進行,收到服務器報文后,對報文進行響應處理,解析報文時對各類報文進行解析,得出解析結(jié)果,最后對得出的結(jié)構(gòu)進行存儲。實時例一數(shù)據(jù)存儲根據(jù)IEC 61850和匪S的數(shù)據(jù)類型、SCSM映射特點以及ASN. 1編碼原理,動態(tài)庫中DA類的定義如下
class CDA:public CElement {
public:
//公共成員函數(shù) protected:
//保護成員函數(shù) private
unsigned char *m_pValueO;//指向存放數(shù)據(jù)值的內(nèi)存地址 unsigned char *m_pValuel;//備份值 int m_maxLen;//C字段的最大長度
char m_type[20];//用字符串表示類型的值 ‘}該類的存儲結(jié)構(gòu)有三個特點1、動態(tài)分配存儲空間,匪S數(shù)據(jù)類型遵循ASN. 1編碼規(guī)則,在讀數(shù)據(jù)定義的時候,通過編碼聲明數(shù)據(jù)的類型和范圍,比如ASN. 1編碼8A 01 40,代表長度不超過64位的 Visible-string類型。類定義時沒有對空間進行預分配,而是在讀到數(shù)據(jù)的類型定義后,根據(jù)它的最大長度動態(tài)分配存儲空間。2、數(shù)據(jù)類型統(tǒng)一,不再按照IEC 61850或MMS分別定義數(shù)據(jù)類型,將它們?nèi)拷y(tǒng)一成字符型,以ASN. 1的編碼方式存儲。如下所示
權(quán)利要求
1.一種基于電力監(jiān)控的IEC61850設計方法,其特征在于基于各種MMS報文服務器發(fā)送的報文,對MMS協(xié)議進行正確的編碼和解碼,再對MMS報文進行編碼和解碼,對解碼后的報文進行處理后得出結(jié)構(gòu),最后進行分析和存儲,整個系統(tǒng)設計過程包括以下步驟a、解析報文的流程采用邊檢查邊提取數(shù)據(jù),報文檢查完畢也同時完成了數(shù)據(jù)提取工作,如果中間發(fā)現(xiàn)錯誤便從錯誤出口退出,但仍然使用通過檢查報文中的數(shù)據(jù);b、MMS軟件設計包括各種MMS服務的編碼模塊、控制發(fā)送和解析報文的控制模塊、各種MMS報文的響應解析模塊;c、報文響應流程報文的響應包括確認響應、無確認響應和錯誤響應,接口接收來自 MMS服務器報文后,首先確認報文類型,MMS軟件啟動報文解析函數(shù)對報文進行解析,另一方面調(diào)用反饋函數(shù),并發(fā)送反饋信息;d、整個IEC61850動態(tài)庫數(shù)據(jù)流通訊方案該方案為異步通信方式,解析處理報文和發(fā)送報文響應同時進行,收到服務器報文后,對報文進行響應處理,解析報文時對各類報文進行解析,得出解析結(jié)果,最后對得出的結(jié)構(gòu)進行存儲。
2.根據(jù)權(quán)利要求1所述的基于電力監(jiān)控的IEC61850設計方法,其特征在于根據(jù)IEC 61850和匪S的數(shù)據(jù)類型、SCSM映射特點以及ASN. 1編碼原理,所述存儲方案采用動態(tài)分配存儲空間方式,MMS數(shù)據(jù)類型遵循ASN. 1編碼規(guī)則,在讀數(shù)據(jù)定義的時候, 通過編碼聲明數(shù)據(jù)的類型和范圍,分類定義時沒有對空間進行預分配,而是在讀到數(shù)據(jù)的類型定義后,根據(jù)它的最大長度動態(tài)分配存儲空間;數(shù)據(jù)類型統(tǒng)一,所有全部統(tǒng)一成字符型,以ASN. 1的編碼方式存儲;數(shù)據(jù)值備份,在分配空間時,共申請了兩塊這樣的內(nèi)存,一塊用來存放從服務器讀到的值,另一塊是冗余備份,當進行設置數(shù)據(jù)值寫入操作時,首先修改本地的值,然后形成編碼, 最后實施操作,如果操作成功,將備份的數(shù)據(jù)值更新為修改值,否則使用備份值作為當前的有效數(shù)據(jù)值。
3.根據(jù)權(quán)利要求1所述的基于電力監(jiān)控的IEC61850設計方法,其特征在于所述步驟a中報文出錯處理,對于相應的錯誤代碼在MMS協(xié)議上已經(jīng)定義好了的報文, 程序采用獲取相應的返回錯誤,根據(jù)錯誤采用不同的方式進行處理的方式;對于錯誤主要包括與服務器端建立連接時的一些基本錯誤,有兩個步驟進行處理,第一,在程序中有PING程序,如果PING的通,說名網(wǎng)絡是正常的,否則網(wǎng)絡不正常的,第二,在解析報文的函數(shù)中進行處理,如果是錯誤報文則拋棄該幀,如果沒有解析完,就沖掉該幀, 第三,根據(jù)PING的結(jié)果,如果PING的通的,則斷開連接,然后重新建立連接,如果PING不通的,就要報警了,告知用戶網(wǎng)絡可能中斷了,但是程序還是定時的去連接服務器,主要網(wǎng)絡通的就可以自動連接了。
全文摘要
本發(fā)明公開了一種基于電力監(jiān)控的IEC61850設計方法,它是基于各種MMS報文服務器發(fā)送的報文,對MMS協(xié)議進行正確的編碼和解碼,再對MMS報文進行編碼和解碼,整個系統(tǒng)設計過程包括以下步驟a、解析報文的流程;b、MMS軟件設計;c、報文響應流程;d、整個IEC61850動態(tài)庫數(shù)據(jù)流通訊方案,該方案為異步通信方式,解析處理報文和發(fā)送報文響應同時進行,收到服務器報文后,對報文進行響應處理,解析報文時對各類報文進行解析,得出解析結(jié)果,最后對得出的結(jié)構(gòu)進行存儲。本發(fā)明采用邊檢查邊提取數(shù)據(jù),其存儲方式采用動態(tài)存儲空間、同意數(shù)據(jù)類型、服務器數(shù)據(jù)和冗余數(shù)據(jù)備份同時存儲的存儲方式,高效安全的報文出錯處理方案,進一步提高系統(tǒng)的安全性和可靠性。
文檔編號H04L29/06GK102281289SQ20111020115
公開日2011年12月14日 申請日期2011年7月18日 優(yōu)先權(quán)日2011年7月18日
發(fā)明者丁建義, 劉正方, 廖民康, 張孝山, 林峰平 申請人:深圳市康必達中創(chuàng)科技有限公司