全球FlexSim系统仿真中文论坛

搜索
查看: 7095|回复: 6
打印 上一主题 下一主题

处理器的处理状态如何触发?仿真速度加快,动作出错。

[复制链接]
跳转到指定楼层
1#
qiush1234 发表于 2011-9-20 15:35:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 qiush1234 于 2011-9-20 16:14 编辑
8 M5 |! `" u! S: M
$ t; v) N& n9 Y, r如题:最近在做一个课题时。遇到一些问题。
8 ?, v- Y% Z* X$ p; ~: v行车将工件吊运到在等待中的运输车,运输车将工件送达处理区域。
5 P5 }- H1 b& X" n) u- J此时运输车不能离开处理区域。
/ G$ Z: L; ~. h  ^8 |由顶升装置将运输车连同工件一起上升至处理位。
! H& X+ G& p; o1 I/ Q$ G+ _0 U等处理完成后,运输车再次运送工件到卸载位。
% t. V. Z! t! y8 G0 n仍然由行车将工件吊运到储存区。/ w. }3 `. m" }0 u
问题1:. J. Z# Q6 t2 \2 G. ?  }+ Y7 a
下面是一段顶升装置上升下降的代码:$ U7 J" Z# G% Q# l1 l
if (msgparam(1)==1), p! m6 Y" U0 s& G
{' e% Q* |- @& X$ J" [2 |
initkinematics(ki,sup);+ q( r, N# a0 u* `& }0 J
double time1=addkinematic(ki,0,0,fl,1,0,0,0,0,time(),KINEMATIC_TRAVEL);& O% }" r0 A4 v4 n
senddelayedmessage(zzc,time1-time(),current,1,0,0);1 i* a7 A8 p- g1 j$ i+ y* m
double tiup=time1-time();' a  L* l0 v& p- K5 {
}. P# b" @9 \6 R- S7 O
else if(msgparam(1)==2)9 @5 F# P/ \+ p3 }$ I" c5 }: Y
{8 a8 H6 B; v9 b# f, n/ k. E
initkinematics(ki,sup);
: j4 e9 e& o- m) C& Z6 B, P- ^double time1=addkinematic(ki,0,0,-fl,1,0,0,0,0,time(),KINEMATIC_TRAVEL);
7 u  b4 x+ T4 D1 Sdouble tidown=time1-time();
! A' ]3 N; u% U8 r}
3 n1 N: C0 O- R8 o* ~如何计算下降完成时间点-上升起始点的时间段?- N1 f1 ~! M$ a- t8 }
我现在是将这两个数值输入到标签中来进行计算。应该可以直接在代码中将它们提取出来吧。
# g) i& G- E) s3 T2 Q. S问题2:仿真速度对比中,按500~1000倍的速度模拟没有出现问题,上升下降后Z轴回到0点。( \/ D$ `" @* p* ]- V$ g& r% P
       当仿真速度调到1000倍以上时,动作出现错误,一直上升或是下降,不回到起始位置?
' j5 V8 ]- Z  y- Q" Q- Q" U问题3:如何在临时物体不进入处理器的情况下触发处理器的处理行为?
2#
domcylai 发表于 2011-9-20 17:21:04 | 只看该作者
3#
xiexiaoch134 发表于 2011-9-20 19:06:38 | 只看该作者
问题1:可以通过getkinematics来获取对应的时间。! E) x+ Y' R! u: `) {" C4 z$ N
问题2:flexsim中如果仿真速度过快,会出现动力学执行不完整的现象。
9 d6 E  ^) c* p5 a2 F问题3:没有临时实体的处理行为有意义吗?如果你的意思只是想触发处理器的某一触发器的话,sendmessage命令可以任意时间任意地点触发处理器。
4#
 楼主| qiush1234 发表于 2011-9-20 20:15:18 | 只看该作者
因为临时物体经过处理后仍然是由运输车运输到卸载位。
( h) Q- t3 G; ]* C进入处理器后如何让临时物体返回运输车,再由行车运输到卸载。
5#
xiexiaoch134 发表于 2011-9-20 22:19:38 | 只看该作者
请上传模型,不能因为人总会饿所以不要吃饭。
6#
 楼主| qiush1234 发表于 2011-9-26 08:15:06 | 只看该作者
完善了模型后出现临时物体消失的问题:
# N% {0 \# a" Z流程简介1 j/ h) U$ u/ {+ d4 U6 L
1.自发生器644生成货物,
6 p) H" ^# Z2 ?2.由行车吊运至暂存区578
+ |0 Y9 e" d1 X3.暂存区578的到处理器579由任务执行器运输到位,上升后将临时物体移交至处理器579中。/ O8 ^+ R. Q. Q7 V
4.当处理器579处理完成后,又由任务执行器将货物运输至暂存区693,然后任务执行器中的升降装置返回。
( k, p4 H, z0 U4 W+ z! N1 w& O5.最终由行车将暂存区693处理完成的货物运输到下一个处理器。
9 Y- e! g) P& E  g
- I/ m  ^$ q& q& E' z- \7 O当程序运行到第4条时临时物体出现了位置错误。(临时物体的位置:X:8655644.000,Y:0,Z:-3)9 D- y  B) j2 M4 Q1 P6 U# z
直到进行到暂存区693时又出现了。9 n( e' }* v1 D. X" J
我在任务执行器的进入触发中已经设置了临时物体的坐标的,为何临时物体还会移动到很远的地方呢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
7#
vivion 发表于 2012-5-15 15:25:08 | 只看该作者
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|全球FlexSim系统仿真中文论坛 ( 京ICP备14043114号-2 )

GMT+8, 2025-9-4 16:55 , Processed in 0.079668 second(s), 14 queries .

Powered by Discuz! X3.3© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表