全球FlexSim系统仿真中文论坛

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

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

[复制链接]
跳转到指定楼层
1#
qiush1234 发表于 2011-9-20 15:35:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 qiush1234 于 2011-9-20 16:14 编辑
* U' N$ T' w1 R; y3 q9 A9 G1 s! v
如题:最近在做一个课题时。遇到一些问题。
$ i. b/ {  w( z4 q& [7 [: H; t行车将工件吊运到在等待中的运输车,运输车将工件送达处理区域。
4 v) O4 Y8 v1 z3 Y4 G7 f& w此时运输车不能离开处理区域。8 m! f4 V/ J1 G  y  M
由顶升装置将运输车连同工件一起上升至处理位。
* |3 q  A, m: L: _0 y等处理完成后,运输车再次运送工件到卸载位。$ [9 h# r' A* F6 f- X/ b
仍然由行车将工件吊运到储存区。7 C% o8 V4 i" _' P( g0 S3 M
问题1:) h4 b+ B- ?# v
下面是一段顶升装置上升下降的代码:
$ g3 q% K( }( A1 s4 E8 Bif (msgparam(1)==1)
( i, x! ^5 i! h" }% W* z{
) R6 }- m  r) U" e3 kinitkinematics(ki,sup);
% H, ?$ O2 x' t* Adouble time1=addkinematic(ki,0,0,fl,1,0,0,0,0,time(),KINEMATIC_TRAVEL);+ q/ g/ x; |4 `/ L6 x9 ?4 Y1 R
senddelayedmessage(zzc,time1-time(),current,1,0,0);
# T1 i* V; L5 E* }double tiup=time1-time();
( A4 f& ]. M- }}& g  E3 V% E# |; p1 m
else if(msgparam(1)==2)
/ r* f: R' Q$ H{
4 c0 b) Z4 ]" {' Finitkinematics(ki,sup);/ n7 g4 t7 `. Y4 Y7 C" C
double time1=addkinematic(ki,0,0,-fl,1,0,0,0,0,time(),KINEMATIC_TRAVEL);
6 O' P$ [4 l3 Wdouble tidown=time1-time();
% }7 Y1 Q) c9 O1 f% m. _" `}; ?7 m& l8 u" Y
如何计算下降完成时间点-上升起始点的时间段?
* \" o: [5 z- m7 T" r0 R  L* t9 B我现在是将这两个数值输入到标签中来进行计算。应该可以直接在代码中将它们提取出来吧。
) `$ r5 H$ J- B问题2:仿真速度对比中,按500~1000倍的速度模拟没有出现问题,上升下降后Z轴回到0点。4 S/ t! m4 L; d6 C+ E
       当仿真速度调到1000倍以上时,动作出现错误,一直上升或是下降,不回到起始位置?% J2 l# C; t+ }. W
问题3:如何在临时物体不进入处理器的情况下触发处理器的处理行为?
2#
domcylai 发表于 2011-9-20 17:21:04 | 只看该作者
3#
xiexiaoch134 发表于 2011-9-20 19:06:38 | 只看该作者
问题1:可以通过getkinematics来获取对应的时间。% t7 }1 m6 e2 x" s3 m
问题2:flexsim中如果仿真速度过快,会出现动力学执行不完整的现象。% G! |5 G( b  Y. O, b3 B
问题3:没有临时实体的处理行为有意义吗?如果你的意思只是想触发处理器的某一触发器的话,sendmessage命令可以任意时间任意地点触发处理器。
4#
 楼主| qiush1234 发表于 2011-9-20 20:15:18 | 只看该作者
因为临时物体经过处理后仍然是由运输车运输到卸载位。
( ]7 q; A0 V7 J. I# A: q进入处理器后如何让临时物体返回运输车,再由行车运输到卸载。
5#
xiexiaoch134 发表于 2011-9-20 22:19:38 | 只看该作者
请上传模型,不能因为人总会饿所以不要吃饭。
6#
 楼主| qiush1234 发表于 2011-9-26 08:15:06 | 只看该作者
完善了模型后出现临时物体消失的问题:
9 s. @- R* H& e5 S% g/ w流程简介
2 g; l1 B* q3 _( O# |5 b) a: k1.自发生器644生成货物,/ S- K+ K+ ~$ l6 W) p3 j
2.由行车吊运至暂存区578
; H, D0 ]$ U/ o! I& a  e' J3.暂存区578的到处理器579由任务执行器运输到位,上升后将临时物体移交至处理器579中。* C3 ~2 ]# D% m7 I% G4 l/ I- r3 E
4.当处理器579处理完成后,又由任务执行器将货物运输至暂存区693,然后任务执行器中的升降装置返回。! r( c) R; l* _' D1 i
5.最终由行车将暂存区693处理完成的货物运输到下一个处理器。; q/ M3 I* m+ q0 m' E2 }

/ M, S$ X1 R) b( o- T; X8 `6 D' n当程序运行到第4条时临时物体出现了位置错误。(临时物体的位置:X:8655644.000,Y:0,Z:-3)
1 U; N; w7 v5 `" S直到进行到暂存区693时又出现了。
- [- i% v" C) O我在任务执行器的进入触发中已经设置了临时物体的坐标的,为何临时物体还会移动到很远的地方呢?

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2025-6-29 03:49 , Processed in 0.080039 second(s), 14 queries .

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

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