全球FlexSim系统仿真中文论坛

搜索
查看: 7312|回复: 5
打印 上一主题 下一主题

任务序列代码

[复制链接]
跳转到指定楼层
1#
啊钟 发表于 2014-5-29 14:53:14 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 啊钟 于 2014-5-29 21:31 编辑 % H) N2 q2 d0 g( A- a" U$ u

, E7 @( G5 R8 k6 P* C这是我想用的任务序列,可是不知道为什么设置完了以后会显示程序出错,请问我是错在哪里呢?
' z5 e+ j& b) A) Z/ N/ o
$ b% I( ]& C3 r0 L8 ]) v/ Atreenode item = parnode(1);) b. K( c$ S% {$ ^0 x
treenode current = ownerobject(c);
+ X8 @& ]/ W* B+ _. fint port = parval(2);
1 z" y' P8 C/ s4 M3 j* ~& t) _% ^) V3 B9 |# {1 l
treenode ts = createemptytasksequence(centerobject(current,1),0,0);- u* e* @6 U( q) L( ]  f

0 N. y5 i0 O6 e0 |inserttask(ts,TASKTYPE_TRAVEL,current,NULL);
; ~" G- z6 V5 Z4 Q; K3 X1 vinserttask(ts,TASKTYPE_FRLOAD,item,current,port);
) Q8 m& u( m# c" ^/ qinserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);
9 ]% c& T+ T1 x( B: Dinserttask(ts,TASKTYPE_DELAY,NULL,NULL,60,STATE_BUSY);7 l/ M/ r- m. W8 z3 K
inserttask(ts,TASKTYPE_TRAVEL,outobject(current,port),NULL);
+ X- D. A# {; P" p! O! x& @6 }inserttask(ts,TASKTYPE_FRUNLOAD,item,outobject(current,port),opipno(current,port));
# y! D+ J8 Q+ R% C( @+ q/ r. g' U' o/ T8 N2 B$ j
dispatchtasksequence(ts);
2 P! j; G! ~8 R% r- C; ^# n
, W, e, V3 W+ rreturn 0;  // return a 0 so this object will know that you made your own tasksequence and it doesn't need to make the standard tasksequence automatically
6#
guozhongyun 发表于 2014-8-21 19:42:24 | 只看该作者
学习学习!!
5#
 楼主| 啊钟 发表于 2014-5-31 16:19:59 | 只看该作者
2# 慧娴亚伦
( F. u& Y: x" N. m8 I. a+ y: w5 H' ?9 Z
( K8 b1 P$ z. b  T9 l  R- D% ^- N
# J7 J; e0 ]1 R2 H, Z我仔细看了一下发现代码的顺序有点问题,改了一下,发现可以运行了( k2 o. W/ I/ \/ ?6 R4 i: v! N

2 w% a; d3 X5 k' s& j4 D/ D6 {( T# ?treenode item = parnode(1);
3 u1 I% ]/ N$ _* f$ H0 m' ~% Utreenode current = ownerobject(c);, t# X: U2 `+ ?3 x. C2 w
int port = parval(2);
0 {2 M6 G9 H6 ]$ ~7 E6 Y, ?! f7 s4 J! l/ ^0 C2 T
treenode ts = createemptytasksequence(centerobject(current,1),0,0);       //创建空任务序列  V7 Z9 P" D2 i- f' j
inserttask(ts,TASKTYPE_TRAVEL,current,NULL);                                   //走到本序列2 I+ x1 s, c- w2 s7 [9 e
inserttask(ts,TASKTYPE_DELAY,NULL,NULL,60,STATE_BUSY);                       //延时60秒' R2 n% @9 q; I# }$ V9 m- s
inserttask(ts,TASKTYPE_FRLOAD,item,current,port);                             //装载实体0 |- x- m6 z( ^
inserttask(ts,TASKTYPE_TRAVEL,outobject(current,port),NULL);                //走到下一序列  r& {/ x! g/ O3 c1 J# l
inserttask(ts,TASKTYPE_DELAY,NULL,NULL,60,STATE_BUSY);                       //延时60秒. p0 q' K* W, ~" g! w
inserttask(ts,TASKTYPE_FRUNLOAD,item,outobject(current,port),opipno(current,port));
" F9 Q( v5 n# z//卸载实体
6 t6 k4 h' `4 F+ r0 u7 w( M" ~( w2 Q
dispatchtasksequence(ts);                                                          //分配任务序列4 L- Z5 R* E/ P( J  y
' B1 o. w' r1 B  f2 g
return 0;                                                                           // 返回0表示本对象创建自己的任务序列,而不是使用默认的自动创建的任务序列% C* L" {( @9 y2 `
  L: J7 [/ o3 E. x( V( K8 i) r

$ S# x- ]' b. `& _这样是可以的吗?谢谢您!
4#
 楼主| 啊钟 发表于 2014-5-31 09:13:33 | 只看该作者
本帖最后由 啊钟 于 2014-5-31 09:18 编辑 1 w8 C/ N- ~, ^+ \  o1 w# P
4 f, d# T( k; f  ~6 {: q
3# 啊钟 就是这个
: j  m: y- ^- f2 ]7 Z3 }( ~  J$ u7 D; `- E( o* `3 u9 i; ]: O
由于模型要到实验室才可以修改,我自己的软件item有限所以上传不了加入了任务序列的模型,我的任务序列是添加给每一个source后的queue,下面是没有添加任务序列的模型。我的模型还有一个问题,就是货物会不断地堆积在queue中,而不会被sink吸收,这是为什么呢?求解,谢谢!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
3#
 楼主| 啊钟 发表于 2014-5-31 09:13:15 | 只看该作者
2# 慧娴亚伦
! h) K# e0 |+ i+ @0 O% a4 a. L$ C9 p- u& V( m0 ]

! F1 I0 X+ T5 m- I+ I报错是这样的。其实我第一次输入代码的时候是可以运行的,但后来就一直不行了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
2#
慧娴亚伦 发表于 2014-5-30 10:07:18 | 只看该作者
单看代码是没有问题,但是需要结合具体的模型中的情况来看,您最好是能把报错截图上传。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|全球FlexSim系统仿真中文论坛 ( 京ICP备14043114号-2 )

GMT+8, 2025-6-30 04:17 , Processed in 0.063361 second(s), 15 queries .

Powered by Discuz! X3.3© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表