全球FlexSim系统仿真中文论坛

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

任务序列代码

[复制链接]
跳转到指定楼层
1#
啊钟 发表于 2014-5-29 14:53:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 啊钟 于 2014-5-29 21:31 编辑
6 y. u% |9 Y0 U& d% c4 l: a' X8 p* }, e! a  `  g+ S
这是我想用的任务序列,可是不知道为什么设置完了以后会显示程序出错,请问我是错在哪里呢?
- n0 o0 L$ f( e" R! O3 }& n8 j+ ?# p% z
treenode item = parnode(1);% p+ t/ d$ D% f! [$ w/ i; ]
treenode current = ownerobject(c);
6 _/ s, R: p% o  z- Cint port = parval(2);
0 z6 D9 L' r7 w- O# a) c+ _9 v8 l+ V; ]3 V
treenode ts = createemptytasksequence(centerobject(current,1),0,0);
, C% R6 K5 y5 @/ `" s3 r4 q' v
6 I, J" N& k/ O# e6 pinserttask(ts,TASKTYPE_TRAVEL,current,NULL);
9 j* n) y( L  z* N  Jinserttask(ts,TASKTYPE_FRLOAD,item,current,port);4 c) m# |; G( E& r$ X1 q9 e" i
inserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);
# m7 m$ \) D5 d/ _" yinserttask(ts,TASKTYPE_DELAY,NULL,NULL,60,STATE_BUSY);
& t  V8 H  f. f6 t2 a1 Oinserttask(ts,TASKTYPE_TRAVEL,outobject(current,port),NULL);% r- W) B2 W, s8 O
inserttask(ts,TASKTYPE_FRUNLOAD,item,outobject(current,port),opipno(current,port));; ?. I( A! P$ O( Z0 {) ^: x8 ~) C

& ?# @- |/ N7 m% ~6 @dispatchtasksequence(ts);
. _. y/ Q* O) v! }8 Z! m8 l6 o% B( l3 ~. Y) e  x6 c, y
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# 慧娴亚伦
3 \- V5 _9 n# L4 r7 |- d2 ^$ a  v
: i! R0 T" B; K1 |* j
  `- ]7 T* n7 `+ x: w* h报错是这样的。其实我第一次输入代码的时候是可以运行的,但后来就一直不行了。

本帖子中包含更多资源

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

x
4#
 楼主| 啊钟 发表于 2014-5-31 09:13:33 | 只看该作者
本帖最后由 啊钟 于 2014-5-31 09:18 编辑 ; f# I: Y. [& A/ m" L1 P6 q1 Z$ k. ?
) v( ]- }) \& ^( @& L3 z( Z$ M6 P
3# 啊钟 就是这个" {; Q# A& m& X; J2 U9 E4 V

, m) _2 ~4 O  ^) a' m& x$ C" u由于模型要到实验室才可以修改,我自己的软件item有限所以上传不了加入了任务序列的模型,我的任务序列是添加给每一个source后的queue,下面是没有添加任务序列的模型。我的模型还有一个问题,就是货物会不断地堆积在queue中,而不会被sink吸收,这是为什么呢?求解,谢谢!!

本帖子中包含更多资源

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

x
5#
 楼主| 啊钟 发表于 2014-5-31 16:19:59 | 只看该作者
2# 慧娴亚伦
* n) o0 w' _! C! d6 U9 o. M
' }- Z) m* `, x# A6 c6 s
4 U; i1 V8 R$ U7 y我仔细看了一下发现代码的顺序有点问题,改了一下,发现可以运行了
, K8 y! }9 D2 j2 K% a" y6 d8 q  W% {+ U/ t6 @5 R4 J
treenode item = parnode(1);! m' I- O0 X0 W
treenode current = ownerobject(c);
5 U9 r6 g& o$ ~- }int port = parval(2);- t$ g) L6 P1 F5 a7 ?
* ]9 S% n" k1 g4 Y5 J
treenode ts = createemptytasksequence(centerobject(current,1),0,0);       //创建空任务序列
, g: p4 [& d! l# Qinserttask(ts,TASKTYPE_TRAVEL,current,NULL);                                   //走到本序列
/ D6 X6 ^8 f$ F& s. v/ s4 s2 B2 c  oinserttask(ts,TASKTYPE_DELAY,NULL,NULL,60,STATE_BUSY);                       //延时60秒  s; _& V8 F3 |4 F& h
inserttask(ts,TASKTYPE_FRLOAD,item,current,port);                             //装载实体
6 i' n, |1 N: Z/ B7 ?* r/ Minserttask(ts,TASKTYPE_TRAVEL,outobject(current,port),NULL);                //走到下一序列
4 ~6 Y# N. Q0 H  A+ j5 J; winserttask(ts,TASKTYPE_DELAY,NULL,NULL,60,STATE_BUSY);                       //延时60秒% C* _3 F4 y- t9 Z
inserttask(ts,TASKTYPE_FRUNLOAD,item,outobject(current,port),opipno(current,port));
; n. J4 N( D" x1 K//卸载实体- t% S) D( l& [& }/ G8 v/ V5 ?: \
3 s; B; b  q( m  c
dispatchtasksequence(ts);                                                          //分配任务序列
1 G! }; w9 G7 e7 [' k! j5 s' Q3 Q) _1 @$ v
return 0;                                                                           // 返回0表示本对象创建自己的任务序列,而不是使用默认的自动创建的任务序列. E; Z. n; W' j8 Q& j
* ?3 q6 H6 n  }4 O) C4 |, b! V; q
4 N% W1 e: `5 s0 b$ b9 O, e
这样是可以的吗?谢谢您!
6#
guozhongyun 发表于 2014-8-21 19:42:24 | 只看该作者
学习学习!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-30 10:33 , Processed in 0.065445 second(s), 14 queries .

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

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