全球FlexSim系统仿真中文论坛

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

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

[复制链接]
跳转到指定楼层
1#
qiush1234 发表于 2011-9-20 15:35:27 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 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:如何在临时物体不进入处理器的情况下触发处理器的处理行为?
7#
vivion 发表于 2012-5-15 15:25:08 | 只看该作者
6#
 楼主| qiush1234 发表于 2011-9-26 08:15:06 | 只看该作者
完善了模型后出现临时物体消失的问题:/ z0 y$ x& v" r0 a0 {& O
流程简介
" k! ^, R( i8 E0 z, d& f2 y1.自发生器644生成货物,
5 }6 ?) b( B, r2.由行车吊运至暂存区578  \% s! K: g# b  F) _6 k) Z
3.暂存区578的到处理器579由任务执行器运输到位,上升后将临时物体移交至处理器579中。
, s( r* I& H: k! l2 r7 m! W4.当处理器579处理完成后,又由任务执行器将货物运输至暂存区693,然后任务执行器中的升降装置返回。
$ _; ~  v& P( m3 Q/ H5.最终由行车将暂存区693处理完成的货物运输到下一个处理器。
0 i5 _7 v" y: G) w# v
# q# I, _; D' G/ v" r' v) ^2 K当程序运行到第4条时临时物体出现了位置错误。(临时物体的位置:X:8655644.000,Y:0,Z:-3). J! Q! r' Y" |- r* E
直到进行到暂存区693时又出现了。" D# t7 i; w5 o
我在任务执行器的进入触发中已经设置了临时物体的坐标的,为何临时物体还会移动到很远的地方呢?

本帖子中包含更多资源

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

x
5#
xiexiaoch134 发表于 2011-9-20 22:19:38 | 只看该作者
请上传模型,不能因为人总会饿所以不要吃饭。
4#
 楼主| qiush1234 发表于 2011-9-20 20:15:18 | 只看该作者
因为临时物体经过处理后仍然是由运输车运输到卸载位。
) l( {5 X4 P) A2 [; N进入处理器后如何让临时物体返回运输车,再由行车运输到卸载。
3#
xiexiaoch134 发表于 2011-9-20 19:06:38 | 只看该作者
问题1:可以通过getkinematics来获取对应的时间。
& Z& y1 ^* s4 p3 t问题2:flexsim中如果仿真速度过快,会出现动力学执行不完整的现象。' ^4 @1 {) \# s8 b1 o/ i
问题3:没有临时实体的处理行为有意义吗?如果你的意思只是想触发处理器的某一触发器的话,sendmessage命令可以任意时间任意地点触发处理器。
2#
domcylai 发表于 2011-9-20 17:21:04 | 只看该作者
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-29 18:53 , Processed in 0.071236 second(s), 15 queries .

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

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