基于Flexsim的翻转起模机仿真实现方法研究*
2018-08-30郝慧慧班永华贾乐跃
郝慧慧,马 涛,班永华,赵 富,贾乐跃
(特种车辆及其传动系统智能制造国家重点实验室,内蒙古 包头 014032)
翻转起模机是一种适用于树脂砂或其他硬砂造型线中的关键设备之一,其作用是把模样与砂型分离[1],完成铸型的翻转与起模。其工作原理科学,整机运行平稳,起模周期连续可调,便于整条铸造生产线的同步调整,广泛用于铸造行业。
翻转起模机是某工厂铸造生产线主要铸造设备之一,而生产线仿真软件Flexsim中,没有直接实现铸造设备动作方式的方法,需要通过建模人员借助软件中的实体和代码编写来实现仿真。Flexsim软件是离散事件系统仿真软件[2-3],就系统中的典型问题进行分析、建模、仿真和优化,实现资源配置的最优化。国内外学者对翻转起模机的控制系统等开展了大量的研究工作,但没有针对翻转起模机在仿真建模的实现方法方面的研究。本文重点应用Flexsim软件对翻转起模机仿真建模的实现方法进行研究,为铸造生产系统的仿真工作提供参考依据。
1 Flexsim软件介绍
Flexsim系统仿真软件是美国Flexsim Software Products公司基于OpenGL技术开发的一款通用离散事件系统仿真软件,它集计算机三维图像处理技术、仿真技术、人工智能技术和数据处理技术于一体[4-6],能为用户提供原始数据拟合、输入建模、图形化模型构建、虚拟现实显示、仿真结果优化和三维动画影像文件生成等功能,并提供了与其他工具软件的接口[7-8]。应用Flexsim系统仿真软件,用户能根据需求用C++/FlexScript语言创建和修改对象,实现各类设备或系统的仿真分析。本文所使用的计算机硬件设施为惠普Z800工作站,能满足Flexsim软件的运行要求。
2 翻转起模机的动作分析
该铸造生产线翻转起模机主要由机座、上辊道、下辊道、框架、液压系统和电控柜等组成。其动作流程是:底板⑴进入→翻转起模机反转180°,砂型+模底板①进入→夹紧模底板①,上下辊道夹紧→翻转起模机正转180°→起模,上下辊道松开回位→砂型+底板⑴送出,底板⑵进入→翻转起模机反转180°,模底板①送出→砂型+模底板②进入。动作流程示意图如图1所示,动作时序图如图2所示。
图1翻转起模机动作流程示意图
从仿真角度出发,翻转起模机的动作实质是将砂型的托盘由模底板变为底板,底板托着砂型进入修型扎气眼、烘干等工序,替换下的模底板返回至清理工位。
3 仿真模型的建立
3.1 模型的实体设置
根据铸造生产线流程,在Flexsim界面窗口中添加对应实体,并将实体进行A或S连接,使实体构成实际的生产线布局。其中,由处理器代表翻转起模机,传送带代表辊道输送机,任务执行器代表辊
道转运车。利用处理器General选项卡中的Visuals/Animations功能创建翻转起模机的其他运动部件,其中,处理器相当于翻转起模机的基座,在基座下添加翻转起模机框架“fzjg”,框架子节点下添加下辊道“xiagundao”和上辊道“shgundao”,实现翻转起模机整体模型的建立,创建的仿真模型如图3所示。依照动作时序图借助软件动画编辑器为翻转起模机添加动画,分别为“rotate-180”“rotate180”“travel”(见图4),3个动画分别代表翻转起模机反转180°、正转180°及上下辊道移动。
图3 翻转起模机仿真模型
图4 翻转起模机Animation and Components界面
3.2 模型的参数及代码设置
根据铸造生产线中各环节生产数据设置实体参数,其中设置处理器(起模机)容量为3,同一时间处理器中最多能有3个item,包括砂型、模底板和底板。根据不同的itemtype设置加工时间和输出端口号,如果是砂型+底板,则输出到后续的修型扎气眼工位;如果是模底板,则输出至模底板清理工位。
在处理器(起模机)OnEntry触发器中编辑如下代码:
treenode xiagundao = node("……,model); //引用下辊道
treenode shgundao = node("……",model); //引用上辊道
if(getitemtype(item)==2) //判断item是否是底板
{ moveobject(item,xiagundao); //将砂型移动至下辊道
……
startanimation(current,"rotate-180");
senddelayedmessage(current,23,current,1,0,0); }
if(getitemtype(item)==1) //判断item是否是砂型+模底板
{ settablenum("modelcnt",1,1,1); //表示起模机处于工作状态(此时模底板上料工位不能再输入新的模底板)
moveobject(item,shgundao); //将砂型移动至上辊道
……
senddelayedmessage(current,0,current,2,1,0); }
在处理器(起模机)OnMessage触发器中编辑如下代码:
treenode tuoban = node("……",model); //引用下辊道上的底板
treenode shaxing = node("……",model); //引用砂型
if(msgparam(1)==1)
stopanimation(current,"rotate-180");
if(msgparam(1)==2)
{
if(msgparam(2)==1)
{ startanimation(current,"rotate180");
senddelayedmessage(current,71,current,2,0,0); }
else
{ stopanimation(current,"rotate180");
moveobject(shaxing,tuoban); //将砂型移动至底板上
……
startanimation(current,"travel");
senddelayedmessage(current,20,current,3,0,0); }
}
if(msgparam(1)==3)
stopanimation(current,"travel");
将处理器(起模机)前端的传送带(辊道5)的拉入策略设置为循环模式,先拉入底板,然后拉入砂型+模底板,并依次循环,其他仿真逻辑可在适当的时间点、合适的位置通过开闭端口命令实现。
3.3 模型的运行
通过运行模型发现,采用上述方法可以达到预期仿真效果(见图5~图7),可在满足实际铸造生产线仿真要求的情况下,使仿真效果更逼真。
图5 砂型+模底板进入
图6 砂型+底板送出
图7 模底板送出,新底板送入
4 结语
本文针对某铸造生产线仿真项目中的翻转起模机设备进行研究,探讨了翻转起模机仿真实现方法,运用实体动画编辑器和逻辑代码二次开发了翻转起模机,实现了翻转起模机的仿真,仿真效果逼真,为保证整个生产线仿真项目的准确度起到关键作用,同时可为其他仿真工作者提供参考。