基於api接口和腳本定義相結合的可視化代碼生成方法
2023-05-05 11:13:01 1
專利名稱:基於api接口和腳本定義相結合的可視化代碼生成方法
技術領域:
本發明屬於可視化編程領域,具體涉及可視化圖形程序的代碼生成方法。
背景技術:
可視化編程平臺是根據面向對象的思想,實現圖形化、模塊化編程的工具,它從符號庫文件中調用預先開發的功能塊,搭建可視化頁面程序,由編程工具自動生成代碼。已有的代碼生成方法,往往和系統軟體接口綁定,或局限於某個應用場合,當底層系統軟體接口有變化或應用場景發生變化時,或者應用有新的需求時,需修改或重新開發代碼生成工具,缺乏靈活通用性。API (Application Programming Interface,應用程式編程接口)是一些預先定義 的函數,目的是提供應用程式與開發人員基於某軟體或硬體的訪問一組例程的能力,而又無需訪問源碼,或理解內部工作機制的細節。在可視化編程應用中,需要提供一種平臺化的代碼生成方法,面向用戶開放一些接口,用戶在這些接口的基礎上,可以定製輸出的目標代碼,以適應不同的需求。基於上述分析,本發明人針對現有技術對代碼生成方法的需求,進行深入研究,本
案由此產生。
發明內容
本發明的目的,在於提供一種基於API接口和腳本定義相結合的可視化代碼生成方法,其中API接口提供編程平臺的常規功能,在腳本中可以定義符號的代碼,擺脫對系統軟體接口的依賴,並為應用人員提供良好的擴展性,可以書寫腳本,在不修改圖形程序和編程平臺的情況下,切換應用場景,輸出對應的目標代碼。本發明為解決以上技術問題,所採用的技術方案是一種基於API接口和腳本定義相結合的可視化代碼生成方法,所述的可視化程序按照層次組織,程序由若干元件組成,元件由若干可視化頁面組成,可視化頁面由若干圖形符號和數據連線組成;代碼生成方法的內容為前端處理器讀取可視化工程文件,導入符號庫,在內存中形成可視化頁面數據;啟動腳本引擎,解析執行腳本,在腳本中可調用API接口庫,訪問符號的屬性;腳本執行完後,後端處理器組織文本段落,輸出代碼文本。本發明的具體步驟為(I)為層次數據管理模型和編程符號設計面向對象的代碼生成API接口庫,供腳本調用;(2)啟動腳本引擎,在腳本引擎中完成當前符號的上下文環境註冊,導入符號腳本,將腳本中調用的API接口返回值進行字符替換處理,往文本段輸出代碼;(3)所有符號腳本執行結束後,匯總文本段內容,輸出C代碼,形成程序文件。上述步驟(I)中,對象提供的API包括如下內容I)元件 API
元件是管理多個可視化頁面的數據模型,元件會形成代碼文件,元件開放的接口包括屬性訪問、屬性設置、頁面個數和頁面數據指針函數,其中,能夠訪問和設置的屬性包括文件全名、文件路徑、結構名和實例名;2)頁面 API可視化頁面開放的接口包括屬性訪問、屬性設置、符號個數、符號指針、頁面類型和頁面名函數,其中,能夠訪問和設置的屬性包括文件全名、文件路徑和文件結構名;
3)編程符號API編程符號開放的接口有屬性訪問、屬性設置、查找輸入輸出參數變量、查找輸入輸出圖形點、獲取輸入輸出對應的程序名、獲取參數設置值、報錯和告警函數,其中,能夠訪問的屬性包括符號的id、排序後的序號和符號類型;4)連接線 API連接線起著連接各個編程符號間的輸入輸出作用,提供4個接口進行拓撲訪問,返回連接的起始終止符號、起始端輸出點和終端輸入點;5)變量 API變量開放的接口有屬性訪問和屬性設置,其中,能夠訪問和設置的屬性包括變量類型、變量名、信號等級、註冊簡寫類型、中文描述、英文描述、顯示屬性、顯示格式、最小值、最大值、額定值、原始值、初始值、單位、步長、設置值和代碼生成對應的層次變量名;6)代碼生成器API代碼生成器提供的API接口是輸出文本信息,將C文件代碼分成8個段頭文件包含段、變量定義段、局部函數定義段、頁面任務函數段、頁面構造函數段、頁面初始化函數段、元件構造函數段和元件初始化段。採用上述方案後,本發明的有益效果如下(I)本發明為可視化編程平臺提供了一種通用的代碼生成方法,代碼生成工具能去除對系統軟體的接口耦合,並能適用於不同的應用場景;(2)本發明將API接口和腳本相結合,形成的代碼既能在嵌入式裝置中運行、也能在上位機PSCAD仿真環境中運行,發揮了平臺化通用化的效益,提高了應用產品的開發效率。
圖I是本發明基於API和腳本的代碼生成原理圖;圖2是本發明在一個任務周期設置符號塊的圖形示例圖。
具體實施例方式以下將結合附圖,對本發明的技術方案進行詳細說明。本發明提供一種基於API接口和腳本定義相結合的可視化代碼生成方法,所述的可視化程序按照層次組織,程序由若干元件組成,元件由若干可視化頁面組成,可視化頁面由若干圖形符號和數據連線組成;配合圖I所示,本發明的過程是前端處理器讀取可視化工程文件,導入符號庫,在內存中形成可視化頁面數據。啟動腳本引擎,解析執行腳本,在腳本中可調用API接口庫,訪問符號的屬性。腳本執行完後,後端處理器組織文本段落,輸出代碼文本。本發明所述的代碼生成方法具體包括如下步驟(I)API 接口庫定義。為層次數據管理模型和編程符號設計面向對象的代碼生成API接口庫,供腳本調用。定義腳本中可訪問的對象名如下I)當前元件comp2)當前頁面page3)當前符號symb
4)代碼生成工具coder對象提供的API如下I)元件 API元件是管理多個可視化頁面的數據模型,元件會形成代碼文件,元件開放的接口包括屬性訪問、屬性設置、頁面個數、頁面數據指針等函數,其參數說明如表I所示表I
權利要求
1.一種基於API接口和腳本定義相結合的可視化代碼生成方法,所述的可視化程序按照層次組織,程序由若干元件組成,元件由若干可視化頁面組成,可視化頁面由若干圖形符號和數據連線組成;其特徵在於代碼生成方法的內容為 前端處理器讀取可視化工程文件,導入符號庫,在內存中形成可視化頁面數據;啟動腳本引擎,解析執行腳本,在腳本中可調用API接口庫,訪問符號的屬性;腳本執行完後,後端處理器組織文本段落,輸出代碼文本。
2.如權利要求I所述的基於API接口和腳本定義相結合的可視化代碼生成方法,其特徵在於具體步驟為 (O為層次數據管理模型和編程符號設計面向對象的代碼生成API接口庫,供腳本調用; (2)啟動腳本引擎,在腳本引擎中完成當前符號的上下文環境註冊,導入符號腳本,將腳本中調用的API接口返回值進行字符替換處理,往文本段輸出代碼; (3)所有符號腳本執行結束後,匯總文本段內容,輸出C代碼,形成程序文件。
3.如權利要求2所述的基於API接口和腳本定義相結合的可視化代碼生成方法,其特徵在於所述步驟(I)中,對象提供的API包括如下內容 1)元件API 元件是管理多個可視化頁面的數據模型,元件會形成代碼文件,元件開放的接口包括屬性訪問、屬性設置、頁面個數和頁面數據指針函數,其中,能夠訪問和設置的屬性包括文件全名、文件路徑、結構名和實例名; 2)頁面API 可視化頁面開放的接口包括屬性訪問、屬性設置、符號個數、符號指針、頁面類型和頁面名函數,其中,能夠訪問和設置的屬性包括文件全名、文件路徑和文件結構名; 3)編程符號API 編程符號開放的接口有屬性訪問、屬性設置、查找輸入輸出參數變量、查找輸入輸出圖形點、獲取輸入輸出對應的程序名、獲取參數設置值、報錯和告警函數,其中,能夠訪問的屬性包括符號的id、排序後的序號和符號類型; 4)連接線API 連接線起著連接各個編程符號間的輸入輸出作用,提供4個接口進行拓撲訪問,返回連接的起始終止符號、起始端輸出點和終端輸入點; 5)變量API 變量開放的接口有屬性訪問和屬性設置,其中,能夠訪問和設置的屬性包括變量類型、變量名、信號等級、註冊簡寫類型、中文描述、英文描述、顯示屬性、顯示格式、最小值、最大值、額定值、原始值、初始值、單位、步長、設置值和代碼生成對應的層次變量名; 6)代碼生成器API 代碼生成器提供的API接口是輸出文本信息,將C文件代碼分成8個段頭文件包含段、變量定義段、局部函數定義段、頁面任務函數段、頁面構造函數段、頁面初始化函數段、元件構造函數段和元件初始化段。
全文摘要
本發明公開一種基於API接口和腳本定義相結合的可視化代碼生成方法,所述的可視化程序按照層次組織,程序由若干元件組成,元件由若干可視化頁面組成,可視化頁面由若干圖形符號和數據連線組成;方法的內容為前端處理器讀取可視化工程文件,導入符號庫,在內存中形成可視化頁面數據;啟動腳本引擎,解析執行腳本,在腳本中可調用API接口庫,訪問符號的屬性;腳本執行完後,後端處理器組織文本段落,輸出代碼文本。該方法利用API接口提供編程平臺的常規功能,在腳本中可以定義符號的代碼,擺脫對系統軟體接口的依賴,並為應用人員提供良好的擴展性,可以書寫腳本,在不修改圖形程序和編程平臺的情況下,切換應用場景,輸出對應的目標代碼。
文檔編號G06F9/44GK102646035SQ20121003668
公開日2012年8月22日 申請日期2012年2月17日 優先權日2012年2月17日
發明者馮亞東, 劉克金, 周強, 張磊, 曹冬明, 王國棟, 袁濤, 陳宏君 申請人:南京南瑞繼保工程技術有限公司, 南京南瑞繼保電氣有限公司