一種變電站自動化系統(tǒng)通信協(xié)議動態(tài)實現(xiàn)方法
【專利摘要】本發(fā)明公開了一種變電站自動化系統(tǒng)通信協(xié)議動態(tài)實現(xiàn)方法,包括分析通信協(xié)議的文本描述,將其轉換成有限狀態(tài)機,有限狀態(tài)機有限狀態(tài)集、事件輸入集、處理動作集、狀態(tài)變遷的映射函數集和初始狀態(tài)5部分組成;分別將有限狀態(tài)集、事件輸入集、處理動作集用基本格式表達,所述基本格式為:“關鍵字=描述字符串”;編寫映射函數集,包括從左至右順序編寫的:當前狀態(tài)、接收輸入報文、執(zhí)行運行操作和當前狀態(tài)轉化結果;對腳本語言中的關鍵字進行統(tǒng)一定義;對腳本語言中的語法進行統(tǒng)一說明。本發(fā)明將有限狀態(tài)機應用于通信協(xié)議建模中,通過建構一個通信協(xié)議實現(xiàn)框架,實現(xiàn)了通信協(xié)議的配置化。
【專利說明】一種變電站自動化系統(tǒng)通信協(xié)議動態(tài)實現(xiàn)方法
【技術領域】
[0001] 本發(fā)明涉及一種變電站自動化系統(tǒng)通信協(xié)議動態(tài)實現(xiàn)方法,屬于通信【技術領域】。
【背景技術】
[0002] 目前國內變電站自動化系統(tǒng)中通信規(guī)約種類繁多,既有由各標準化組織制定的 標準通信協(xié)議,如IEC60870系列,MODBUS,DNP,⑶T等,也有各設備廠家自定義的非標協(xié) 議。但即使是廣泛使用的IEC60870系列標準協(xié)議,其4種配套標準:IEC60870-5-101、 IEC60870-5-102、IEC60870-5-103、IEC60870-5-104,由于制定周期較長,協(xié)議中可選項較 多,各地區(qū)使用單位、各裝置生產廠家對協(xié)議的理解不同,4種配套標準都出現(xiàn)了很多子版 本。
[0003] 變電站通信管理機作為變電站數據中心,需要與站內各智能設備和不同調度主站 通信,由于協(xié)議的多樣性和通信管理機內部協(xié)議處理過程的不可見性,通常通信接口調試 工作需要占用較多的調試時間。同時、通信管理機需要維護一個數量巨大的協(xié)議庫,對協(xié)議 的任何修改都需要改動通信管理機的程序,也增大了通信管理機廠家的版本管理的難度。
[0004] 目前,計算機科學領域內的有限狀態(tài)機理論一般用于對系統(tǒng)的動態(tài)行為建模,通 過用狀態(tài)圖來可視化表示,是對反應式系統(tǒng)建模的強大工具。近20年來,有限狀態(tài)機和狀 態(tài)圖的形式化機制得到了很多研究,有效地支持了各種復雜行為的建模。
【發(fā)明內容】
[0005] 本發(fā)明的目的在于提供一種基于有限狀態(tài)機和自定義腳本語言的變電站自動化 系統(tǒng)通信協(xié)議動態(tài)實現(xiàn)方法,將有限狀態(tài)機應用于通信協(xié)議建模中,通過建構一個通信協(xié) 議實現(xiàn)框架,實現(xiàn)通信協(xié)議的配置化。
[0006] 為達到上述目的,本發(fā)明所采用的技術方案是:一種變電站自動化系統(tǒng)通信協(xié)議 動態(tài)實現(xiàn)方法,包括如下步驟:
[0007] 步驟一:分析通信協(xié)議的文本描述,將其轉換成有限狀態(tài)機,有限狀態(tài)機由:用于 描述發(fā)送報文的有限狀態(tài)集、用于描述接收報文的事件輸入集、用于表示處理行為的處理 動作集、用于表示有限狀態(tài)機間的狀態(tài)變遷的映射函數集和初始狀態(tài)5部分組成;
[0008] 步驟二:分別將有限狀態(tài)集、事件輸入集、處理動作集用基本格式表達,所述基本 格式為:"關鍵字=描述字符串";
[0009] 步驟三:編寫映射函數集,包括從左至右順序編寫的:當前狀態(tài)、接收輸入報文、 執(zhí)行運行操作和當前狀態(tài)轉化結果;
[0010] 步驟四:對腳本語言中的關鍵字進行統(tǒng)一定義,包括:有限狀態(tài)機關鍵字定義、發(fā) 送接收表達式關鍵字定義、處理表達式關鍵字定義和計算表達式關鍵字定義;
[0011] 步驟五:對腳本語言中的語法進行統(tǒng)一說明,包括:有限狀態(tài)集語法說明、事件輸 入集語法說明、處理動作集語法說明和映射函數集語法說明。
[0012] 進一步的,所述有限狀態(tài)集是從通信協(xié)議中提取的所有發(fā)送命令。
[0013] 進一步的,所述事件輸入集是從通信協(xié)議中提取的所有接收命令。
[0014] 進一步的,所述描述字符串為立即數。
[0015] 進一步的,所述描述字符串為計算表達式。
[0016] 進一步的,所述描述字符串由多個子串組成,每個子串格式為"關鍵字:計算表達 式"。
[0017] 與現(xiàn)有技術相比,本發(fā)明所達到的有益效果是:
[0018] (1)提供了一種基于有限狀態(tài)機和自定義腳本語言的變電站自動化系統(tǒng)通信協(xié)議 動態(tài)實現(xiàn)方法,無論是客戶端還是服務端協(xié)議,也無論協(xié)議為平衡式或非平衡式,變電站通 信管理機都可采用同一通信模塊和自定義腳本語言實現(xiàn),實現(xiàn)了通信協(xié)議的配置化;
[0019] (2)本發(fā)明定義了一種腳本語言描述通信協(xié)議,通過對腳本語言的編程控制有限 狀態(tài)機處理器的運行,不同的通信協(xié)議對應不同的腳本程序,相同的通信協(xié)議腳本程序也 相同,日積月累可形成一個豐富的腳本程序庫,方便現(xiàn)場使用;
[0020] (3)有限狀態(tài)集、事件輸入集、處理動作集均采用統(tǒng)一的基本格式:"關鍵字=描 述字符串",這三種表達式格式統(tǒng)一,易學易用;
[0021] (4)自定義的腳本語言具有擴展性,方便以后功能擴展。
【專利附圖】
【附圖說明】
[0022] 圖1是采用本發(fā)明的問答式通信協(xié)議處理流程圖。
【具體實施方式】
[0023] 下面結合附圖對本發(fā)明作進一步描述。以下實施例僅用于更加清楚地說明本發(fā)明 的技術方案,而不能以此來限制本發(fā)明的保護范圍。
[0024] 步驟一:分析通信協(xié)議的文本描述,將其轉換成有限狀態(tài)機。
[0025] 有限狀態(tài)機由以下5部分組成:
[0026] 有限狀態(tài)集:是從通信協(xié)議中提取的所有發(fā)送命令,用于描述發(fā)送報文,可以 用[STATE_x]表示有限狀態(tài)集代碼,其中,X為數字,每個有限狀態(tài)集的由發(fā)送報文編碼 packet和發(fā)送報文名稱send_type組成,發(fā)送報文編碼packet為必有項。
[0027] 事件輸入集:是從通信協(xié)議中提取的所有接收命令,用于描述接收報文,以 [INPUT_x]表示,每個事件輸入集由接收報文編碼packet和接收報文名稱rece_type組成, 其中packet為必有項。
[0028] 處理動作集:根據當前狀態(tài)[STATE_x]和當前輸入[INPUT_x],按照通信協(xié)議編寫 [0UTPUT_x],用于表示對應的處理行為。
[0029] 映射函數集:根據當前狀態(tài)[STATE_x]和當前輸入[INPUT_x],按照通信協(xié)議編寫 [TRANSLATE_x],用于表示有限狀態(tài)機間的狀態(tài)變遷。
[0030] 初始狀態(tài):表示有限狀態(tài)機的初始狀態(tài),默認為[STATE_1]。
[0031] 步驟二:分別將有限狀態(tài)集、事件輸入集、處理動作集用基本格式表達,基本格式 為:"關鍵字=描述字符串"。
[0032] 每個有限狀態(tài)集、事件輸入集、處理動作集都由若干個表達項組成,每個表達項 左側為關鍵字,右側為描述字符串。關鍵字包括packet、send_type、test_input/test_ input[x]等項,描述字符串可以為多個子串,每個子串格式為"關鍵字:計算表達式",每 個子串可以是立即數,也可以是計算表達式,子串中的各個字節(jié)以逗號分隔。
[0033]如 packet = "Oxeb,0x90, Oxeb, 0x90, Oxeb, 0x90, Addr, 0x00, 0x00, SUM[6:8]",表 示該狀態(tài)發(fā)送10個字節(jié),0x5a等為立即數,SUM[6:8]計算表達式,表示取第6至第8字節(jié) 的累加和校驗碼。
[0034] 對于處理動作集,基本格式中關鍵字表示處理對象,描述字符串表示待處理數據。 舉例如下:
[0035] 如:yc4 = 〃(bytel0*256+byte9)/100〃,表示將右側計算表達式的值填入遙測數 據庫第4點。
[0036] 如:soe21 = 〃state:byte9 = = 2, year:bytel5, month:bytel6, day:bytel7, hou r:bytel8, min:bytel9, second:byte20〃,表示此為遙信庫第21號點的SOE信息,描述字符 串由多個子串組成,描述了 SOE信息的各項內容。子串表達式"state:byte9 == 2",左側 state表示SOE信息的狀態(tài),右側為計算表達式,表示SOE狀態(tài)值,當接收的第9個字節(jié)為2 時,SOE狀態(tài)值為1,其他為0。子串表達式"year: by tel 5",左側year表示SOE信息的年時 間,右側為計算表達式,表示時間值。其余子串表達式分別表示SOE信息的月、日、小時、分、 秒。
[0037] 如 gps = 〃year:asc(bytel2)*1000+asc(bytel3)*100+asc(bytel4)*10+asc(by tel5), month:asc(bytell)*10+asc(byte10), day:asc(byte9*0xl00+byte8), hour:asc(b yte3)*10+asc (byte2), min:asc(byte5)*10+asc(byte4), second:asc(byte7) *10+asc (byt e6) 〃,表示此為GPS對時信息,描述字符串由多個子串組成,描述了 GPS對時的各項內容。 子串〃year:asc(bytel2)*1000+asc(bytel3)*100+asc(bytel4)*10+asc(bytel5)",左側 year表示GPS對時的年時間,右側為計算表達式,表示時間值,其中asc ()函數表示將接收 的字節(jié)數據由ASCII碼轉換成二進制數據。
[0038] 步驟三:編寫映射函數集,包括從左至右順序編寫的:當前狀態(tài)、接收輸入報文、 執(zhí)行運行操作和當前狀態(tài)轉化結果。
[0039] 如:映射函數為:STATE_1 >INPUT_2>0UTPUT_2>STATE_2,則表示當前狀 態(tài)處于STATE_1時,若接收輸入報文為INPUT_2,執(zhí)行運算操作0UTPUT_2,并將當前狀態(tài)轉 換為 STATE_2。
[0040] 步驟四:對腳本語言中的關鍵字進行統(tǒng)一定義,包括:有限狀態(tài)機關鍵字定義、發(fā) 送接收表達式關鍵字定義、處理表達式關鍵字定義和計算表達式關鍵字定義。如表1-5所 示,為各部分關鍵字定義對照表,表6為計算表達式中支持的運算符及函數。
[0041] 表1 :有限狀態(tài)機關鍵字定義對照表
[0042]
【權利要求】
1. 一種變電站自動化系統(tǒng)通信協(xié)議動態(tài)實現(xiàn)方法,其特征在于,包括如下步驟: 步驟一:分析通信協(xié)議的文本描述,將其轉換成有限狀態(tài)機,有限狀態(tài)機由:用于描述 發(fā)送報文的有限狀態(tài)集、用于描述接收報文的事件輸入集、用于表示處理行為的處理動作 集、用于表示有限狀態(tài)機間的狀態(tài)變遷的映射函數集和初始狀態(tài)5部分組成; 步驟二:分別將有限狀態(tài)集、事件輸入集、處理動作集用基本格式表達,所述基本格式 為:"關鍵字=描述字符串"; 步驟三:編寫映射函數集,包括從左至右順序編寫的:當前狀態(tài)、接收輸入報文、執(zhí)行 運行操作和當前狀態(tài)轉化結果; 步驟四:對腳本語言中的關鍵字進行統(tǒng)一定義,包括:有限狀態(tài)機關鍵字定義、發(fā)送接 收表達式關鍵字定義、處理表達式關鍵字定義和計算表達式關鍵字定義; 步驟五:對腳本語言中的語法進行統(tǒng)一說明,包括:有限狀態(tài)集語法說明、事件輸入集 語法說明、處理動作集語法說明和映射函數集語法說明。
2. 根據權利要求1所述的變電站自動化系統(tǒng)通信協(xié)議動態(tài)實現(xiàn)方法,其特征在于,所 述有限狀態(tài)集是從通信協(xié)議中提取的所有發(fā)送命令。
3. 根據權利要求1所述的變電站自動化系統(tǒng)通信協(xié)議動態(tài)實現(xiàn)方法,其特征在于,所 述事件輸入集是從通信協(xié)議中提取的所有接收命令。
4. 根據權利要求1所述的變電站自動化系統(tǒng)通信協(xié)議動態(tài)實現(xiàn)方法,其特征在于,所 述描述字符串為立即數。
5. 根據權利要求1所述的變電站自動化系統(tǒng)通信協(xié)議動態(tài)實現(xiàn)方法,其特征在于,所 述描述字符串為計算表達式。
6. 根據權利要求1所述的變電站自動化系統(tǒng)通信協(xié)議動態(tài)實現(xiàn)方法,其特征在于,所 述描述字符串由多個子串組成,每個子串格式為"關鍵字:計算表達式"。
【文檔編號】H04L29/06GK104333540SQ201410567656
【公開日】2015年2月4日 申請日期:2014年10月22日 優(yōu)先權日:2014年10月22日
【發(fā)明者】賈德順, 張傳羽, 李園圓 申請人:國電南瑞科技股份有限公司