摘 要 在質量管理領域,Minitab軟件是與Six-sigma關聯,實現過程分析和評價的強有力的工具,使用程序代碼操作Minitab,可以高效地導入數據,繪制控制圖,計算質量參數,檢驗異常并自動生成分析結論。
【關鍵詞】Delphi 10 Minitab 15 控制圖 異常檢驗
在開發測量數據管理軟件過程中,需要對數據進行管理。例如對數據庫中的數據按照設定的條件實現增,刪,查,改,標識異常等基本操作。為了方便軟件用戶對制造與測量過程實施控制,軟件需要實現控制圖功能,從而對過程的受控狀態進行分析和檢驗。
目前軟件實現控制圖主要有2種模式:1.自主開發。包括條件篩選,數據提取和導入,參數計算,調用Picture或第三方Chart控件繪圖,處理繪圖異常數據,完成圖形繪制并輸出結果。這種開發方式存在以下不足:
(1)實現各種質量參數的計算過程非常繁瑣,而且計算結果要與Minitab軟件計算的參數進行反復對比和修正。
(2)由于Minitab軟件具有檢驗異常數據的8種模式,采用自主開發實現8種異常模式的判定難度較大。2.購買第三方SPC控件,在數據管理軟件中集成。這種開發方式在升級和維護時可能存在一些技術限制,例如運行第三方控件可能需要特殊的運行庫或某些系統控件的支持,從而使程序的可移植性受到影響。
本文所采用的開發模式是通過代碼調用Minitab軟件,以命令行字符串控制Minitab自動繪制控制圖并計算參數。開發工具為Delphi 10 Seattle,采用VCL開發模式,編譯平臺為Win32,控制圖軟件采用Minitab 15中文版。其中,測量數據管理軟件主要實現數據管理功能,當需要實現控制圖時,軟件通過代碼控制Minitab自動打開,在Minitab的數據表寫入條件篩選數據,調用對應的命令行字符串在Minitab中自動生成各種控制圖,顯示計算參數,并按照異常數據檢驗的8種模式自動生成分析結論。
1 調用Minitab軟件的命令行指令
Minitab軟件支持各種命令行操作,可通過編輯器-啟用命令菜單打開命令行工具。首先在Minitab工作表中按列填寫數據,通過統計-控制圖菜單可設置參數并生成所需的控制圖,Minitab會話欄將自動生成命令行指令。下面以生成XBar-R控制圖命令行為例:
1.1 錄入數據并打開命令行工具
手工錄入數據后,單擊編輯器菜單中的啟用命令菜單。
1.2 設置8種數據檢驗條件
在XBar-R控制圖菜單中,單擊XBar-R選項,選擇檢驗選項卡,將8種數據檢驗條件全部選中。
1.3 通過菜單指令生成控制圖和異常數據分析結論
如圖1所示。
1.4 將命令行指令轉換為代碼調用的字符串
將XBar-R控制圖的命令行指令轉換為字符串:
Var str_MtbCmd:string; //Minitab命令行字符串
str_MtbCmd := 'XRChart ' + '' + ComboBox1.Text + '' + ' ' + ComboBox4.Text + ';Same 2;Test 1 2 3 4 5 6 7 8.';
2 向Minitab軟件寫入數據,調用COM的OLE對象接口實現
2.1 使用CreateOleObject函數創建Minitab對象
try
v := CreateOleObject('Mtb.Application'); //創建Minitab對象
v.UserInterface.Visible := True; //顯示Minitab窗口
except
ShowMessage('創建Minitab對象失敗!');
end;
2.2 按列將數據寫入Minitab數據表
Var
va,v_proj,v_Columns,v_Column: variant;
va := VarArrayCreate([0,i-1],varDouble); //創建OLE動態數組
{
//將條件篩選數據寫入OLE動態數組va
}
v_proj := v.ActiveProject; //聲明Project對象
v_Columns := v_proj.ActiveWorksheet.Columns; //聲明Columns對象
v_Column := v_Columns.Add(,,1); //使用Add方法增加列
v_Column.Name := ComboBox1.Text; //對數據表列名賦值
v_Column.SetData(va); //按列寫入數據
3 調用命令行指令生成控制圖
v_proj.ExecuteCommand(str_MtbCmd); //寫入命令行字符串
由于Object Pascal屬于強類型的語言,在操作COM的OLE對象接口時,聲明的Minitab 對象,例如Project,Columns,Column,Graph等必須聲明為variant類型。另外使用SetData()函數時,數組不能直接賦值,需要創建OLE動態數組,先將本地數組賦值給OLE動態數組,再將動態數組名即數組首地址通過SetData()函數進行參數傳遞,將數據寫入Minitab軟件。
測量數據管理軟件生成的數據(如圖2所示)。
XBar-R控制圖的實現結果(如圖3所示)。
上述操作在Minitab 15和Minitab 16中均測試通過。
本文以操作Minitab軟件生成XBar-R控制圖為例,介紹了軟件代碼透過COM的OLE對象接口調用Minitab軟件寫入數據,調用命令行繪制控制圖,并實現異常數據檢驗的過程。由于Minitab的大部分功能均能通過命令行進行控制,因此其它的Minitab統計圖表也能采用類似的方法以代碼控制的方式實現,相比手工方式錄入數據再繪制統計圖表,程序調用方式極大的提高了效率。
對軟件用戶來說,通過控制圖評價過程受控狀態,及時發現過程異常,查明原因并排除異常,從而使過程恢復到受控狀態,對提高企業的過程能力,提升質量管理水平具有重要的現實意義。
作者簡介
張毅(1970-),男。2006年9月畢業于華中科技大學,最后學位:管理碩士。現供職于東風汽車有限公司刃量具廠刀量具制造管理部,職稱:高級工程師。主要研究方向為電子技術應用,工業軟件開發,項目風險管理。
作者單位
東風汽車有限公司刃量具廠刀量具制造管理部 湖北省十堰市 442002