全球FlexSim系统仿真中文论坛

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

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

[复制链接]
跳转到指定楼层
1#
qiush1234 发表于 2011-9-20 15:35:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 qiush1234 于 2011-9-20 16:14 编辑
; E" z) F! O2 M# K0 i( d- e: f- r. r4 v. Q/ H2 F( ]9 P
如题:最近在做一个课题时。遇到一些问题。6 M- V0 s$ t! j- _$ d0 `. Q5 \
行车将工件吊运到在等待中的运输车,运输车将工件送达处理区域。9 s6 g1 ]* x/ j" u) S3 P
此时运输车不能离开处理区域。
( L2 U, Z0 D' K# ~: N- v由顶升装置将运输车连同工件一起上升至处理位。
8 U2 t6 P0 H! P. z: l  L# u5 ^等处理完成后,运输车再次运送工件到卸载位。
$ v+ w' D* ~0 q/ u$ O- I6 ^8 v仍然由行车将工件吊运到储存区。+ a( P% z8 |. I5 n  b6 L) j
问题1:6 z) {) a4 D& E' z- X2 U
下面是一段顶升装置上升下降的代码:  i. P" S0 Z) v- F
if (msgparam(1)==1)( X) \6 ~3 L: o; n! ]4 U, a
{
9 \$ k- F( q- {5 H8 sinitkinematics(ki,sup);1 V" J( F8 X: l# z9 x+ L/ j
double time1=addkinematic(ki,0,0,fl,1,0,0,0,0,time(),KINEMATIC_TRAVEL);8 t0 V+ v0 h" d; B
senddelayedmessage(zzc,time1-time(),current,1,0,0);
, [- D5 d: `) ^" B4 Z2 r* Zdouble tiup=time1-time();, N* [4 P' R* j4 M/ d) _
}1 |- ]( v6 |+ v% d( a* Z) q
else if(msgparam(1)==2)
8 [1 D, \, T0 w! ?$ x6 G3 a{
3 O$ }. A+ Q; S+ jinitkinematics(ki,sup);
( k6 |4 o6 ]& ~8 B1 a; [1 ~! idouble time1=addkinematic(ki,0,0,-fl,1,0,0,0,0,time(),KINEMATIC_TRAVEL);) e; e# ]% n  b; [, {
double tidown=time1-time();
7 [0 f7 s2 \. y}
2 t( m) k) S$ j% \2 I如何计算下降完成时间点-上升起始点的时间段?: Z* k" _0 W2 z- W
我现在是将这两个数值输入到标签中来进行计算。应该可以直接在代码中将它们提取出来吧。2 N5 R9 V8 [  ^2 Z6 Y) }1 `
问题2:仿真速度对比中,按500~1000倍的速度模拟没有出现问题,上升下降后Z轴回到0点。0 `, _. B7 [& G
       当仿真速度调到1000倍以上时,动作出现错误,一直上升或是下降,不回到起始位置?
# D8 Y' L& @4 ^问题3:如何在临时物体不进入处理器的情况下触发处理器的处理行为?
2#
domcylai 发表于 2011-9-20 17:21:04 | 只看该作者
3#
xiexiaoch134 发表于 2011-9-20 19:06:38 | 只看该作者
问题1:可以通过getkinematics来获取对应的时间。" G5 t- w, N4 T
问题2:flexsim中如果仿真速度过快,会出现动力学执行不完整的现象。
, f: q/ v  F1 y' _问题3:没有临时实体的处理行为有意义吗?如果你的意思只是想触发处理器的某一触发器的话,sendmessage命令可以任意时间任意地点触发处理器。
4#
 楼主| qiush1234 发表于 2011-9-20 20:15:18 | 只看该作者
因为临时物体经过处理后仍然是由运输车运输到卸载位。  {5 a" m& Y! X; q, B
进入处理器后如何让临时物体返回运输车,再由行车运输到卸载。
5#
xiexiaoch134 发表于 2011-9-20 22:19:38 | 只看该作者
请上传模型,不能因为人总会饿所以不要吃饭。
6#
 楼主| qiush1234 发表于 2011-9-26 08:15:06 | 只看该作者
完善了模型后出现临时物体消失的问题:5 Z5 e9 D) e: @4 M! u# _
流程简介! L/ r+ L' Z# Y
1.自发生器644生成货物," d' t& H* ^/ I1 |3 G
2.由行车吊运至暂存区578
, f: i& y$ N( Q' e8 \5 n3.暂存区578的到处理器579由任务执行器运输到位,上升后将临时物体移交至处理器579中。% s+ I- q0 @& `6 i$ Y, P
4.当处理器579处理完成后,又由任务执行器将货物运输至暂存区693,然后任务执行器中的升降装置返回。
  [7 k: Q/ c$ k: T3 A7 E; R* k( t5.最终由行车将暂存区693处理完成的货物运输到下一个处理器。
# x" H$ \9 v3 m/ Z- u/ e) }( A; u: v% M
当程序运行到第4条时临时物体出现了位置错误。(临时物体的位置:X:8655644.000,Y:0,Z:-3)
) b% S& V9 {; ?5 n, W6 v7 h直到进行到暂存区693时又出现了。
4 L# I+ K$ H0 ^我在任务执行器的进入触发中已经设置了临时物体的坐标的,为何临时物体还会移动到很远的地方呢?

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2025-5-9 03:03 , Processed in 0.073761 second(s), 14 queries .

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

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