全球FlexSim系统仿真中文论坛
标题:
【求助】关于货物的流向与拉入问题
[打印本页]
作者:
liuzhifan
时间:
2017-8-13 12:15
标题:
【求助】关于货物的流向与拉入问题
简化模型描述:前端集配20个轮胎(16个主胎,4个备胎),完成后转运至中间暂存区,进行人工二次集配(4个主胎,1个备胎上线)。
9 @2 ^; J: t# Y# e
[attach]3872[/attach]
9 A0 G$ x4 v8 Z+ C+ V/ i
模型构建思路一
) i+ G b) ]! T( e
为了实现二次集配作业,我采用在第二个合成器进入触发时发生消息给作业员,作业员在收到消息后,消息触发器触发,执行编写好的任务序列。
t9 ^7 x+ T8 w- J: S4 F+ @
问题:实现了集配4个主胎,1个备胎的作业,但是如果中间暂存区没货了,操作员执行消息触发器的任务序列就会报错了。
9 n/ g2 C6 }" A( _
解决办法:采用判定中间暂存区的货物量,来控制虚拟订单是否流入合成器
2 b$ X7 M v' ^. X/ l" I
思考:在中间暂存区缺货状态下,如何把取货任务序列先暂存起来(如暂存于操作员的任务序列队列,而不激活任务)。
9 [5 u$ y$ p& ?5 A [/ `0 i4 H
[attach]3873[/attach]
5 Y2 p1 r- K" j( i0 x
9 ^: @8 I$ P" P- g! i
模型构建思路二
% ?! f# ]/ S: J5 l# a
采用合成器的拉入条件来进行拉入(
4个主胎,1个备胎
),这样的话只有在暂存区有货时,操作员就会去进行搬运,没货时就不搬运,从而不会发生上面的报错。
$ r, ~2 U3 b/ r J
[attach]3876[/attach]
& s8 s6 c1 n6 ?# [: n9 i
[attach]3874[/attach]
9 Y9 \4 K y `% o
问题
:(这个问题也是我经常弄不清楚的),模型运行时候只进行了一次拉入
(4个主胎,1个备胎),
6 ^! q0 _ S# C, ]3 j' B
拉入的时候需要上游与下游同时准备好就可以进行拉入的触发,我理解的上游准备好就是触发了“发送至端口”触发器,
0 {" q/ `- F5 A Q# w
如果暂存区(上游)只进入了一个实体,就只触发了一次“发送至端口”触发器,那么是不是就意味着只能进行一次拉入的触发。
6 T. d( [" L1 ~
[attach]3875[/attach]
; H, k' g2 }( ?' Z5 q1 k
" [6 X; J" @. l8 Q3 V
作者:
蓝桥书生
时间:
2017-8-17 10:11
; m- f1 j: E& {0 Z
思路一:在暂存区容量为零的时候,是不能创建任务序列的,此时搬运物的指向空,执行任务序列的时候会因为找不到临时实体而报错。我这里写了一种解决方案:在操作员上加一个“state”标签,初始值为0,下游合成器进入托盘的时候先判断暂存区的容量,如果非零才向操作员发送消息,并将操作员标签值设为0;如暂存区容量为零则将操作员标签纸更改为1,表示操作员出于等待任务的状态。同时,当暂存区每进入一个托盘的时候读取操作员的标签值,如果为1,则向操作员发送消息启动任务。此外你的模型还需完善的地方有:你的模型只是产生了一个托盘,若是上游托盘源源不断的产生,则代码有些地方需要作改变,比如暂存区里item的引用方式再用first就会出错了,或者是一个托盘还未装载完时进入了一个新的托盘等等。
M2 C3 d, |0 a4 d6 a0 b! {$ e
4 p5 D; h, i+ r- `3 K5 j
思路二:你仔细读读你选择的临时实体类型数组的拉入方式代码,它的功能并不是按照数组临时实体类型的比例拉入item。你的模型只拉一次并不是这部分代码起的作用,而是暂存区使用运输工具里的代码的作用。对于拉入方式,我也在默认代码的基础上做了一些更改,可以达到你的要求。
, @8 B% Q& r9 [* n8 w
ps:第一个模型版本是2017.1.4,第二个模型版本是7.3.6.
7 k5 x: g: `! e0 s3 ^6 H! A1 H
欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/)
Powered by Discuz! X3.3