全球FlexSim系统仿真中文论坛

搜索
查看: 4768|回复: 2
打印 上一主题 下一主题

穿梭车模型代码问题,有点粗糙,逻辑还有些问题(V19)

[复制链接]
跳转到指定楼层
1#
17080134968 发表于 2019-10-22 00:53:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 17080134968 于 2019-10-22 00:55 编辑 * W% g( ]9 `7 l

, l: a# J: ~% a/ y! ?; k, }/ j穿梭车模型,代码还有些问题,有懂的可以给支支招啊!  
+ ^# T) i) k$ h/ {% K& i) E1、小车运动轨迹问题,小车与提升机协作的时候,实体怎么引用以获取坐标?
$ w8 J. {$ S9 g# s2、小车[size=14.3999996185303px]调度问题   
& H, v# ^. F. f5 [! D( i& ~[size=14.3999996185303px]& B/ h4 A( P4 s% D, W/ f
4 t) w( O( |0 d5 Z9 n
[size=14.3999996185303px]********************************************$ I1 [( M% X" R% G$ ~" S& q
/**Custom Code*/3 x- `9 R3 A1 P9 S% z: ?
Object current = param(1);
) [4 b% T/ ~) t( o. tObject item = param(2);
8 L0 D4 s" ?9 S/ E$ P, ^& Pint port = param(3);; C% J: C! D7 n7 k
treenode destination = param(4);
( s  ]% Q/ \9 _* b- h: r- hdouble priority = param(5);
, t' b/ q& Q8 f; kint preempt = param(6);
0 D8 H( g3 N. H% r8 P5 B; [1 `) Q1 c3 B$ O  p* I
treenode dispatcher = current.centerObjects[1];  
! s7 h  f: I* C( R5 atreenode lift=Model.find("Elevator1");
  F; W; q* r/ \+ \# O' E2 s
% P) ?6 Z0 b, w$ y
# M. Q  Z1 V# f- S4 }* ttreenode ts = createcoordinatedtasksequence(dispatcher);  3 O  r! ~& F1 e0 K9 g9 O) S
int opkey = insertallocatetask(ts, dispatcher, 0, 0); " M. S- T2 ?! {6 W
int liftkey = insertallocatetask(ts, lift, 0, 0);  
3 G$ ^; i! B2 W$ O4 `4 t  ^6 [) F  W! a/ @
int oploc=insertproxytask(ts,opkey,TASKTYPE_TRAVEL,liftkey,NULL );//31 S: ^! b  U- B  p
int liftloc=insertproxytask(ts,liftkey,TASKTYPE_TRAVEL,opkey,NULL );//3
, U: P; ]9 ~; \/ J8 {insertsynctask(ts,liftloc);//62 [) }, p# t) k
insertsynctask(ts,oploc);//5
% O1 [2 T& Y7 @# ]
, W6 I# o4 t* l& r4 L) e+ o% Q8 N# D" ^1 x6 s. V
  ?; Q5 A; t0 {' F
int opload=insertproxytask(ts,liftkey,TASKTYPE_LOAD,opkey,liftkey);// 7
5 [1 A( ?! I% `insertsynctask(ts,opload);//8
8 s% f# f9 Q! @int moveupdes1=insertproxytask(ts,liftkey,TASKTYPE_TRAVELTOLOC,NULL,NULL,xloc(lift),yloc(lift),vectorprojectz(up(item),xloc(item),yloc(item),zloc(item),model()));
8 n/ m: J& a, Linsertsynctask(ts,moveupdes1);//11- i/ R+ h; A4 g" V/ J: ^

+ m' S7 M, f. m2 c
  ?  @9 H2 v8 wint loadupdes1=insertproxytask(ts,opkey,TASKTYPE_FRLOAD,item,NULL);//18& Z6 F9 l+ d: `
insertsynctask(ts,loadupdes1);//115 c7 ^6 g5 q2 }6 h
+ D- P" o$ L; `
int moveupdes2=insertproxytask(ts,liftkey,TASKTYPE_TRAVELTOLOC,NULL,NULL,xloc(lift),yloc(lift),item.level-1);
, v( H- w- i- X: c! N9 D' dinsertsynctask(ts,moveupdes2); 3 F3 y$ c' r, a# P( E8 \+ N
4 R! r4 `) `9 D; m8 j1 C3 ^; E
+ w, N4 z# l& I5 `5 L7 f' {
int opmoveout=insertproxytask(ts,liftkey,TASKTYPE_MOVEOBJECT,opkey,model()); //13
- s- D( `# B8 R: Binsertsynctask(ts,opmoveout);   A4 w, `5 N0 x; r) b# n. P
insertdeallocatetask(ts,liftkey); + V9 l; V4 i' o8 b) X
insertproxytask(ts,opkey,TASKTYPE_SENDMESSAGE,opkey,item,1,0,0);
/ i! ^' V- F( N9 W% v9 f% g% X7 i: W$ S6 h9 P4 \4 U

- v, t- F& g; ~7 v
5 O* w. A: `' r& Zinsertproxytask(ts,opkey,TASKTYPE_TRAVELTOLOC,NULL,NULL,-0.31+0.6*(item.bay)+1.25,0.72,item.level-1);
) ]* M  y4 Q8 ~5 e2 Y  J9 c, jinsertproxytask(ts,opkey,TASKTYPE_UNLOAD,item,destination);//20
" q" ?$ C" f" t- u$ m% v. g( i! K5 ]0 G' `4 _% W
. B' d2 L/ v+ \0 v& M

7 @* \9 f! |, W* A+ _' o5 U, ninsertdeallocatetask(ts,opkey);
* I: ~. G+ {0 S" T7 n+ a& g  \
5 \* N/ |6 y3 Z/ `+ x4 O) Kdispatchcoordinatedtasksequence(ts);  ( j5 n1 ], t  w. a8 f: y  h# j  ?
6 Z; F9 h; s! A) e/ F; y
+ T5 b6 ]7 Q3 v

; k- g0 l. N6 @# kreturn 0;  2 T* \2 o' H0 r, ]
/ T  c7 u% @! h2 A
) E' C( E4 M) l7 \- E
+ ?. k: j, f( e, c

本帖子中包含更多资源

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

x

评分

参与人数 1威望 +10 收起 理由
沈瑞祥 + 10 赞一个!

查看全部评分

2#
沈瑞祥 发表于 2019-10-24 18:22:30 | 只看该作者
我之前做使用的是PF做的,代码做的还是更好封装,就是容易逻辑不清楚,目前来看你的模型穿梭车还有一些问题,一般是坐标出现问题。我晚点帮你再看看
3#
 楼主| 17080134968 发表于 2019-11-4 17:01:47 | 只看该作者
沈瑞祥 发表于 2019-10-24 18:22# U, L( y9 K5 W" @
我之前做使用的是PF做的,代码做的还是更好封装,就是容易逻辑不清楚,目前来看你的模型穿梭车还有一些问题 ...
- ?. \& ]. F: t6 [5 x2 m
用PF我大概知道怎么搞 了,但是不用PF怎么搞,版主帮我想想招!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-9-4 13:47 , Processed in 0.128434 second(s), 15 queries .

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

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