登录发现更多内容
首页
资讯
分类
目录
索引
酷站
发帖
用户名
Email
自动登录
找回密码
密码
登录
立即注册
立即登录
立即注册
其他登录
QQ
微信
门户
Portal
论坛
BBS
搜索
搜索
本版
用户
帖子
设置
我的收藏
退出
2
0
0
首页
新手入门
›
为什么分拣传送带和传送带的“按临时实体类型发送”的判 ...
返回列表
为什么分拣传送带和传送带的“按临时实体类型发送”的判断机制不一样?
[ 复制链接 ]
zorsite
新手入门
662
2
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
收藏
0
────
0
人觉得很赞
────
回复
举报
2 回复
zorsite
楼主
回复
举报
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]
回复
评论
举报
domcylai
回复
举报
2012-12-17 09:55:05
分拣传送带上所有货物每次到达一个端口(就是那根红线,箭头指向外)的时候,就会触发这个分拣条件,条件成立就发送,条件不成立就不发送.
double value =getitemtype(item);
则条件成立return 1,否则不成立return 0。
也就是说,这个脚本里面需要返回一个值,0和!0
希望对你有帮助!
回复
评论
举报
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
立即登录
点评
高级模式
本版积分规则
回帖后跳转到最后一页
返回
新手入门
登录开启您的创作之旅
快速登录,立即开启您的创作之旅~
登录
热门问答
查看更多
1
厂区生产线布局优化案例!新做的!
厂区生产线布局优化案例!新做的!
12091
227
2
Flexsim二次开发之塔吊
Flexsim二次开发之塔吊
6136
45
3
FlexSim2016 中国象棋
FlexSim2016 中国象棋
6010
44
4
快递分拨中心案例~新手可参考
快递分拨中心案例~新手可参考
5632
62
5
关于Processs Flow 使用的两个案例(AGV Elevator案例/子母穿梭
关于Processs Flow 使用的两个案例(AGV Elevator案例/子母穿梭
5477
34
博主榜
Htenghui
+ 10630
白可露
+ 7753
liguanyu
+ 6759
4
Round2011
+ 6323
5
梁之安
+ 6321
6
zgh1120
+ 5341
7
ishelo
+ 4710
8
linweixu168
+ 3722
9
liuzhifan
+ 3628
10
adysunshine
+ 3566
首页
分类
目录
索引
我的