|
本帖最后由 qiush1234 于 2011-9-20 16:14 编辑
3 R- m( H0 E5 T9 e; v
' P8 c" D+ P! s. ~( [如题:最近在做一个课题时。遇到一些问题。+ q' J! g5 {4 X* E5 ^/ b+ Y
行车将工件吊运到在等待中的运输车,运输车将工件送达处理区域。
. L# f3 |& t' W; C/ p: n此时运输车不能离开处理区域。
# G, t1 P- ]: ?" P8 f由顶升装置将运输车连同工件一起上升至处理位。7 j. s8 T& q) C8 m/ ]7 b
等处理完成后,运输车再次运送工件到卸载位。
# n" Y6 P: p! ?- C仍然由行车将工件吊运到储存区。
! G" K9 H3 e8 X% O0 G- c问题1:
B! Z K! ], w& J下面是一段顶升装置上升下降的代码:
8 s9 d- N7 F" pif (msgparam(1)==1)
- y: G3 n5 F) x6 a y8 m. A( X- ]/ d{
Q3 E2 O" J4 C, Q2 T7 Binitkinematics(ki,sup);
8 m2 n F) H; T8 I1 g# g$ Q7 ddouble time1=addkinematic(ki,0,0,fl,1,0,0,0,0,time(),KINEMATIC_TRAVEL);; @/ q* a ]0 i, `& _- J
senddelayedmessage(zzc,time1-time(),current,1,0,0);3 o5 X; n% z7 R1 V8 x
double tiup=time1-time();7 M4 |7 f: V1 k# R G
}
& A5 v1 }1 U. K* Jelse if(msgparam(1)==2)3 J- U% m0 r9 b& G& r) W
{
Y/ e& X4 v ]7 Yinitkinematics(ki,sup);
3 C3 [* ^; ] G2 Ddouble time1=addkinematic(ki,0,0,-fl,1,0,0,0,0,time(),KINEMATIC_TRAVEL);6 _+ _6 K3 z7 |& N1 B% O* e1 L
double tidown=time1-time();; x0 u( ^! b: _# v9 J2 l! A
}
% j3 L% c% g7 v如何计算下降完成时间点-上升起始点的时间段?$ d+ H2 R# Y! {0 g }6 @
我现在是将这两个数值输入到标签中来进行计算。应该可以直接在代码中将它们提取出来吧。
3 f' v, r; W- ^# d9 a3 h* t* v, Z' W! t3 G问题2:仿真速度对比中,按500~1000倍的速度模拟没有出现问题,上升下降后Z轴回到0点。3 ?2 F) @- u3 i, i& z4 i3 Z( a
当仿真速度调到1000倍以上时,动作出现错误,一直上升或是下降,不回到起始位置?8 {& o4 E- @! ?6 W5 ~' _, D6 V( [
问题3:如何在临时物体不进入处理器的情况下触发处理器的处理行为? |
|