全球FlexSim系统仿真中文论坛

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

任务序列代码

[复制链接]
跳转到指定楼层
1#
啊钟 发表于 2014-5-29 14:53:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 啊钟 于 2014-5-29 21:31 编辑
0 t+ E/ k( S1 C! H$ Z" V" _, y% _" r' C$ K  y( `2 }. U: w
这是我想用的任务序列,可是不知道为什么设置完了以后会显示程序出错,请问我是错在哪里呢?
7 q  A; r$ V" `; L$ {( U3 t$ M7 z  l9 `, @0 ?2 O
treenode item = parnode(1);0 x! Z5 q" e, o+ I- M6 _1 f
treenode current = ownerobject(c);
* o3 d& ]3 t! h; B3 Pint port = parval(2);
$ b" T# w; Z. }  {" R# o5 Y9 {4 v/ {
treenode ts = createemptytasksequence(centerobject(current,1),0,0);* f5 C* I8 }7 u# P  i: k) [) B8 K+ l

1 a% K$ t9 q4 c8 q: rinserttask(ts,TASKTYPE_TRAVEL,current,NULL);
' H! O, j& @* ^5 a7 Yinserttask(ts,TASKTYPE_FRLOAD,item,current,port);$ l1 M, b  d! S( I, h
inserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);; p( i% v- F" R: L; L. R
inserttask(ts,TASKTYPE_DELAY,NULL,NULL,60,STATE_BUSY);7 }' N  `, j" o; k! d3 f2 o* l- v
inserttask(ts,TASKTYPE_TRAVEL,outobject(current,port),NULL);
! T, K* e8 K* e$ i6 o  D  ~. `inserttask(ts,TASKTYPE_FRUNLOAD,item,outobject(current,port),opipno(current,port));& D( E* E5 P4 B6 K/ b5 _

( ?0 r4 ]: t1 m/ L8 _dispatchtasksequence(ts);
) H4 W1 j2 I6 e  c7 C9 }# J/ x5 U0 R: O  d$ `8 _
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# 慧娴亚伦 * m5 i; i1 o, K

0 u1 [. A9 v% i! c! m9 t
5 F" C8 F) H) b8 _% X  b5 G) W报错是这样的。其实我第一次输入代码的时候是可以运行的,但后来就一直不行了。

本帖子中包含更多资源

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

x
4#
 楼主| 啊钟 发表于 2014-5-31 09:13:33 | 只看该作者
本帖最后由 啊钟 于 2014-5-31 09:18 编辑
. C$ e! E6 W. }; [, p7 Q2 z1 r# K, o" E4 V5 B4 q3 O* N
3# 啊钟 就是这个
2 [  Q& W, w: w' t2 L2 Y4 n
3 C" C% y0 b: o% t3 K$ K由于模型要到实验室才可以修改,我自己的软件item有限所以上传不了加入了任务序列的模型,我的任务序列是添加给每一个source后的queue,下面是没有添加任务序列的模型。我的模型还有一个问题,就是货物会不断地堆积在queue中,而不会被sink吸收,这是为什么呢?求解,谢谢!!

本帖子中包含更多资源

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

x
5#
 楼主| 啊钟 发表于 2014-5-31 16:19:59 | 只看该作者
2# 慧娴亚伦 6 y& K/ D# R1 m! C& Q. p7 |( X+ \

2 V1 E% S3 g' U" Q6 |8 q; ]# [$ T5 c
我仔细看了一下发现代码的顺序有点问题,改了一下,发现可以运行了8 F9 I1 W( w' }8 G
( J5 I1 v0 Q- J6 N4 X8 u( z; K
treenode item = parnode(1);. l* X! _% m# Q  v8 d( `) P& ~
treenode current = ownerobject(c);
# Q. }; b5 ]; Z+ i: ?3 aint port = parval(2);+ J4 L, \4 e6 [) R
, O2 y' j, t2 R* G' _" k
treenode ts = createemptytasksequence(centerobject(current,1),0,0);       //创建空任务序列
- a2 N& s7 e  y( b/ o6 einserttask(ts,TASKTYPE_TRAVEL,current,NULL);                                   //走到本序列" \6 d* K# Q; t9 b8 L5 L8 A
inserttask(ts,TASKTYPE_DELAY,NULL,NULL,60,STATE_BUSY);                       //延时60秒
8 z2 [* \0 y/ E' T3 winserttask(ts,TASKTYPE_FRLOAD,item,current,port);                             //装载实体; N" A* ^- d3 Y& d; H6 h6 c. A: x
inserttask(ts,TASKTYPE_TRAVEL,outobject(current,port),NULL);                //走到下一序列
5 T& y0 J- T2 o/ \$ J* p+ `5 q& qinserttask(ts,TASKTYPE_DELAY,NULL,NULL,60,STATE_BUSY);                       //延时60秒
; _9 C0 c) p( H8 }6 S7 T5 @0 f! rinserttask(ts,TASKTYPE_FRUNLOAD,item,outobject(current,port),opipno(current,port));
& g- b0 E6 R3 L8 r8 T, `0 Z! l//卸载实体5 z6 r: b, ~5 M$ c$ ~
+ T4 z) b+ \( s9 I0 G; L2 n2 U4 a
dispatchtasksequence(ts);                                                          //分配任务序列
7 n* s! ^5 \  G9 t( A& f: `2 W4 E! t5 C9 u" l2 I( D( j, j
return 0;                                                                           // 返回0表示本对象创建自己的任务序列,而不是使用默认的自动创建的任务序列7 M) ]$ f% W! e' k! h

1 j7 \4 ^- r. s: m
9 h( h( j4 x* x* h6 N$ t这样是可以的吗?谢谢您!
6#
guozhongyun 发表于 2014-8-21 19:42:24 | 只看该作者
学习学习!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-10-25 06:04 , Processed in 0.071899 second(s), 14 queries .

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

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