全球FlexSim系统仿真中文论坛

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

任务序列代码

[复制链接]
跳转到指定楼层
1#
啊钟 发表于 2014-5-29 14:53:14 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 啊钟 于 2014-5-29 21:31 编辑
; ^4 O" b* s& F7 @% P: ^+ u+ V. y* y) a9 a/ u/ N; ]5 X
这是我想用的任务序列,可是不知道为什么设置完了以后会显示程序出错,请问我是错在哪里呢?. u; P. V7 V/ c! M

0 S; Z5 H% L  I* x. i, etreenode item = parnode(1);1 G4 [2 E% |) Q+ u
treenode current = ownerobject(c);
5 A: P& i7 C+ x, _int port = parval(2);4 d) F- J" P# n  e4 @2 u1 w2 p8 G
, b# g( j; b; G+ ~" @
treenode ts = createemptytasksequence(centerobject(current,1),0,0);
* y: Y. j; D5 z6 ~* S
" L, q* e4 P2 N6 U8 iinserttask(ts,TASKTYPE_TRAVEL,current,NULL);  y  N1 B# V- N) t9 e2 D% I
inserttask(ts,TASKTYPE_FRLOAD,item,current,port);" @! Q2 r% H2 x. G  g
inserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);
: o; f' y* ?6 K4 M% e4 \$ rinserttask(ts,TASKTYPE_DELAY,NULL,NULL,60,STATE_BUSY);- Y9 h* h' j$ I6 @5 W. M2 p
inserttask(ts,TASKTYPE_TRAVEL,outobject(current,port),NULL);
8 O- \! \9 }& P* S2 Zinserttask(ts,TASKTYPE_FRUNLOAD,item,outobject(current,port),opipno(current,port));
! E  V# C/ @/ ^. f1 ~0 E+ h' H  e$ i4 z
dispatchtasksequence(ts);/ {5 _$ P4 N# f7 g& ~  ^

' [% S, l8 g0 K- P- z4 treturn 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# 慧娴亚伦
. v. w4 I& \. }0 K( |& u) U: l
3 W0 f% s3 j( F/ x. j
& B$ P/ j3 u6 {) B' [我仔细看了一下发现代码的顺序有点问题,改了一下,发现可以运行了0 R! i5 o; {/ k  B, ^& |4 ]4 R  [) N
$ ?1 U) ~, d. B
treenode item = parnode(1);! G/ V! @: \: Y! D$ |
treenode current = ownerobject(c);: m/ N: |: g2 v5 F* @7 x
int port = parval(2);" K( X- ^# D: n5 o: k" R  S" y

- r5 S2 p+ Y; j4 Q. {$ i0 Htreenode ts = createemptytasksequence(centerobject(current,1),0,0);       //创建空任务序列
+ B3 \- n7 h* C/ H4 Linserttask(ts,TASKTYPE_TRAVEL,current,NULL);                                   //走到本序列' i0 T4 Q6 M5 L8 p2 W) |+ F6 U
inserttask(ts,TASKTYPE_DELAY,NULL,NULL,60,STATE_BUSY);                       //延时60秒
  Z( Y  u+ b2 w9 ~) Q9 o* n6 Pinserttask(ts,TASKTYPE_FRLOAD,item,current,port);                             //装载实体
$ h3 Y- F6 V, W% V6 ~  a. e7 Yinserttask(ts,TASKTYPE_TRAVEL,outobject(current,port),NULL);                //走到下一序列+ K: ]5 }3 a5 h/ M
inserttask(ts,TASKTYPE_DELAY,NULL,NULL,60,STATE_BUSY);                       //延时60秒; k6 U  C' u: s- P0 ]! W9 o+ C
inserttask(ts,TASKTYPE_FRUNLOAD,item,outobject(current,port),opipno(current,port));- `3 E$ a5 |: Z3 |* Y4 U; _9 ^
//卸载实体% L3 M9 l8 t' y, Q1 E

9 c& `1 W& Q+ R; z( r* ddispatchtasksequence(ts);                                                          //分配任务序列- k  v. Y( m( q

) F# I* I7 R+ B' ?( ]! N7 y$ Ereturn 0;                                                                           // 返回0表示本对象创建自己的任务序列,而不是使用默认的自动创建的任务序列
# f3 H3 J# c! f3 b+ F; c- R" j) j. V* q: h0 a7 p7 B( g

& p/ V& H& o: h1 u这样是可以的吗?谢谢您!
4#
 楼主| 啊钟 发表于 2014-5-31 09:13:33 | 只看该作者
本帖最后由 啊钟 于 2014-5-31 09:18 编辑 ( x" p3 X' _- |. L& Q) S: e; Q2 Y* m  E0 z5 V

" L1 f2 }0 |+ Y/ j( d 3# 啊钟 就是这个2 }# u4 G; b/ E: k# M6 {% S

- b+ g% \) ^- g; d由于模型要到实验室才可以修改,我自己的软件item有限所以上传不了加入了任务序列的模型,我的任务序列是添加给每一个source后的queue,下面是没有添加任务序列的模型。我的模型还有一个问题,就是货物会不断地堆积在queue中,而不会被sink吸收,这是为什么呢?求解,谢谢!!

本帖子中包含更多资源

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

x
3#
 楼主| 啊钟 发表于 2014-5-31 09:13:15 | 只看该作者
2# 慧娴亚伦 + ?8 o4 i5 c- l3 s2 q8 f
' b2 @5 q& I9 T5 K3 A" P" Z

6 [* [8 v8 V6 g6 H% ?" C报错是这样的。其实我第一次输入代码的时候是可以运行的,但后来就一直不行了。

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2025-5-14 06:19 , Processed in 0.077734 second(s), 15 queries .

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

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