技术文章和通讯

基于离散事件模拟的汽车制造过程优化

戴姆勒公司(Daimler AG)的马利厄斯•格梅因哈特(Marius Gemeinhardt


在新车离开生产线之前,他们经历一系列线路检查,包括静态和动态测试。在静态测试中,技术人员和自动化测试程序都运行电子诊断;在动态测试,技术人员,测试软件,测功机和其他测试站中共同运作,检查发动机并调节悬架或其他组件。

协调和协调生产线末端测试涉及的工人、机器和车辆是一项复杂的任务。许多公司没有正式的流程优化方法,而是依赖于高级工程师的主观建议;其他生产厂的最佳实践,它们可能有不同的要求;甚至在试验和错误中。

为了最大化生产吞吐量和产能,同时最小化人力和浪费,我开发了一个使用Simulink运行模拟的平台金宝app®和SimEvents®.仿真用于帮助运营决策,预测提出的制造工艺更改的结果,并提高戴姆勒生产线的效率(图1)。

图1所示。一辆奔驰s级车离开了装配线。

行尾测试优化的挑战

几个因素使优化线路测试的优化使。首先,难以在任何给定的测试站估计处理时间。例如,悬架中的差异是指一些车辆在悬架调整站需要更多的时间比其他车辆需要更多的时间。其次,介绍了可以更快地完成测试的新设备也可以扰乱建立的流程。同样,将新技术引入车辆中导致新的可选附加额外的额外额外的预乘信息。

第三,可用的流程改进选项的复杂性使得即使是专家也几乎不可能预测更改将如何影响整个流程性能。增加工人,并行完成测试,处理重制汽车,在每个测试站前插入缓冲(队列),允许车辆在测试站之间交叉,提前周期时间——专家需要了解这些选项的每一个可能组合的效果,以找到最佳配置。

收集和管理数据

我知道我的模拟需要考虑大量的数据。通常在模拟研究中,数据是在不同的软件包之间交换的,有丧失精确度和完整性的风险。用MATLAB®和Sim金宝appulink,我使用相同的环境来收集、分析和准备数据,以及基于数据的优化和仿真。此外,我还可以使用Parallel computing Toolbox™在多个计算核上运行分析,从而加快处理速度。

每个测试站为每辆车生成一个日志文件。如果在三个测试站测试1000辆车,那么将记录3000组数据集。对于一个站点上的一辆车,日志文件包含多达20万行信息。每个日志文件只包含必要信息的一小部分,这些信息包括车辆细节、每次测试的结果以及完成每次测试所需的时间。为了快速提取这些数据,我创建了一个基于dos的批处理文件,为每个日志文件调用它,并将这些作业分配到每个可用的核心上。

分析现有过程

在我开发模拟之前,我需要了解当前的测试过程。我从每个测试站收集日志文件,并在Matlab中以数字和图形分析数据。我绘制了测试时间和车辆变化的直方图和条形图,并进行了统计分析,以关联这些变量(图2)。我通过使用并行计算工具箱在四核处理器上执行这些任务来加速对日志文件的分析和处理几乎四个。

图2。直方图显示各种车辆类型的测试持续时间。

在交互探索和分析数据之后,我在MATLAB中创建了一个接口,简化了常见的分析任务(图3)。我将在MATLAB中开发的接口和分析函数打包成一个独立的Microsoft®窗户®application, PARSE(用于站点重叠探索的过程分析例程)。使用MATLAB Compiler™创建的PARSE使我在戴姆勒的同事能够在不安装MATLAB的情况下探索行末测试数据。PARSE还为下面的建模和仿真提供了数据库。

图3。在MATLAB中开发的PARSE应用程序,用于处理、分析和探索试验站数据。

建模行尾测试流程

大多数工程师通过将队列、服务器、实体和预定义库中的其他块链接在一起来创建离散事件模拟模型。大多数模拟环境中的预定义元素使人们很难理解它们的基本功能及其对模拟系统的影响。我决定采用一种不同的方法:我开发了一个MATLAB脚本以编程方式构建SimEvents模型。使用SimEvents基线元素构建模型的优势在于,建模系统的所有功能、逻辑和战略行为从一开始就已知。编程方法使运行优化算法成为可能,这些算法既可以调整模型参数,也可以生成新的模型。它还允许通过我在MATLAB中构建的第二个接口定义模型。

该接口使工程师能够通过指定测试站的数量和配置,工人数等来定义测试过程。工程师的选择是在MATLAB脚本用于生成带站和工作子系统的SIMEvents模型的数据模型中的选择(图4)。

图4. TOP:在Simevents中建模的线端测试过程。中间:来自模型的站子系统。底部:工人子系统。

在生成的模型中,包含了大约1500个区块,工人和车辆实体通过实体组合器在每个站点聚集在一起。站点由多个单个服务器表示,这些服务器表示站点内的各个进程。花费在每个站点上的时间由一个基于事件的随机数字块计算,该数字块使用基于该站点处理过的日志数据的任意离散分布。

站点的逻辑行为以及实体的战略控制,使用包含在模型中作为S函数块的MATLAB脚本进行建模。该模型可节省每个站的统计数据,包括处理了多少辆车,每个车辆在车站所花费的时间以及在站之间等待的时间,以及从外围过程中等待的时间,如车辆,工人流程等的外围过程暂停时间。我使用MATLAB到后处理并可视化此数据(图5)。

图5。仿真结果的可视化。

我使用接口和模型生成器创建的第一个模型之一简单地将现有的出厂设置与基于现实世界原始数据库构建的数据库复制。我运行了这种模型的模拟,并将其结果与工厂地板的现实世界结果进行了验证,以验证模型和模型生成脚本。

运行模拟以优化流程

一旦我有了处理和分析日志数据并以编程方式生成模型的方法,我就可以开始运行系统模拟以优化行尾测试性能。在仿真中,优化算法通过改变结构来反映不同的工厂布局以及各个试验站的参数变化。我提供了边界和初值,然后在全局优化工具箱中应用了模式搜索算法来优化吞吐量、所需生产设备、人力和浪费等因素。要评估所有可能的模型变体需要进行数千次实验。使用模式搜索算法,我可以用这个数字的一小部分实现相同的结果。

SimEvents模型使我能够调整边界值以运行What-If方案。例如,我跑了模拟,看看车辆变异如何影响特定测试所需的时间,使我能够识别大多数影响过程性能的变化。

传统上,汽车制造商在缩短测试持续时间方面支出了相当大的努力,几乎没有意识到线路尾随布局如何影响整体过程。在戴姆勒,我的模拟研究改变了这一点。我使用SimEvents进行的模拟和优化提供了植物结构变化影响的见解。在设计新的制造工厂之前,Daimler现在可以评估各种因素,例如提供的区别区域和缓冲区的大小,站点,有利的交叉点和人员将影响植物测试性能。

发布2017年 - 93085V00