全球FlexSim系统仿真中文论坛

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

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

[复制链接]
跳转到指定楼层
1#
17080134968 发表于 2019-10-22 00:53:09 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 17080134968 于 2019-10-22 00:55 编辑
1 }3 L3 x1 |( F) C* E& e7 i; r7 q9 z' V& o. \
穿梭车模型,代码还有些问题,有懂的可以给支支招啊!  
; P6 B; G( o0 P1、小车运动轨迹问题,小车与提升机协作的时候,实体怎么引用以获取坐标?
& y/ d3 F2 e. c2、小车[size=14.3999996185303px]调度问题   
- W; Q/ e- C" T- {[size=14.3999996185303px]  G: X: @- t  l; F8 [: H% y

0 `0 @) r) H, M1 Y, R[size=14.3999996185303px]********************************************
- D! G: G. I2 p' r/**Custom Code*/1 q1 H! L1 h+ e" i
Object current = param(1);3 J' j: T7 l- K0 B+ J, c) V
Object item = param(2);- `( _: h1 x/ ?
int port = param(3);
! l* b" g" ^! X, W0 X) dtreenode destination = param(4);
7 o5 E+ T- f5 w. C% M* B- qdouble priority = param(5);7 F- p' o: d- o) b6 b$ Z6 J
int preempt = param(6);8 h! ]0 ^! R8 Q
' s2 g9 |4 |- z7 q8 ~
treenode dispatcher = current.centerObjects[1];  
+ d" }* F6 X3 W9 q3 L3 Btreenode lift=Model.find("Elevator1");
" q: C$ _! e, I5 w4 ]! N8 {0 @
, O6 v2 g# p' Q" ]1 @" a- j: r- C# X4 u, L$ S. w( r. I7 [( ?
treenode ts = createcoordinatedtasksequence(dispatcher);  1 P. q% [* d  Q5 X
int opkey = insertallocatetask(ts, dispatcher, 0, 0);
( A% L- b' ]+ sint liftkey = insertallocatetask(ts, lift, 0, 0);  . P, \, _6 S# j
% U+ k: @  X2 p% k: a% ~: Q
int oploc=insertproxytask(ts,opkey,TASKTYPE_TRAVEL,liftkey,NULL );//3
6 c4 K( R/ C2 ?/ i& ?9 s% Tint liftloc=insertproxytask(ts,liftkey,TASKTYPE_TRAVEL,opkey,NULL );//3* g" |; a: w. n
insertsynctask(ts,liftloc);//6
/ Y+ A4 o* q7 V9 qinsertsynctask(ts,oploc);//5
6 f: T+ x; l6 v4 D0 ]; K  |0 l/ C# ]/ o( S) g  ~( d8 [7 T' N* E
) g/ L$ V7 r9 K$ d9 v1 j
( H: F# m% r& ~
int opload=insertproxytask(ts,liftkey,TASKTYPE_LOAD,opkey,liftkey);// 75 E4 F. Y+ E8 O
insertsynctask(ts,opload);//8
: N& ~9 r% G. B. d0 cint moveupdes1=insertproxytask(ts,liftkey,TASKTYPE_TRAVELTOLOC,NULL,NULL,xloc(lift),yloc(lift),vectorprojectz(up(item),xloc(item),yloc(item),zloc(item),model()));
% s# t3 Y) }0 v! |# }5 vinsertsynctask(ts,moveupdes1);//11
0 _9 P9 L  H8 t  l& Y
! T5 F2 F. w- o6 T. z
$ g  _, Y) E6 p1 }int loadupdes1=insertproxytask(ts,opkey,TASKTYPE_FRLOAD,item,NULL);//18- x# ?+ S/ r. {* \: u
insertsynctask(ts,loadupdes1);//114 X2 t/ D8 N6 |8 H
+ q# d5 \1 d- o9 Z* X% e0 m& @
int moveupdes2=insertproxytask(ts,liftkey,TASKTYPE_TRAVELTOLOC,NULL,NULL,xloc(lift),yloc(lift),item.level-1); $ Z9 ?$ j- m4 `/ Q7 T, x
insertsynctask(ts,moveupdes2);
7 ]# x; I2 i; V5 |8 B; _$ E) J0 @: S. Z1 X

* l( ?3 I9 ^( Z' |+ V0 Mint opmoveout=insertproxytask(ts,liftkey,TASKTYPE_MOVEOBJECT,opkey,model()); //13
! C7 S9 Z- m/ z" g* V1 H& Yinsertsynctask(ts,opmoveout); . `1 l7 f4 j* C
insertdeallocatetask(ts,liftkey); * r- R2 r4 E7 o* e
insertproxytask(ts,opkey,TASKTYPE_SENDMESSAGE,opkey,item,1,0,0);
( l0 @) t2 d! c2 V: q& ^2 Y
" `9 a2 b6 e0 z
6 E. l7 T) I1 y% O9 Q9 F; |2 C/ L- k7 x; V$ U
insertproxytask(ts,opkey,TASKTYPE_TRAVELTOLOC,NULL,NULL,-0.31+0.6*(item.bay)+1.25,0.72,item.level-1);  e1 x  M" o4 E9 G
insertproxytask(ts,opkey,TASKTYPE_UNLOAD,item,destination);//20
1 I& O! u4 z& [! l, Y& z& K8 X' S1 P1 O& ~) X8 M( s

8 Q/ N1 }0 u: |1 }7 [0 `
- ]' S' E3 Z5 rinsertdeallocatetask(ts,opkey); / i* w5 i" a) f, Z' j) x8 E

8 t- a/ i0 K: q: hdispatchcoordinatedtasksequence(ts);  
& j3 L2 E+ W) i+ H/ k, e9 w! F4 j' f; N

) ]7 Q; x" Q8 C& a2 i- Z
( I$ A5 B: S# U( @9 oreturn 0;  4 E) i. `1 r6 v# H: I5 e8 }+ [
/ G6 e  n6 ^- ^% }' Y

) r) ~' ?" V* f# {
# h7 w* k$ {& m  R5 _7 A3 F( O

本帖子中包含更多资源

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

x

评分

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

查看全部评分

3#
 楼主| 17080134968 发表于 2019-11-4 17:01:47 | 只看该作者
沈瑞祥 发表于 2019-10-24 18:22/ K6 N; H3 \% ]7 ^  L: u
我之前做使用的是PF做的,代码做的还是更好封装,就是容易逻辑不清楚,目前来看你的模型穿梭车还有一些问题 ...
9 H! X0 y% c8 u* R3 l
用PF我大概知道怎么搞 了,但是不用PF怎么搞,版主帮我想想招!
2#
沈瑞祥 发表于 2019-10-24 18:22:30 | 只看该作者
我之前做使用的是PF做的,代码做的还是更好封装,就是容易逻辑不清楚,目前来看你的模型穿梭车还有一些问题,一般是坐标出现问题。我晚点帮你再看看
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-10-26 18:18 , Processed in 0.075504 second(s), 16 queries .

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

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