全球FlexSim系统仿真中文论坛

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

任务序列代码

[复制链接]
跳转到指定楼层
1#
啊钟 发表于 2014-5-29 14:53:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 啊钟 于 2014-5-29 21:31 编辑
8 I# k% F5 V, }8 D, l  i( M2 n! F; _2 ]! X9 M/ ^3 Q' F; Y5 \! y
这是我想用的任务序列,可是不知道为什么设置完了以后会显示程序出错,请问我是错在哪里呢?0 I) E: N: O% _" A0 `

/ u6 ]" h0 v( ~% h3 [: B6 o( o- I% btreenode item = parnode(1);" V0 x1 h% u" l4 M. _
treenode current = ownerobject(c);
+ i3 e& g; I; b5 U) l: Y) @int port = parval(2);! Q" \9 v. y4 K! v- r

1 m8 u" L& D- ?- Vtreenode ts = createemptytasksequence(centerobject(current,1),0,0);1 l; Z4 z/ k& V+ S2 M

& K) v1 M% d$ [' s/ u! S* Ninserttask(ts,TASKTYPE_TRAVEL,current,NULL);% f" S; M% `) Z; b4 W; B; N: M& u5 i5 ^
inserttask(ts,TASKTYPE_FRLOAD,item,current,port);1 r5 P2 a- X/ G; X# h  o' H+ D+ d
inserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);6 N  O3 V" p$ C1 V
inserttask(ts,TASKTYPE_DELAY,NULL,NULL,60,STATE_BUSY);
0 f" E! U" e) U" U0 {* einserttask(ts,TASKTYPE_TRAVEL,outobject(current,port),NULL);4 U$ g- a  |8 e( ~/ ]  ?$ b  p0 w$ f
inserttask(ts,TASKTYPE_FRUNLOAD,item,outobject(current,port),opipno(current,port));5 k- d8 k3 m/ Y9 S7 v6 y( R
: T" y( j$ L9 t4 u/ H7 x
dispatchtasksequence(ts);
: Q* c& M% }5 E6 n' s% z( r  O
1 ~1 U1 P& \1 t& p* r) }# ]0 ereturn 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# 慧娴亚伦
8 x( G4 `" L- O2 S  f  j$ _* d7 d$ b/ W1 F% X1 w+ i) p1 i0 a

- v2 E$ l: I( ^) L9 m8 ^报错是这样的。其实我第一次输入代码的时候是可以运行的,但后来就一直不行了。

本帖子中包含更多资源

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

x
4#
 楼主| 啊钟 发表于 2014-5-31 09:13:33 | 只看该作者
本帖最后由 啊钟 于 2014-5-31 09:18 编辑 2 a  R. v9 o6 w

+ u# w3 p; l2 R: y 3# 啊钟 就是这个% Q7 S% z$ p0 `. u
  c) q+ |- U: h
由于模型要到实验室才可以修改,我自己的软件item有限所以上传不了加入了任务序列的模型,我的任务序列是添加给每一个source后的queue,下面是没有添加任务序列的模型。我的模型还有一个问题,就是货物会不断地堆积在queue中,而不会被sink吸收,这是为什么呢?求解,谢谢!!

本帖子中包含更多资源

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

x
5#
 楼主| 啊钟 发表于 2014-5-31 16:19:59 | 只看该作者
2# 慧娴亚伦
" a- \( }. z, H* n- E8 r+ b
" }* `9 Y, D+ G, [8 {; I" C5 }0 B$ y' [/ B9 l3 ~
我仔细看了一下发现代码的顺序有点问题,改了一下,发现可以运行了
. G2 M8 m3 S: u, i+ l# z7 s9 @1 x
$ Y+ ^6 A3 R$ d5 G0 Etreenode item = parnode(1);9 C  u" y  k0 x! d
treenode current = ownerobject(c);
, @( B: D4 f) `) W8 P  mint port = parval(2);" d$ K8 G% ^/ R1 U# `

+ e+ ?' ^4 T6 ~. \- u/ Otreenode ts = createemptytasksequence(centerobject(current,1),0,0);       //创建空任务序列) @. U6 }. J/ D% B4 _5 k
inserttask(ts,TASKTYPE_TRAVEL,current,NULL);                                   //走到本序列/ f" T# h/ F3 Q& K- E
inserttask(ts,TASKTYPE_DELAY,NULL,NULL,60,STATE_BUSY);                       //延时60秒
1 S1 g2 d. ]  q* x) K- \/ t4 yinserttask(ts,TASKTYPE_FRLOAD,item,current,port);                             //装载实体  p$ ]3 ?# }  `3 b/ q6 s: Q
inserttask(ts,TASKTYPE_TRAVEL,outobject(current,port),NULL);                //走到下一序列
0 X5 E2 [% Q& x  |; g9 T6 x. t8 Rinserttask(ts,TASKTYPE_DELAY,NULL,NULL,60,STATE_BUSY);                       //延时60秒1 w3 Z9 k- r$ q" i, A9 u3 V# c% W5 j
inserttask(ts,TASKTYPE_FRUNLOAD,item,outobject(current,port),opipno(current,port));
/ p4 A+ G7 @! p' ?0 j2 a* y/ u# i//卸载实体& p4 r- f0 A! u( j# I
; K' r0 R6 K: |) b/ N. n
dispatchtasksequence(ts);                                                          //分配任务序列8 z4 v! ?2 d6 B2 G; r# c

4 c  ~' o# }0 m; ereturn 0;                                                                           // 返回0表示本对象创建自己的任务序列,而不是使用默认的自动创建的任务序列8 L- I8 j# }8 Q8 C9 r
" a1 V' u9 B6 X& h

. J! b; a6 ^- s* g这样是可以的吗?谢谢您!
6#
guozhongyun 发表于 2014-8-21 19:42:24 | 只看该作者
学习学习!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-7-1 03:51 , Processed in 0.076276 second(s), 14 queries .

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

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