查看: 6|回复: 6

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

[复制链接]

主题

0

回帖

61

积分

注册会员

积分
61
发表于 2011-9-20 15:35:27 | 显示全部楼层 |阅读模式
[i=s] 本帖最后由 qiush1234 于 2011-9-20 16:14 编辑 [/i]

如题:最近在做一个课题时。遇到一些问题。
行车将工件吊运到在等待中的运输车,运输车将工件送达处理区域。
此时运输车不能离开处理区域。
由顶升装置将运输车连同工件一起上升至处理位。
等处理完成后,运输车再次运送工件到卸载位。
仍然由行车将工件吊运到储存区。
问题1:
下面是一段顶升装置上升下降的代码:
if (msgparam(1)==1)
{
initkinematics(ki,sup);
double time1=addkinematic(ki,0,0,fl,1,0,0,0,0,time(),KINEMATIC_TRAVEL);
senddelayedmessage(zzc,time1-time(),current,1,0,0);
double tiup=time1-time();
}
else if(msgparam(1)==2)
{
initkinematics(ki,sup);
double time1=addkinematic(ki,0,0,-fl,1,0,0,0,0,time(),KINEMATIC_TRAVEL);
double tidown=time1-time();
}
[b]如何计算下降完成时间点-上升起始点的时间段?[/b]
我现在是将这两个数值输入到标签中来进行计算。应该可以直接在代码中将它们提取出来吧。
问题2:仿真速度对比中,按500~1000倍的速度模拟没有出现问题,上升下降后Z轴回到0点。
       [b]当仿真速度调到1000倍以上时,动作出现错误,一直上升或是下降,不回到起始位置?[/b]
问题3:[b]如何在临时物体不进入处理器的情况下触发处理器的处理行为?[/b]

主题

0

回帖

5598

积分

等待验证会员

积分
5598
发表于 2011-9-20 17:21:04 | 显示全部楼层
:dizzy:

主题

0

回帖

1739

积分

高级会员

积分
1739
发表于 2011-9-20 19:06:38 | 显示全部楼层
问题1:可以通过getkinematics来获取对应的时间。
问题2:flexsim中如果仿真速度过快,会出现动力学执行不完整的现象。
问题3:没有临时实体的处理行为有意义吗?如果你的意思只是想触发处理器的某一触发器的话,sendmessage命令可以任意时间任意地点触发处理器。

主题

0

回帖

61

积分

注册会员

积分
61
 楼主| 发表于 2011-9-20 20:15:18 | 显示全部楼层
因为临时物体经过处理后仍然是由运输车运输到卸载位。
进入处理器后如何让临时物体返回运输车,再由行车运输到卸载。

主题

0

回帖

1739

积分

高级会员

积分
1739
发表于 2011-9-20 22:19:38 | 显示全部楼层
请上传模型,不能因为人总会饿所以不要吃饭。

主题

0

回帖

61

积分

注册会员

积分
61
 楼主| 发表于 2011-9-26 08:15:06 | 显示全部楼层
完善了模型后出现临时物体消失的问题:
流程简介
1.自发生器644生成货物,
2.由行车吊运至暂存区578
3.暂存区578的到处理器579由任务执行器运输到位,上升后将临时物体移交至处理器579中。
4.当处理器579处理完成后,又由任务执行器将货物运输至暂存区693,然后任务执行器中的升降装置返回。
5.最终由行车将暂存区693处理完成的货物运输到下一个处理器。

当程序运行到第4条时临时物体出现了位置错误。(临时物体的位置:X:8655644.000,Y:0,Z:-3)
直到进行到暂存区693时又出现了。
我在任务执行器的进入触发中已经设置了临时物体的坐标的,为何临时物体还会移动到很远的地方呢?

本帖子中包含更多资源

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

×

主题

0

回帖

64

积分

注册会员

积分
64
发表于 2012-5-15 15:25:08 | 显示全部楼层
{:2_25:}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注公众号

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|京ICP备14043114号-2

在本版发帖
关注公众号
QQ客服返回顶部