全球FlexSim系统仿真中文论坛

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

任务序列代码

[复制链接]
跳转到指定楼层
1#
啊钟 发表于 2014-5-29 14:53:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 啊钟 于 2014-5-29 21:31 编辑
0 E4 @5 W8 D3 E0 u3 M: g. z$ \! G; O0 N, r
这是我想用的任务序列,可是不知道为什么设置完了以后会显示程序出错,请问我是错在哪里呢?
% n& p0 F1 T& s/ |1 l* Z' C, Z
. m, o$ H( T) r& C# Ptreenode item = parnode(1);
# `/ I" U( A7 K; D9 Y. l9 mtreenode current = ownerobject(c);, q% z. A6 o& S! i/ a6 ~# X4 T
int port = parval(2);' u9 d' f+ e% t5 J" F8 w

0 z' g, j) `  F3 P( a" ftreenode ts = createemptytasksequence(centerobject(current,1),0,0);# \0 {/ z9 v2 I% o3 w: z) ~% D
. j6 y8 d5 U$ @, d7 l$ W( S
inserttask(ts,TASKTYPE_TRAVEL,current,NULL);
) o' G$ o) F' \4 g, |inserttask(ts,TASKTYPE_FRLOAD,item,current,port);8 S0 A! u( @0 w
inserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);
2 k0 {0 I, ^- p, zinserttask(ts,TASKTYPE_DELAY,NULL,NULL,60,STATE_BUSY);
/ H2 W/ \! C+ B! @: Hinserttask(ts,TASKTYPE_TRAVEL,outobject(current,port),NULL);: P/ \! e/ E: x
inserttask(ts,TASKTYPE_FRUNLOAD,item,outobject(current,port),opipno(current,port));; V+ Y- W6 ?1 F9 R
: [( t9 a* w. a! ]. w
dispatchtasksequence(ts);( T, S. Y. F9 }7 j4 q

/ ^2 i$ V! B% ^  T: b8 _! l. a1 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
2#
慧娴亚伦 发表于 2014-5-30 10:07:18 | 只看该作者
单看代码是没有问题,但是需要结合具体的模型中的情况来看,您最好是能把报错截图上传。
3#
 楼主| 啊钟 发表于 2014-5-31 09:13:15 | 只看该作者
2# 慧娴亚伦 / d$ a% @0 Z7 u$ i
/ M" W) f4 G, ^$ {: a8 S+ K, \, y
9 l% r& p6 }/ g5 ~2 h& ]3 D- f
报错是这样的。其实我第一次输入代码的时候是可以运行的,但后来就一直不行了。

本帖子中包含更多资源

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

x
4#
 楼主| 啊钟 发表于 2014-5-31 09:13:33 | 只看该作者
本帖最后由 啊钟 于 2014-5-31 09:18 编辑
, x9 r$ Y/ p0 U/ E' {  q
+ ^/ ~6 b4 u! ~6 _8 S 3# 啊钟 就是这个
9 O. f% P9 d9 @5 _! h: }
$ r4 h, u# s3 [- e+ ]4 u- w由于模型要到实验室才可以修改,我自己的软件item有限所以上传不了加入了任务序列的模型,我的任务序列是添加给每一个source后的queue,下面是没有添加任务序列的模型。我的模型还有一个问题,就是货物会不断地堆积在queue中,而不会被sink吸收,这是为什么呢?求解,谢谢!!

本帖子中包含更多资源

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

x
5#
 楼主| 啊钟 发表于 2014-5-31 16:19:59 | 只看该作者
2# 慧娴亚伦 - E5 E' H/ x2 W$ Z/ B

. Q) d7 A  a8 c! t5 z2 B8 L- {9 }) n: {3 b
我仔细看了一下发现代码的顺序有点问题,改了一下,发现可以运行了. H  k5 g- k% R- U

, ]5 p( e' M' k( h6 F+ y4 A. {# vtreenode item = parnode(1);, {4 s8 `0 M7 w' V' K
treenode current = ownerobject(c);
) s/ `$ \5 U0 k( bint port = parval(2);" L* A; P, q9 `2 h! b) l
! W8 d1 ^' n: P: g+ P
treenode ts = createemptytasksequence(centerobject(current,1),0,0);       //创建空任务序列2 v6 f4 P  `0 d4 @' E! h
inserttask(ts,TASKTYPE_TRAVEL,current,NULL);                                   //走到本序列2 h+ W2 E+ C8 k. N8 F/ U. t
inserttask(ts,TASKTYPE_DELAY,NULL,NULL,60,STATE_BUSY);                       //延时60秒) s7 o  t% Y+ g  R1 Y
inserttask(ts,TASKTYPE_FRLOAD,item,current,port);                             //装载实体
4 {( j# i! U$ L$ f3 ?% l4 H% W: rinserttask(ts,TASKTYPE_TRAVEL,outobject(current,port),NULL);                //走到下一序列
7 Q7 d& P( v( D) b4 i& ?- @8 J: C' ninserttask(ts,TASKTYPE_DELAY,NULL,NULL,60,STATE_BUSY);                       //延时60秒
* K% c( g1 ~* G* c- r6 `inserttask(ts,TASKTYPE_FRUNLOAD,item,outobject(current,port),opipno(current,port));7 V$ ~$ U6 A3 k
//卸载实体
/ `+ O+ P$ [+ {! ], ?0 E. E+ ^/ N, m8 T( w- \  k2 V6 y, K
dispatchtasksequence(ts);                                                          //分配任务序列
; x3 u0 u1 u) M9 t/ o  J
( w9 I, h* {. t5 h" g" Ereturn 0;                                                                           // 返回0表示本对象创建自己的任务序列,而不是使用默认的自动创建的任务序列, _$ B3 f7 v+ Y% k6 M
! z$ b4 s) k: ?" E& W( b5 b  R6 B
# v  L1 k: K$ C  \3 W! [
这样是可以的吗?谢谢您!
6#
guozhongyun 发表于 2014-8-21 19:42:24 | 只看该作者
学习学习!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-29 21:06 , Processed in 0.075882 second(s), 14 queries .

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

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