账号:
密码:
CTIMES / 文章 /   
透过离散事件模拟优化汽车生产流程
 

【作者: Marius Gemeinhardt】2018年01月31日 星期三

浏览人次:【8167】
  


新车在出厂之前需要先经过一连串的最终检查,包括由技术人员以及自动化测试流程共同执行电子诊断的静态测试、由技术人员测试软体、测力计的动态测试,再加上其他测试站的共同合作,确认引擎以及进行悬吊或其他零件的调整。


工作人员、机台、车辆之间在最终测试的互相协同合作是一项相当复杂的任务。许多公司并没有正式的途径来优化这些过程,而是仰赖资深工程师主观的建议,或从其他制造厂房经验找出的最隹方法,而这些方式可能具备不同的条件要求,或甚至需要不断地尝试错误来找出最隹方法。


为了在最大化生产量与产能的同时尽可能降低人力需求与浪费,我开发了一个平台,利用Simulink与事件模拟模块组(SimEvents)执行模拟。这项模拟可用来协助进行操作上的决策、预测若采取计划中的某生产过程变更将产生的结果、并提升Daimler公司生产线的效率(图1)。



图1 : 正要离开组装线的S-Class宾士车
图1 : 正要离开组装线的S-Class宾士车

优化最终测试所面临的挑战

最终测试的优化由於几个因素让变得复杂。首先,要估计各个测试站的处理时间是有困难度的。以在悬吊的变异为例,某些车辆可能需要在悬吊调整工作站停留比较久的时间。再者,引进可以加速完成测试的新设备可能造成既有流程的中断。同样地,将新技术导入至车辆形成新的额外选项并需要新的测试程序。


第三,可用流程改善选项相当复杂,即使是专家也几??不可能预测到所做的改变将如何影响流程的整体表现。不论是增加工作人员、平行地完成测试、重工车辆的处理、在每一个测试站之前??入缓冲(伫列)、允许车辆在测试站之间穿越、缩短循环周期专家需要了解每一个可能的选项组合将造成什麽样的影响来找出最隹的配置。


收集和管理资料

就我所知,我的模拟需要考虑到庞大的资料量。通常在模拟的研究,资料会在迥然不同的软体套件之间进行交换,承受着准确性与完整性流失的风险。透过MATLAB与Simulink,可以在同一个环境收集、分析、准备资料,再利用这些资料进行以资料为基础的优化与模拟。除此之外,也可以透过平行运算工具箱(Parallel Computing Toolbox?)在多个运算核心进行分析来加快处理速度。


每一个测试站皆会产生各车辆的log档。如果1000台车各在3个测试站受过测试,则会有3000个资料集被登录。单一台车在一个测试站的log档就容纳了高达200,000行的资讯。每一个log档只容纳一小部分的必要资讯,其中包含车辆细节、每一项测试结果、以及完成每一项测试所花费的时间。为了快速地萃取这些资料,我建立了一个DOS-based的批次档案,再为每一个log档调用这个批次档案,并将这些工作分配至每一个可用的核心。


分析现有的流程

开发模拟之前,我需要先了解目前的测试流程。因此我从每一个测试站收集了log档,并在MATLAB以数字及图表进行分析。我绘制了测试时间及车辆变异的直方图及长条图,并进行统计分析来关联这些变数(图2)。我利用平行运算工具箱在四核心处理器执行这些任务,使log档的语法分析及处理速度加快了将近四分之一。



图2 : 直方图显示各种车型的测试期间
图2 : 直方图显示各种车型的测试期间

在经过互动式地探索与分析资料之後,我在MATLAB建立了一个介面来简化常见的分析任务(图3)。我将这个介面与在MATLAB开发的分析函式打包成一个单独的Windows应用程式PARSE(Process Analysis Routine for Site-overlapping Exploration),将介面与我在MATLAB开发的分析函式包含在内。透过MATLAB编译器(MATLAB Compiler),PARSE让我在Daimler的同事可以探究最终测试的资料,不需安装MATLAB。PARSE也为接下来的建模与模拟提供了资料库。



图3 : 在MATLAB开发的PARSE应用程式,用来处理、分析、探索测试站资料。
图3 : 在MATLAB开发的PARSE应用程式,用来处理、分析、探索测试站资料。

为最终测试流程建立模型

大部分的工程师将伫列、伺服器、个体、及其他来自预先定义的函式库的模块连结在一起,来建立用来进行离散事件模拟的模型。大多数模拟环境中,因为预先定义的要件的关系,让理解其基本功能与在模拟系统的影响变得困难。我决定采取不同的方式:开发一个MATLAB脚本,以编程的方式建构SimEvents模型。透过SimEvents的基线元件建立模型有个优点,就是在一开始就先知道以模型建立的系统的所有功能、逻辑、策略行为。利用编程的方法可以执行最隹化演算法,同时调整模型叁数并产生新的模型。这样的方式,可以藉由在MATLAB建立的第二个介面定义出模型。


这个介面让工程师可以指定测试站的数量与结构、工作人员人数等条件,来定义测试流程。工程师的选择被捕捉进一个的资料模型,MATLAB脚本可利用该模型来产生内含测试站与工作人员子系统的SimEvents模型(图4)。



图4 : 上:建立在SimEvents的终端测试流程模型。中:从模型而来的测试站子系统。下:工作人员子系统。
图4 : 上:建立在SimEvents的终端测试流程模型。中:从模型而来的测试站子系统。下:工作人员子系统。

在这个被产生出的模型包含了大约1500个模块,工作人员与车辆实体在每一个测试站透过实体整合器被放在一起。这些测试站以多个代表了测试站内每个单独的流程的单一伺服器表示。在每个测试站所花费的时间则由基於事件的随机数字模块利用任意离散分配依该测试站处理过的log资料来计算。


测试站的逻辑行为还有实体的策略控制皆是以MATLAB脚本建模,并以S-Function模块形式嵌入到模型中。模型储存了来自每一个测试站的统计资料,包含有多少车辆被处理过、每辆车在测试站停留多久、在每个测试站之间车辆会等候多久等等,也储存来自周边过程的资料,像是车辆交付、工作人员的流动、以及停顿时间等等。我利用MATLAB来进行这些资料的後期处理与视觉化(图5)。



图5 : 模拟结果的视觉化
图5 : 模拟结果的视觉化

我最早利用介面与模型产生器建立的其中一个模型仅是复制内含以真实世界原始资料建立的资料库的现成工厂设置。我执行这个模型模拟,并将其结果与来自工厂现场的真实世界结果进行比较,以验证模型与模型产生的脚本。


执行模拟来优化流程

当我能够处理与分析log资料并以编程的方式产生模型,我就可以开始执行有系统的模拟来优化最终测试的表现。在模拟当中,演算法的优化让结构的变化反应出不同的工厂产出,以及让叁数的变化反应个别的测试站结果。我提供界限与初始值,并接着利用一个在全域最隹化工具箱(Global Optimization Toolbox)的样本搜寻演算法来优化像是生产量、必要的生产设备、人力、与浪费等因素。若要评估所有可能的模型变异,可能需要经历数千次的实验。我透过样本搜寻演算法,只要少少几次的实验就可以达成同样的结果。


SimEvents模型帮助我调整临界值以执行假设情境。我执行模拟器,例如查看车辆的变化如何影响特定测试必须花费的时间,这让我可以找出对流程性能影响最大的变异。


传统的汽车制造商花费相当可观的精力在缩短测试时间上,却很少注意到最终测试的设计对於整个流程的影响。在Daimler,我的模拟研究改变了这个情况。我透过SimEvents执行的模拟与最隹化提供改变厂房结构所造成之影响的洞见。在设计新的制造厂房之前,Daimler现在可以评估像是预备及缓冲区的大小、测试站数量、接合点的启用、人员配置等可能影响厂房测试表现的因素。


(本文由??思科技提供;作者Marius Gemeinhardt任职於Daimler AG公司)


相关文章
如何透过Simulink进行ISO 26262专案
无人自动驾驶计程车的纵向控制开发
飞机之电力电子即时模拟与测试
数位讯号处理器有效实现个人化生活
大批量制造的装置叠对方法
comments powered by Disqus
相关讨论
  相关新闻
» 深耕台湾十年 伊顿持续聚焦智慧电力
» 当AI与机器人走进生活 仁大资讯深化智慧应用
» 物联网需求多元 感测器功能必须同步跟上
» 节能环保采购 制程、厂房缺一不可
» 采取划时代革新 敉平台湾机器人技术缺囗
  相关产品
» HP X上奇科技 Indigo无限可能卓越中心盛大开幕
» 使用适合长行程的滚轮拖链 igus 免上油轴承 使用寿命增加了一倍以上
» Seeing Machines为自动化调研汽车推出Guardian BdMS系统
» 兆镁新推出10款全新GigE工业相机
» ADI 针对极低电压元件推出 ±0.5% 精度监控器

AD