全球FlexSim系统仿真中文论坛

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

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

[复制链接]
跳转到指定楼层
1#
17080134968 发表于 2019-10-22 00:53:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 17080134968 于 2019-10-22 00:55 编辑 8 p# f7 {4 Q) @2 K3 K1 A, n# G% U
" }) G, G* R" l. Y$ C
穿梭车模型,代码还有些问题,有懂的可以给支支招啊!  : v. {7 o; A' r; V0 @+ B
1、小车运动轨迹问题,小车与提升机协作的时候,实体怎么引用以获取坐标?
0 u6 p+ k: H7 ~9 V9 R2、小车[size=14.3999996185303px]调度问题   8 c8 V3 @+ U8 @* h6 l6 |
[size=14.3999996185303px]
2 \5 t% v* d! _; A# \, E) _* K
, ]7 E, O, C" y9 a) p[size=14.3999996185303px]********************************************
. a) t& i5 l8 k5 F6 l. ~/**Custom Code*/' R6 X0 H! M+ I& J5 k" e
Object current = param(1);
6 U. d3 U: @2 Z. S5 ^& r; ^Object item = param(2);
+ b5 @# E7 \7 ~* H( I4 N2 y. Qint port = param(3);! {" x$ u0 |" X
treenode destination = param(4);, _; e+ b& ~+ F/ X* E
double priority = param(5);; T3 K( b4 k. Q
int preempt = param(6);# k( i  i9 C9 |( |6 G1 Q; @5 T4 m

/ J  Y! C, d0 [( T9 dtreenode dispatcher = current.centerObjects[1];  8 @* I3 D* e$ }6 p/ }1 v, z
treenode lift=Model.find("Elevator1");
7 N3 G8 v, u" m/ F4 o
6 o  H. P( A5 P+ J7 m' U: v9 s& Z- Y; T$ J
treenode ts = createcoordinatedtasksequence(dispatcher);    f3 r% [* f' t, V4 Z
int opkey = insertallocatetask(ts, dispatcher, 0, 0); 6 S2 s+ B+ W/ y
int liftkey = insertallocatetask(ts, lift, 0, 0);  2 |7 k% r& e" G
' S2 C2 s, g9 h. g3 @, R3 t* M. m# v
int oploc=insertproxytask(ts,opkey,TASKTYPE_TRAVEL,liftkey,NULL );//3" N, A6 p3 E# ~1 B4 O  @/ h% b, G7 M' I
int liftloc=insertproxytask(ts,liftkey,TASKTYPE_TRAVEL,opkey,NULL );//36 E% a) Y* X/ r, p- `
insertsynctask(ts,liftloc);//6
  X) S  |  U. q+ q1 @/ Minsertsynctask(ts,oploc);//59 W- k% Q  w; N! N

* m7 o3 ~' E# f' M; ^2 @- {. N  l& d( t& K- V# ]0 |
! m1 \# n& p$ {' i
int opload=insertproxytask(ts,liftkey,TASKTYPE_LOAD,opkey,liftkey);// 7
" h, [+ ^: E. sinsertsynctask(ts,opload);//8
5 y7 B# R6 j4 |; L. ^( sint moveupdes1=insertproxytask(ts,liftkey,TASKTYPE_TRAVELTOLOC,NULL,NULL,xloc(lift),yloc(lift),vectorprojectz(up(item),xloc(item),yloc(item),zloc(item),model()));
( x9 r9 p: O5 J" D+ ginsertsynctask(ts,moveupdes1);//11
7 J7 Y' Z, a* _. {8 k) ]( P5 L# k$ C1 R! R( v0 c

3 A. T( N1 o: v2 wint loadupdes1=insertproxytask(ts,opkey,TASKTYPE_FRLOAD,item,NULL);//18* G0 R7 \2 o0 a; d
insertsynctask(ts,loadupdes1);//11% G- C* ]; u& C2 `

4 \, p# a% R1 lint moveupdes2=insertproxytask(ts,liftkey,TASKTYPE_TRAVELTOLOC,NULL,NULL,xloc(lift),yloc(lift),item.level-1);
3 p# d% }3 Q( w5 w. X" ^# X. H7 Q& ~! Zinsertsynctask(ts,moveupdes2);
% C  ]8 E9 z* w
$ z2 A+ a! U* Y7 p8 x8 P6 V  I( ^5 \" H0 w
int opmoveout=insertproxytask(ts,liftkey,TASKTYPE_MOVEOBJECT,opkey,model()); //13+ L+ N4 f2 o5 g
insertsynctask(ts,opmoveout);
* |( Z* c6 ~% ?7 Linsertdeallocatetask(ts,liftkey);
% n6 F! Y+ o* t- d( g0 vinsertproxytask(ts,opkey,TASKTYPE_SENDMESSAGE,opkey,item,1,0,0);
' f- }5 E: S& a: n# J3 C! A5 s& j# U, |1 o5 k2 j: ~

4 n# a' u! v7 X% a, I* U* B. P* y3 n# a9 }( w
insertproxytask(ts,opkey,TASKTYPE_TRAVELTOLOC,NULL,NULL,-0.31+0.6*(item.bay)+1.25,0.72,item.level-1);
- U: w: b% p0 o' Einsertproxytask(ts,opkey,TASKTYPE_UNLOAD,item,destination);//20
" L8 n( h: m/ v( P, v
0 @1 U( M) g+ n' X% ?# A
1 d' Q: j3 L; @# o2 Z3 _+ v8 \8 |/ j0 W6 s9 F6 y- t
insertdeallocatetask(ts,opkey); . _' x' c- \& k2 }! a; z( Z2 ^
6 Y8 w# T  L0 U! M# E0 `
dispatchcoordinatedtasksequence(ts);  
7 m& @/ h- m/ F; S8 f/ [2 ~
4 r* ^& w+ m" S) p. r& L! V3 L$ s& Z( j3 ~: v7 U+ \
9 `/ h  t! v( B3 l: t3 T
return 0;  / ~) k# t+ o" a6 F6 e

' y% g/ \2 y) a" j$ x- C; U* e8 @/ @. ^
0 j9 `9 S3 E1 s9 y# W$ {- j, g: ^- G$ M9 g

本帖子中包含更多资源

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

x

评分

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

查看全部评分

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

# m; A# S9 @2 r) \# S7 o用PF我大概知道怎么搞 了,但是不用PF怎么搞,版主帮我想想招!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-9-4 16:02 , Processed in 0.093409 second(s), 15 queries .

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

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