全球FlexSim系统仿真中文论坛

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

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

[复制链接]
跳转到指定楼层
1#
17080134968 发表于 2019-10-22 00:53:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 17080134968 于 2019-10-22 00:55 编辑 * {! _# ~& V8 U2 i. t" ^( r0 }

( v& ^; P# E( l0 }0 d5 h6 T穿梭车模型,代码还有些问题,有懂的可以给支支招啊!  ! @: O$ y! {0 S9 I. q* V
1、小车运动轨迹问题,小车与提升机协作的时候,实体怎么引用以获取坐标?- A$ G& P+ T! i8 E' N  ~
2、小车[size=14.3999996185303px]调度问题   1 {2 w9 ?; Z  y
[size=14.3999996185303px]
1 A* T/ C: v$ \2 s0 Y
9 x1 m6 S! s  E0 i5 Y( Z[size=14.3999996185303px]********************************************
0 l: C9 j$ z) A/**Custom Code*/* P0 T; @4 o. L
Object current = param(1);' Y& g/ `0 r9 w$ y, p, b$ q
Object item = param(2);8 _! `) K  ^7 v% g1 p. L
int port = param(3);2 t5 E0 s; k# J$ b
treenode destination = param(4);+ Z9 O- k# h1 ~
double priority = param(5);
" d3 d: f% f, dint preempt = param(6);
% M& [+ A* ]' G0 v8 {, O6 ^
- x! y, M5 e6 B7 a, n6 o! ttreenode dispatcher = current.centerObjects[1];  7 j& z/ Q: d& x7 r2 ?; k1 X# o
treenode lift=Model.find("Elevator1"); # E$ Z' _1 x  X1 p% ~. T- I. Z

+ d& u2 o4 r1 M+ ^+ P  {2 ~% r) ^5 E  r$ d: _
treenode ts = createcoordinatedtasksequence(dispatcher);  
+ {: l: L: L2 z/ V& F+ k3 dint opkey = insertallocatetask(ts, dispatcher, 0, 0);
% Q; d0 y4 q6 A1 \int liftkey = insertallocatetask(ts, lift, 0, 0);  & S  q9 @6 I5 l9 y1 ~
( x. e2 O4 C  k7 W- k( }
int oploc=insertproxytask(ts,opkey,TASKTYPE_TRAVEL,liftkey,NULL );//3, J( ]% I: o( T
int liftloc=insertproxytask(ts,liftkey,TASKTYPE_TRAVEL,opkey,NULL );//3
4 ~5 b5 T( `4 H. a6 A3 qinsertsynctask(ts,liftloc);//6, S- ]) z. e8 i9 l( s( `* w+ |
insertsynctask(ts,oploc);//5: m- W- T! y" f; ]
5 n' L  F9 m; t6 K- z0 z, {

9 d2 H" `* Z. i3 [( x) |
1 W+ V/ t# w8 h9 dint opload=insertproxytask(ts,liftkey,TASKTYPE_LOAD,opkey,liftkey);// 7! T/ {$ b2 v# R  m
insertsynctask(ts,opload);//87 R4 W1 ^- b- K' D
int moveupdes1=insertproxytask(ts,liftkey,TASKTYPE_TRAVELTOLOC,NULL,NULL,xloc(lift),yloc(lift),vectorprojectz(up(item),xloc(item),yloc(item),zloc(item),model()));
! \+ t: E; Z' S0 V+ E, s  jinsertsynctask(ts,moveupdes1);//112 h$ K6 j- `9 x6 _
$ k: ^, Z4 `  j; P; i9 B0 V" n

4 X9 o/ b6 E7 v0 T% `, Hint loadupdes1=insertproxytask(ts,opkey,TASKTYPE_FRLOAD,item,NULL);//186 j: B: R. h0 f1 y2 `! U
insertsynctask(ts,loadupdes1);//11( F+ s8 Y2 A2 j" d

0 B( U7 r) m+ m% [' ~int moveupdes2=insertproxytask(ts,liftkey,TASKTYPE_TRAVELTOLOC,NULL,NULL,xloc(lift),yloc(lift),item.level-1);
- W* k7 ~1 E3 h9 K* N8 tinsertsynctask(ts,moveupdes2); 1 I( r( [8 C$ M: m

2 ?8 v( a! I; V. N) c8 k
  k+ A# _% t5 V5 T* sint opmoveout=insertproxytask(ts,liftkey,TASKTYPE_MOVEOBJECT,opkey,model()); //13
9 V" s3 u3 f) o) @& Rinsertsynctask(ts,opmoveout);
+ O% g6 V5 K" j7 ]: k5 g+ y/ Ninsertdeallocatetask(ts,liftkey);
% U  i' W4 h/ Minsertproxytask(ts,opkey,TASKTYPE_SENDMESSAGE,opkey,item,1,0,0);
5 j! M; e! ^! C* d; H: I. H- f+ @: K0 g
8 x, ~2 E3 [, x2 Y8 @0 f: O& u
1 f) y: W% A0 K4 k$ L: I
insertproxytask(ts,opkey,TASKTYPE_TRAVELTOLOC,NULL,NULL,-0.31+0.6*(item.bay)+1.25,0.72,item.level-1);3 w5 I9 w3 Q- e$ h( i
insertproxytask(ts,opkey,TASKTYPE_UNLOAD,item,destination);//206 L' T# R1 a5 y+ D, v$ h6 R
! F  u# {+ \, _6 V" q

8 [) L9 r" E* I. J2 s, }: j+ _* Y- P! L) z, q0 c5 R
insertdeallocatetask(ts,opkey); 2 U9 ~0 d- H1 ?) M

6 Y$ K2 T0 N  m: h2 w  Adispatchcoordinatedtasksequence(ts);  
" E/ B5 ?# d- U9 g4 c
* n9 U+ u" q# S# w* a& B2 p" @8 r1 C" R/ U
0 Y: M' Q5 c/ v
return 0;  ( d, O1 t9 ^- t4 }4 x, c, ^
1 G5 l# x+ e- Q
) t  `6 I: P" a, h1 \* m0 W5 j4 X& J
! V# V7 l* `7 ]0 @) y: Q/ 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:22/ @( R6 `2 }( h% c- a
我之前做使用的是PF做的,代码做的还是更好封装,就是容易逻辑不清楚,目前来看你的模型穿梭车还有一些问题 ...

1 e2 a; U' g& Z( U( f1 `. I用PF我大概知道怎么搞 了,但是不用PF怎么搞,版主帮我想想招!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-29 01:08 , Processed in 0.082566 second(s), 15 queries .

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

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