全球FlexSim系统仿真中文论坛

标题: 发生器产生任务执行器小案例 [打印本页]

作者: FFFrenk    时间: 2015-4-29 09:33
标题: 发生器产生任务执行器小案例
本帖最后由 FFFrenk 于 2015-5-6 14:07 编辑
4 f3 e+ ~% ~6 a/ ?" b6 H% X0 f) B- a" X/ C+ W* q
本模型来源于FlexSim官方中文交流群(164232076)的提问。% k1 X% E2 W2 q+ ]) `% r6 J
要实现的是,一个发生器产生产品,另一个发生器按一定分布产生卡车,用产生的卡车运货。
+ W4 l8 {* X6 E) Q  W! l' t7 d此知识点在中级培训的时候会涉及到,在此做了一个小模型,如有不妥,望各位不吝赐教!
# `' G- z2 q$ w( w# {- S软件版本:7.5.2
作者: 慧娴亚伦    时间: 2015-4-29 20:01
前排支持高工!
作者: 657776724    时间: 2015-10-16 10:13
还是不明白这里使用openallop和openallip的原因,请大神指教.
作者: 657776724    时间: 2015-10-16 10:25
还有一个问题,请问发生器是怎么产生AGV小车的?, Q( f& v7 i5 w' f2 |. t9 o6 u
这里使用AGV小车很快就会使模型的数量达到上限,如果使用临时实体箱中的运输工具,则会无限量产生下去。
# F0 p- g/ v& C; [我使用的版本是试用版,打不开树结构,请问是将AGV小车的节点复制到临时实体箱里面吗?
作者: FFFrenk    时间: 2015-10-19 09:40
本帖最后由 FFFrenk 于 2015-10-19 09:42 编辑
# t8 j5 ?% {. n- v' i9 X& Y1 D% ~+ ~* c' {0 w$ p! R
4# 657776724
- t' `+ C( {% O5 P. S3 W2 r  |5 q4 p
产生小车就是和产生TaskExecuterFlowItem一样,将小车添加到对应的节点下即可。/ h* o5 n% K4 V  T# U' s) a
7 n% ^" w( \0 b& P1 V6 V' A" }1 Z
openallop和openallip的原因是& K8 Y0 \* J' s; K+ n# p+ F( ^
打开输出输入端口,这样任务执行器才能将任务分配到下游的小车上。
, A0 c8 F: b# _. z2 g& h3 }类似的是,当你链接了实体后,如果不经过重置,是无法发送到下游的,这里的openallop和openallip就是等于执行了重置触发执行的内容:打开输入输出端口
作者: 657776724    时间: 2015-10-20 17:25
5# FFFrenk
. }2 U' P; q* }- {9 y
1 T$ d# l3 g' g/ a& j2 k* {5 L懂了,谢谢指点
作者: manaijin    时间: 2016-4-11 10:39
不错的例子。
作者: tao    时间: 2019-2-27 11:15
sink7的作用是什么,可以删掉吗,我删除后运行模型好像也没什么影响
作者: tao    时间: 2019-2-27 11:16
还有一个问题,如果要给任务执行器添加路径网络,该怎么写代码,把发生器产生的任务执行器连接到网络呢
作者: SunshineFu    时间: 2019-2-27 23:21
本帖最后由 SunshineFu 于 2019-2-28 08:51 编辑
3 c/ X! H/ b7 v* u) V9 p+ A  s
tao 发表于 2019-2-27 11:153 y+ |( _) x  b+ p8 `
sink7的作用是什么,可以删掉吗,我删除后运行模型好像也没什么影响
! f& j0 P+ R9 @2 d2 p1 a) ?
任务执行器将临时实体卸载后就会进入吸收器~
作者: SunshineFu    时间: 2019-2-28 09:03
tao 发表于 2019-2-27 11:16& e! v: E, q$ e7 b: e0 u, {3 y
还有一个问题,如果要给任务执行器添加路径网络,该怎么写代码,把发生器产生的任务执行器连接到网络呢

" V7 d' n; y  i利用contextdragconnection可以将任务执行器与网络节点链接
作者: tao    时间: 2019-2-28 09:26
我按楼主的模型把任务执行器换成操作员,但是吸收器并不会吸收操作员,不知道什么原因,楼主能不能帮忙看一下,还有使用contextdragconnection怎么连接到路径网络,没有尝试成功
作者: SunshineFu    时间: 2019-2-28 22:44
tao 发表于 2019-2-28 09:26# g3 i; R9 B$ i3 o9 w0 e: ~/ X
我按楼主的模型把任务执行器换成操作员,但是吸收器并不会吸收操作员,不知道什么原因,楼主能不能帮忙看一 ...
1 U6 @5 i0 ?0 [" g' }3 Q
要在操作员的卸载触发里面设置openoutput(up(current)),将操作员链接网络节点是contextdragconnection("指定网络节点”,item,"A")
作者: tao    时间: 2019-3-1 16:39
SunshineFu 发表于 2019-2-28 22:44/ _6 r5 e) O7 j2 l1 S
要在操作员的卸载触发里面设置openoutput(up(current)),将操作员链接网络节点是contextdragconnection(" ...

. ~) ^1 \4 e7 e' Q! S1 c指定网络节点直接写NN1吗?如,contextdragconnection("NN1”,item,"A")7 h/ X1 P3 d4 j2 l2 f  C
我这样尝试之后需要NN1为node数据类型,该怎么解决呢
作者: SunshineFu    时间: 2019-3-1 20:06
tao 发表于 2019-3-1 16:39) d. S+ q1 x9 C9 ^9 {  j6 e# S+ Q" M# n
指定网络节点直接写NN1吗?如,contextdragconnection("NN1”,item,"A")
, }$ d8 ~0 u- N0 y我这样尝试之后需要NN1为node ...
1 [* A/ j5 U5 e+ ]6 v, B
第一个参数用代码框下面的小吸管吸取你想链接的网络节点即可
作者: tao    时间: 2019-3-4 09:45
SunshineFu 发表于 2019-3-1 20:06
5 Y0 }- R7 `; E4 w第一个参数用代码框下面的小吸管吸取你想链接的网络节点即可
% t4 [; _, b. O6 @/ ?
我把操作员连接到路径之后就不会被吸收了,这种情况该怎么解决呢
作者: SunshineFu    时间: 2019-3-4 23:10
tao 发表于 2019-3-4 09:45
3 a% p* r7 I' p) F我把操作员连接到路径之后就不会被吸收了,这种情况该怎么解决呢

3 L( B) s. V' t/ f5 N2 `卸载完用同样的方法取消与网络节点的连线
作者: tao    时间: 2019-3-5 09:10
SunshineFu 发表于 2019-3-4 23:109 [" J- {5 U) L
卸载完用同样的方法取消与网络节点的连线
9 `( f6 Z/ ^0 Z/ O& B
我在操作员卸载触发处设置了,还是不行
; g9 V6 k  Y- ?  e3 d+ f, H! L9 mcontextdragconnection(node("NN1",model()),current,"Q");
作者: SunshineFu    时间: 2019-3-6 23:00
tao 发表于 2019-3-5 09:10
4 a7 a8 i/ A% X- t( T我在操作员卸载触发处设置了,还是不行$ s$ k/ h9 h% F* A0 A$ N2 M
contextdragconnection(node("NN1",model()),current,"Q");

) P. t: x! c# g( W8 _8 J8 E. M8 c' m这是因为操作员连入网络节点后,就脱离了暂存区(不再是暂存区的子实体),你在操作员的卸载触发中用moveobject,把操作员再放入暂存区就好了
作者: tao    时间: 2019-3-7 10:25
SunshineFu 发表于 2019-3-6 23:00
2 y4 X' v4 l5 m4 \: j这是因为操作员连入网络节点后,就脱离了暂存区(不再是暂存区的子实体),你在操作员的卸载触发中用move ...
. @  F% {8 K0 ?" ~  _+ U3 x2 y* u9 h3 D/ p
好的,学到了,谢谢
作者: lxx    时间: 2021-5-9 14:48
感谢分享
; Y) _, p# o; Z. ?- F" c: K




欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/) Powered by Discuz! X3.3