全球FlexSim系统仿真中文论坛

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

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

[复制链接]
跳转到指定楼层
1#
qiush1234 发表于 2011-9-20 15:35:27 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 qiush1234 于 2011-9-20 16:14 编辑
* Y# z3 L& @* w$ r- _
2 p( K1 _, k! t! Q1 R( {如题:最近在做一个课题时。遇到一些问题。
; e9 x/ Y0 A% o7 C# \: O行车将工件吊运到在等待中的运输车,运输车将工件送达处理区域。
2 I: d* M3 {5 y3 h! l- o4 T" Y此时运输车不能离开处理区域。
5 c' U3 K$ e. s; Q* M  E, `由顶升装置将运输车连同工件一起上升至处理位。. Z8 K# U8 L7 C% p! c% o
等处理完成后,运输车再次运送工件到卸载位。2 K- I" e( \: E$ r5 y
仍然由行车将工件吊运到储存区。
; m# z& V) u  z& [, F0 S问题1:
& q' H( y# j* F4 A! J下面是一段顶升装置上升下降的代码:
0 k1 D2 p% p: W; aif (msgparam(1)==1)
7 w$ o$ v# f* l% i% k{
" z4 w; c8 e6 X/ \& Linitkinematics(ki,sup);
! r+ D: ]4 z% @5 B# R3 {5 l% s% wdouble time1=addkinematic(ki,0,0,fl,1,0,0,0,0,time(),KINEMATIC_TRAVEL);$ Z5 s" A0 h5 A! n6 G$ q2 `! ^3 `
senddelayedmessage(zzc,time1-time(),current,1,0,0);
+ H* Q: m; d8 P; k: O3 z0 J$ |: o5 `double tiup=time1-time();
/ d$ l7 p/ G6 B+ L}
1 c+ F6 {  b% P% melse if(msgparam(1)==2)
6 j6 M2 |( Z* _% L{- v1 R  L) r: z% o
initkinematics(ki,sup);9 n4 m* u6 j! m# U# m- r1 }" C
double time1=addkinematic(ki,0,0,-fl,1,0,0,0,0,time(),KINEMATIC_TRAVEL);
' Y9 [* j# e5 v1 [, W! m" K: Bdouble tidown=time1-time();
/ z) v& ]$ @5 S% X) b4 v) ?6 n# v}
3 T: K/ s* |/ N- ^2 U' C如何计算下降完成时间点-上升起始点的时间段?
% t1 [9 K! r. o1 a我现在是将这两个数值输入到标签中来进行计算。应该可以直接在代码中将它们提取出来吧。
" R9 B% n$ y- L- Z' o问题2:仿真速度对比中,按500~1000倍的速度模拟没有出现问题,上升下降后Z轴回到0点。
3 c# O- I  x# d) V" [1 D       当仿真速度调到1000倍以上时,动作出现错误,一直上升或是下降,不回到起始位置?
5 }5 p# Q# q7 q* o问题3:如何在临时物体不进入处理器的情况下触发处理器的处理行为?
7#
vivion 发表于 2012-5-15 15:25:08 | 只看该作者
6#
 楼主| qiush1234 发表于 2011-9-26 08:15:06 | 只看该作者
完善了模型后出现临时物体消失的问题:7 u+ K) B6 ?" c! \1 f5 @
流程简介& ~! o8 d" j* `3 |4 O9 x8 M" Q$ B2 k
1.自发生器644生成货物,
  E) z( y7 D% l. O6 }$ F2.由行车吊运至暂存区578
! Z9 Y; N! t' ~) F4 z3.暂存区578的到处理器579由任务执行器运输到位,上升后将临时物体移交至处理器579中。) k) d! @% g, a0 j4 U5 F* }
4.当处理器579处理完成后,又由任务执行器将货物运输至暂存区693,然后任务执行器中的升降装置返回。7 F5 b  \3 N% B. s  F2 y5 U
5.最终由行车将暂存区693处理完成的货物运输到下一个处理器。0 W& q: M4 Q, d& X, n- L
, ^2 z; _7 G+ _1 z2 h" f) h4 d2 D1 ]! o
当程序运行到第4条时临时物体出现了位置错误。(临时物体的位置:X:8655644.000,Y:0,Z:-3), ^* i- ~. y  d* G5 f8 K4 P
直到进行到暂存区693时又出现了。( N- P; P+ k  p, H( F& f
我在任务执行器的进入触发中已经设置了临时物体的坐标的,为何临时物体还会移动到很远的地方呢?

本帖子中包含更多资源

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

x
5#
xiexiaoch134 发表于 2011-9-20 22:19:38 | 只看该作者
请上传模型,不能因为人总会饿所以不要吃饭。
4#
 楼主| qiush1234 发表于 2011-9-20 20:15:18 | 只看该作者
因为临时物体经过处理后仍然是由运输车运输到卸载位。  B. ]  b7 T* U0 u% q+ n7 D
进入处理器后如何让临时物体返回运输车,再由行车运输到卸载。
3#
xiexiaoch134 发表于 2011-9-20 19:06:38 | 只看该作者
问题1:可以通过getkinematics来获取对应的时间。% Z) y9 V9 O6 U# M% s2 ]
问题2:flexsim中如果仿真速度过快,会出现动力学执行不完整的现象。
; x, O4 {) b& O2 @问题3:没有临时实体的处理行为有意义吗?如果你的意思只是想触发处理器的某一触发器的话,sendmessage命令可以任意时间任意地点触发处理器。
2#
domcylai 发表于 2011-9-20 17:21:04 | 只看该作者
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-5-9 06:22 , Processed in 0.070279 second(s), 15 queries .

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

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