查看: 2|回复: 2

为什么分拣传送带和传送带的“按临时实体类型发送”的判断机制不一样?

[复制链接]

主题

0

回帖

544

积分

中级会员

积分
544
发表于 2012-12-5 16:04:56 | 显示全部楼层 |阅读模式
[i=s] 本帖最后由 zorsite 于 2012-12-5 16:17 编辑 [/i]

如果是在传送带中,按临时实体类型发送代码如下:[code]/***popup:ByExpression*/
/**指定端口*/
/** \n输出端口: */
double value = /***tag:expression*//**/getitemtype(item)/**/;
/** \n\n注释: 此指定值可以是一个常量,也可以是命令返回值(getitemtype(item), getlabelnum(item, "labelname"), 等)。*/

return value;[/code]其判断机制为:
先获取当前临时实体类型[code]double value =getitemtype(item);[/code]然后分配端口[code]return value;[/code]----------------------------------------------------------------
而在分拣传送带中,按临时实体类型发送代码如下:[code]int port = parval(2);
/**按临时实体类型: */
/**如果临时实体类型与端口匹配则发送临时实体。*/
return getitemtype(item) == port;[/code]其判断机制为:
如果临时实体类型与端口匹配则发送临时实体。[code]return getitemtype(item) == port;[/code]Flexsim并不是先获取临时实体类型,然后去寻找相应端口;而是在每一个端口判断,当前临时实体的类型值是否与当前端口值相符,如果相符,则发送,如果不相符,则传送到下一段端口继续判断。可能另外一种代码更为容易理解:[code]
int port = parval(2);
switch(port)
{
case 1: return getitemtype(item) == 1;
case 2: return getitemtype(item) == 2;
case 3: return getitemtype(item) == 3;
default: return 1;
}[/code]--------------------------------------------------------------
在我看来,第一种机制显然更为直观,每到达一个临时实体,直接获取其类型值,然后指定端口。
为什么在分拣传送带中采用了另外一种判断机制?其用意何在?

我感觉分拣传送带应该也可以通过第一种判断机制来指定端口,但是目前我的水平不够,而且demo版无法查看树结构,所以不知然后实现。我隐约感觉,这可能是在分拣传送带下并没有“发送至端口”这一选项,而是“发送条件”。

主题

0

回帖

544

积分

中级会员

积分
544
 楼主| 发表于 2012-12-7 18:25:08 | 显示全部楼层
[i=s] 本帖最后由 zorsite 于 2012-12-7 20:21 编辑 [/i]

传送带send to port代码返回的是端口值:[code]double value =getitemtype(item);
return value;
//返回临时实体类型作为端口值。
[/code]分拣传送带send requirement代码返回的是0或1:[code]int port = parval(2);
//声明一个名为port 的整数变量,并为该变量赋值,取值为临时实体穿越离开的输出端口号。

/**按临时实体类型: */
/**如果临时实体类型与端口匹配则发送临时实体。*/
return getitemtype(item) == port;
//返回一个值,0或1。如果当前实体类型=端口号,返回1,则发送。如果当前实体类型不等于端口号,返回0,则更换端口,直至更换的端口值=实体类型。[/code]

主题

0

回帖

5598

积分

等待验证会员

积分
5598
发表于 2012-12-17 09:55:05 | 显示全部楼层
分拣传送带上所有货物每次到达一个端口(就是那根红线,箭头指向外)的时候,就会触发这个分拣条件,条件成立就发送,条件不成立就不发送.

double value =getitemtype(item);

则条件成立return 1,否则不成立return 0。

也就是说,这个脚本里面需要返回一个值,0和!0
希望对你有帮助!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注公众号

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

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

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