|
本帖最后由 qiush1234 于 2011-9-20 16:14 编辑
% I* J7 G3 u& y+ {9 v& A: J! J( C; E5 O4 `! p$ `$ t( ~: B
如题:最近在做一个课题时。遇到一些问题。" |( |* t* s3 `' y/ b1 @
行车将工件吊运到在等待中的运输车,运输车将工件送达处理区域。
+ F8 R5 h- t3 |4 c5 `此时运输车不能离开处理区域。3 b8 o& q( b- b4 z, d
由顶升装置将运输车连同工件一起上升至处理位。& s% _! x$ W! C( M: k. t
等处理完成后,运输车再次运送工件到卸载位。$ M/ j. |9 I5 H' _- s
仍然由行车将工件吊运到储存区。. [1 u2 N0 S0 I8 W8 ]
问题1:
( U+ ]! |2 I2 A$ j下面是一段顶升装置上升下降的代码:
, N# }$ B! m/ i0 I" [if (msgparam(1)==1)
9 I( a9 H; _& C! p ?5 G{
0 _3 C6 Z5 N% h4 n" m/ P, x Einitkinematics(ki,sup);1 D' y% @7 u0 j" U3 L) ]+ ] Q F$ T
double time1=addkinematic(ki,0,0,fl,1,0,0,0,0,time(),KINEMATIC_TRAVEL);: x8 Y9 \3 V$ ]% z2 r0 A& y* V
senddelayedmessage(zzc,time1-time(),current,1,0,0);
6 X9 j5 a4 }7 m; ?% m4 d, Hdouble tiup=time1-time();
?6 `/ u L: ]/ I1 e1 C}
( _& c3 K8 I9 J7 X* k" b; Velse if(msgparam(1)==2)
" K# w$ K, M3 J{0 ~$ \/ w9 j; b0 z
initkinematics(ki,sup);
$ q: l( Y$ h2 _. s3 `4 R) ^double time1=addkinematic(ki,0,0,-fl,1,0,0,0,0,time(),KINEMATIC_TRAVEL);
) b& d2 k1 O4 ^, ~double tidown=time1-time();
" Z$ k! l2 e1 {$ p6 E _}- P2 t+ A. V5 j/ r# G2 X
如何计算下降完成时间点-上升起始点的时间段?8 ^# Q3 i8 E( _0 V8 M! p
我现在是将这两个数值输入到标签中来进行计算。应该可以直接在代码中将它们提取出来吧。' T! w% U/ D) B5 Q) s1 V" Q
问题2:仿真速度对比中,按500~1000倍的速度模拟没有出现问题,上升下降后Z轴回到0点。
6 K1 b( X+ U$ r0 o7 e: Y 当仿真速度调到1000倍以上时,动作出现错误,一直上升或是下降,不回到起始位置?1 @5 b/ S& ^ B6 F' s6 o( i2 l3 K
问题3:如何在临时物体不进入处理器的情况下触发处理器的处理行为? |
|