姚志國,菅鎖軍
(中鹽吉蘭泰鹽化集團股份有限公司,內蒙古 阿拉善 010051)
鋁電解工藝過程受到很多參數的影響,其中溫度就是一個重要的工藝指標。由于電解槽內高溫、強腐蝕熔體的限制,一直沒有能滿足工業電解鋁生產要求的測溫方法。目前電解槽溫度測量有儀器測溫和間接測溫兩種。間接測量方式是通過計算機或數學方法,分析與電解溫度相關的影響因素,通過不接觸測溫得出電解溫度,以達到監測電解質溫度的目的。本文采用VB匯編語言和ANSYS軟件進行鋁電解溫度監測系統的開發,利用計算機軟件技術實現對電解溫度的監測。
ANSYS有限元軟件是進行熱、結構等方面分析的工程應用軟件,為滿足各類用戶的要求,ANSYS軟件為用戶提供了二次開發工具,其中APDL(參數化設計語言)是最常用的開發語言。參數化設計是將模型的尺寸、條件等用參數的形式表示,APDL程序允許輸入比較復雜的參數,這樣就使得用戶有權控制任何設計或是分析屬性,減少了大量的工作。
采用APDL語言編制,并使ANSYS自動運行的程序也稱為命令流文件,其文件格式有txt等幾種類型,用戶可以直接編寫命令文件。如果用戶不能非常熟練地使用APDL進行命令流的編制,則可以將所要分析的工程問題先使用圖形用戶操作界面(GUI)進行分析,分析完成后ANSYS會自動根據GUI操作形成APDL命令流文件,用戶只需對這個文件進行適當的修改就能得到所需的命令流文件。
雖然APDL參數化語言有較為強大的功能,但仍存在程序結構不清晰等方面的不足。為克服APDL語言的缺點,眾多學者結合其他編程語言進行ANSYS二次開發,Visual Basic匯編語言就是其中的一種。
用戶利用VB可以開發出友好的界面,ANSYS命令流由VB進行后臺封裝,用戶只需在界面中輸入計算所需的參數,系統就會自動調用ANSYS在后臺運行,進行建模、求解和后處理等操作,最后將結果顯示給用戶。具體來說就是通過執行VB的代碼,形成APDL命令流文件,后臺調用啟動ANSYS,將形成的命令流輸入到后臺運行的ANSYS軟件中,ANSYS軟件就會按照APDL命令流進行分析計算,系統讀取計算結果并顯示給用戶。系統開發的流程如圖1所示。

圖1 系統開發流程
APDL命令流可以在VB程序中通過“Print”命令逐句寫入,形成命令流文件。但是對于復雜的仿真計算,逐句寫入太過繁瑣。為簡化程序,在編制好的APDL命令流中添加 “/input”命令,用 VB 中 的“Print”命令將相應的參數值嵌入到命令流中,形成新的命令流文件,具體如圖2、圖3所示,VB代碼中的‘E\*\*.txt’為數據文件的路徑。

圖2 Print輸出代碼

圖3 生成的命令流文件
VB程序生成新的命令流文件后,就可以調用ANSYS軟件。VB利用窗口函數shell()來調用ANSYS軟件,調用的核心代碼如下:

其中:□表示空格。
VB調用ANSYS軟件時,ANSYS在后臺運行,用戶不能直觀地看到ANSYS的運行情況,因此就需要采用VB中的計時器來檢查ANSYS的運行情況。設計時,在系統的界面中添加Timer控件,將計時器Timer的激活(Enabled)屬性設為關(False),時間間隔(Interval)設為1 000ms,計時器就會每1s檢查一次ANSYS的運行狀況。ANSYS在計算時會生成file.err文件,如果file.err為空,則后臺出錯,否則表示計算完成。因此可以通過檢查file.err文件來判斷運算的情況。但分析復雜問題時,由于ANSYS運行時間較長,檢測到file.err文件為空時,ANSYS仍然在計算,為了避免系統出現判斷錯誤的情況,在系統中采用兩個計時器來判斷ANSYS的計算情況。
為了在VB中直接查看ANSYS結果數據,需要先使用APDL語言在命令流里添加一些后處理命令,將需要的結果文件以“*.txt”或“*.jpg”文件形式保存到工作路徑中。圖片文件可以利用VB的讀取命令,在VB界面中顯示給用戶;而文本文件可以通過VB中的順序文件訪問方法進行讀取,其核心代碼如下所示:

本系統借助VB 6.0進行開發,利用VB封裝APDL命令流,用戶只需輸入必要的鋁電解工藝參數,系統會自動進行后臺運算分析,最后將結果顯示在系統界面中。初步開發的系統,可以實現以下兩個方面的功能:
(1)用戶對輸入的各項參數確認后方可進行分析,在分析過程中,系統始終監測ANSYS后臺運行的情況,分析完成或出現錯誤時系統會對用戶進行提醒。
(2)根據用戶輸入的各項參數,結合預先編好的APDL命令流文件,生成新的命令流文件,在后臺進行鋁電解槽模型的讀入和分析計算,得到計算結果文件,并將結果文件顯示給用戶,供用戶采集電解槽溫度數據和進行結果分析。
系統開發的目的是用戶可以方便地利用計算機進行鋁電解溫度監測,因此,系統的界面設計應注重使用的方便性和可視性。系統的歡迎界面如圖4所示。

圖4 歡迎界面
用戶在系統參數輸入界面(見圖5)輸入相關參數,利用輸入的參數生成新的APDL命令流文件,調用ANSYS將APDL命令流文件輸入到ANSYS中,進行電解槽溫度仿真計算。

圖5 參數輸入界面
為防止用戶輸入參數有誤,在輸入完成點擊“確定”后,系統會彈出提示界面,并在提示界面中顯示輸入的各項參數,以便用戶對輸入的參數進行確認核對。當用戶確認參數輸入無誤后,系統自動進行分析,ANSYS分析完成后,彈出求解完成對話框,點擊求解完成對話框中的“確定”按鈕,系統讀取求解結果,并將求解的結果和輸入的參數一同在圖6所示的界面中顯示,供用戶查看和記錄溫度數據。
圖6中所示的ANSYS等溫線圖,是用系統進行的一個算例分析結果,算例采用的是160kA電解槽1/2二維模型,系統計算結果與相同條件下ANSYS軟件分析結果基本相同。

圖6 結果顯示界面
本文結合VB匯編語言與ANSYS APDL參數化語言的優點,利用Shell等函數實現VB對ANSYS的調用,設計出易于操作的鋁電解溫度仿真分析系統,并初步開發了鋁電解溫度監測系統,系統界面友好,實際操作簡單,可初步實現鋁電解溫度監測的功能,為系統進一步的開發打下基礎。
[1]姚明星.預焙鋁電解槽電解溫度預測模型的研究[D].長沙:中南大學,2011:12-16.
[2]王炎歡.ANSYS二次開發的研究[J].機械,2012(增刊):46-50.
[3]彭公孚,席長友.基于VB控件開發的ANSYS程序調用方法[J].軟件開發,2007(5):330.
[4]騰尚偉.鋁電解槽槽殼溫度在線檢測及槽況診斷系統的研究與設計[D].蘭州:蘭州理工大學,2012:20-23.