慧娴亚伦 发表于 2014-3-26 20:17:17

本帖最后由 慧娴亚伦 于 2014-3-26 21:24 编辑

本次TFT活动已经截止。
   由于是第一次的正式活动,为鼓励大家积极参与,因此试题比较简单。考虑到大家基本上都能实现题目的要求,本次活动也不会提供参考答案,有兴趣的朋友可以参考前面的几楼的有效回复。一些朋友的模型错误都是在细节地方没有处理好。这体现出我们在进行flexsim建模的过程中,要通过最后的效果来检验自己的模型以及代码是否正确完成,并不是只要代码不报错模型即为正确的。
   本次题目一共有4位朋友得到了有效回复。他们的论坛ID分别是:
   a445608540、大摸鱼、1010265352、oxci
   他们将获得指定积分,没有获得积分的朋友期待您的下次参与。
   与Beta版一样,在这里给大家一个延伸思考的方向:大家在学习flexsim过程中,是否注意到工具-追踪变量这个功能,其实运用这个功能也可以很灵活的来追踪每一个实体一些变量。
   再次感谢大家的参与和支持,没有参与者活动将无法开展,希望各位还能继续支持TFT的接下来的活动,再次感谢!

yangkaichong 发表于 2014-4-16 18:08:57

载下来看看!!!

CPF2000 发表于 2014-7-22 08:10:44

学习了..............

CPF2000 发表于 2014-7-22 08:56:43

21# 慧娴亚伦


demo版“追踪变量”是无法使用 的。

慧娴亚伦 发表于 2014-7-22 09:11:53

24# CPF2000


不好意思,没有考虑到这一点。

carol 发表于 2014-8-3 10:37:57

菜鸟求指点!:loveliness:
1.发生器:setitemtypeandcolorduniform(1,3)
2.box class:setlabel(name:pstime   value:0)
3.处理器:
(1)process time
int case_val=getitemtype(item)
switch (case_val) {
case1return normal(10, 3, 0);
case2return exponential(10, 3, 0);
case3return lognormal2(0, 10, 0.3, 0);
defaultreturn 1;
}
(2)处理结束时触发
if(getitemtype(item)==1)
setlabelnum(item,"pstime",normal(10,3,0));
else if(getitemtype(item)==2)
setlabelnum(item,"pstime",exponential(10, 3, 0));
else if(getitemtype(item)==3)
setlabelnum(item,"pstime",lognormal2(0, 10, 0.3, 0));
(3)send to port
double value=getlabelnum(item,"pstime")
if(value<3 || value>15)
return 2;
else return 1;

慧娴亚伦 发表于 2014-8-3 11:17:12

回复26楼:
       您的模型有一些问题,因为您最终给item添加的加工时间标签的值,并不一定对应item的实际加工时间,只是都服从同一个分布和参数。

carol 发表于 2014-8-5 08:58:14

本帖最后由 carol 于 2014-8-5 09:01 编辑

回复版主::loveliness:
处理器做了一些修改,将“处理结束时触发”删除,"send to port"的判断不变,然后在“process time”那里使用if语句:
double value1 = normal(10, 3, 0);
double value2 = exponential(10, 3, 0);
double value3 = lognormal2(0, 10, 0.3, 0);
if(getitemtype(item)==1)
{
setlabelnum(item,"pstime",value1);
return value1;
}
else if(getitemtype(item)==2)
{
setlabelnum(item,"pstime",value2);
return value2;
}
else if(getitemtype(item)==3)
{
setlabelnum(item,"pstime",value3);
return value3;
}

慧娴亚伦 发表于 2014-8-5 10:33:10

回复28楼:
          这样就完成了模型的要求。:)

zorsite 发表于 2014-9-15 14:35:28

11# 慧娴亚伦
给标签赋值,可以直接用addlabel,也可以先addlabel,然后再用setlabelnum。使用addlabel比较直接,代码比较精简。使用setlabelnum按照标签表中的序号给标签赋值,比如setlabelnum(item,2,5.5) 。这里的2指的是item标签列表中的第二个标签。在setlabelnum函数说明中有这么一句话:A rank is a slightly faster reference.是否指的是如果使用标签序号而非标签名称,会稍稍快一点?
页: 1 2 [3] 4 5 6
查看完整版本: 【TFT 2014.03.25 FlexSim仿真模型题(1)】