全球FlexSim系统仿真中文论坛

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

任务序列代码

[复制链接]
跳转到指定楼层
1#
啊钟 发表于 2014-5-29 14:53:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 啊钟 于 2014-5-29 21:31 编辑
( @% y9 D' r3 W1 N0 ^& ^9 o/ j$ Z' p: R% I' P9 y
这是我想用的任务序列,可是不知道为什么设置完了以后会显示程序出错,请问我是错在哪里呢?9 Y- q+ c/ p7 B6 J8 a7 m5 m/ g
  p* ^- a4 R0 X. ]  T1 B* G) \5 v! }
treenode item = parnode(1);- ?9 Q- ^! W# ?# E7 m$ O  G( V
treenode current = ownerobject(c);# O6 P7 C6 h0 d5 c0 w
int port = parval(2);
6 z/ A, E' d6 t: K  {# f
, b. Q' k! U9 k! w- p2 b: e/ Btreenode ts = createemptytasksequence(centerobject(current,1),0,0);1 `& ~' w5 y4 y' ]6 X1 |' [
# {1 H& U5 [9 s
inserttask(ts,TASKTYPE_TRAVEL,current,NULL);- v" c$ [7 a1 r0 l, r- ~5 k3 Y9 K
inserttask(ts,TASKTYPE_FRLOAD,item,current,port);, e$ W  x, g; p$ \  T9 |' n
inserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);6 m" a0 L! v! d6 a! ~) ^
inserttask(ts,TASKTYPE_DELAY,NULL,NULL,60,STATE_BUSY);
3 C% b" ]+ h" ?7 B+ [* Cinserttask(ts,TASKTYPE_TRAVEL,outobject(current,port),NULL);) M* V) `% g# d7 y  y5 b
inserttask(ts,TASKTYPE_FRUNLOAD,item,outobject(current,port),opipno(current,port));
& p0 [7 G: U( f' D% t7 R4 x  _# b# u, S
dispatchtasksequence(ts);+ O7 h/ v2 b* _) m: \+ Q" w3 B7 G( K
- \) s: `& @" M, H: b
return 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
2#
慧娴亚伦 发表于 2014-5-30 10:07:18 | 只看该作者
单看代码是没有问题,但是需要结合具体的模型中的情况来看,您最好是能把报错截图上传。
3#
 楼主| 啊钟 发表于 2014-5-31 09:13:15 | 只看该作者
2# 慧娴亚伦
0 }& ~- |9 n6 ?& K; g* g" u9 B7 _) P. q. D( q5 h

% T: m, d& g+ m- `/ m  w报错是这样的。其实我第一次输入代码的时候是可以运行的,但后来就一直不行了。

本帖子中包含更多资源

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

x
4#
 楼主| 啊钟 发表于 2014-5-31 09:13:33 | 只看该作者
本帖最后由 啊钟 于 2014-5-31 09:18 编辑 : U$ R6 d# B* ?( q- c
# v, E+ N1 s3 j- @/ y3 f6 \3 A6 \6 [
3# 啊钟 就是这个0 _* |9 I) D1 ^. ~" Q

' J9 J3 _) ^7 A7 G/ V2 f# M$ Q; w! u由于模型要到实验室才可以修改,我自己的软件item有限所以上传不了加入了任务序列的模型,我的任务序列是添加给每一个source后的queue,下面是没有添加任务序列的模型。我的模型还有一个问题,就是货物会不断地堆积在queue中,而不会被sink吸收,这是为什么呢?求解,谢谢!!

本帖子中包含更多资源

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

x
5#
 楼主| 啊钟 发表于 2014-5-31 16:19:59 | 只看该作者
2# 慧娴亚伦
: p$ V* j/ Q) l
. l9 q$ p4 g, J, ?: D% P/ x+ M
( F5 O( `% [1 R& K/ I' x) o我仔细看了一下发现代码的顺序有点问题,改了一下,发现可以运行了
- s( e. m) @# W% i0 N1 w7 |6 k" b1 t2 [1 D! R* X# h* M
treenode item = parnode(1);
5 a6 F5 s8 |, Htreenode current = ownerobject(c);7 D7 p. `8 j3 O. j+ Y6 |
int port = parval(2);" _/ s0 u* o2 F

  v6 J+ G' m  Etreenode ts = createemptytasksequence(centerobject(current,1),0,0);       //创建空任务序列1 O! x& D0 z$ i, q* Z; @
inserttask(ts,TASKTYPE_TRAVEL,current,NULL);                                   //走到本序列) v! \& q% @) J: |  r0 F
inserttask(ts,TASKTYPE_DELAY,NULL,NULL,60,STATE_BUSY);                       //延时60秒4 W7 I; C. t  O! F3 U: b
inserttask(ts,TASKTYPE_FRLOAD,item,current,port);                             //装载实体3 N  u" I1 g$ K. W
inserttask(ts,TASKTYPE_TRAVEL,outobject(current,port),NULL);                //走到下一序列! ?4 Q4 U  r! h, B+ e
inserttask(ts,TASKTYPE_DELAY,NULL,NULL,60,STATE_BUSY);                       //延时60秒: H6 d" \; u+ L; i! I) i
inserttask(ts,TASKTYPE_FRUNLOAD,item,outobject(current,port),opipno(current,port));
, S" g# i# H& i" S9 n0 I3 F//卸载实体
: j8 m  j3 ]1 D. a% [, ?
( o' J- }. u* z+ \' C2 Ldispatchtasksequence(ts);                                                          //分配任务序列9 Q. Z2 j! `- a4 B

! o: z) @: h6 U: u7 c* Jreturn 0;                                                                           // 返回0表示本对象创建自己的任务序列,而不是使用默认的自动创建的任务序列
5 ]( H" ?' S. l5 p) ]; H% G
/ _& f- v# j6 M7 R
' F  }  `6 ^9 L, R这样是可以的吗?谢谢您!
6#
guozhongyun 发表于 2014-8-21 19:42:24 | 只看该作者
学习学习!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-9-6 02:08 , Processed in 0.075521 second(s), 14 queries .

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

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