(特种车辆及其传动系统智能制造企业国家重点实验室,内蒙古 包头 014032)
摘 要:应用Flexsim系统仿真软件,针对物流系统中人推车装卸物料的仿真问题,提出了一种简单、通用的解决方案。该方案已应用于工厂关键部件装配生产线仿真模型的创建中,达到了预期仿真效果,证实了该方案的可行性,可为其他学者进行类似仿真建模提供参考依据。
关键词:人推车装卸物料;物流系统;Flexsim
随着计算机仿真技术的快速发展,越来越多的企业或科研院所选择仿真技术对系统或产品进行仿真验证及优化研究。仿真效果的真实性直接影响着仿真结果的可信度。在进行工厂关键部件装配生产线仿真项目时,其主要物流方式之一是人推车装卸物料,而Flexsim软件中没有这一物流方式的直接实现方法,需要建模人员借助软件已有的实体或代码实现这一仿真要求。
本文提出一种简单且通用的解决方案。相对于其他方案[1],该方案具有以下4个优点:1)仿真模型只需借用通用实体,而无需开发利用基本实体;2)实体连接原理及逻辑代码简单易懂,初学者即可独立完成;3)具有通用性,适用于多种人推车装卸物料的仿真情况;4)可真实地获取操作员的劳动强度,对于旨在获取操作员劳动强度的仿真系统具有重要意义。采用该方案真实地完成了物流系统中人推车装卸物料的仿真问题,可为同行业其他学者进行仿真建模提供参考。
Flexsim系统仿真软件是美国Flexsim Software Products公司基于OpenGL技术开发的一款通用离散事件系统仿真软件[2]。本文应用Flexsim 7.1.4版本进行模型的创建和仿真,所使用的计算机硬件设施为惠普Z620工作站,满足Flexsim软件的运行要求。
实现人推车装卸物料需要分析并明确如下仿真要点:1)借助Flexsim系统仿真软件中的哪些实体实现装卸动作;2)如何实现人推车的动画效果;3)物料数量是固定数值还是随机数值(随机数量是指并不知道每一次会装载多少物料,而是依据一定条件随机决定装载物料数量);4)如何实现物料置于车上恰当位置;5)人推车到卸载点后,是否需随即卸载车上物料。
3.1 装卸动作的实现方法
通常情况下,设计者会认为人与手推车在Flexsim系统仿真软件中均属于移动资源类实体,实现人推车装卸物料动作必然涉及协同任务序列,而复杂的协同任务代码对于初学者来说难度太大,其中很多的系统机制问题很难得以解决,而且工作量也大。如果换一种思路,将手推车作为临时实体,则实现难度大大降低,配合使用合成器及分解器实体可实现物料与手推车的合与分,在合适的地方使用操作员实体即可实现装卸动作,具体原理如图1所示。
图1 Flexsim实体连接原理图
3.2 人推车动画效果的实现方法
虽然Flexsim软件内嵌实体,但是这些内嵌实体的三维形状过于简单,不能有针对性地演示仿真内容的视觉效果,从而降低模型的真实感,可谓“仿而不真”[3-4]。Flexsim软件嵌套了临时实体模型的二次开发接口,可将手推车模型通过临时实体箱接口导入到软件系统中。
二次开发手推车方案如下:1)借助Google SketchUp软件建立手推车模型,模型格式为.skp,不需第三方软件即可将手推车模型的形状、颜色等特征导入到Flexsim软件中;2)通过临时实体箱接口将手推车模型导入到Flexsim软件中;3)对手推车模型的位置、尺寸及旋转角度等参数进行修正,以符合实际需求。
因为手推车唯一功能是装载物料,所以,在开发手推车临时实体时,建议选择添加“New Container FlowItem”,而非选择“New Basic FlowItem”(其真正目的在本文3.4节论述)。由于手推车作为临时实体由发生器发出,因此,设置手推车到达方式为按列表方式0时刻到达1个手推车,这样在仿真开始时手推车即可出现在系统内。此外,手推车与物料经合成器合成后,应由操作员将物料推运至下游,但实际仿真效果是操作员将其搬运至下游;因此,需要在操作员装载触发器中编辑代码,使人推车的仿真动画更逼真。代码很简单,只需通过判断手推车临时实体的类型,来设置小车在操作员坐标系下的位置。人推车仿真效果图如图2所示。
图2 人推车仿真效果图
3.3 装载物料数量的实现方法
装载物料数量可能是固定值也可能是随机值,而本方案中使用合成器的另一大优点就是方便设计者根据装载物料的数量有针对性地设置参数或编辑代码。如果是固定数量,只需在合成器属性界面更改其合成列表中合成数量即可(见图3);如果是随机数值,则需要通过应用合成器中的定制代码,并配合用户编辑简单代码来实现,具体方法为在合成器进入触发器中选择定制代码“Update Combiner Component List”,在系统中添加一行一列的全局表,并在合成器的上游实体(如暂存区)进入触发中编辑如下代码,即可实现装载物料数量随上游物料数量而定,且不超出手推车的最大负载量。
图3 合成器属性界面
int quality = content(current);
if(quality <= n)="">
settablenum(“tablename”,1,1,quality);
else
settablenum(“tablename”,1,1,n);
3.4 物料置于手推车上恰当位置的实现方法
开发手推车临时实体时,需将其设置为“New Container FlowItem”,而非“New Basic FlowItem”,其真正目的是在没有严格要求的情况下,设计者无需编辑任何代码即可将物料置于手推车上,2种方式对比图如图4所示。
图4 Container与Basic临时实体对比
因为Flexsim软件中的容器临时实体(即托盘)自身内嵌了装载物料的逻辑代码,托盘可根据其自身坐标及所装物料大小自动将物料放置于恰当位置。需注意的是,在开发手推车临时实体时应设置临时实体黄框与手推车装载面的位置,使其完全吻合(见图5)。
图5 手推车临时实体开发界面
若物料仿真位置有严格要求,设计者可根据情况编辑相关代码,并将容器临时实体的装载方式设置为“Do not pack”(见图6)。
图6 手推车临时实体装载方式设置
3.5 人推车到卸载点后卸载物料的实现方法
在实际物流系统中,必然会存在不同操作员均可推送同一辆手推车的情况,这就需要应用到Flexsim软件内嵌的任务分配器实体,可将任务按触发顺序分配给处于空闲状态的多个操作员。其带来的弊端是任务分配器极有可能将装卸任务拆分给多个不同操作员,如操作员1将手推车及物料推送到卸载点后不卸载物料,却返回到装载点,而卸载任务早已分配给空闲的操作员2,这与实际情况不符。遇到这种情况,需要在操作员“OnReceiveTaskSequence”触发器中进行编辑,目的是将正在推送物料的操作员名称设置为分解器的标签值(在此之前需要给分解器创建文本标签,如标签名为operatorname),具体编辑代码如下。
treenode separapor = centerobject(inobject(current,x1),x2); //指向分解器
treenode destination = NULL;
treenode secondDestination = NULL;
for(int taskrank = 1;taskrank <=>
{
if(destination
{
destination = gettaskinvolved(ts,taskrank,1);
}
else
{
secondDestination = gettaskinvolved(ts,taskrank,1);
}
}
setlabelstr(separapor,'operatorname',getnodename(current));
然后,需要在分解器的“Flow”选项中选择“Use Transport”,并在其触发器中编辑代码如下。
return node(getlabelstr(current,'operatorname'),model());
最终实现刚推送物料的操作员卸载物料。此外,需要设置该卸载任务的优先值及先占值,倘若正在推送物料的操作员先接受了别的任务而非卸载任务,则当他接受到卸载任务时,可将卸载任务抢占在其余任务之前先执行。如图7~图9所示实例即是应用了上述方法达到预期效果,在满足实际物流仿真要求的情况下,使仿真效果更逼真。
图7 Operator1搬运物料到卸载点
图8 Operator1到达卸载点(此时Operator2处于空闲状态)
图9 Operator1随即卸载物料并推空车返回
本文以物流系统中常见的人推车装卸物料的物流方式为研究对象,针对该物流方式的仿真要点进行了分析研究,并逐一提出了仿真方法。
组合运用合成器与分解器实体,不需编辑复杂的逻辑代码,不需运用运动学知识,即可简单易懂地实现物料与手推车的合与分的机理。
由于Flexsim系统自身支持实体二次开发,因此,将手推车模型作为容器型临时实体进行开发,可简单方便地实现人推车的仿真动画。
该仿真方案虽涉及实体较多,但其突出优点是原理简单、逻辑代码较易、仿真效果逼真,Flexsim软件初学者稍加分析即可学习领会。
参考文献:
[1] 文翠萍.大型船舶物料搬运系统运行优化及可视化仿真研究[D].武汉:华中科技大学,2013.
[2] 周向阳.第三讲:Flexsim系统仿真软件的功能特点[J].物流技术:装备版,2010,29(9):85-87.
[3] 陈红霞,王晓昱.基于Flexsim软件的装配线临时实体二次开发[J].制造业自动化,2014(2):61-64.
[4] 揭正梅,侯开虎,张迎风.基于Flexism的某汽车总装生产线仿真与优化[J]. 新技术新工艺,2015(5):29-31.
责任编辑 郑练
Research on Simulation Method of Trolley Loading and Unloading Material Based on Flexsim
HAO Huihui, DU Shaofeng, MA Tao, PEI Yuxia, WU Luo
(State Key Laboratory of Smart Manufacturing for Special Vehicles and Transmission System, Baotou 014032, China)
Abstract:The system simulation software of Flexsim is used to solve the simulation problem of loading and unloading materials in the logistics system. The method has been applied to the simulation model of the assembly of the key components in the factory, which can achieve the expected simulation results. This proves the feasibility of the scheme and can provide reference for other scholars to carry out similar simulation modeling.
Key words:people trolley loading and unloading materials, logistics system, Flexsim
中图分类号:F 253.9;TP 391.9
文献标志码:
联系客服