全球FlexSim系统仿真中文论坛

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

任务序列代码

[复制链接]
跳转到指定楼层
1#
啊钟 发表于 2014-5-29 14:53:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 啊钟 于 2014-5-29 21:31 编辑
1 j; X( ?2 _2 X8 T! W
1 |  W: F" _1 [; a! W$ F这是我想用的任务序列,可是不知道为什么设置完了以后会显示程序出错,请问我是错在哪里呢?6 M7 D% ^& R. T( w* \

% r. r$ \  Z. B" S7 atreenode item = parnode(1);
! X/ ^, c, [, X& O' Ztreenode current = ownerobject(c);
; b5 c: g$ w' B* N6 x  hint port = parval(2);
( H  T# x  n& r) j# T2 u6 }( Z' }1 t( ^7 P, [; C
treenode ts = createemptytasksequence(centerobject(current,1),0,0);
" ]  E- P2 S- v9 X0 s4 G
2 K) I4 y7 n) ]( v3 N: winserttask(ts,TASKTYPE_TRAVEL,current,NULL);
& C% s, {- A" m! y3 m5 \# Dinserttask(ts,TASKTYPE_FRLOAD,item,current,port);
6 e8 I  N8 \# {inserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);/ a$ U$ T8 T) a& M/ z
inserttask(ts,TASKTYPE_DELAY,NULL,NULL,60,STATE_BUSY);2 e1 r* w+ {1 ]
inserttask(ts,TASKTYPE_TRAVEL,outobject(current,port),NULL);
" k8 {- l- G. ]- M+ L8 {inserttask(ts,TASKTYPE_FRUNLOAD,item,outobject(current,port),opipno(current,port));
. N. w, C1 Q5 i( x# p& A4 w: w# e; x2 R7 B. a8 P/ T1 N) o; P& K; I
dispatchtasksequence(ts);/ r! N% V8 v4 H& y; E" ^

7 ^3 L  w# g' lreturn 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# 慧娴亚伦 ( z% ~, b) W( g6 J4 R

3 T9 P) t6 w- P. O  q& x2 [
0 w$ j$ c. m6 I. W2 f- `报错是这样的。其实我第一次输入代码的时候是可以运行的,但后来就一直不行了。

本帖子中包含更多资源

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

x
4#
 楼主| 啊钟 发表于 2014-5-31 09:13:33 | 只看该作者
本帖最后由 啊钟 于 2014-5-31 09:18 编辑 2 W8 ]! X5 K# w. w
7 ^) e5 Y% J. ~2 E  i
3# 啊钟 就是这个2 N4 l! f0 E* d5 h
* @  j0 W* S9 T/ i3 Z" ~2 e& m5 d
由于模型要到实验室才可以修改,我自己的软件item有限所以上传不了加入了任务序列的模型,我的任务序列是添加给每一个source后的queue,下面是没有添加任务序列的模型。我的模型还有一个问题,就是货物会不断地堆积在queue中,而不会被sink吸收,这是为什么呢?求解,谢谢!!

本帖子中包含更多资源

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

x
5#
 楼主| 啊钟 发表于 2014-5-31 16:19:59 | 只看该作者
2# 慧娴亚伦 ( D% n3 s. @, l; o0 i

! A8 m9 ~0 M! @; R2 J' [8 [8 b$ q0 t# m. \
我仔细看了一下发现代码的顺序有点问题,改了一下,发现可以运行了* W# N' H( U6 P5 e8 c

$ d' v' i6 q" U8 t% [" b/ Mtreenode item = parnode(1);2 k1 y; S. _: E
treenode current = ownerobject(c);
7 \! c+ [# _  S' oint port = parval(2);
1 l, M/ `/ y3 x
: k: p# O: S$ p) j  Ltreenode ts = createemptytasksequence(centerobject(current,1),0,0);       //创建空任务序列/ ]! [& k0 X9 l" E: `
inserttask(ts,TASKTYPE_TRAVEL,current,NULL);                                   //走到本序列& w' R- @; K8 C' x: ~4 v, H0 i. `
inserttask(ts,TASKTYPE_DELAY,NULL,NULL,60,STATE_BUSY);                       //延时60秒9 b; l! s: c1 H* k4 @+ q
inserttask(ts,TASKTYPE_FRLOAD,item,current,port);                             //装载实体
3 L; o* {- C5 i5 Y6 Minserttask(ts,TASKTYPE_TRAVEL,outobject(current,port),NULL);                //走到下一序列
0 \) H; o/ F. W8 W7 v9 G! X+ t0 binserttask(ts,TASKTYPE_DELAY,NULL,NULL,60,STATE_BUSY);                       //延时60秒6 t+ l" U7 u: ]
inserttask(ts,TASKTYPE_FRUNLOAD,item,outobject(current,port),opipno(current,port));( m3 P; ~  B4 _1 [' a: d/ w
//卸载实体" Q1 K! C% g* y5 ^0 m9 ~+ p

  Y4 n2 |1 q% [5 w5 |dispatchtasksequence(ts);                                                          //分配任务序列
9 j( y" D9 T9 l' Y. }9 m, z! M; o% H0 Y7 D
return 0;                                                                           // 返回0表示本对象创建自己的任务序列,而不是使用默认的自动创建的任务序列
' Q6 N7 |6 ]  \3 p: K, e; s" |$ F
  Q7 a- `6 y2 H! y0 e4 @, W0 E: {+ y: P
这样是可以的吗?谢谢您!
6#
guozhongyun 发表于 2014-8-21 19:42:24 | 只看该作者
学习学习!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-10-23 19:16 , Processed in 0.075112 second(s), 14 queries .

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

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