初学em-plant,要求做一个模型。现在遇到了问题,求高手不吝赐教。
' |4 p* X' C5 Q- l; ]# F( a" e1 |. K/ v/ c' ]- e9 L% J8 S& g9 e
某生产车间根据订单生产。订单到达的日期可从table中读取。每笔订单会要求多件产品,各订单可能要求在不同的流水线上生产不同的产品。6 v6 d: \/ k# u( W% Y s5 F6 e: v- n
: x) _+ X) S% V8 }# d
我现在考虑在source里产生大量的MU,同时每个MU读取table中的订单到达日期。MU从source出来后移至一buffer,在buffer中判断该MU下步该去哪个机器。同时,首先需要判断目前的模拟时间是否已经超过了订单抵达的时间。这是最重要的,这样才能与实际情况相符,即先订单后生产。
8 L. \2 d. C7 E$ L8 l* t, c- L: G# M3 k; [% U
如果我使用如下method与buffer的exit% ]4 z: q9 N; |
! E( \ z, s' G, p: a
if @.arrival_time < EventController.simtime
, ~! ~) J9 e& c; \4 {- E1 t# I' g then 。。。。。。。。+ m$ n0 Z4 E* z
/ \! a7 z0 M, D$ _5 d6 r2 c" ~
@.arrival_time为MU的属性,在source中已从table读取,每个MU有各自的订单抵达时间(可能相同,即属同一订单)。此语句仅在buffer中判断一次,其后任凭新的MU进入,也不再判断。
3 Z7 ?3 ^: A1 A" `$ y+ Z
: O/ Z+ h0 _1 |0 i$ ^2 P( f6 x p如何使得buffer可以不停判断其中包含的所有MU,并且选择符合条件的运出? |