系统仿真课程设计报告柔性制造系统.docx
- 文档编号:9384739
- 上传时间:2023-05-18
- 格式:DOCX
- 页数:33
- 大小:935.75KB
系统仿真课程设计报告柔性制造系统.docx
《系统仿真课程设计报告柔性制造系统.docx》由会员分享,可在线阅读,更多相关《系统仿真课程设计报告柔性制造系统.docx(33页珍藏版)》请在冰点文库上搜索。
系统仿真课程设计报告柔性制造系统
仿真课程设计
——柔性制造系统仿真与优化
学院:
机械工程学院
专业:
物流工程
班级:
物流081班
姓名:
黄维
学号:
40840220
指导老师:
赵宁
时间:
2012年3月
目录
1、设计内容与目的2
2、课程设计组织形式2
3、课程设计内容2
3.1所需设计资料3
3.2柔性制造系统仿真建模步骤3
3.3仿真优化步骤3
3.4课程设计内容要求3
3.5最终提交内容4
3.6课程设计具体要求4
4、课程设计基本目标5
5、课程设计基本材料5
5.1柔性制造系统状况5
5.2产品工艺状况7
5.3订单状况8
6、主要技术8
6.1传感器(sensor)8
6.2队列任务10
6.3冲突化解10
6.4注意问题11
7、柔性制造系统建模12
7.1建模元素12
7.2系统模型搭建12
7.3Entity的属性设置13
7.4AGV小车——Transporter15
7.5Track与sensor的设计15
7.6队列任务与冲突化解16
7.7模型中的各种方法17
7.7.1Megettask方法17
7.7.2控制小车方向的方法18
7.7.3控制小车当前位置改变的方法18
7.7.4控制工件从缓冲到小车的方法18
7.7.5控制工件从小车到缓冲的方法19
7.7.6控制设备加工时间的方法20
7.8Chart20
8、模型分析与优化21
8.1基本模型的运行分析21
8.2订单按时间分批投入22
8.3订单按顺序循环投入23
8.4多小车模型的优化23
8.5提高小车速度28
8.6改变设备缓冲容量28
9、优化方案28
1、设计内容与目的
本课程设计是与物流工程专业教学配套的实践环节之一,结合《现代生产管理》、《设施布置与规划》、《离散系统建模与仿真》等课程的具体教学知识点开展。
在完成以上课堂教学的基础上,进行一次全面的实操性锻炼。
设计采用企业的实际案例数据,要求学生完成两大方面的实际设计内容:
Ø生产线物流仿真建模;
Ø生产线物流优化方案设计;
通过本环节的设计锻炼,让学生加深对本课程理论与方法的掌握,同时具备分析和解决生产运作系统问题的能力,改变传统的理论教学与生产实际脱节的现象。
2、课程设计组织形式
课程设计过程以个人方式进行,由指导教师向学生发放有关的课程设计背景资料,并向学生讲述课程设计的方法、步骤和要求,设计过程采取课堂集中辅导,分散设计的方式进行。
课程设计要求每个同学独立完成,课程设计结束要求提交一份课程设计报告书,并进行课程设计方案演示和答辩,评出若干优秀设计成果。
3、课程设计内容
以某企业柔性制造系统(FMS)为对象(见附件资料),按该企业的生产实际资料为设计依据。
对该柔性制造系统进行建模和仿真,通过模拟该制造系统的物流状况,寻找优化的物流方案进行产能平衡,并针对优化后的方案再次进行仿真,对比两个仿真结果在交货期要求,设备利用率等方面的不同,并制定该柔性制造系统生产作业计划。
3.1所需设计资料
1)某企业柔性制造系统现有布置草图;
2)生产订单;包括:
产品品种、数量、交货期要求;
3)各订单产品的工艺流程、各工序的工时定额;
4)该柔性制造系统的详细设施状况;包括:
设备代号、缓冲容量、AGV速度、容量和数量、工人装卸时间等。
3.2柔性制造系统仿真建模步骤
1)了解和分析某企业柔性制造系统原有设施布置图和详细设施状况,分析各设施对应Em-Plant中的仿真元素;
2)根据手头掌握的订单生产任务量,确定用来表达定单状况的的Em-Plant元素,设计仿真方案;
3)理顺各设备和AGV小车的工作逻辑;
4)采用sensor元素控制AGV小车实现简单的搬运;
5)设计AGV运输工件的规则;
6)设计工件进入生产线的投产时间和数量;
7)采用任务队列技术控制AGV小车;
8)对可能出现的冲突进行化解,并调试仿真模型直至运行良好。
3.3仿真优化步骤
1)仿真不同的投产方式和生产模式的组合,通过多次仿真对生产周期和设备利用率两个指标对不同的组合方式进行评价,找出最优的方式;
2)仿真多辆AGV小车协同工作,寻找评价指标最优的小车数量;
3)自定义一组订单,仿真得出生产周期和设备利用率。
3.4课程设计内容要求
基本要求:
1)要求在现有生产条件的基础上,实现单辆AGV小车的自动运行,可对题目给出的订单进行仿真;
2)要求可用图表等方式直观显示仿真结果;
3)不要求对工人的仿真,既默认工人资源随时可用;
附加要求:
1)构建柔性生产线的三维仿真模型,并可模拟生产线运行过程。
2)可对自定义数量的多辆AGV小车进行仿真。
3)要求使用dialog对象实现定单参数、AGV小车数量、工件工艺路线、加工时间、投产方式和AGV工作模式等数据的参数化,并可通过修改参数完成仿真模型的修改。
4)有余力的同学可尝试工人资源的仿真。
5)有余力的同学可使用设施布置和规划中的知识分析该该柔性制造系统的设备布局状况,并针对新的设备布局进行仿真。
3.5最终提交内容
1)最终结果要求提供详细的仿真报告。
解释设计过程的每一步,说明仿真过程和步骤,统计仿真结果;
2)最终仿真模型;
3)最终优化后的投产方式和生产模式。
3.6课程设计具体要求
1)设计过程个人进行,完成设计方案;
2)设计过程必须独立完成,不得抄袭,避免方案出现雷同;
3)课程设计原则上在3周内做完;
4)最后进行课程设计答辩。
4、课程设计基本目标
较好地掌握了离散系统建模与仿真的相关理论与方法,对仿真对象的情况、问题和材料有较好的了解,能灵活应用生产管理、设施布置与规划等课程理论知识和方法,分析和解决问题,通过本课程设计,达到如下目标:
1)了解和掌握制造企业的生产系统物流的特点和解决的具体方法;
2)了解和掌握面向订单生产企业的产能平衡和物流优化方法;
3)对生产与运作管理理论知识和方法与生产实践的结合有更深入的感性认识。
5、课程设计基本材料
5.1柔性制造系统状况
某企业柔性制造系统共有5台加工中心,定义加工中心名称分别为CNC_1、CNC_2、CNC_3、CNC_4、CNC_5。
该制造系统内有一辆AGV小车,运行速度为1米/秒,可控制其实现不同的运送策略。
每台设备入口和出口前有容量为4的缓冲,工件在由设备完成加工前后必须经过入口缓冲和出口缓冲,每台设备由一工人负责工件的搬运和安装,AGV小车运送工件到达后由工人负责将工件搬至设备入口缓冲,待到设备空闲后再由该工人将工件装卡在设备上,设备加工完毕由工人将工件移出至出口缓冲,待AGV小车到来后再由工人将工件搬运至出口缓冲。
工人由AGV搬运工件至缓冲时间和由缓冲搬运工件至AGV时间统一为固定时间10秒,工人在设备将工件装卡和卸出的时间统一为固定时间30秒。
工件按一定顺序进入柔性制造系统,进入系统后由AGV小车负责将其搬运到第一道工序,在系统入口有工人负责将工件搬运至到达入口的AGV小车,搬运时间固定为10秒,在加工完第一道工序后由AGV小车搬运至下道工序,执行同样的操作,在工件所有工序都加工完后AGV小车将工件搬运至柔性制造系统出口,出口由工人负责将工件由AGV小车搬走,时间统一为固定时间10秒。
该柔性制造系统可能会根据需要再购买多辆AGV小车,所有小车均统一控制,执行同样的搬运策略。
该柔性制造系统工件物流过程如图1所示:
图1柔性制造系统工件物流过程图
改柔性制造系统三维示意图如图2所示:
图2柔性制造系统三维布局示意图
该柔性制造系统布局示意图如图3所示:
图3柔性制造系统布局示意图
图3说明了各设备和系统出入口之间的位置关系和距离,其中AGV初始位置在系统出口处,AGV长度为1.5米,速度为1米/秒。
为了方便柔性制造系统的建模仿真和优化,在实际建模中队这一位置关系重新做了规定,新的布局示意图如图4所示:
图4柔性制造系统布局示意图
5.2产品工艺状况
该柔性制造系统主流加工的产品有三种,其名称分别为:
part1、part2、part3,产品工艺路线如下:
part1:
(CNC_3[60]、CNC_4[80]、CNC_3[120]),part2:
(CNC_1[50]、CNC_4[70]、CNC_1[40]、CNC_3[80]),part3:
(CNC_1[30]、CNC_2[60]、CNC_5[50]),其中括号内数字为该工序的额定工时。
工件在设备上的加工时间服从正态分布,正态分布中心为额定工时,分布方差统一为10,数字单位为秒。
5.3订单状况
现接到一批紧急加工订单,该订单对三类工件批量要求分别为(60、40、80),从早8:
00开始上班,要求在5小时内完成全部加工任务,既要求中午13:
00交货。
要求能针对以上信息建立仿真模型,并通过仿真找到最好的满足交货要求的系统控制方法。
6、主要技术
6.1传感器(sensor)
由于仿真是在4维(x,y,z,t)的虚拟空间环境中进行的,在此环境中如何确定每个导引车当前的位置是个难题,由于导引车始终都在固定的物流通道上运行,因此并不需要确定小车详尽的物理位置,而只需确定小车在物流通道上的位置即可。
采用EM-PLANT提供的传感器技术可以较方便地达到这个目的,步骤如下:
步骤1:
按照加工中心布局的位置与物流通道的相对位置确定每个加工中心所对应的传感器在物流通道上的位置,并将各设备和传感器的对应关系在表对象(Table)中存储,简称设备位置关系表;
步骤2:
将触发传感器分为生产线入口、生产线出口和设备出入口三种情况,每种情况要分别对应不同的控制方法并与传感器连接起来,定义一个AGV小车的自定义属性来表达导引车最后触发的传感器,这样通过判断该属性就可获知小车当前在生产线中的大体位置;
步骤3:
运行仿真,AGV小车通过提取任务队列中的任务并参照设备位置关系确定其下一步的行走方向,每当导引车触发传感器后修改其位置属性,并以此确定AGV小车当前所在的位置和应该触发何种控制方法。
触发传感器的导引车控制流程如图5所示。
在图5中,AGV小车提取任务队列中的任务后开始运行,通过触发传感器获知到达的位置并引发三种不同的操作,在执行完任务后处判断任务队列中是否还有运送任务,如有则直接提取并进行下一轮运行过程,如没有AGV小车则处于等待状态,待有新任务到来时则按冲突化解中的多辆小车对一个工件的争夺冲突化解规则来寻找合适的小车,并指派运送任务。
图5传感器导引车控制流程
6.2队列任务
由于需要控制一辆或多辆AGV小车的运行效果,因此如何同时控制一辆或多辆AGV小车是仿真模型构建的一项关键技术。
在此可采用任务队列的方法来控制AGV小车响应工件的运送请求,如图6所示。
任务队列接受等待运送的工件发出的运送请求,运送请求可按假设的运送规则进行排列,系统中的空闲AGV小车按照任务队列中的排列顺序依次提取运送请求并完成运送,而在仿真过程中任务队列不断删除空闲AGV小车提取的运送请求并不断接受工件发出的新的运送请求。
工件运送过程,既工件向任务队列发送运送到下一工序的请求,任务队列按照相应的规则对请求排序,再由小车完成运送请求的过程。
针对不同的排序规则,可以参考工件发出运送请求时的系统时间,将该系统时间和工件发出的运送请求相对应,在新任务插入任务队列时需要遍历任务队列,如已有任务对应的时间和请求时间相同则修改请求时间,这样在任务队列中每条任务都有唯一时间既唯一优先级与其对应。
图6队列任务的控制结构
6.3冲突化解
一般来讲,在柔性生产系统的仿真中,在仿真的运行过程中会出现各种冲突,具体包括:
1)多个工件对一台设备的争夺冲突;
2)多台设备对一个工件的争夺冲突;
3)多个工件对一台小车的争夺冲突;
4)多辆小车对一个工件的争夺冲突。
由于仿真过程中是靠AGV小车搬运工件,而AGV小车又是靠任务队列来选择工件,所以AGV小车代替设备完成了对工件的选择,而工件对设备的争夺冲突则依靠任务队列的排序规则来完成,因此在本例中,冲突1和冲突2可认为是冲突3和冲突4的另一种表现形式。
所以,只要化解冲突3和冲突4,既可有效避免以上冲突的发生。
任务队列的排序原则定义了工件运送的先后次序,因此,只要设计好了对任务的排序原则,就可较好地避免冲突3。
再看看AGV小车的运送逻辑,AGV小车在完成上一运送任务后出现空闲,在出现空闲后可检索任务队列,如任务队列中有任务,则提取排在最前的任务,否则小车等待。
由于多辆AGV小车在不同的时间点上会发生空闲,因此AGV小车对任务队列中任务的提取方式为先到先得,而每一任务都对应一个工件,因此冲突4也可有效避免。
6.4注意问题
在构建二维模型时需要注意的是由于工件的工艺路线各不相同,因此不能确定设备之间的关系,不可采用Connector对象来连接设备,工件在设备和导引车间的传送完全依靠move控制语句来实现。
另外需要依据生产线的物流通道长度来确定仿真模型中Track对象的Length属性,并依据设备位置确定传感器Sensor在Track中的位置。
采用Table对象来表达三类工件投放的时间和数量,并将该对象与生产线入口(Source)对象相连。
此外,三维模型构建过程可采用二维建模来保证仿真模型的逻辑关系,然后通过二维——三维转换来实现三维建模,如需建立如图2所示的可视化程度较好的三维模型,则需要建立相应的设备和工人三维对象模型,并将这些模型替换掉EM-PLANT自带的原始模型。
在本课程设计中,只要求使用EM-PLANT自带的原始三维模型即可。
7、柔性制造系统建模
7.1建模元素
在该柔性制造系统的仿真建模中,用到的仿真元素主要如下表:
仿真元素
对应实体
图例
SingleProc
加工中心
Buffer
设备缓冲
Transporter
AGV小车
Track
AGV轨道
Entity
工件
Source
系统入口
Drain
系统出口
EventController
仿真时钟
Chart
图表
Method
方法
TableFile
表格
TimeSequence
时间序列
7.2系统模型搭建
根据柔性制造系统的具体要求,结合柔性制造系统的布局示意图搭建基于eM-plant的模型,建成后的模型图7.1所示:
图7.1柔性制造系统布局图
7.3Entity的属性设置
在这个柔性制造系统中生产三种产品,分别是Part1、Part2、Part3,三种产品的加工路线不一样,因此有必要对三种产品的加工路线进行设置。
为了区分三种不同的产品,复制出了三种Entity分别命名为Part1、Part2、Part3,同时,更改三个Entity的Icon颜色为黄色、绿色、红色以便更加直观的区分三种产品。
三种产品的Entity都是由Source产生的,因此使用了表格来控制Entity的产生,如图7.2所示。
图7.2控制Entity产生的表
从Tabsource中可以看出,Part1产生的数量为60,Part2产生的数量为40,Part3产生的数量为80,这是订单中的数量要求,利用该表格控制Entity的顺序产生,以完成订单的生产。
对于控制Entity的方式还有其他,在这次的仿真中还用到了其他两种,一种是按顺序循环的方式(如图7.3所示)产生Entity,这种方式按照表中的数量part13件、part22件、part34件和顺序为part1—part2—part3循环产生,同时要设置Amount的属性为180,这样当产生180个Entity后source就不再产生Entity了。
另一种是分批投入的形式(如图7.4所示),才用这种表格控制Entity产生时,source在8:
00时投入part120件、part210件、part330件;在9:
00时投入part120件、part220件、part320件;在11:
30时投入part120件、part210件、part330件。
图7.3顺序循环产生Entity的表
图7.4分批投入产生Entity的表
因为每种产品的加工工艺不同,因此对Entity的属性进行设置(如图7.5所示),对part1新增三个属性:
jobstep,整型、prod,字符型、sequence,table。
jobstep用于记录工件的下一个目的地;prod用于标识工件的name;sequence表格用于记录工件的加工工序,如图7.5右侧部分所示,标识part1的加工工序为6-8-6-12,产品在加工的过程中,每加工一道工序后就读取下一道工序,由AGV小车完成工件的运送。
其余两种产品也设置同样的属性以方便产品的加工。
Part2的加工工序为2-8-2-6-12,part3的加工工序为2-4-10-12。
图7.5Entity属性设置
7.4AGV小车——Transporter
AGV小车利用Transporter来表示,在Track上运行,主要设置Transporter的速度为1m/s,在后期优化中能改变小车的速度以选择最优的模型控制参数,此外要给Transporter新增两个属性,一个是curpos,用于记录小车的当前位置,小车在行进过程中不断改变curpos;另一个是des,用于记录目的地,引导小车到达相应的位置完成操作。
7.5Track与sensor的设计
Track是AGV小车行进的通道,设置Track的长度为66米,在Track上设置12个sensor,包括10个对应10个Buffer、1个对应source、1个对应Drain。
Sensor是传感器,当AGV小车经过Sensor的时候触发sensor,从而调用相应的方法控制AGV小车。
Sensor的设置如图7.6所示,需设置sensor的位置,前触发还是后触发(前后触发指的是AGV小车的车头碰到传感器时触发还是AGV小车的车尾碰到传感器时触发),添加控制的方法。
在该柔性制造系统中,控制的方法可分为两类,一类是控制工件从设备缓冲和入口到AGV小车(method2),另一类是控制工件从AGV小车到设备缓冲和工件出口(method1)。
AGV小车经过传感器时触发相应的控制方法,两类方法都可以对小车进行操作,当小车前行时,当前位置参数curpos加1,当小车倒车时,当前位置参数curpos减1,此外,没经过一个传感器都会判断小车的当前位置与目的地des是否相等,如果相等,则将小车上的工件交给缓冲或出口,或将缓冲或如口的工件交给小车。
每个传感器对应一个ID,为了方便标识传感器和方便小车读取目的地,新建一个表格Tabpos用于储存缓冲与目的地的对应关系,如图7.7所示,每一个对象都对应一个整数,表示相应的目的地。
图7.6sensor的设置
图7.7表格Tabpos
7.6队列任务与冲突化解
该柔性制造系统中通过建立队列任务来实现对小车的控制,队列任务表如图7.8所示,队列任务表的第一列表示的是时间,第二列用于记录目的地。
当入口或缓冲产生工件时,会调用mesource方法从而将时间和目的地插入队列任务表。
当小车空闲时,会通过调用megettask方法来读取队列任务,从而引导AGV小车的运动,读取任务后megettask方法会删除已经调用的任务。
为了化解冲突,采用设备缓冲任务优先的原则,也就是从设备缓冲中产生的工件优先进行操作。
为实现这个原则,主要采用控制队列任务插入时将设备缓冲产生的工件的时间设为0插入,代码如图7.9,这样megettask方法读取任务时将优先读取这些时间为0的任务。
图7.8队列任务表
图7.9队列任务插入代码
7.7模型中的各种方法
7.7.1Megettask方法
Megettask方法(如图7.10)是用于读取队列任务的,当小车为空闲或小车将工件交给设备缓冲或Drain后会调用Megettask,当队列任务为空时(即Vartask为false),小车将等待,直到队列任务中有任务为止。
Megettask将队列任务表中的第一条任务中的目的地赋值给AGV小车的des,从而控制小车的运动。
队列任务读取后,Megettask将这一条队列任务删除。
图7.10Megettask方法
7.7.2控制小车方向的方法
小车的方向包括前行和倒车两种,小车的方向主要根据小车的目的地和当前位置之间的关系来判断,当目的地的值比当前位置的值小时,小车进行倒车操作;当目的地的值比当前位置的值大时,小车进行前行操作。
控制代码如图7.11。
图7.11控制小车方向的方法
7.7.3控制小车当前位置改变的方法
AGV小车在运动过程中会不断的改变位置,因此需要对小车的当前位置参数进行修改,当小车倒车时,每经过一个传感器,当前位置curpos的值就减1;当小车前行时,每经过一个传感器,当前位置curpos的值就加1。
代码如图7.12。
图7.12控制小车当前位置改变的方法
7.7.4控制工件从缓冲到小车的方法
控制工件从缓冲到小车的方法如图7.13所示。
当工件从设备加工完后进入到缓冲,同时在队列任务表中插入时间和目的地,以方便小车队该工件进行操作。
当小车到达对应的设备缓冲时,小车等待10秒,这10秒是工件从缓冲搬到小车的时间,当工件搬到小车时,将工件的下一道工序的目的地赋值给des,随后对des和curpos进行比较,控制小车前行或倒车,将工件送到下一道工序的设备缓冲。
图7.13控制工件从缓冲到小车的方法
7.7.5控制工件从小车到缓冲的方法
控制工件从小车到缓冲的方法如图7.14所示。
当工件从上一道工序加工完后进入到小车时,小车根据目的地到达对应的设备缓冲,小车等待10秒,这10秒是工件从小车搬到缓冲的时间,如果设备缓冲中当前的工件数量已经等于设定的capacity的数量,那么小车等待,指导当前工件的数量小于设定的capacity的数量。
当工件搬到缓冲后,调用Megettask读取下一条队列任务。
图7.14控制工件从小车到缓冲的方法
7.7.6控制设备加工时间的方法
每一种产品每一道工序的加工时间都不一样,因此需要在工件到达加工设备时设置加工时间。
如图7.15所示,工件到达设备时调用相应的方法,判断工件的名称,根据不同的工件不同的工序设置加工时间,随后读取工件属性中的sequence表格的数据,赋值给下一道工序jobstep。
图7.15控制设备加工时间的方法
7.8Chart
Chart(如图7.16)是可用于统计利用率,以分析各种设备的利用率,因此找出整体系统在设备利用上的瓶颈所在。
该柔性制造系统中,将5个设备添加到其中,在模型运行时可观察到每个设备的利用率情况。
图7.16设备利用率
8、模型分析与优化
8.1基本模型的运行分析
基本模型的参数为:
1辆AGV小车、设备缓冲数量为4、小车运行速度1m/s、投产方式按part160、part240、part380的顺序投产。
运行基本模型后发现,到生产完成时,时间已经到了20:
35,也就是用了12小时35分钟才完成,这跟要求的五个小时内完成订单的要求
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统 仿真 课程设计 报告 柔性制造系统