全球FlexSim系统仿真中文论坛

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

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

[复制链接]
跳转到指定楼层
1#
17080134968 发表于 2019-10-22 00:53:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 17080134968 于 2019-10-22 00:55 编辑
; ?* w) Z5 v3 O) e$ l' p1 Y) t2 H% E! s5 Z# K
穿梭车模型,代码还有些问题,有懂的可以给支支招啊!  
6 O* b3 N9 U3 Y0 Z3 _& t( p1、小车运动轨迹问题,小车与提升机协作的时候,实体怎么引用以获取坐标?
) [0 u2 f' @. n' ^* ]2、小车[size=14.3999996185303px]调度问题     X% I& I4 J* f9 }
[size=14.3999996185303px]% y6 ?: g( y" s% B6 D

5 r6 v2 M8 Z- A( z3 a9 H8 S+ ~/ Q& U% o[size=14.3999996185303px]********************************************# t, G( X6 s9 o' c  j, l
/**Custom Code*/2 [# j1 D0 j. r+ Z2 H! c: o
Object current = param(1);& N3 Z: ?$ f* T* C3 j! U5 C
Object item = param(2);
( d3 R$ W, ?& ?9 Y6 kint port = param(3);
  ~% L- h" V( {& u/ w. s7 a1 xtreenode destination = param(4);
4 [+ A7 j- w5 C$ adouble priority = param(5);4 y  {0 ?5 s  J5 B* q6 N& T$ l
int preempt = param(6);
& I! W7 {. a: C, h' B
! v% J$ [- W. Y$ ttreenode dispatcher = current.centerObjects[1];  
6 y$ @. z* l# }& r& otreenode lift=Model.find("Elevator1");
) }/ I/ q' ]: s# ]
+ j" L  x1 R; L( \/ i5 @
# q  j! k6 G5 V  vtreenode ts = createcoordinatedtasksequence(dispatcher);  & y9 g' D: w2 B% [, v
int opkey = insertallocatetask(ts, dispatcher, 0, 0);
6 L- E3 G+ B9 @int liftkey = insertallocatetask(ts, lift, 0, 0);  
) D5 f/ s2 S( ^. y* d6 o& I) `4 V" C, m- J
int oploc=insertproxytask(ts,opkey,TASKTYPE_TRAVEL,liftkey,NULL );//3* G5 ~( K6 R  ~. B; c% W
int liftloc=insertproxytask(ts,liftkey,TASKTYPE_TRAVEL,opkey,NULL );//3
; B& U7 O( Q. s) ^4 K3 t+ Iinsertsynctask(ts,liftloc);//6
. n- H3 v/ b5 D1 }6 }insertsynctask(ts,oploc);//5" L7 Z- Z) Q* S8 H/ |$ ?4 C
( F6 P, y1 n) f0 E. z
5 j+ f5 a* y% ]

. O6 e8 N/ W3 S9 v( Aint opload=insertproxytask(ts,liftkey,TASKTYPE_LOAD,opkey,liftkey);// 7
! A* W/ W1 L( y+ U. V$ f0 Linsertsynctask(ts,opload);//8" E7 T% @# H4 U5 \, k
int moveupdes1=insertproxytask(ts,liftkey,TASKTYPE_TRAVELTOLOC,NULL,NULL,xloc(lift),yloc(lift),vectorprojectz(up(item),xloc(item),yloc(item),zloc(item),model())); 2 n. N1 K9 o2 D) X
insertsynctask(ts,moveupdes1);//112 @' M7 S: f; ^3 }+ U

# D* |  b8 o! k% W9 A0 U
( X+ S+ l# [% ]8 t* i' bint loadupdes1=insertproxytask(ts,opkey,TASKTYPE_FRLOAD,item,NULL);//18
+ F* f3 r. G) j9 ?4 j; @1 i2 }insertsynctask(ts,loadupdes1);//11' v" c) v( l$ Q6 [- x# R1 m8 w7 [
1 G% r3 Y! z, ^3 P
int moveupdes2=insertproxytask(ts,liftkey,TASKTYPE_TRAVELTOLOC,NULL,NULL,xloc(lift),yloc(lift),item.level-1);
0 H7 U; P4 J! ~8 k) Z* m5 Einsertsynctask(ts,moveupdes2);
! q( b* G  A8 c& c" x  x- \. f$ g+ Q8 O) Z" [5 m

" S! P4 U& p; {int opmoveout=insertproxytask(ts,liftkey,TASKTYPE_MOVEOBJECT,opkey,model()); //13
0 V# g9 `' I/ I1 n/ y3 P* [insertsynctask(ts,opmoveout);
3 ]' Q9 k  m3 ~! O2 j' Einsertdeallocatetask(ts,liftkey);
/ M/ [2 L7 C$ ~! M1 v4 s2 Ninsertproxytask(ts,opkey,TASKTYPE_SENDMESSAGE,opkey,item,1,0,0); . g, j9 ~; ?6 W( U5 j$ R1 z

3 M6 P% \- s, Q) _3 I& O. D7 B6 t2 _/ P2 o0 R4 T  Z

* }* `+ S9 l+ c- L7 y6 @( E, jinsertproxytask(ts,opkey,TASKTYPE_TRAVELTOLOC,NULL,NULL,-0.31+0.6*(item.bay)+1.25,0.72,item.level-1);4 x) @. h: N2 I
insertproxytask(ts,opkey,TASKTYPE_UNLOAD,item,destination);//20
! d$ H' z. z, x+ M; l* |; u# T: r# w0 B# s5 w) z5 l; W# ]

( Z2 j/ X4 s1 @  _% u! i8 }4 f5 a: k4 S
insertdeallocatetask(ts,opkey);
. [9 ^* ^$ P; P" X, v" B9 [! q% g
dispatchcoordinatedtasksequence(ts);  . v. Y% h* T) R

" o% c' n, w1 N& o0 |. n: ^# i( i3 }  w+ A

+ l  z& \/ ?% N/ oreturn 0;  
, @: `" g* @! Q5 r3 g& {% v: R8 L/ L5 v  V& x

, G" \) M2 m# d( t& q! C- F; \

本帖子中包含更多资源

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

x

评分

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

查看全部评分

2#
沈瑞祥 发表于 2019-10-24 18:22:30 | 只看该作者
我之前做使用的是PF做的,代码做的还是更好封装,就是容易逻辑不清楚,目前来看你的模型穿梭车还有一些问题,一般是坐标出现问题。我晚点帮你再看看
3#
 楼主| 17080134968 发表于 2019-11-4 17:01:47 | 只看该作者
沈瑞祥 发表于 2019-10-24 18:226 A3 N3 x9 W/ _
我之前做使用的是PF做的,代码做的还是更好封装,就是容易逻辑不清楚,目前来看你的模型穿梭车还有一些问题 ...
9 b% V. d- @9 s! N) A
用PF我大概知道怎么搞 了,但是不用PF怎么搞,版主帮我想想招!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-5-9 05:25 , Processed in 0.068558 second(s), 16 queries .

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

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