发帖
 找回密码
 立即注册
搜索
6 0 0

“用户事件”UserEvents求助

历史版块_9 6 6 2011-11-4 16:30:08
[i=s] 本帖最后由 domcylai 于 2011-11-6 22:49 编辑 [/i]

最近在学习UserEvent时,遇到一些问题(附件):
1.模型中Tools 有一个GlobalTables : num ;
2.现在要求每隔一段时间以后,从FlowItemBin中产生Box进入系统,产生Box的数量从num表中取值,第一次产生的num是row1 的值,第二次是row2....
3.当执行到最后一次后,停止用户事件。


这个方法虽然实现了上述的功能,但是没有扩展性。如果num表内row的数量很大,而且不确定就不容易实现了。
──── 0人觉得很赞 ────

本帖子中包含更多资源

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

x
2011-11-4 17:29:34
[i=s] 本帖最后由 domcylai 于 2011-11-6 22:53 编辑 [/i]

解决方法是:用一个for语句来控制:关键代码如下
for(int i=1;i<=gettablerows("rank");i++)
{        if(i==num)  // 此处num值是记录UserEvent 已经运行的次数,可以新增一个节点或用一个table来记录
        {       
                for(int j=1;j<=gettablenum("rank",i,1);j++)
                {
                        insertcopy(node("/Tools/FlowItemBin/1/1",model()),node("/Queue1",model()));
                }
        }
}
此外我还加了一条语句:
//if(num==gettablerows("rank"))
if(num==5)     //UserEvent运行5次后关闭
setnodenum(node("/Tools/UserEvents/UserEvent1>variables/repeat",model()),0);
else
{
        num=num+1;
        setnodenum(runnum,num);
}
也就是控制 该UserEvent 自动运行的开关节点。=1 为开 =0 为关。

本帖子中包含更多资源

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

x
2011-11-6 23:06:29
UserEvents 功能是正式版软件才能用,Demo版用户可以使用另外的方法来“制造”一个时间定时器:比如设定一个小车在两点间运动,每次触碰的时间通过速度来控制。也可以用传送带等
2011-11-10 09:19:04
过来学习的,不知道有没有自定义函数这样的教程啊。
2011-11-11 17:33:21
自定义函数是神马东西?是指Script教程吗?
2011-11-14 20:12:15
[b] [url=http://www.flexsim.asia/redirect.php?goto=findpost&pid=3347&ptid=1303]3#[/url] [i]domcylai[/i] [/b]


学得越来越不错了,补充一下,时间定时器,还可以用发生器和吸收器两个来控制,固定某个时间点创建临时实体,在创建触发里编辑代码
2011-11-14 20:17:45
[b] [url=http://www.flexsim.asia/redirect.php?goto=findpost&pid=3362&ptid=1303]4#[/url] [i]qiush1234[/i]
自定义函数,我觉得可以通过C++编程和脚本编程,然后变成全局变量,可以让整个模型都能调用
您需要登录后才可以回帖 立即登录
高级模式
返回
历史版块_9
热门问答
查看更多
1
Flexsim初级建模工程师水平标准
Flexsim初级建模工程师水平标准
39
234
2
流水作业线的仿真
流水作业线的仿真
33
83
3
厂区生产线布局优化案例!新做的!
厂区生产线布局优化案例!新做的!
30
224
4
图形用户界面(GUI)教学视频
图形用户界面(GUI)教学视频
26
75
5
flexsim中文教程,pdf文档已整理-重新整理
flexsim中文教程,pdf文档已整理-重新整理
25
114
博主榜
+ 5