向新益 馬翔 楊小寧
摘 要
離子成鹽計算是新疆公路工程勘察鹽漬土評價的重要內容。本文介紹了本軟件的開發目標和意圖、開發原則、開發依據、軟件主要功能和功能實現方法,程序源代碼采用Visual Basic 6.0編寫編譯完成,附上了全部源代碼。
【關鍵詞】鹽漬土評價 離子成鹽計算 Visual Basic源代碼
1 系統開發目標和原則
1.1 軟件開發目標
離子成鹽計算是新疆公路工程勘察鹽漬土評價的重要內容。隨著社會經濟的發展,公路工程勘察任務的繁重,手工計算已很難滿足生產需要。離子成鹽手工計算極其繁瑣,它的基本步驟包括:依據規范規定的成鹽順序原則,寫出化學反應方程式,將各種離子的摩爾濃度代入化學反應方程式進行成鹽計算,逐項“吃完”離子含量。在計算過程中,判斷、選擇、銜接繁多,擴展計算路徑繁雜,一個步奏搞錯,將會導致進入錯誤的計算路徑,造成后面的計算結果全是錯誤的。因此本軟件的開發目標和意圖是把離子成鹽手工計算過程系統起來,把眾多的判斷、選擇、銜接和擴展計算由計算機完成,在程序界面設計方面更友好,更便于操作,更簡單實用,便于廣大勘察人員學習和使用。
1.2 軟件開發原則
離子成鹽計算程序軟件開發原則如下:(1)離子成鹽計算程序軟件是一個基于pc單機的應用軟件,其運行環境為Windows 98~XP,采用窗體用戶界面的操作方式。(2)為提高軟件的開發速度,軟件開發盡可能與成熟的應用軟件進行銜接,如把Windows Excel 作為數據錄入系統和編輯系統。(3)輸出結果文件為Windows‘記事本TXT文本格式文件,便于與Windows Word和Windows Excel公共軟件的連接使用。(4)離子成鹽計算程序軟件提供在機幫助。(5)程序源代碼采用Visual Basic 6.0編寫編譯完成。
1.3 軟件開發依據
《新疆公路鹽漬土勘察規范》附錄B 規定的“易溶鹽成鹽計算方法”:
一般可溶性鹽類在水中都是呈離子狀態存在,因此測得的易溶鹽成分結果都是以離子含量表示。而且以離子的毫摩爾數(mmol/kg)表示各離子間的化合關系。路基土則以成鹽存在于土中,為了工程勘察設計需要,據《新疆公路鹽漬土勘察規范》,測得的離子含量應進行成鹽計算。
試驗測得的離子有Na+、Mg2+、Ca2+,陰離子Cl-、SO42-、CO32-、HCO3-、NO3-。各種離子的結合,一般是按上列順序,依次達到滿足。可溶鹽中以鈉鹽活性最大,以鈉離子結合原則為例,一般可分為三種情況:
(1)Na+< Cl-,首先全部Na+與 Cl-結合成NaCl ,不可能有其他鈉鹽,而多余的Cl-離子則依次與Mg2+、Ca2+結合。
(2)Cl-< Na+< Cl-+SO42-,首先全部Na+與 Cl-結合成NaCl,剩余的Na+與SO42-結合成Na2SO4。而多余的SO42-依次與Mg2+、Ca2+結合。
(3)Na+> Cl-+SO42-,而又有CO32-存在,Na+首先滿足Cl-、SO42結合成NaCl、Na2SO4,多余的Na+與CO32-結合成Na2CO3。
單位換算(mg/kg→mmol/kg):利用離子的摩爾質量數進行單位換算,可在Excel 表中完成。
K++Na+:摩爾質量 25.0 g/mol ,K+:摩爾質量 39.1 g/mol,Na+:摩爾質量 22.99 g/mol,Mg2+:摩爾質量 24.30 g/mol ,Ca2+:摩爾質量40.08 g/mol,Cl-:摩爾質量35.45 g/mol,SO42-:摩爾質量96.06 g/mol,CO32-:摩爾質量30.0 g/mol,HCO3-:摩爾質量61.0 g/mol,NO3-:摩爾質量62.01 g/mol 。
例如: Na+(mmol/kg)= Na+(mg/kg)/22.99;Mg2+(mmol/kg)= Mg2+(mg/kg)/24.30;其它依次類推。
2 系統構成和主要功能
離子成鹽計算軟件是一個面向廣大公路勘測單位的計算機軟件。其主要特點是:操作簡單,界面友好,便于學習使用。
根據離子成鹽計算步驟和要求,整個系統共劃分為以下幾個功能模塊;數據錄入編輯、成鹽計算、計算成果輸出、幫助等功能。
(1)數據錄入編輯模塊:該模塊的主要功能是把土樣化學分析得到的離子的毫摩爾數(mmol/kg)錄入計算機,把Windows Excel 作為數據錄入系統和編輯系統。只需規定數據錄入表頭、格式、行數、數據的單位、保存格式。保存得到的數據文件作為后續成鹽計算模塊的數據源。
(2)成鹽計算模塊:首先要打開由Windows Excel生成得數據文件,調入土樣化學分析得到的各種離子的毫摩爾數;然后要根據《新疆公路鹽漬土勘察規范》附錄B 規定的“易溶鹽成鹽計算方法”進行成鹽計算;最后要輸出計算結果。
(3)幫助模塊:為了方便用戶學習和使用該軟件系統,在系統中開發了幫助功能。該幫助文檔采用網頁編輯器編寫,文檔中的關鍵詞解釋采用了超文本鏈接方式進行連接,最后經編譯形成標準Microsoft HTML幫助文檔。
在系統功能模塊劃分中,各模塊是相對獨立的,但在系統的程序實現中,各功能模塊的擊活是通過菜單的選擇得以實現,各功能模塊之間的數據傳遞采用同名異后綴的數據文件實現。
3 系統功能實現的基礎
3.1 數據錄入編輯模塊
采用Windows Excel 作為數據錄入系統和編輯系統。規定數據錄入表頭、格式、行數、數據的單位、保存格式如圖1所示。
必須按此格式在Windows Office Excel 表格軟件中錄入數據,在第1行依次寫入“試樣編號、Na+、Ca2+、Mg2+、Cl-、SO42-、HCO3- 、CO32-、NO3-”,作為表頭,每項占一小格,順序不能錯;在第2行至100行依次寫入與表頭相對應的離子摩爾濃度實驗分析數據,單位:mmol/kg 。可以是大于等于1行,小于100行的任意行數據。如果化學分析結果中無硝酸根離子(NO3-)分析項目,在數據錄入時也要在“NO3-”頭下寫入“0”,不能是空白。保存成(*.CSV)格式文件。endprint
3.2 成鹽計算模塊
首先要打開由Windows Excel生成得(*.CSV)格式數據文件,是一個對文件操作的編程,可利用Visual Basic 6.0提供的CommonDialog控件,給打開和保存文件提供標準對話框,并獲取程序代碼所需的文件名,再用Open語句打開文件,把“試樣編號、、Na+、Ca2+、Mg2+、Cl-、SO42-、HCO3- 、CO32-、NO3-”數據文件表單原封不動的放入內存,以備后續程序調用計算。
成鹽計算:試驗測得的離子有Na+、Mg2+、Ca2+,陰離子Cl-、SO42-、CO32-、HCO3-、NO3-。各種離子的結合,一般是按上列順序,依次達到滿足。
輸出計算結果:可利用Visual Basic 6.0提供的CommonDialog控件,給打開和保存文件提供標準對話框,并獲取程序代碼所需的文件名,再用writ語句寫文件,格式為:
本程序使用Windows 記事本 (*.TXT)格式文件作為結果輸出文件,文件格式如圖2所示。
3.3 幫助模塊
幫助文檔采用網頁編輯器編寫,文檔中的關鍵詞解釋采用了超文本鏈接方式進行連接,最后經編譯形成標準Microsoft HTML幫助(chengyan.chm)文檔,該文當可獨立在windows下打開閱讀。在程序代碼中用ShellExecute(hwnd, "open", ss4, "", "", 8)語句打開閱讀。
4 關于離子成鹽計算程序軟件
該應用程序主要功能是利用土化學分析出的易溶鹽離子含量結果,依據《新疆公路鹽漬土勘察規范》規定的成鹽順序原則,進行成鹽計算。
運行環境:主機PentiumIII 500MHz以上,內存128MB,硬盤8GB。Windows98~XP操作系統。
軟件安裝系統由壓縮包和安裝運行軟件(ChengYan.CAB,Setup.exe)組成,4.03MB。
版權所有 2007 保留所有權利
警告: 本計算機應用程序受著作權法、知識產權法和國際公約的保護。未經受權擅自復制傳播者,將受到起訴和法律制裁。
5 軟件安裝
安裝包由 ChengYan.CAB,Setup.exe,Setup.LST,安裝說明文件組成。
安裝時,雙擊setup.exe2--確定2--選擇安裝目錄(如:d:\chengyan,如果該目錄不存在,將自動創建該目錄)2--開始安裝2--安裝完成.。
安裝完成后 ,在“開始”→“所有程序”列表中可以找到ChengYan 程序。單擊“ChengYan”就可啟動“離子成鹽計算程序軟件”
注意:(1)安裝時如遇沖突,選擇忽略!通常發生在第二次安裝前,沒有徹底卸載第一次安裝的組件。(2)本安裝程序包未對 MSVBVM60.DLL 公共文件進行打包,如果你的計算機中沒有此公共文件,安裝時會出錯。你可以到別的計算機中搜索(查找)MSVBVM60.DLL 公共文件,并把他復制到你的計算機中 C:\windows\system 目錄下,再重新安裝,就OK!了。(3)該軟件的《用戶手冊》在你創建的安裝目錄下,安裝完成后即可找到。
作者簡介
向新益(1963-),男,四川省蒼溪縣人。大學本科學歷。現為新疆水利水電勘測設計研究院高級工程師,研究方向為水文地質、工程地質。
作者單位
1.新疆水利水電勘測設計研究院 新疆維吾爾自治區烏魯木齊市 830000
2.核工業西南勘察設計研究院 四川省成都市 610061endprint