|
本帖最后由 qiush1234 于 2011-9-20 16:14 编辑 + Z* z, G [/ _. `
0 V, N) P1 b; o7 H+ ?+ ~如题:最近在做一个课题时。遇到一些问题。
+ Z" ^1 K- n( }- H, g! |+ ]行车将工件吊运到在等待中的运输车,运输车将工件送达处理区域。
" q% a$ `; ~6 ~) d$ y此时运输车不能离开处理区域。. i/ r% m \+ }% }" W% P
由顶升装置将运输车连同工件一起上升至处理位。
4 ~) M+ W6 n% G9 i/ `等处理完成后,运输车再次运送工件到卸载位。( b! a& v' K }; M5 J' u9 g _2 d- L2 U
仍然由行车将工件吊运到储存区。' |8 c; I- _# x7 V) w6 {- d( E' S- I
问题1:
C8 y& ?) l/ n7 E% P下面是一段顶升装置上升下降的代码:% _4 Q8 Z2 X4 m* u7 D
if (msgparam(1)==1)
6 f3 }- |1 a4 V( {8 N8 _{- \& V. h5 P/ F
initkinematics(ki,sup);+ F+ Y; \8 M; {
double time1=addkinematic(ki,0,0,fl,1,0,0,0,0,time(),KINEMATIC_TRAVEL);# O7 `% k" n+ \) Q7 ]+ C
senddelayedmessage(zzc,time1-time(),current,1,0,0);
2 f5 O* J, ^3 l j: J* ` ddouble tiup=time1-time();6 [3 Z8 ]1 {7 W2 \" v
}
. ]9 R. g# `7 P) yelse if(msgparam(1)==2) d* ?# X2 @$ }% k+ i: w* |
{& S2 O7 F& }+ `
initkinematics(ki,sup);
1 V" O; X6 }% [+ D: d& ?double time1=addkinematic(ki,0,0,-fl,1,0,0,0,0,time(),KINEMATIC_TRAVEL);; t8 e: a9 ~% |6 I2 |/ p: j! V" F" r
double tidown=time1-time();
$ I8 @( [5 z/ b' @4 f$ U* y}8 w$ g' p8 F- J
如何计算下降完成时间点-上升起始点的时间段?2 G) H; @4 @$ Y4 W# A! f/ G5 C
我现在是将这两个数值输入到标签中来进行计算。应该可以直接在代码中将它们提取出来吧。
$ Y1 F& F" W7 D( \9 A问题2:仿真速度对比中,按500~1000倍的速度模拟没有出现问题,上升下降后Z轴回到0点。
: n% C' Q; e6 w p9 i5 [# d/ i( S5 w 当仿真速度调到1000倍以上时,动作出现错误,一直上升或是下降,不回到起始位置?2 O2 E+ z+ P* b9 \$ J' G+ Y0 R
问题3:如何在临时物体不进入处理器的情况下触发处理器的处理行为? |
|