System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及工業編程,尤其涉及一種工業程序文件的處理方法及裝置。
技術介紹
1、在工業自動化領域,為了保護算法庫的安全性,現場運行、實現算法邏輯的程序通常為編譯后的二進制文件。為了更好地實現算法庫的復用,二進制文件中通常會設有邏輯算法對應的功能塊以及功能塊的變量信息,現場側上位機獲取組態后二進制文件中功能塊的變量信息對應的變量地址,實現對功能塊的實例化,并根據變量地址獲取相應數據,對實例化的功能塊進行調用。
2、目前,基于變量信息確定變量地址的過程,在編譯生成二進制文件的階段實現,通常是在二進制文件編譯時,通過宏定義常量表示相應變量的地址偏移量,進而基于地址偏移量和基地址確定具體的變量地址。這種方式在變量數量較大時會產生大量的宏定義的常量,導致大量代碼段空間被占用,同時編譯過程中分配地址、生成宏定義常量的地址偏移信息的動作十分耗時,極為影響產品發布效率。
3、因此,如何提供一種解決上述技術問題的方案是目前本領域技術人員需要解決的問題。
技術實現思路
1、有鑒于此,本申請實施例提供了一種工業程序文件的處理方法及裝置,以解決現有技術中二進制文件的編譯過程宏定義常量占用大量代碼段空間、效率較低的問題。
2、本申請實施例的第一方面,提供了一種工業程序文件的處理方法,包括:
3、分析待編譯的目標程序文件,確定目標程序文件中的所有變量以及各變量的地址索引數據;
4、編譯目標程序文件,確定目標程序文件中對應各地址索引數據的地址偏移量,基于
5、本申請實施例的第二方面,提供了一種工業程序文件的處理裝置,包括:
6、變量分析模塊,用于分析待編譯的目標程序文件,確定目標程序文件中的所有變量以及各變量的地址索引數據;
7、編譯模塊,用于編譯目標程序文件,確定目標程序文件中對應各地址索引數據的地址偏移量,基于地址偏移量確定每個變量的地址,得到目標程序文件對應的可運行程序文件,可運行程序文件用于基于地址運行。
8、本申請實施例的第三方面,提供了一種電子設備,包括存儲器、處理器以及存儲在存儲器中并且可在處理器上運行的計算機程序,該處理器執行計算機程序時實現上述方法的步驟。
9、本申請實施例的第四方面,提供了一種計算機可讀存儲介質,該計算機可讀存儲介質存儲有計算機程序,該計算機程序被處理器執行時實現上述方法的步驟。
10、本申請實施例與現有技術相比存在的有益效果至少包括:本申請實施例通過在編譯前對目標程序文件進行分析確定其中的變量和變量的地址索引數據,編譯過程中可直接獲取到對應地址索引數據的變量的地址偏移量,進而確定對應的地址,同時得到編譯后的可運行程序文件,可運行程序文件可基于地址運行。編譯時不再需要使用宏定義常量來表示地址偏移量,基于地址索引數據確定的地址偏移量不會占用代碼段空間,因此宏定義常量相關的耗時減少,代碼段空間占用減少,編譯效率明顯提升。
本文檔來自技高網...【技術保護點】
1.一種工業程序文件的處理方法,其特征在于,包括:
2.根據權利要求1所述的方法,其特征在于,基于所述地址偏移量確定每個所述變量的地址的過程,包括:
3.根據權利要求2所述的方法,其特征在于,所述分區首地址具體由存儲區域的區域首地址和所述存儲區域中各所述分區的分區偏移量確定。
4.根據權利要求1所述的方法,其特征在于,確定所述目標程序文件中的所有變量以及各所述變量的地址索引數據之后,還包括:
5.根據權利要求4所述的方法,其特征在于,還包括:
6.根據權利要求1所述的方法,其特征在于,所述目標程序文件為IEC語言編程的程序文件,分析待編譯的目標程序文件,確定所述目標程序文件中的所有變量以及各所述變量的地址索引數據之后,還包括:
7.根據權利要求1至6中任一項所述的方法,其特征在于,分析待編譯的目標程序文件,確定所述目標程序文件中的所有變量以及各所述變量的地址索引數據的過程,包括:
8.一種工業程序文件的處理裝置,其特征在于,包括:
9.一種電子設備,包括存儲器、處理器以及存儲在所述存儲
10.一種計算機可讀存儲介質,所述計算機可讀存儲介質存儲有計算機程序,其特征在于,所述計算機程序被處理器執行時實現如權利要求1至7中任一項所述方法的步驟。
...【技術特征摘要】
1.一種工業程序文件的處理方法,其特征在于,包括:
2.根據權利要求1所述的方法,其特征在于,基于所述地址偏移量確定每個所述變量的地址的過程,包括:
3.根據權利要求2所述的方法,其特征在于,所述分區首地址具體由存儲區域的區域首地址和所述存儲區域中各所述分區的分區偏移量確定。
4.根據權利要求1所述的方法,其特征在于,確定所述目標程序文件中的所有變量以及各所述變量的地址索引數據之后,還包括:
5.根據權利要求4所述的方法,其特征在于,還包括:
6.根據權利要求1所述的方法,其特征在于,所述目標程序文件為iec語言編程的程序文件,分析待編譯的目標程序文件,確定所述目標程序文件中的所...
【專利技術屬性】
技術研發人員:楊曉宇,宋維,
申請(專利權)人:杭州和利時自動化有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。