全球FlexSim系统仿真中文论坛

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

任务序列代码

[复制链接]
跳转到指定楼层
1#
啊钟 发表于 2014-5-29 14:53:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 啊钟 于 2014-5-29 21:31 编辑
7 V% K3 M$ m' m9 P5 m( J8 }  o* c+ D: T6 |6 y4 r% Z
这是我想用的任务序列,可是不知道为什么设置完了以后会显示程序出错,请问我是错在哪里呢?5 }  k! X6 g* [  n% B. }

* O( F2 H1 ]0 K. streenode item = parnode(1);( x+ a9 W' E9 ^1 p4 d
treenode current = ownerobject(c);1 g7 ]: T2 M6 e# v" I
int port = parval(2);
' e, I0 D6 P) g( V1 T1 ^+ U- u2 `" h1 a
treenode ts = createemptytasksequence(centerobject(current,1),0,0);
2 |. @7 v" H6 o/ |5 q# `1 b' G6 _% s& f0 c
inserttask(ts,TASKTYPE_TRAVEL,current,NULL);
" W  S9 J! ?0 o) j5 n4 N0 Binserttask(ts,TASKTYPE_FRLOAD,item,current,port);# H0 [- I* f( L! Z) ^2 W$ V
inserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);+ ]- X: w( g% p/ y, V/ n3 r
inserttask(ts,TASKTYPE_DELAY,NULL,NULL,60,STATE_BUSY);; u  r) g2 P" p
inserttask(ts,TASKTYPE_TRAVEL,outobject(current,port),NULL);
& i6 p& _1 m" s2 e0 yinserttask(ts,TASKTYPE_FRUNLOAD,item,outobject(current,port),opipno(current,port));
/ Y- p* P' D1 ^+ f$ ^) `; B, ?) `% l! S: @6 ^
dispatchtasksequence(ts);, {! S& {7 \7 g0 s4 @

+ t$ N! ~6 ?; p* M- Dreturn 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# 慧娴亚伦
$ u' ?% X3 S! P' M  L) k- c- E+ E8 d; g/ ^" y" F( y7 I8 a

7 ~" \0 C. {( f) K; I  r; R0 [报错是这样的。其实我第一次输入代码的时候是可以运行的,但后来就一直不行了。

本帖子中包含更多资源

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

x
4#
 楼主| 啊钟 发表于 2014-5-31 09:13:33 | 只看该作者
本帖最后由 啊钟 于 2014-5-31 09:18 编辑 ( O$ `9 ~: t. p  [
: B& E6 R0 K4 E. L" |7 g; u+ u
3# 啊钟 就是这个/ p8 `6 a' k2 D/ H/ v
& ~3 l; z/ Q% W% Q
由于模型要到实验室才可以修改,我自己的软件item有限所以上传不了加入了任务序列的模型,我的任务序列是添加给每一个source后的queue,下面是没有添加任务序列的模型。我的模型还有一个问题,就是货物会不断地堆积在queue中,而不会被sink吸收,这是为什么呢?求解,谢谢!!

本帖子中包含更多资源

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

x
5#
 楼主| 啊钟 发表于 2014-5-31 16:19:59 | 只看该作者
2# 慧娴亚伦 # ?- [( B& Q# \8 C% W
( x, Y! ~% w4 R9 \2 r, y" S- C7 {

* w' O0 D' ^; f; q: [0 d我仔细看了一下发现代码的顺序有点问题,改了一下,发现可以运行了
$ e5 R5 f& L! s! _
7 G* ^7 Y0 a& O2 k% ttreenode item = parnode(1);# c! Q% ^; e. m( ^. M4 a* G
treenode current = ownerobject(c);/ j: Y7 H) J* F8 Y
int port = parval(2);7 X7 Z8 i+ f. M: V0 W; I

# f) q) }1 J4 C6 t$ b/ O5 {treenode ts = createemptytasksequence(centerobject(current,1),0,0);       //创建空任务序列. m" f5 S  n) K8 i" P+ C
inserttask(ts,TASKTYPE_TRAVEL,current,NULL);                                   //走到本序列
$ @& h4 t& M* i- N" b" o& @inserttask(ts,TASKTYPE_DELAY,NULL,NULL,60,STATE_BUSY);                       //延时60秒
& R# b: q* {3 q8 O4 J# ninserttask(ts,TASKTYPE_FRLOAD,item,current,port);                             //装载实体
' S* b( ^* q4 E+ ]% l* F  K- kinserttask(ts,TASKTYPE_TRAVEL,outobject(current,port),NULL);                //走到下一序列
. z% d) \' \9 o* @9 m8 Iinserttask(ts,TASKTYPE_DELAY,NULL,NULL,60,STATE_BUSY);                       //延时60秒- C' C- J# U" u# O4 _
inserttask(ts,TASKTYPE_FRUNLOAD,item,outobject(current,port),opipno(current,port));
0 ^+ S1 y9 t0 a$ ]9 J. D. U, w; H//卸载实体! {6 R, K% o6 L2 Q

5 M4 B/ B* \" |- I* P6 Qdispatchtasksequence(ts);                                                          //分配任务序列- F- b- V4 |" h" C

, {4 H( M$ I% L) p! U' v! Ureturn 0;                                                                           // 返回0表示本对象创建自己的任务序列,而不是使用默认的自动创建的任务序列
+ [) }5 J% a5 L. b. r8 g) o- m' b/ ~* z+ U& a; A$ r* I# M
/ N$ g9 r, u  F( K' h* o
这样是可以的吗?谢谢您!
6#
guozhongyun 发表于 2014-8-21 19:42:24 | 只看该作者
学习学习!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-9-6 05:46 , Processed in 0.082729 second(s), 14 queries .

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

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