装配系统Witness建模与仿真

(二)


3.3 元素详细设计
3.3.1 Part元素的详细设计
(1) Top元素详细设计
    组装作业流程中,Top零件进入系统最大量为10,进入时间服从[3,4]的均匀分布,每次到达批量为1,该零件到达之后直接送入缓冲区Store的第一个存放区中。

   

    通过如下步骤设计Top零件的细节:

设计完毕,Top零件的详细设计对话框图6所示。


图6 Top元素详细设计

 


(b) Bottom元素详细设计
    组装作业流程中,Bottom零件进入系统最大量为10,进入时间服从[4,6]的均匀分布,每次批量为1,该零件到达之后直接送入缓冲区Store的第二个存放区中。

 

    通过如下步骤设计Bottom零件的细节:

    设计完毕,Bottom零件的详细设计对话框图7所示。


图7 Bottom元素详细设计


(c) Screw元素详细设计
    组装作业流程中,Screw零件进入系统最大量为20,每次批量为5,第一批在仿真时间20时进入系统,进入时间间隔服从[20,30]的均匀分布,该零件到达之后直接送入缓冲区Store的第三个存放区中。

 

    通过如下步骤设计Screw零件的细节:

    设计完毕,Screw零件的详细设计对话框图8所示。


图8 Screw元素详细设计

 

 

3.3.2 Machine类型元素详细设计
    本案例中只有一个组装机器Assembled_machine,该机器需要实现的功能是从存放区STORE中按顺序提取1个Top、1个Bottom和2个Screw,总共四个零件组装成一个完成品Assembled,并将Assembled零件存放于自身的专有缓冲区,每次组装需要的时间为4分钟。

    Assembled_machine元素详细设计过程如下:

    设计完毕,组装机器细节设计界面如图9所示。



图9 Assembly_machine元素详细设计


注:元素输入/输出规则已经在元素详细设计中的to按钮中和from按钮中设定了,在此不再介绍。
 

4. 运行模型


    按Run工具栏上的连续可视运行按钮,仿真钟运行到110.63,系统停止运行,并弹出对话框“Unable to run model further (No events scheduled)”提示没有计划的运行事件,不能够继续运行模型。这是因为计划中的装配10件产品的任务已经完毕了。
    通过该模型,我们需要掌握的是分类分区摆放零件的缓冲区如何让设计,组装机器的详细设计以及各个零部件和机器的可视化设计。
 

5. 操作题

   动手建立案例模型,运行仿真,统计和记录如下的数据:

(1)您的模型停止运行的时间是多少?同案例中的停止时间是否相同?

(2)组装机器的忙率是多少?

(3)缓存区的平均存量和存储时间是多少?

(4)修改Top、Bottom和Screw零件的到达间隔的均匀随机函数中的第三项参数,运行仿真模型,看看上述数据有何变化?

 

备注:SEQUENCE规则

    输入规则Sequence将按照特定的顺序提取Part、vehicles 或 carriers。
语法:
    SEQUENCE /failure_option location1, location2 {,location3...}
   failure_option:失效模式选项,用于指定当输入规则不能从特定的Location中提取元素时,如何进行操作。具体有三种模式:
WAIT:Sequence规则的作用元素将等待,直至能够输入特定的元素,此时,Sequence顺序规则需要严格的执行。
NEXT:如果前一个Location中的元素提取失败,将使用下一个Location中的元素替代,而且,如果最后一个Location中的元素提取失败,将使用第一个Location中的元素替代。
RESET:当非第一个Location中的元素提取失败时,将使用第一个Location中的元素替代,而且本次输入将都使用第一个Location中的元素作为输入。
    每个Location的格式如下:
        {element_name} location_name {(index_exp)} {at position_exp} {with labor_name {#labor_qty}} {using PATH} {#element_qty}
    其中前面的几项含义参见Pull规则。最后一项:
#element_qty:用于指定从该Location中提取的parts, vehicles或carriers的数量。


示例:
    SEQUENCE/WAIT RBUF#4, TBUF#1, VBUF#1
    假设该规则为输入规则,它将以此从RBUF中提取4个元素,从TBUF中提取1个元素,从VBUF中提取1个元素。如果该规则不能够从指定的Location中提取Part,它将等待,直至获取了指定数量的Part。
    SEQUENCE/NEXT TRACK_A#4, TRACK_B#1, TRACK_C#1
    假设该规则为车辆的输出规则,它将将4个车辆输出到TRACK_A中,再将1个车辆输出到TRACK_B中,再将1个车辆输出到TRACK_C中,如此循环。在该规则中,如果SEQUENCE不能将指定数量的车辆输出到特定的TRACK,它将会将车辆输出到下一个TRACK上。