|
本帖最后由 qiush1234 于 2011-9-20 16:14 编辑 9 [/ H9 j3 {! X3 |. k" ~/ ]
( L, ]" } P u7 L2 c. A" ~3 j$ m
如题:最近在做一个课题时。遇到一些问题。
8 m$ G% q$ B$ j8 n行车将工件吊运到在等待中的运输车,运输车将工件送达处理区域。1 y6 J6 r# \- _) _% \( w1 M: o
此时运输车不能离开处理区域。
3 W/ L" W1 u0 t+ X6 ^, O$ T由顶升装置将运输车连同工件一起上升至处理位。 B2 L: E! H# K* @+ c! w5 r
等处理完成后,运输车再次运送工件到卸载位。3 J4 V; u/ l! k7 G! B( d: P
仍然由行车将工件吊运到储存区。
% `& e2 X$ D* s. R9 x6 M* T' R" \问题1:; F8 I4 R" n# j9 a3 A
下面是一段顶升装置上升下降的代码:
5 V# u, K' c$ x. C; P. `if (msgparam(1)==1)
4 _- |; B# M% R8 t' u{
& |2 o0 C! A' U) G: F& Dinitkinematics(ki,sup);' a9 @0 r7 A0 G: Y n% m F5 d$ c
double time1=addkinematic(ki,0,0,fl,1,0,0,0,0,time(),KINEMATIC_TRAVEL);) v+ Z. L# s# `6 w! }2 w1 x8 I4 H
senddelayedmessage(zzc,time1-time(),current,1,0,0);
; y5 D$ C4 p' V6 x% e# T6 Ldouble tiup=time1-time();0 F: L- \! b! f( c6 \" {; z
}
* e2 |' C k* k" i& velse if(msgparam(1)==2)
' Z8 n. N" _) t6 a. C: @ ~( E* Q _{6 c2 u$ T, F4 Q8 |
initkinematics(ki,sup); J8 `+ F3 Q* }" m
double time1=addkinematic(ki,0,0,-fl,1,0,0,0,0,time(),KINEMATIC_TRAVEL);
6 b5 E0 ?% w2 i. X+ s1 pdouble tidown=time1-time();
! O6 S7 g0 D! G4 }9 V}
7 x2 p2 {9 U+ [* K& [6 a4 x2 _1 ?如何计算下降完成时间点-上升起始点的时间段?
7 @8 a Q: M) `: I我现在是将这两个数值输入到标签中来进行计算。应该可以直接在代码中将它们提取出来吧。
8 q6 ?3 I( S7 d! o2 z4 ~ g问题2:仿真速度对比中,按500~1000倍的速度模拟没有出现问题,上升下降后Z轴回到0点。
3 p' j& B/ d0 p# C; e1 V 当仿真速度调到1000倍以上时,动作出现错误,一直上升或是下降,不回到起始位置?
6 ` e5 G( Z$ l& Z# S* s% i5 `问题3:如何在临时物体不进入处理器的情况下触发处理器的处理行为? |
|