APP下载

基于Flexsim的子母穿梭车的运动仿真研究

2018-11-02于宏飞

制造业自动化 2018年10期
关键词:立体仓库提升机执行器

孙 慧,于宏飞

(山东科技大学 交通学院,青岛 266590)

0 引言

随着经济的快速发展,人们对物流效率的要求越来越高,制造型企业的物流仓储自动化的发展也越来越快,高效的自动化立体仓库应也用于各行各业。越来越多的自动化立体仓库在货物出入库方面都是依靠穿梭车系统来实现的,在此基础上,双向子母穿梭车应运而生,它进一步提高了仓储物流的效率[1]。

子母穿梭车自动化立体仓库是穿梭子车、穿梭母车、行走轨道、巷道货架、托盘垂直提升机、托盘输送系统、自动控制系统、无线仓储控制系统(RWCS)、仓储管理软件(WMS)等组成的全自动密集式仓储系统,该系统在每层均配置子母穿梭车,实现对当前层的出入库作业,垂直方向通过提升机实现托盘货物的垂直输送。而其中的子母穿梭车,顾名思义,有一个子母的概念,就是母车承载着子车在仓库货架间的轨道上行驶,当取货或者放货时,母车释放子车进行货物的存取。由此可见,子母穿梭车(如图1所示)很好的适应了现在的密集型自动化立体仓库。这种仓库节约了存储空间,子母穿梭车的加入使得出入库存取货物的效率提高,减少了作业等待时间,大大提高了工作效率[2]。

在智能物流规划方案的设计中,求解及优化自动化立体仓库的货位分配、出入库效率、验证相应的规划算法及出入库作业相关联的设备运行情况等问题时,采用三维仿真技术进行模拟,通过分析仿真过程中产生的数据,可以更为直接准确地验证及优化方案。而对于子母穿梭车来说,在Flexsim物流仿真软件的实体库中并没有与之相对应的实体对其进行仿真模拟.本文以某物流配送中心多层穿梭车自动化立体仓库为基础并基于Flexsim对双向子母穿梭车进行运动仿真进行研究。

图1 工作中的子母穿梭车

1 思路概述

物流系统仿真是借助系统仿真技术研究物流系统行为,仿真模型是对现实系统的真实反映,并通过相应技术得以在计算机上动态展现,是计算机仿真技术在物流工程领域的重要应用。本文基于Flexsim仿真平台构建子母穿梭车自动化立体仓库。

Flexsim是由美国Flexsim Software Production公司开发的一款离散事件仿真程序软件[3],使用Flexsim可以建立一个真实物流系统的三维计算机模型。Flexsim实现的是离散系统的仿真,关注的是系统运作过程中各个参与者之间的变化和相互之间的关系。建模时,用模型库里的某个对象,只需要用鼠标把该对象从库里拖出来放在模型视窗即可。其建模步骤如图2所示。

图2 Flexsim建模基本步骤

子母穿梭车在Flexism软件中是一种任务执行器(TE),任务执行器可以从固定资源类实体中获取并执行包括装载、卸载、行走,延迟在内的各类任务,并且TE本身也可以向其他TE指派任务,强大而灵活的任务执行器二次开发功能使得Flexsim仿真模型能最大程度地还原实际系统。

子母穿梭车可以选用基本任务执行器这个实体来进行二次开发,本文要解决的问题是其运动学的仿真与取放货的功能实现。在基本任务执行器(BTE)中导入穿梭母车与穿梭子车的三维模型,在实体的属性中写入Flexsim自带的脚本语言所提供的运动学函数与其他函数,使穿梭车能够根据设计要求进行功能仿真。

2 实现过程

2.1 模型布局建立

某公司多层穿梭车自动化立体仓库有十层,通过穿梭车来对货物进行入库操作。该立库有1个I/O站台,货物入库后,通过提升机送到每层的货物交接处,当货物到达交接处时向穿梭车发出请求,如果穿梭车空闲,则穿梭车将相应货物运送到当前层的货架中,完成放货后,将会回到交接处等待区进行等待。总体布局如图3所示,子母穿梭车存货如图4所示。

图3 总体建模布局

图4 穿梭车子车伸出进行存货

2.2 作业流程

本文以多层穿梭车系统入库作业为例,事件驱动的作业流程描述如下:

当子母穿梭车立体仓库入货口收到货物入库任务请求时,先由提升机负责垂直方向的运输,如此时提升机不为空闲状态,则货物将进行等待并加入提升机执行的任务序列中,直至提升机完成上一次的任务,并向入库位移动,此时进行货物交接,由提升机垂直运动将货物送到所在的水平层,到达水平层货物交接处时请求穿梭车的调度服务,如果此时该层穿梭车空闲,则穿梭车水平方向运动至货物交接处,子母穿梭车伸出子车进行货物装载,然后水平方向运动至货物,由子车将货物放置在货位上,完成货物放置后,返回至货物交接处进行等待,如有货物,则进行下一任务的货物取放与运动,从而完成该任务。

Flexsim实现的事件驱动的离散仿真,通过事件激发来实现计算机逻辑,如图5所示。

3 运动代码实现

3.1 模型视图三维外观实现

虽然Flexsim仿真软件有自己的实体库,但是默认实体库中没有子母穿梭车这一实体。对于子母穿梭车物流系统仿真,要想获得“真实”的效果,需要根据子母穿梭车的尺寸及比例,开发三维视图。首先基于SoildWorks软件进行子母穿梭车的三维模型的开发,将子母穿梭车的“子车”与“母车”用SoildWorks对模型进行调整,之后在Flexsim中按比例恢复模型的形状,模型导入Flexsim后,使用Edit 3Dshape Factors修正模型(如图6所示)。选用基本任务执行器(BTE)作为可视化工具及逻辑实体进行建模开发,BTE是为二次开发准备的,它具有任务执行器的可继承性的功能,便于开发。

图5 穿梭车系统入库作业逻辑流程

根据以上步骤,完成三维外观导入,如图7所示。

图6 基于SoildWorks的子母穿梭车建模

3.2 主要运动逻辑程序代码

3.2.1 取放货实现

穿梭车在装载与卸载时分别设定标签值,方便在穿梭车在运动学的编程中进行逻辑状态的判断,在卸载时要判断有没有新的任务,没有的话则直接返回原点等待下一个任务。

图7 子母穿梭车导入BTE步骤

以上代码在穿梭车收到装载任务时触发,initkinematic命令的第一个参数必须指定一个空节点,在节点中将储存运动学信息的位置。在执行装载任务时,首先穿梭车完成装载后先将子车从货物交接站台上收回,然后在对应的轨道进行运动,直到抵达卸载的货架位进行卸载。Flexsim的运动学功能用来使一个实体执行多个运动操作,每个运动都可根据需要设定速度,旋转参数等,在此模型中需要注意的一点是模型重置时需要写入将运动学信息清空的代码,否则就会出现重置时穿梭车出现在上次模型仿真停留的位置。使用运动学可以对任何实体进行系统之外的动画自定义,使仿真模拟的三维效果接近实际。以上代码在穿梭车收到相应的装载任务时触发, y-ysize(current)值的设定为轨道偏移量,使穿梭车能够正好行走在货架轨道处,看起来更加真实一些。

3.2.2 运动状态判断

以上代码在穿梭车收到相应的卸载任务时触发,在完成卸载任务时将返回货物交接处,如果货物交接处有货物,则伸出子车进行装载,继续执行任务。

3.3.3 运动视图实现

调用upadatekinemastic()命令,使穿梭车在执行动作过程中刷新视图,否则会出现穿梭车在开始运动时一直停在原处,在运动结束后突然出现在目标位置的情况[4]。此命令计算实体的当前位置与转角,在自定义绘图代码(customer draw)触发器中触发。

4 结论

货架用子母穿梭车,是仓储密集存储系统和自动化系统完美结合,除了货物的取放与分配之外,穿梭车还能够与其他设备进行互相协作,完成更多耗时耗力的作业,比如穿梭车能与提升机或者AGV进行配合,实现全自动智能化的仓储物流目标。在Flexsim中通过建模逻辑与运动学的二次开发,通过用于某公司多层穿梭车自动化立体仓库进行建模,实现了子母穿梭车在Flexsim中的运动与取放货的功能,验证了该研究方法的可行性,也为以后更深层次复杂的二次开发的仿真研究提供了思路。

猜你喜欢

立体仓库提升机执行器
干熄焦提升机控制系统的改造
PLC技术在煤矿提升机控制系统的应用
基于Flexsim的自动化立体仓库仿真研究
自动化立体仓库技术的应用探讨
高锁螺母自动化安装机器人末端执行器设计
X-431实测篇2010年奔驰B200空调执行器电机学习
飞机装配预连接紧固件自动化安装末端执行器设计
基于B7A接口的钢板立体仓库控制系统设计
延迟不确定马尔科夫跳变系统的执行器和传感器故障同时估计方法
自动化立体仓库的若干关键技术研究