|
本帖最后由 qiush1234 于 2011-9-20 16:14 编辑 4 w' y$ z* e; a @$ L
! b; V% _6 o' u: B# z3 P* t; A8 d
如题:最近在做一个课题时。遇到一些问题。
+ k& d& M( w$ ^# V+ |. l- o行车将工件吊运到在等待中的运输车,运输车将工件送达处理区域。
2 D" t! ]' |- c4 e/ |1 b此时运输车不能离开处理区域。* e' R1 f# Y/ o3 P* C( h
由顶升装置将运输车连同工件一起上升至处理位。9 [; G5 f1 z5 N4 p
等处理完成后,运输车再次运送工件到卸载位。2 m6 G/ `8 z" c8 I& t
仍然由行车将工件吊运到储存区。- T/ N$ c m7 a
问题1:1 n7 B1 ~( ~1 W+ u8 s" y/ G4 ?
下面是一段顶升装置上升下降的代码:
! [- o0 l; i( @) v# H2 jif (msgparam(1)==1)( k& ^* p% H% Z4 y! m7 Q' ?: D* ?
{. O9 H; M0 T* ?& R1 O/ ~5 Q; |! N
initkinematics(ki,sup);
7 ?; k2 [$ B+ T" h) _9 U( `double time1=addkinematic(ki,0,0,fl,1,0,0,0,0,time(),KINEMATIC_TRAVEL);
3 t7 A, y7 ^' c2 o8 M: q: ysenddelayedmessage(zzc,time1-time(),current,1,0,0);( z- J5 C( L* R1 j* `
double tiup=time1-time();% k* C- q" ?5 X& O- s' _
}
/ v+ b/ {0 O! ]0 m8 z9 [else if(msgparam(1)==2)- W; P2 _ E2 l I N
{6 P9 z( x8 }* F7 R2 c# P( K% _4 }: o
initkinematics(ki,sup);! h# q6 t' {+ O2 k( ^& v& R
double time1=addkinematic(ki,0,0,-fl,1,0,0,0,0,time(),KINEMATIC_TRAVEL);1 A3 B2 D1 c" Y4 z4 q0 a
double tidown=time1-time();8 M$ J7 M# L" Z9 _( U T# C
}0 \7 [1 z. E- k& M
如何计算下降完成时间点-上升起始点的时间段?
/ W" Z |5 Q) C7 _& C我现在是将这两个数值输入到标签中来进行计算。应该可以直接在代码中将它们提取出来吧。
, L. c0 X4 a* F9 E+ d: K问题2:仿真速度对比中,按500~1000倍的速度模拟没有出现问题,上升下降后Z轴回到0点。
5 G# d- a# Q* B2 u/ m 当仿真速度调到1000倍以上时,动作出现错误,一直上升或是下降,不回到起始位置?
4 D' @" y! x% N问题3:如何在临时物体不进入处理器的情况下触发处理器的处理行为? |
|