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