全球FlexSim系统仿真中文论坛
标题:
【讨论】不让发生器产生临时实体的方法及手动生成临时实体
[打印本页]
作者:
zorsite
时间:
2016-3-8 13:03
标题:
【讨论】不让发生器产生临时实体的方法及手动生成临时实体
本帖最后由 zorsite 于 2016-3-8 13:20 编辑
, F( K! w3 n: {& e$ X, [$ \
2 _# e6 y. Q" m+ A* V, g* t
1.设置临时实体发生时间为2147483647。 它等于2^31-1,是32位操作系统中最大的符号型整型常量。如果模型时间单位设置为秒,换算为年的话有68年。这基本能保证在模型运行时不产生临时实体。
: ?/ ^/ Q1 b9 q" w; o0 |, e
[attach]2960[/attach]
) J; F* ]* w3 f% L+ A0 }! C+ b5 s
3 B4 p) s: b- X
# R+ b- P' S7 \5 ~
2.删除相应events
8 s! u) @; @; i( F& W
在上图中我设置时间为22亿,但是在系统中查看事件却发现在这个时间变为2147483647,看来即使是64位的flexsim,在这个数值的处理上仍然是32位的模式。
( F! ^9 w" D" ^# T# \
[attach]2959[/attach]
' ~ |) I3 S* k; |+ ^
3 f/ Z4 i* l+ L
在这里删除events也可以实现不创建临时实体。
( w+ z( F8 Q# m0 r5 \1 X
感谢【学神】CSN-咨询部-捌(2562203148)
4 W3 g; |: o# `/ O0 A' W* U( G' j
, @/ ~* ]# a% C0 L8 h
# R2 u: k( l- j* `0 K) g8 E
3.设置批次到达,删除到达时间和数量。 这样做可能会带来意想不到的后果,很可能就真的再也无法生成临时实体了。
, B6 D9 o9 n4 @$ [- N; G% T4 g
[attach]2963[/attach]
6 `0 h! d' V# h: L1 p
4 Z# t- R, {: j- S& E
4.需要手工生成临时实体怎么办?
! A/ p, x. K( h" A
以GUI为例,添加一个button,在onpress下添加如下命令:
createevent(node("Source9", model()),0, EVENT_CREATEPART);
复制代码
[attach]2962[/attach]
( @( k$ R# I3 J* L
" A: v) t% P' n% `3 R! W2 u% @
重置模型,运行模型,之后每点击一次按钮便可生成一个临时实体。
1 w n" F* c4 w/ O) L
注意:
* Q0 y6 r4 }* f/ ]: X7 Q6 X5 E
1.写在其他触发中一样生效,主要看什么时候想生成临时实体;
& U$ h' f% ^3 s i
2.如果到达方式选择批次到达或序列到达,这段命令无效。
3 i; \0 t5 ^: T& [' @3 [1 ^
6 |2 o9 }+ H+ f" P6 k1 S
1 F) h5 O3 |) w1 D, @
5.不控制临时实体的产生,转而控制临时实体的释放。
) F. N. Y1 v2 B+ c; S8 I+ a
也就是说,临时实体即使生成了,但是不释放,就不会流入下游,效果上等同于没有生成。可以通过关闭和打开端口来实现。
6 D2 H2 P3 g$ c d
感谢【叫兽】宁波大学-陈靖(339730846) 。
欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/)
Powered by Discuz! X3.3