全球FlexSim系统仿真中文论坛

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

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

[复制链接]
跳转到指定楼层
1#
17080134968 发表于 2019-10-22 00:53:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 17080134968 于 2019-10-22 00:55 编辑
* R& ^3 t  `# W, Z+ U1 W  z( b5 r- ^" V! H, _4 ^  u$ ~: `1 y
穿梭车模型,代码还有些问题,有懂的可以给支支招啊!  
* ]; e$ ]1 B1 w3 ]1、小车运动轨迹问题,小车与提升机协作的时候,实体怎么引用以获取坐标?! `" q9 c$ K/ o6 G3 u' r# Y8 [
2、小车[size=14.3999996185303px]调度问题   6 C" Y( P4 A  @" u% F. W( c: d/ a
[size=14.3999996185303px]4 {! i# E, Z; \5 j- ?1 J
9 M$ O1 h; `% L7 K
[size=14.3999996185303px]********************************************
# _& G$ Z  q2 a$ f# g, J/**Custom Code*/  ^+ t! z6 F+ a" a7 c
Object current = param(1);
" m- c5 A8 q2 k5 J. M/ A' bObject item = param(2);! t  S3 B* e2 L* \  |7 R
int port = param(3);9 n+ ^  `; ]0 g$ H0 n
treenode destination = param(4);
6 Y* B: j, N  l8 \double priority = param(5);
% o2 M  S( o8 ?, Iint preempt = param(6);6 a4 W3 E) C4 b1 a0 H  A
4 q" c  x+ u- i/ ?
treenode dispatcher = current.centerObjects[1];  $ q2 Q. g, w7 }7 G8 P: o- ^5 C
treenode lift=Model.find("Elevator1"); & p* ~; d  ?  D% a
+ S+ R3 ]' J0 L4 |
% r7 t, {0 r- V2 o7 r5 O) O
treenode ts = createcoordinatedtasksequence(dispatcher);  # }6 m7 D) y- o- q5 v" j8 y- p
int opkey = insertallocatetask(ts, dispatcher, 0, 0); 9 k% `! c3 h, O3 T0 ?
int liftkey = insertallocatetask(ts, lift, 0, 0);  4 D$ F) t  y+ ~+ ~7 g

) W: t1 T( y! f, [: L( z7 U( V6 _- Vint oploc=insertproxytask(ts,opkey,TASKTYPE_TRAVEL,liftkey,NULL );//3) P) v" q; |8 W7 P
int liftloc=insertproxytask(ts,liftkey,TASKTYPE_TRAVEL,opkey,NULL );//3
9 R( I! y4 ]. ~7 D3 ?insertsynctask(ts,liftloc);//6& b. }. I' H$ P
insertsynctask(ts,oploc);//5
1 ?3 V4 G/ @6 s  i/ z' z3 I& A- v  i3 y: j& c0 e! w/ O2 y. N' g

: g, y3 M& o9 @4 Z  F- W- R  d0 ]. C- L! S' |0 r% I
int opload=insertproxytask(ts,liftkey,TASKTYPE_LOAD,opkey,liftkey);// 7
# j) E: a/ H. p& @& m; t! pinsertsynctask(ts,opload);//8
, ]# P7 p1 \; d8 I  v: [$ `7 Xint moveupdes1=insertproxytask(ts,liftkey,TASKTYPE_TRAVELTOLOC,NULL,NULL,xloc(lift),yloc(lift),vectorprojectz(up(item),xloc(item),yloc(item),zloc(item),model()));
0 M. a' ?- e$ j/ Tinsertsynctask(ts,moveupdes1);//111 ]  X" H. M7 j
, u0 U" i2 i0 w  |2 e
  e" v+ ]+ g' u, w
int loadupdes1=insertproxytask(ts,opkey,TASKTYPE_FRLOAD,item,NULL);//18
+ ?5 H+ d  o4 ]& Qinsertsynctask(ts,loadupdes1);//11; K0 \/ r# v/ U* J: U) D

( C  n* s  u) hint moveupdes2=insertproxytask(ts,liftkey,TASKTYPE_TRAVELTOLOC,NULL,NULL,xloc(lift),yloc(lift),item.level-1);
2 D# l2 N4 T, |5 s* M4 Winsertsynctask(ts,moveupdes2);
7 O& K8 p4 o8 S2 _( V0 P9 ~- q4 B6 y9 a; ~& f: W! B

0 {* M! H. z& R+ A6 j# n# @( oint opmoveout=insertproxytask(ts,liftkey,TASKTYPE_MOVEOBJECT,opkey,model()); //13
2 V, h5 g" ?' S4 n5 Binsertsynctask(ts,opmoveout); * \9 x! U$ |0 f5 B" F& m: }
insertdeallocatetask(ts,liftkey); ) w" f( R, E6 l% B9 D- ]
insertproxytask(ts,opkey,TASKTYPE_SENDMESSAGE,opkey,item,1,0,0); 9 Z5 Q' d% O8 J: B: X% y

" d3 J) i& g) f0 v) b4 h+ a9 J1 n0 ]* a/ @+ v0 R; |7 l

4 C# J5 L. @3 v& T; F/ zinsertproxytask(ts,opkey,TASKTYPE_TRAVELTOLOC,NULL,NULL,-0.31+0.6*(item.bay)+1.25,0.72,item.level-1);
1 `3 ^& Q) k- c5 O3 }% l- Q/ U& vinsertproxytask(ts,opkey,TASKTYPE_UNLOAD,item,destination);//20
6 K3 H: t4 s  P( ?+ {5 }
" _3 K, J. Q) ?4 Z2 H
- w) s  P$ l3 |9 E9 s% A4 T9 Y
insertdeallocatetask(ts,opkey);
" ^* D  d% ?4 J$ F5 A5 U1 B; {
7 w" u9 @9 Z0 Q6 q% pdispatchcoordinatedtasksequence(ts);  
( i7 }* z# g9 m8 N3 O* n$ X# Q
, c# n7 T9 G. U. f+ {: e! p3 b; Z1 R6 V# b
  h% q- p' C! N
return 0;  . ]! `, O8 }: D3 ~1 c* X
2 W( W" Z. W' ^: N0 F) h! Z' f
/ C7 l: Y8 Z+ I; Y; C, K

  F0 V$ A1 |: o4 o' |

本帖子中包含更多资源

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

x

评分

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

查看全部评分

2#
沈瑞祥 发表于 2019-10-24 18:22:30 | 只看该作者
我之前做使用的是PF做的,代码做的还是更好封装,就是容易逻辑不清楚,目前来看你的模型穿梭车还有一些问题,一般是坐标出现问题。我晚点帮你再看看
3#
 楼主| 17080134968 发表于 2019-11-4 17:01:47 | 只看该作者
沈瑞祥 发表于 2019-10-24 18:222 w% C3 z. F, j- c& v
我之前做使用的是PF做的,代码做的还是更好封装,就是容易逻辑不清楚,目前来看你的模型穿梭车还有一些问题 ...

3 N6 y, S% d6 I4 ]& C  {8 f用PF我大概知道怎么搞 了,但是不用PF怎么搞,版主帮我想想招!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-8-31 16:32 , Processed in 0.074590 second(s), 15 queries .

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

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