摘 要 在质量管理领域,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