全球FlexSim系统仿真中文论坛
标题:
处理器的处理状态如何触发?仿真速度加快,动作出错。
[打印本页]
作者:
qiush1234
时间:
2011-9-20 15:35
标题:
处理器的处理状态如何触发?仿真速度加快,动作出错。
本帖最后由 qiush1234 于 2011-9-20 16:14 编辑
" C% u. X- q3 \$ C7 H: P& U5 g
- u4 h) Z" |9 z' L
如题:最近在做一个课题时。遇到一些问题。
5 U% K6 v0 s( S4 n( ?9 W
行车将工件吊运到在等待中的运输车,运输车将工件送达处理区域。
' K! a4 h& K) f
此时运输车不能离开处理区域。
8 |& p. l( H; l$ {
由顶升装置将运输车连同工件一起上升至处理位。
( v5 R6 o8 N; m( n) K
等处理完成后,运输车再次运送工件到卸载位。
) b2 d( y8 {& d! P
仍然由行车将工件吊运到储存区。
* W. r" A* A6 q
问题1:
! V( [% \- E; C
下面是一段顶升装置上升下降的代码:
- U4 ^1 `4 ^% v6 n
if (msgparam(1)==1)
9 u3 Y9 u3 E2 b( L8 W, P8 C
{
( a3 F& {; D5 t2 i
initkinematics(ki,sup);
% m' h& K! g8 f" r1 I+ Z! o
double time1=addkinematic(ki,0,0,fl,1,0,0,0,0,time(),KINEMATIC_TRAVEL);
) A1 m1 @/ u8 s( t. f( e9 Z
senddelayedmessage(zzc,time1-time(),current,1,0,0);
$ y+ s0 d4 ]. B) _$ P. O
double tiup=time1-time();
7 ^2 b0 f5 \# ~" A2 P2 O$ _0 Y
}
9 I" r. ^4 E' J
else if(msgparam(1)==2)
. G3 Z2 y: w2 R
{
! B( U" C( q8 j6 m
initkinematics(ki,sup);
: z4 K- R7 a2 H% [/ y' C
double time1=addkinematic(ki,0,0,-fl,1,0,0,0,0,time(),KINEMATIC_TRAVEL);
0 ?, q1 L! P- ]8 @0 K
double tidown=time1-time();
w2 r* K4 ?: w- [% w# K3 h
}
$ z* F1 p9 l# e* l0 j8 H% a; C3 I
如何计算下降完成时间点-上升起始点的时间段?
% c+ p# w! A) m: j) I/ {. |7 f
我现在是将这两个数值输入到标签中来进行计算。应该可以直接在代码中将它们提取出来吧。
9 G! @7 {# A! Y3 c
问题2:仿真速度对比中,按500~1000倍的速度模拟没有出现问题,上升下降后Z轴回到0点。
& o$ j5 B1 q: m( \" q
当仿真速度调到1000倍以上时,动作出现错误,一直上升或是下降,不回到起始位置?
+ a2 C' q" Q( |" `
问题3:
如何在临时物体不进入处理器的情况下触发处理器的处理行为?
作者:
domcylai
时间:
2011-9-20 17:21
作者:
xiexiaoch134
时间:
2011-9-20 19:06
问题1:可以通过getkinematics来获取对应的时间。
/ _* G( m" w& M% o& O5 R6 f- K4 ~
问题2:flexsim中如果仿真速度过快,会出现动力学执行不完整的现象。
/ [' R$ b7 i3 N0 O' c
问题3:没有临时实体的处理行为有意义吗?如果你的意思只是想触发处理器的某一触发器的话,sendmessage命令可以任意时间任意地点触发处理器。
作者:
qiush1234
时间:
2011-9-20 20:15
因为临时物体经过处理后仍然是由运输车运输到卸载位。
+ b! s6 l' ^# [, N. b, \% d( ~
进入处理器后如何让临时物体返回运输车,再由行车运输到卸载。
作者:
xiexiaoch134
时间:
2011-9-20 22:19
请上传模型,不能因为人总会饿所以不要吃饭。
作者:
qiush1234
时间:
2011-9-26 08:15
完善了模型后出现临时物体消失的问题:
3 a# \! `6 B- V T1 T" r7 }5 }
流程简介
( h# h) C% j* V3 `9 a2 t6 R
1.自发生器644生成货物,
+ Q" Q4 }# A" N8 h
2.由行车吊运至暂存区578
4 n+ Y7 s! x) q) Y H$ s
3.暂存区578的到处理器579由任务执行器运输到位,上升后将临时物体移交至处理器579中。
# Z7 z1 F( H. _5 a6 r5 N; r
4.当处理器579处理完成后,又由任务执行器将货物运输至暂存区693,然后任务执行器中的升降装置返回。
/ t& F$ _+ p) ~
5.最终由行车将暂存区693处理完成的货物运输到下一个处理器。
$ C) i6 S+ ~$ C; u+ ]& y
/ i0 f( b6 @( \9 l
当程序运行到第4条时临时物体出现了位置错误。(临时物体的位置:X:8655644.000,Y:0,Z:-3)
) e# C9 z5 {6 L9 }3 d, t- q# L) R5 A5 f
直到进行到暂存区693时又出现了。
; ~, I, F6 l+ x% p
我在任务执行器的进入触发中已经设置了临时物体的坐标的,为何临时物体还会移动到很远的地方呢?
作者:
vivion
时间:
2012-5-15 15:25
欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/)
Powered by Discuz! X3.3