一種可視化編程頁面程序庫函數(shù)封裝重用方法
【專利摘要】本發(fā)明公開一種可視化頁面程序庫函數(shù)封裝重用方法,主要包括步驟:形成封裝庫函數(shù)的圖形文件;形成封裝庫函數(shù)的頭文件;形成封裝庫函數(shù)的源文件;形成封裝庫函數(shù)的二進(jìn)制目標(biāo)文件;最后完成庫函數(shù)的實(shí)例化重用。本發(fā)明將可視化頁面程序封裝成庫函數(shù),可復(fù)用已經(jīng)成熟穩(wěn)定的圖形化程序模塊,顯著提高了開發(fā)效率。通過模塊復(fù)用,減少了嵌入式程序代碼空間,可實(shí)現(xiàn)在有限資源下加載更多的功能。
【專利說明】一種可視化編程頁面程序庫函數(shù)封裝重用方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于可視化編程領(lǐng)域,具體涉及可視化編程頁面的庫函數(shù)封裝重用的實(shí)現(xiàn)方法。
【背景技術(shù)】
[0002]可視化編程是一種面向?qū)ο蟮膱D形化軟件開發(fā)方法,為了實(shí)現(xiàn)應(yīng)用功能,用各種的編程符號搭建程序模型和配置數(shù)據(jù)流,用原理圖表示程序語言,并形成目標(biāo)文件??梢暬幊添撁媸怯苫镜墓δ軌K函數(shù)搭建形成,在使用過程中,存在將I頁或多頁面的圖形化程序進(jìn)行封裝重用的需求,即將若干頁面程序封裝為可重用的函數(shù)庫,通過實(shí)例化若干圖形化庫函數(shù),功能可多次重用。通過重用功能穩(wěn)定的模塊,加快開發(fā)效率,提高軟件質(zhì)量。另外圖形化程序由于直觀易于理解,目前很多直流工程均是用可視化編程工具開發(fā)程序,在面向海外市場時迫切需要進(jìn)行相關(guān)細(xì)節(jié)的信息隱藏,給用戶只提供頂層封裝模塊,不開放源圖形頁面程序,從而有效保護(hù)核心技術(shù)。尚未有文獻(xiàn)專利涉及可視化編程頁面程序的封裝重用方法,本案由此產(chǎn)生。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的是提供可視化程序頁面的封裝重用方法,可選擇若干可視化頁面進(jìn)行封裝,形成庫函數(shù)圖形符號和對應(yīng)的代碼文本,并編譯為二進(jìn)制文件,面向終端用戶只提供封裝后圖形符號和頭文件、庫文件,不提供源程序頁面和C代碼文件。
[0004]為了達(dá)成上述目的,本發(fā)明提供一種可視化編程頁面程序庫函數(shù)封裝重用方法,其特征在于包括步驟:形成封裝庫函數(shù)的圖形文件;形成封裝庫函數(shù)的頭文件;形成封裝庫函數(shù)的源文件;形成封裝庫函數(shù)的二進(jìn)制目標(biāo)文件;最后完成庫函數(shù)的實(shí)例化重用。
[0005]進(jìn)一步地還包括步驟,庫函數(shù)的二次封裝重用過程,具體指:可視化頁面是庫函數(shù)實(shí)例的功能組合,通過重復(fù)權(quán)I中的步驟,可把包含庫函數(shù)的頁面進(jìn)行再次封裝重用。
[0006]進(jìn)一步地,形成封裝庫函數(shù)的圖形文件具體指:可視化頁面程序主要由基本的功能塊函數(shù)和連線組成,還包括輸入、輸出、參數(shù)符號塊;通過分析頁面程序和拓?fù)溥B線,自動形成封裝后的圖形符號。
[0007]進(jìn)一步地,所述形成封裝庫函數(shù)的頭文件、源文件和二進(jìn)制目標(biāo)文件具體指:定義了可視化頁面程序封裝為單個庫函數(shù)的代碼文本形成規(guī)則,將庫函數(shù)的需要處理的數(shù)據(jù)定義為結(jié)構(gòu)體,庫函數(shù)有構(gòu)造接口、初始化接口、運(yùn)行階段的任務(wù)調(diào)用接口。
[0008]進(jìn)一步地,所述庫函數(shù)的實(shí)例化重用具體指:在可視化頁面中創(chuàng)建多個圖形化庫函數(shù)符號,用于設(shè)置不同的結(jié)構(gòu)體實(shí)例名,通過傳遞不同的實(shí)例名,調(diào)用相同的接口函數(shù),實(shí)現(xiàn)功能重用功能。
[0009]進(jìn)一步地,所述庫函數(shù)的二次封裝重用還包括:把包含圖形化庫函數(shù)的頁面進(jìn)行再次封裝,通過庫函數(shù)的組合連接之后,設(shè)計(jì)出的新功能進(jìn)行封裝重用,實(shí)現(xiàn)多級封裝、分層設(shè)計(jì)、和信息隱藏功能。[0010]采用上述方案后,本發(fā)明具有如下有益效果:
[0011]將可視化頁面程序封裝成庫函數(shù),可復(fù)用已經(jīng)成熟穩(wěn)定的圖形化程序模塊,顯著提高了開發(fā)效率。通過模塊復(fù)用,減少了嵌入式程序代碼空間,可實(shí)現(xiàn)在有限資源下加載更多的功能。
【專利附圖】
【附圖說明】
[0012]圖1是本發(fā)明中可視化編程頁面封裝重用示例;
[0013]圖2是本發(fā)明中可視化編程頁面封裝重用流程圖;
[0014]圖3是本發(fā)明中庫函數(shù)圖形示意圖;
[0015]圖4是本發(fā)明中庫函數(shù)頭文件數(shù)據(jù)結(jié)構(gòu)示意圖;
[0016]圖5是本發(fā)明中庫函數(shù)源文件函數(shù)結(jié)構(gòu)示意圖;
【具體實(shí)施方式】
[0017]以下將結(jié)合附圖,對本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)說明。
[0018]本發(fā)明一個優(yōu)選實(shí)施例中,主要可以分為兩個部分:
[0019]第一部分,定義可視化頁面庫函數(shù)的封裝方法。
[0020]I)可視化頁面程序主要由基本的功能塊函數(shù)和連線組成,還包括輸入、輸出、參數(shù)符號塊。通過分析頁面程序和拓?fù)溥B線,自動形成封裝后的圖形符號。
[0021]2)將頁面符號按照從上到下、從左到右的順序進(jìn)行排序,依次將編程符號對應(yīng)的變量聲明組織為結(jié)構(gòu)體,并輸出到頭文件(*.h)中。
[0022]3)庫函數(shù)的對外調(diào)用接口形成到源文件(*.c)中,包括庫函數(shù)的構(gòu)造函數(shù)、初始化函數(shù)、任務(wù)運(yùn)行函數(shù)。其中在任務(wù)運(yùn)行函數(shù)中依次調(diào)用各基本功能塊函數(shù)的接口。基本功能塊的函數(shù)體代碼也輸出到源文件中。調(diào)用相關(guān)編譯器,形成對應(yīng)的二進(jìn)制OBJ文件。
[0023]第二部分,定義可視化庫函數(shù)的重用方法。
[0024]I)將封裝后的庫函數(shù)的圖形文件、頭文件、二進(jìn)制OBJ文件放入到符號庫目錄。從符號庫中選擇相應(yīng)的圖形庫函數(shù)符號,設(shè)置符號的數(shù)據(jù)結(jié)構(gòu)體實(shí)例名,形成不同的數(shù)據(jù)實(shí)例,傳入不同的形參,調(diào)用相同的構(gòu)造、初始化、運(yùn)行接口,實(shí)現(xiàn)功能重用。
[0025]2)可視化頁面程序可以是基本功能塊、封裝庫函數(shù)的組合,可對包含庫函數(shù)實(shí)例的頁面進(jìn)行二次封裝,記錄子庫函數(shù)的結(jié)構(gòu)體名字信息,對二次封裝的庫函數(shù)進(jìn)行重用時,可自動分析其依賴的子庫函數(shù)和文件。支持封裝后的庫函數(shù)進(jìn)行組合重用的頁面進(jìn)行二次封裝重用,實(shí)現(xiàn)圖形程序分層設(shè)計(jì),易于自上而下理解程序架構(gòu)和集成,自下而上開發(fā)模塊。
[0026]本發(fā)明另一個優(yōu)選實(shí)施例,結(jié)合圖1至圖5進(jìn)行描述,實(shí)施步驟包括如下五個部分:
[0027]第一部分,形成封裝庫函數(shù)的圖形文件。選擇若干可視化頁面,并設(shè)置封裝名,例如TRIP。圖形分為兩個區(qū)域:結(jié)構(gòu)體名字和實(shí)例名顯示區(qū)域、輸入輸出連接點(diǎn)和參數(shù)顯示區(qū)域。讀取頁面數(shù)據(jù),分析頁面內(nèi)數(shù)據(jù)符號和拓?fù)溥B接關(guān)系,匯總輸入輸出塊符號,形成圖形的輸入輸出點(diǎn),輸入變量名置于矩形外框左邊,名字在輸入點(diǎn)右側(cè)。輸出變量名置于矩形外框右邊,名字在輸輸出點(diǎn)左側(cè)。將參數(shù)塊的名字和設(shè)置值顯示在矩形的空白區(qū)域。庫函數(shù)的圖形信息存儲在*.gb的文件中,庫函數(shù)圖形表示如圖3所示。
[0028]第二部分,形成封裝庫函數(shù)的頭文件。將頁面內(nèi)符號按照從上到下、從左到右的順序組織,匯總各個符號的變量定義,例如輸入變量、輸出變量、參數(shù)變量、連接線變量等,形成一個結(jié)構(gòu)體定義,如圖4所示。
[0029]第三部分,形成封裝庫函數(shù)的源文件。如圖5所示,庫函數(shù)源文件包括如下內(nèi)容:子功能函數(shù)體代碼、庫函數(shù)構(gòu)造函數(shù)、初始化函數(shù)、運(yùn)行函數(shù)代碼。以TRIP為例,相關(guān)函數(shù)接口如下:[0030]TRIP^newPageTRIP ();功能:構(gòu)造函數(shù),創(chuàng)建數(shù)據(jù)結(jié)構(gòu)體實(shí)例
[0031]void*initPageTRIP (TRIP^dp);功能:初始化函數(shù),變量初始化設(shè)置
[0032]void*runPageTRIP(TRIP*dp);功能:運(yùn)行函數(shù),中斷中調(diào)用
[0033]在任務(wù)運(yùn)行函數(shù)中依次調(diào)用各個基本功能塊函數(shù)。
[0034]第四部分,形成封裝庫函數(shù)的二進(jìn)制目標(biāo)文件。根據(jù)庫函數(shù)適用場景,調(diào)用不同的編譯器,將源文件編譯為二進(jìn)制OBJ文件。例如調(diào)用gcc形成Linux環(huán)境下運(yùn)行的目標(biāo)文件,調(diào)用嵌入式處理器的編譯器形成對應(yīng)的目標(biāo)文件。并把圖形庫、頭文件、二進(jìn)制文件放入到發(fā)布目錄中。完成上述四個自動化步驟后,可視化程序頁面程序的封裝功能已經(jīng)完成。
[0035]第五部分,庫函數(shù)的實(shí)例化重用功能。從發(fā)布的符號庫目錄中選擇頁面庫函數(shù),釋放到可視化頁面,可多次新建符號,設(shè)置不同實(shí)例名,自動形成相關(guān)庫函數(shù)結(jié)構(gòu)體聲明和函數(shù)調(diào)用代碼。即實(shí)現(xiàn)重用過程。如圖1所示,定義了 TRIP*TA,TRIP*TB兩個實(shí)例,通過調(diào)用runPageTRIP (TA)、runPageTRIP (TB),傳入不同形參,執(zhí)行相同函數(shù)。
[0036]第六部分(可選過程),庫函數(shù)的二次封裝重用過程??梢暬撁婵梢允菐旌瘮?shù)實(shí)例的功能組合,通過重復(fù)第一到第五的步驟,可把包含庫函數(shù)的頁面進(jìn)行再次封裝重用。
[0037]以上實(shí)施例僅為說明本發(fā)明的技術(shù)思想,不能以此限定本發(fā)明的保護(hù)范圍,凡是按照本發(fā)明提出的技術(shù)思想,在技術(shù)方案基礎(chǔ)上所做的任何改動,均落入本發(fā)明保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種可視化編程頁面程序庫函數(shù)封裝重用方法,其特征在于包括步驟: 形成封裝庫函數(shù)的圖形文件;形成封裝庫函數(shù)的頭文件;形成封裝庫函數(shù)的源文件;形成封裝庫函數(shù)的二進(jìn)制目標(biāo)文件;最后完成庫函數(shù)的實(shí)例化重用。
2.如權(quán)利要求1所述的一種可視化編程頁面程序庫函數(shù)封裝重用方法,其特征在于還包括步驟,庫函數(shù)的二次封裝重用過程,具體指:可視化頁面是庫函數(shù)實(shí)例的功能組合,通過重復(fù)權(quán)I中的步驟,可把包含庫函數(shù)的頁面進(jìn)行再次封裝重用。
3.如權(quán)利要求1所述的一種可視化編程頁面程序庫函數(shù)封裝重用方法,其特征在于,形成封裝庫函數(shù)的圖形文件具體指:可視化頁面程序主要由基本的功能塊函數(shù)和連線組成,還包括輸入、輸出、參數(shù)符號塊;通過分析頁面程序和拓?fù)溥B線,自動形成封裝后的圖形符號。
4.如權(quán)利要求1所述的一種可視化編程頁面程序庫函數(shù)封裝重用方法,其特征在于,所述形成封裝庫函數(shù)的頭文件、源文件和二進(jìn)制目標(biāo)文件具體指:定義了可視化頁面程序封裝為單個庫函數(shù)的代碼文本形成規(guī)則,將庫函數(shù)的需要處理的數(shù)據(jù)定義為結(jié)構(gòu)體,庫函數(shù)有構(gòu)造接口、初始化接口、運(yùn)行階段的任務(wù)調(diào)用接口。
5.如權(quán)利要求1所述的一種可視化編程頁面程序庫函數(shù)封裝重用方法,其特征在于,所述庫函數(shù)的實(shí)例化重用具體指:在可視化頁面中創(chuàng)建多個圖形化庫函數(shù)符號,用于設(shè)置不同的結(jié)構(gòu)體實(shí)例名,通過傳遞不同的實(shí)例名,調(diào)用相同的接口函數(shù),實(shí)現(xiàn)功能重用功能。
6.如權(quán)利要求2所述的一種可視化編程頁面程序庫函數(shù)封裝重用方法,其特征在于,所述庫函數(shù)的二次封裝重用還包括:把包含圖形化庫函數(shù)的頁面進(jìn)行再次封裝,通過庫函數(shù)的組合連接之后,設(shè)計(jì)出的新功能進(jìn)行封裝重用,實(shí)現(xiàn)多級封裝、分層設(shè)計(jì)、和信息隱藏功能。
【文檔編號】G06F9/44GK103885782SQ201410133315
【公開日】2014年6月25日 申請日期:2014年4月3日 優(yōu)先權(quán)日:2014年4月3日
【發(fā)明者】陳宏君, 劉克金, 馮亞東, 曹冬明, 文繼鋒, 王國棟, 張磊, 周強(qiáng), 王永平, 盧宇 申請人:南京南瑞繼保電氣有限公司, 南京南瑞繼保工程技術(shù)有限公司