陈思雨,樊树海,魏 霞,任蒙蒙
(1.南京工业大学 工业工程系,南京 210009;2.MIT Quality Information Program “Data Quality & Info Security” Lab, Cambridge, MA, USA)
基于Flexsim/JMP开放式交互的大规模定制质量仿真系统设计与开发*
陈思雨1,2,樊树海1,2,魏 霞1,2,任蒙蒙1,2
(1.南京工业大学 工业工程系,南京 210009;2.MIT Quality Information Program “Data Quality & Info Security” Lab, Cambridge, MA, USA)
JMP作为最新的质量管理软件,具有较好的数据处理能力,数据挖掘能力,以及自身的脚本自动化能力,可以对批量数据进行全面的分析。而仿真软件Flexsim可以通过对生产过程的模拟获取有效的预期产品质量信息,从而在大规模定制生产中完成事前预防,有效的进行大规模定制生产质量控制。为了获取仿真中的实时数据,提高质量控制系统的效率,利用JMP自身良好的脚本自动化能力,对其进行二次开发,通过静态和动态两种方式完成与Flexsim的交互系统的设计。
JMP; 大规模定制; 质量管理控制; Flexsim; 开放性研究
大规模定制(Mass Customization,MC)是指以大规模生产的成本和速度, 为单个客户或特殊需求的市场定制生产任意数量的产品[1],是市场需求下传统大规模生产模式的衍生与改进。大规模定制生产的初衷是降低产品多样化造成的成本浪费,减少企业库存,获取更大的利益空间,从而提高企业的竞争力。大规模定制生产的质量控制体系是建立在持续改进生产基础之上的,强调事前预防和全面质量管理,注重模块内的自我检测,在进行在线检测的同时,也适当使用多品种小批量的统计过程控制[2-4]。目前,多元质量控制是大规模定制生产质量控制的主要手段,质量仿真和质量过程统计分别是制造阶段以及检验服务阶段的主要质量控制方式。在系统仿真方面,面向对象的可视化3D建模仿真软件Flexsim[5]可以通过模拟产品生产过程来获取质量数据,同时它也具备良好的二次开发能力,能与其他工具进行数据交互。在质量统计方面,JMP作为最新的跨平台工具,比目前最常用的质量分析软件拥有更强大的数据处理能力以及开放性和脚本自动化能力[6-8],可以较好的完成生产中的质量数据统计。但仅仅依靠两个软件的单独运作,并不能实时有效的满足大规模定制生产质量控制的要求,因而需要对两者进行开放式交互:通过Flexsim模拟大规模定制生产过程,将质量数据与JMP实时共享后进行统计分析,从而快速、准确地研究整个生产过程的质量水平。本文主要就该问题对基于Flexsim/JMP的交互系统进行设计与开发。
基于Flexsim/JMP的开放式交互系统设计总体方案如图1所示,由Flexsim对生产过程进行模拟并记录数据,通过中间件(静态无需中间件)与底层的统计软件JMP进行连接。此交互方案分为静态和动态两种。静态方式不通过中间件,直接通过Excel菜单命令将Flexsim中的仿真数据导出,JMP则离线访问该数据表。动态连接方式的设计需要通过对比Flexsim和JMP的支持接口,选择适合两者的交互方式。
Flexsim的交互端口分为三种:①ODBC(Open Database Connectivity,开放式数据库连接),用于完成与Access, Oracle等数据库的连接;②DDE连接(Dynamic Data Exchange,动态数据交换),与已经打开的Excel进行连接,在同一时间读或者写一个数据表;③其他方式,使用Flies或Socket等命令进行实时的数据通信。
图1 系统结构图
JMP 与外部程序的连接可以分为静态与动态,动态接口不仅支持通过自身JSL语言编写脚本完成与外部程序的数据交换,同时可以通过外部编程语言如VB,VC++等来完成数据共享。具体如表1所示。
表1 JMP访问外部数据的方式
结合JMP以及Flexsim的接口特点,本文使用Excel作为中间件,通过它强大的对外开放能力,接受实时仿真系统端的数据并同时共享给JMP。
2.1 离线交互系统开发
Flexsim可以利用本身菜单栏的选项将仿真结果导出为Excel表格,而JMP则可以通过ODBC功能离线访问本地数据库:
(1)从Flexsim中导出仿真数据表:
在Flexsim菜单菜单栏中选择数据>数据和报告,在列表中选择需要的相关数据,单击生成报告,所需要的数据就会以Excel表格的形式出现。
或者,可以在工具栏中点击Excel图标,在对话框中找到想要导出的表格。
(2)JMP通过ODBC访问本地数据:
在JMP(version 10.0) 单击文件>数据库>打开表,在对话窗口选择连接,在机器数据源中选择“Excel files”用户数据源,并在选择工作簿对话框中选择需要访问的数据表,如(quality.xlsx),如图2所示。
图2 通过ODBC访问质量参数
在该对话框中,可以选择指定工作表,并通过SQL查询语句设置导入的数据行,如图3所示。
图3 从数据库打开表界面
2.2 在线交互系统的开发
Flexsim与JMP的动态交互主要通过VB语言自动化JMP,从而在Excel中直接完成数据的实时共享。
顶层的仿真系统Flexsim可以通过DDE与Excel进行实时的数据交换[9],具体的命令集如下:
Excellaunch ( [ strlaunchdir]) /打开Excel程序,如Excellaunch ( “C:Program Files (x86)Microsoft OfficeOffice12”)
Excelopen (str workbook) /打开Excel文件,如Excelopen ( “quality.xlsx” )
Excelsetsheet (strsheetname) /指定工作表,如Excelsetsheet ( “sheet1” )
Excelclose( num save[1/0]) /关闭Excel文件,如Excelclose (true)
Excelquit() /关闭Excel
此时,Flexsim与Excel的DDE连接就完成了,Flexsim中的仿真数据会实时传递到Excel表格中。
Excel与JMP的动态交互是在Excel内部通过VBA完成的。在Excel的菜单栏选择开发工具>Visual Basic>工具>引用,如图4所示,在对话框中找到JMP,勾选后确定。
图4 添加JMP动态链接库到VBA
首先要定义全局变量,单击VBAProject>插入>模块,输入图5所示代码。
图5 VBA 界面
Public MyJMP as JMP.Application / 定义JMP应用程序
Public DT as JMP.DataTable / 定义JMP数据表
Public DocOpen as Boolean / 标记JMP数据表是否被打开
在交互中,有几点是需要被注意的:当Excel中的改变发生在第一行时,JMP不会反映出来;当发生的行数超出了JMP现在追踪的行数时,JMP会自动调用AddRows函数来创建新的行;
根据表2所示的JMP语句调用规则,调用的主模块命令如下:
Public Counter As Integer /计数以保证每5个改变后进行数据更新
Public JMPDoc As JMP.Document/声明JMP文件
Public CChart As JMP.ControlChart/声明JMP控制图
Public ChartOpen as Boolean /追踪图表是否被打开
Public DB As AUTODB
Set MyJMP = CreateObject(“JMP.Application”)
MyJMP.Visible=True /使JMP应用可见
Counter = 0 /初始化变量counter
Private Sub Workbook_SheetChange(ByValSh As Object, ByVal Source As Range)
Counter = Counter + 1
If (Counter Mod 5 = 0 Or Counter = 1) Then /当5个改变发生后,将更新传输给JMP中的控制图
If Not (ChartOpen) Then
Set CChart = JMPDoc.CreateControlChart /新建控制图
CChart.LaunchAddProcess "Column 1" /添加列
CChart.LaunchAddSampleUnitSize 5 /设置样本单元大小
CChart.LaunchSetChartTypejmpControlChartVar /设置图表类型
CChart.Launch / 启动图表
ChartOpen = True /标记一个图表已被打开
End If
表2 JMP子程序说明
续表
我们通过Flexsim模拟一个大规模定制的生产流水线(图6),并对产品的重量进行实时监控,针对重量指标进行质量控制。
首先在Flexsim中为产品重量参数添加标签,如:
Addlabel(obj object, strlabelname) /为实体添加标签
Setlabelstr(obj object, str/num label, str value) /设置标签名
Setlabelnum(obj object, str/num label, numvalue) /设置标签值
图6 MC仿真总体运行图
通过上述2.2节的动态交互方法连接Flexsim与JMP,对流水线模拟生产的连续40件产品的重量进行JMP控制图分析,子组大小设置为5,得到Xbar-R控制图如图7所示。根据图中的点分布于中线的位置来判断产品重量指标,判断标准参考控制图的8项判异准则[10]。
(a)重量指标的Xbar-R控制图(均值图)
(b)重量指标的Xbar-R控制图(极差图)图7 Xbar-R控制图
图7a所示的均值控制图中可以看出标记的异常点,符合判异准则的第1条准则“一点落在A区以外”以及第5条准则“连续三点中有两点落在中心线同一侧的B区以外”,判定过程异常,可以结合六西格玛管理方法[11],针对异常现象分析并改进,并重新进行生产模拟质量数据的监控,从而保证产品质量。
作为质量控制软件中的新秀JMP,其强大的分析,二次开发等功能可以有效的与数据库,系统仿真软件等进行实现数据实时共享,第一时间对模拟生产线的产品进行全面的质量控制,从而低成本,高效率的解决大规模定制生产质量控制问题。
本文以仿真软件Flexsim为例,根据其外部接口特点,以及JMP自身的脚本自动化能力,设计了基于Flexsim/JMP的质量仿真控制系统,使两者可以实时的进行数据共享,并应用在大规模定制生产中,充分发挥Flexsim的仿真优势和JMP的统计优点,有效的为生产企业解决质量控制难题提供了思路。
[1] 董兰娟,樊树海,黄婷华,等. 大规模定制多元质量控制概述[J]. 现代制造工程, 2013(12):125-129.
[2] 樊树海,肖田元,郝猛. 大规模定制下质量保证的研究[J]. 航空精密制造技术, 2002(6):1-3.
[3] 温明振, 赵黎明, 张敏. 面向大规模定制生产模式的质量控制[J]. 组合机床与自动化加工技术, 2006(2): 110-112.
[4] 樊树海, 肖田元, 楼佩煌, 等. 大规模定制生产质量保证系统动态网络建模[J]. 系统仿真学报,2004,16(12): 2767-2773.
[5] 周治, 樊树海, 曹霞. 基于Flexsim的质量保证统一管理仿真平台[J]. 制造业自动化, 2009, 31(5): 34-36, 62.
[6] 雷祥,江凌,张少华,等. JMP二次开发方法研究[J]. 软件,2014(2): 48-49.
[7]王亚娟. 简述六西格玛设计及其软件JMP[J]. 经营管理者,2011(24):321.
[8] 熊霞. 六西格玛管理软件比较[J]. 计量与测试技术,2008(5): 27-28.
[9] 黄婷华,樊树海,段赛赛,等. 采用Flexsim/Minitab 的大规模定制质量仿真系统的设计与开发[J]. 现代制造工程,2014(2): 6-10.
[10]王霞,周永胜. 现代质量管理[M]. 湖南:湖南师范大学出版社,2015.
[11] 黄婷华,董兰娟,徐甜,等. 基于Minitab/DDE 的六西格玛管理集成系统设计及其在SMED中的应用[J]. 组合机床与自动化加工技术,2014(11): 156-160.
(编辑 李秀敏)
The Design and Development of Flexsim/JMP based Quality Simulation System for Mass Customization
CHEN Si-Yu1,2,FAN Shu-hai1,2, WEI Xia1,2, REN Meng-meng1,2
(1.Department of Industrial Engineering, Nanjing University of Technology, Nanjing 210009, China;2. MIT Quality Information Program “Data Quality & Info Security” Lab, Cambridge, MA, USA)
As the latest quality control application, JMP has more advantages than Minitab, which is commonly used recent years, for it has better capability of dealing with data, mining data and its good automation ability, therefore, it can be used to analysis on batch data. At the other hand, simulation software Flexsim can obtain valid quality information of the products by modeling the produce process, in order to complete prior prevent and mass customization manufacture quality control effectively. So, this article focuses on the design of open interaction system based on the good automation ability of JMP through both static and dynamic method to improve the efficiency of quality control system.
JMP; mass customization; quality management and control; Flexsim; open research
1001-2265(2017)02-0116-03
10.13462/j.cnki.mmtamt.2017.02.029
2016-04-11
国家自然科学基金(71671089,71171110, 71371097);江苏省“青蓝工程”学术带头人项目
陈思雨(1994—),女,南京人,南京工业大学硕士研究生,研究方向为大规模定制生产、质量管理,(E-mail)nj_sibylchen@163.com。
TH165+.4;TG659
A