EMPlant环境下车间生产管理仿真与优化创新实验.docx

上传人:b****2 文档编号:2224475 上传时间:2023-05-02 格式:DOCX 页数:52 大小:2.25MB
下载 相关 举报
EMPlant环境下车间生产管理仿真与优化创新实验.docx_第1页
第1页 / 共52页
EMPlant环境下车间生产管理仿真与优化创新实验.docx_第2页
第2页 / 共52页
EMPlant环境下车间生产管理仿真与优化创新实验.docx_第3页
第3页 / 共52页
EMPlant环境下车间生产管理仿真与优化创新实验.docx_第4页
第4页 / 共52页
EMPlant环境下车间生产管理仿真与优化创新实验.docx_第5页
第5页 / 共52页
EMPlant环境下车间生产管理仿真与优化创新实验.docx_第6页
第6页 / 共52页
EMPlant环境下车间生产管理仿真与优化创新实验.docx_第7页
第7页 / 共52页
EMPlant环境下车间生产管理仿真与优化创新实验.docx_第8页
第8页 / 共52页
EMPlant环境下车间生产管理仿真与优化创新实验.docx_第9页
第9页 / 共52页
EMPlant环境下车间生产管理仿真与优化创新实验.docx_第10页
第10页 / 共52页
EMPlant环境下车间生产管理仿真与优化创新实验.docx_第11页
第11页 / 共52页
EMPlant环境下车间生产管理仿真与优化创新实验.docx_第12页
第12页 / 共52页
EMPlant环境下车间生产管理仿真与优化创新实验.docx_第13页
第13页 / 共52页
EMPlant环境下车间生产管理仿真与优化创新实验.docx_第14页
第14页 / 共52页
EMPlant环境下车间生产管理仿真与优化创新实验.docx_第15页
第15页 / 共52页
EMPlant环境下车间生产管理仿真与优化创新实验.docx_第16页
第16页 / 共52页
EMPlant环境下车间生产管理仿真与优化创新实验.docx_第17页
第17页 / 共52页
EMPlant环境下车间生产管理仿真与优化创新实验.docx_第18页
第18页 / 共52页
EMPlant环境下车间生产管理仿真与优化创新实验.docx_第19页
第19页 / 共52页
EMPlant环境下车间生产管理仿真与优化创新实验.docx_第20页
第20页 / 共52页
亲,该文档总共52页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

EMPlant环境下车间生产管理仿真与优化创新实验.docx

《EMPlant环境下车间生产管理仿真与优化创新实验.docx》由会员分享,可在线阅读,更多相关《EMPlant环境下车间生产管理仿真与优化创新实验.docx(52页珍藏版)》请在冰点文库上搜索。

EMPlant环境下车间生产管理仿真与优化创新实验.docx

EMPlant环境下车间生产管理仿真与优化创新实验

实验项目名称

EM-Plant环境下车间生产管理仿真与优化创新实验

实验学时

24

指导教师

张帅、王军强

实验地点

航空楼B101

实验对象

工业工程本科生

可选人数

10

EM-Plant环境下车间生产管理仿真与优化创新实验大纲

实验名称:

EM-Plant环境下车间生产管理仿真与优化创新实验

实验学时:

24

适用专业:

工业工程专业

开课学院:

机电学院

开课学期:

第6学期

一、实验课程简介

本实验采用的是EM-Plant软件工具,该软件是面向对象的、图形化的、集成的建模、仿真工具,系统结构和实施都满足面向对象的要求。

eM-Plant可以对各种规模的工厂和生产线,包括大规模的跨国企业,建模、仿真和优化生产系统,分析和优化生产布局、资源利用率、产能和效率、物流和供需链等。

二、学生应达到的实验能力与标准

1、上机实验前,应认真预习实验内容及有关的相应知识。

2、查找有关信息,了解EM-Plant的初步知识。

3、掌握仿真建模流程。

4、了解EM-Plant建模的基本元素、对象及SimTalk语言。

5、了解统计分析、优化工具。

三、讲授实验的基本理论与实验技术知识

1、熟悉和使用EM-Plant软件工具。

2、建立对象专业化的轴套装配过程仿真。

3、建立工艺专业化的轴套装配过程仿真。

4、建立轴加工的关键路线识别仿真。

四、实验考核与成绩评定

平时上机实践与设计实验考核相结合,其中平时成绩占30%,实验考核占70%。

 

EM_Plant创新实验指导书

 

张帅王军强主编

 

西北工业大学

2009年12月

 

 

实验一轴套装配过程仿真(对象专业化)

1.实验目的

模拟对象专业化组织方式下,动画显示轴和轴套的装配过程,了解轴和轴套BOM装配编程,统计总的装配时间,分析瓶颈设备。

2.实验输入、输出参数

输入参数:

轴和轴套的加工数量、装配关系、加工时间、加工工艺路线

输出参数:

产出、总的装配时间、设备利用率、瓶颈设备。

●Table_shaft表:

记录轴的整个加工时间;

●Table_Bearing表:

记录轴套的整个加工时间;

●Table_result表:

用来记录装配时间;

●Index:

记录轴的数量;

●index2:

记录轴套的数量。

3.实验步骤

3.1建立起始和结束对象

在工具栏图1-1中点击“Source

”对象和“Drain

”对象,拖入到窗口中;

图1-1工具栏

3.2建立Complathe层和CompMill层

图1-2

如图1-2所示,右键点击“Models”,新建两个层,并重命名为“Complathe”和“CompMill”层。

图1-3

从Models中将“Complathe”和“CompMill”层拖入到窗口中,如图1-3所示。

双击“Complathe”层进入图1-4所示页面,点击

按键,建立Complathe的子层;先采用两个singleproc,把其分别命名为Lathe_1和Lathe_2,并把它们设置成并联结构,两端用Interface进行联接,点击

按键,进行连线。

图1-4建立Complathe层页面

双击“CompMill”层进入图1-5所示页面,点击

按键,建立CompMill的子层;先采用两个singleproc,把其分别命名为Mill_1和Mill_2,并把它们设置成并联结构,两端用Interface进行联接,点击

按键,进行连线。

图1-5建立CompMill层页面

3.3建立Drill、Grinder、Bearing_Buffer、Shaft_Buffer、Assembly设备

在左边的类型树中点击

按键,并将其拖入窗口中,重新命名为Drill和Grinder。

在左边的类型树中点击

按键,将两个缓冲拖入窗口中,重新命名为Bearing_Buffer和Shaft_Buffer。

在左边的类型树中点击

按键,将一个装配设备拖入窗口中。

对设备之间进行连接。

点击左边类型树中的Complathe层,单击鼠标右键,选择“编辑图标”进入图标编辑页面(图1-6所示),粘贴已选定的图案,完成后点击

按键。

CompMill层、Drill设备、Grinder设备的图标以相同的方法设定。

图1-6图标编辑页面

图标完成后就形成图1-7所示的装配过程仿真页面。

图1-7装配过程仿真页面

3.4建立Table_In、Table_Shaft、Table_Bearing、Table_Result表

点击工具栏(图1-8所示)中“InformationFlow”选项卡中的

按键,将其拖入窗口中,重新命名为Table_in。

图1-8工具栏

双击Table_in对象弹出窗口,单击表窗口Format菜单中的继承格式(InheritFormat)命令,取消该命令的勾选状态,如图1-9所示。

图1-9取消勾选表的继承格式命令

单击表窗口Format菜单中的ColumnIndex级联菜单中的Active和Show命令,如图1-10所示。

然后,在行号为1的行上面会出现1行,在该行中输入自定义列名。

图1-10设置表显示自定义列名

单击自定义列名,使其变为橙色,单击右键,在弹出的快捷菜单中点击Format命令,将弹出行定义对话框,单击行定义对话框中的数据类型(DataType)标签如图1-11所示。

图1-11设置自定义列名所在列的数据类型

表Table_Shaft、Table_Bearing、Table_Result的建立方式与Table_In相同。

表Talbe_in结构

MU

Number

Name

Attribute

.entity.Shaft

1

Shaft

.entity.Bearing

2

Bearing

表table_Shaft结构

Integer1

Time2

Time3

Time4

string

Shaft_Count

Shaft_In_Time

Shaft_Out_Time

Shaft_Machine_Time

表table_Bearing结构

Integer1

Time2

Time3

Time4

string

Bearing_Count

Bearing_In_Time

Bearing_Out_Time

Bearing_Machine_Time

表table_Result结构

Integer1

Time2

Time3

Time4

string

Count

StartTime

EndTime

MachineTime

双击打开Source,如图1-12所示。

在Attribute选项卡的MUselection下拉式列表框中选择:

顺序循环,把Table_in拖到Table选项中,并选中Formattable选项,此时,将会对table_in直接进行格式化处理,在Controls选项卡的Entrance中选择Source_In。

点击“Apply”和“OK”进行确定。

图1-12Source属性窗口

双击“Table_in”表,如图1-13所示,点击

按键,将其拖入表中第一行的“Object”位置,点击

按键,将其拖入表中第二行的“Object”位置,输入其属性信息。

图1-13Table_in表显示窗口

3.5Variable

的建立

建立Shaft_Count,Shaft_In_Time,Shaft_Out_Time,Shaft_Machine_Time,Bearing_Count,Bearing_In_Time,Bearing_Out_Time,Bearing_Machine_Time,Index,Index2,Product_Count,StartTime,EndTime,MachineTime各变量。

并把Shaft_Count,Bearing_Count,Index,Index2,Product_Count设置为integer类型,其余变量设置为time类型。

3.6建立Method方法

点击工具栏(图1-8所示)中“InformationFlow”选项卡中的

按键,将其拖入窗口中,并重新命名为Source_in、Drill_Out、Grinder_Out、Assembly_Out。

3.6.1Source_In方法

双击“Source_in”,写入方法内容(图1-14所示),完成后点击

按键,进行保存。

图1-14Source_in方法的程序窗口

3.6.2Drill_Out方法

is

do

if@.name="Shaft"then

@.move(Grinder);

elseif@.name="Bearing"then

@.move(Assembly);

index2:

=index2+1;

Bearing_Out_Time:

=EventController.SimTime;

Table_Bearing[3,index2]:

=Bearing_Out_Time;

Table_Bearing[4,index2]:

=Table_Bearing[3,index2]-Table_Bearing[2,index2];

Bearing_Machine_Time:

=Bearing_Out_Time-Bearing_In_Time;

end;

end;

3.6.3Grinder_Out方法

is

do

Shaft_Out_Time:

=EventController.SimTime;

Index:

=Index+1;

Table_Shaft[3,Index]:

=Shaft_Out_Time;

Table_Shaft[4,Index]:

=Table_Shaft[3,Index]-Table_Shaft[2,Index];

Shaft_Machine_Time:

=Shaft_Out_Time-Shaft_In_Time;

end;

3.6.4Assembly_Out方法

is

do

Product_Count:

=Product_Count+1;

EndTime:

=EventController.simtime;

MachineTime:

=EndTime-Table_Result[2,Product_Count];

Table_Result[3,Product_Count]:

=EndTime;

Table_Result[4,Product_Count]:

=MachineTime;

end;

3.7各控件属性设置

在Lathe_1和Lathe_2的Time选项卡的precessingtime:

框中输入2:

00:

00

图1-15Lathe_1属性窗口图1-16Lathe_2属性窗口

在Mill_1和Mill_2的Time选项卡的precessingtime:

框中输入1:

00:

00

图1-17Mill_1属性窗口图1-18Mill_2属性窗口

在Drill的Time选项卡的precessingtime:

框中输入30:

00

图1-19Drill-Times属性窗口

在Grinder的Time选项卡的precessingtime:

框中输入30:

00

图1-20Grinder-Times属性窗口

Drill_Out,Grinder_Out,Assembly_Out的方法应用:

在Drill的Controls选项卡的Exit:

中选择Drill_Out,并选择Front复选框,单击Apply应用。

图1-21Drill-Controls属性窗口

在Grinder的Controls选项卡的Exit:

中选择Grinder_Out,并选择Rear复选框,单击Apply应用并确认。

图1-22Grinder-Controls属性窗口

在Assembly的Con0trols选项卡的Exit:

中选择Assembly_Out,并选择Rear复选框,单击Apply应用并确认。

图1-23Assembly-Controls属性窗口

Assembly的属性设置:

选择Attributes选项卡,Assemblytablewith:

前,MainMUfrompredecessor:

1Assemblymode:

删除MUs,ExitingMU:

主MU,Sequence:

MUs然后服务,并单击Open,在第一行对应的Predecessor中输入2,在Number中输入2,这样便可实现一个轴和两个轴套的装配。

图1-24Assembly-Attributes属性窗口

3.8完成后的仿真图

图1-25完成的仿真图

运行仿真模型时点击图1-25中的

图标,清零时点击

图标。

在模型运行前点击图中的“EventController”控件设定运行的时间。

4.实验报告要求

1)写出轴套装配系统界面的各个构成,系统布局区的组成;以及每一部分的功能;

2)写出实验目的、实验步骤;

3)将模型的不同参数运行结果进行对比,分析结果。

实验二轴套装配过程仿真(工艺专业化)

1.实验简介

实验一模拟了流水车间(flowshop)对象专业化下生产加工情形,针对工艺专业化jobshop不同的加工工艺情形,实验二进行模拟仿真,动画显示轴和轴套的装配过程,了解轴和轴套BOM装配编程,统计总的装配时间,分析瓶颈设备。

2.实验目的

模拟仿真在给定的工艺路线和生产设备下,生产装配一定数量零件所用的时间。

并且可以得出各台机器的利用率等。

3.输入参数

轴和轴承的生产工艺和工时,产品的个数及投料计划。

某工厂总共需要生产两种零件,产品名称为Shaft,Bearing

每种产品的加工工艺及工时如下:

Shaft

Bearing

1车2H

2铣1H

3钻孔0.5H

4磨0.5H

5铣0.5H

1车2H

2铣1H

3钻孔0.5H

4车1H

完成零件加工后,将一个Shaft和两个Bearing装配在一起。

现在车间有车床2台、铣床2台、钻床1台及磨床1台。

现在要求生产10件产品装配,请确定在现有设备资源情况下,生产完成这10件装配需要多久时间。

4.输出参数

生产周期、各台设备利用率及图表显示。

5.实验步骤

5.1建立起始和结束对象

在工具栏图2-1中点击“Source

”对象和“Drain

”对象,拖入到窗口中;

图2-1工具栏

5.2建立车床、铣床、钻床、磨床及缓冲设备

点击图2-2中的

图标,将其拖入窗口中,分别命名为che1、che2、xi1、xi2、zuan、mo六种设备;同时点击图2-2中的

图标,将其拖入窗口中,分别命名为Che_buffer、Xi_buffer、Zuan_buffer、Mo_buffer、Shaft_buffer、Bearing_buffer六个缓冲。

并且将六种设备的图标进行编辑。

图2-2类型树

将缓冲和设备进行连线,形成图2-3所示的仿真结构模型。

图2-3仿真结构模型

5.3建立Order、Bearing_gy、Shaft_gy、Table_Shaft、Table_Bearing、Table_machine、Table_Result表

表Order结构

MU

Number

Name

Attribute

.MUs.Shaft

1

Shaft

.MUs.Bearing

2

Bearing

表Bearing_gy结构

String1

Time2

string

Gylx

Time

表Shaft_gy结构

String1

Time2

string

Gylx

Time

表table_Shaft结构

Integer1

Time2

Time3

Time4

string

Shaft_Count

Shaft_In_Time

Shaft_Out_Time

Shaft_Machine_Time

表table_Bearing结构

Integer1

Time2

Time3

Time4

string

Bearing_Count

Bearing_In_Time

Bearing_Out_Time

Bearing_Machine_Time

表table_Result结构

Integer1

Time2

Time3

Time4

string

Count

StartTime

EndTime

MachineTime

表table_machine结构

String0

Time1

Time2

string

WorkingTime

WaitingTime

5.4Variable

的建立

建立Shaft_Count,Shaft_In_Time,Shaft_Out_Time,Shaft_Machine_Time,Bearing_Count,Bearing_In_Time,Bearing_Out_Time,Bearing_Machine_Time,Shaft_Index,Bearing_Index2,Product_Count,StartTime,EndTime,MachineTime各变量。

并把Shaft_Count,Bearing_Count,Index,Index2,Product_Count设置为integer类型,其余变量设置为time类型。

5.5建立Method方法

5.5.1Reset方法

is

do

Table_Shaft.delete;

Table_Bearing.delete;

Table_machine.delete;

end;

5.5.2Source_In方法

is

do

if@.name="Shaft"then

Shaft_Count:

=Shaft_Count+1;

Shaft_In_Time:

=EventController.SimTime;

Table_Shaft[1,Shaft_Count]:

=Shaft_Count;

Table_Shaft[2,Shaft_Count]:

=Shaft_In_Time;

elseif@.name="Bearing"then

Bearing_Count:

=Bearing_Count+1;

Bearing_In_Time:

=EventController.SimTime;

Table_Bearing[1,Bearing_Count]:

=Bearing_Count;

Table_Bearing[2,Bearing_Count]:

=Bearing_In_Time;

end;

StartTime:

=EventController.SimTime;

Table_Result[1,Shaft_Count]:

=Shaft_Count;

Table_Result[2,Shaft_Count]:

=StartTime;

end;

5.5.3Mathod方法

is

do

@.Current_number:

=@.Current_number+1;

if@.Name="Shaft"

then@.Current_gylx:

=Shaft_gy["Gylx",@.Current_number];

@.Current_time:

=Shaft_gy["Time",@.Current_number];

else

@.Current_gylx:

=Bearing_gy["Gylx",@.Current_number];

@.Current_time:

=Bearing_gy["Time",@.Current_number];

end;

inspect@.Current_gylx

when"Che"then

@.move(Che_buffer);

when"Zuan"then

@.move(Zuan_buffer);

when"Mo"then

@.move(Mo_buffer);

when"Xi"then

@.move(Xi_buffer);

when"Finish"then

if@.Name="Shaft"then

@.move(Shaft_buffer);

else

@.move(Bearing_buffer);

end;

end;

end;

5.5.4Shaft_mathod方法

is

do

Shaft_Out_Time:

=EventController.SimTime;

Shaft_Index:

=Shaft_Index+1;

Table_Shaft[3,Shaft_Index]:

=Shaft_Out_Time;

Table_Shaft[4,Shaft_Index]:

=Table_Shaft[3,Shaft_Index]-Table_Shaft[2,Shaft_Index];

Shaft_Machine_Time:

=Shaft_Out_Time-Shaft_In_Time;

end;

5.5.5Bearing_mathod方法

is

do

Bearing_Index2:

=Bearing_Index2+1;

Bearing_Out_Time:

=EventController.SimTime;

Table_Bearing[3,Bearing_Index2]:

=Bearing_Out_Time;

Table_Bearing[4,Bearing_Index2]:

=Table_Bearing[3,Bearing_Index2]-Table_Bearing[2,Bearing_Index2];

Bearing_Machine_Time:

=Bearing_Out_Time-Bearing_In_Time;

end;

5.5.6mathod_out方法

is

do

Product_Count:

=Product_Count+1;

EndTime:

=EventController.simtime;

MachineTime:

=EndTime-Table_Result[2,Product_Count];

Table_Result[3,Product_Count]:

=EndTime;

Table_Result[4,Product_Count]:

=MachineTime;

end;

5.5.7Endsim方法

is

do

Table_machine["WorkingTime","che1"]:

=che1.statWorking

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2