设为首页收藏本站

最大的系统仿真与系统优化公益交流社区

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3330|回复: 2

time event翻译

  [复制链接]
发表于 2009-7-31 16:56:21 | 显示全部楼层 |阅读模式
http://www.flexsim.com/community/forum/showthread.php?t=860)。
事件描述:我有一个问题,就是用4个不同点(通过机器人)把item发送到输送机上面去。其中3个点用百分比的方式
发送,第四个点要求每半个小时准确执行一次(仅仅一个点)。
我尝试用一个以1800秒为上升步调的标签来标记时间,但是不知怎么的它不正确,有时工作有时又不工作。

请问:有其他的方法做吗?
有可能是我自己代码写错的导致的。


1楼:这是个关于控制下游实体输入的问题吗?
     前面3个实体的输入端口是打开的和第4个实体输入端口应该关闭,这仅仅是一个标准功能就能实现。
     用户事件应该每搁1800把前面3个端口关掉并把第4个实体输入端口打开。在第4个实体的OnEntry里面编写代码
使得前3个实体又打开输入端口,而且关闭自己的输入端口。在
OnReset
里面设计代码把第4个实体的输入端口关闭。


2楼:
很遗憾,我第一时间看了你关于用百分比来分配任务的事情。
我定义了一个自己的任务并制作了一个仿真,我想放这个模型在下载资源里,但是我受下载限制的。我联系了管理员,
很高兴他给了我权限。然后我下再了模型,我将仍然附上我的解题思路和模型(我仅受限制于下载的那部分)。但是我不喜欢
这个的,因为我总是觉得这个模型不能展示全部的问题。这就是为什么Support Models Section 是作为介绍的原因,甚至只有我一个人用他。


我希望我能解决你的问题帮助你。
Task(任务):
有一个item发送到conveyor 4个不同的端口。其中3个端口是用百分比方法。第4个端口被定义为每30分钟发送一个。
解决:
定义一个全局表(GlobalTablePercentage)为前面3个端口。这个表有3行两列,其中第一列是百分比,第而列是端口号。
第一个全局表(iTimeEven)被用来作为TimeEvent的开关,同时它也是conveyor4的标签。
OnReset消息器那里把Global Variable iTimeEvent 定义为0,在1800秒中以后变为可用之后设置为1,这个可以通过UserEvent或者Onreset或者conveyor4OnMessage来实现。
conveyorOnEntry消息触发器那里为Global Variable iTimeEvent设置一个0值,用以等待后面的30分钟。在上游conveyorsend to port对话框里设置如下代码:
// LOCAL VARIABLE
double returnvalue;
// IF NOT TIMEEVENT THEN USE EMPIRICAL DISTRIBUTION TO DEFINE PORT
if(iTimeEvent == 0)
{
returnvalue = dempirical("GlobalTablePercentage");
}
else// ELSE USE PORT NUMBER 4
{
returnvalue = 4;
}
// RETURN PORT
return returnvalue;

评分

参与人数 2仿真币 +80 收起 理由
JEFFZZ111 + 30
linweixu168 + 50

查看全部评分

发表于 2009-7-31 17:07:41 | 显示全部楼层
1# mrguanyibo
谢谢你的响应,翻译得很好。Mr.Jeff:请从我处拿出100仿真币发奖,谢谢!
 楼主| 发表于 2009-8-3 08:12:26 | 显示全部楼层
谢谢 谢谢 再接再厉
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|SimulWay 道于仿真   

GMT+8, 2024-5-5 10:50 , Processed in 0.014576 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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