|
本帖最后由 qiush1234 于 2011-9-20 16:14 编辑 ) [6 \0 a6 _! v3 \2 t6 i/ B" y
: Z$ ^( Y6 ]# V2 @% a: V如题:最近在做一个课题时。遇到一些问题。
& l) q0 p8 ^9 a行车将工件吊运到在等待中的运输车,运输车将工件送达处理区域。
, g; u# g- o' w/ b$ K此时运输车不能离开处理区域。
- u9 |; e3 n$ I+ \; Z% u9 _由顶升装置将运输车连同工件一起上升至处理位。& L: J, P0 {" x S* I, y
等处理完成后,运输车再次运送工件到卸载位。3 d' ~. u/ l | C* a* M
仍然由行车将工件吊运到储存区。- L0 `4 `/ @* K6 E2 U# l4 @$ D5 y8 l
问题1:
0 }7 Q! u! K, b; w9 m$ F" C下面是一段顶升装置上升下降的代码:
6 X: u, i2 u8 X! b8 \( n/ E9 \if (msgparam(1)==1)# s- l/ n! I6 f/ J% n9 ~2 b' G
{/ z9 e6 G3 {! W* |
initkinematics(ki,sup);! [# \2 y& Y! C$ Q
double time1=addkinematic(ki,0,0,fl,1,0,0,0,0,time(),KINEMATIC_TRAVEL);3 {. n: j8 w" a3 |' V$ ^9 U
senddelayedmessage(zzc,time1-time(),current,1,0,0);
8 U+ p/ h% I# a( F5 U+ I& ?8 ldouble tiup=time1-time();' X) h7 N5 d) y! S+ a+ f
}
, N$ \" ?" I, Q4 j0 Relse if(msgparam(1)==2)
7 G; q* n, h" Q/ C6 d9 I{
/ g5 R6 n" ?1 l1 H ? Ninitkinematics(ki,sup);- ~4 u, A, F# }# e3 m
double time1=addkinematic(ki,0,0,-fl,1,0,0,0,0,time(),KINEMATIC_TRAVEL);8 {4 d! R; a1 _' i
double tidown=time1-time();! @7 T; F# N4 K5 |( X
}9 w$ O' ]* V5 G& L8 ]8 p0 m
如何计算下降完成时间点-上升起始点的时间段?+ E, k- M4 V/ X G+ |4 i2 L
我现在是将这两个数值输入到标签中来进行计算。应该可以直接在代码中将它们提取出来吧。
6 I; [/ o% Q! R' T% |7 Q: n! d问题2:仿真速度对比中,按500~1000倍的速度模拟没有出现问题,上升下降后Z轴回到0点。
( O0 Q# H1 F' v& W, j0 U% ` 当仿真速度调到1000倍以上时,动作出现错误,一直上升或是下降,不回到起始位置?
' q% ~4 |; u- \; z# J问题3:如何在临时物体不进入处理器的情况下触发处理器的处理行为? |
|