登录发现更多内容
首页
资讯
分类
目录
索引
酷站
发帖
用户名
Email
自动登录
找回密码
密码
登录
立即注册
立即登录
立即注册
其他登录
QQ
微信
门户
Portal
论坛
BBS
搜索
搜索
热搜:
活动
交友
discuz
本版
文章
帖子
用户
帖子
设置
我的收藏
退出
2
0
0
首页
新手入门
›
为什么分拣传送带和传送带的“按临时实体类型发送”的判 ...
返回列表
为什么分拣传送带和传送带的“按临时实体类型发送”的判断机制不一样?
[ 复制链接 ]
zorsite
新手入门
100
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
厂区生产线布局优化案例!新做的!
厂区生产线布局优化案例!新做的!
1802
224
2
FlexSim2016 中国象棋
FlexSim2016 中国象棋
1037
44
3
Flexsim二次开发之塔吊
Flexsim二次开发之塔吊
942
45
4
关于Processs Flow 使用的两个案例(AGV Elevator案例/子母穿梭
关于Processs Flow 使用的两个案例(AGV Elevator案例/子母穿梭
907
34
5
快递分拨中心案例~新手可参考
快递分拨中心案例~新手可参考
763
62
博主榜
慧娴亚伦
+ 45331
Htenghui
+ 10630
白可露
+ 7753
4
liguanyu
+ 6759
5
Round2011
+ 6323
6
梁之安
+ 6321
7
zgh1120
+ 5341
8
ishelo
+ 4710
9
linweixu168
+ 3722
10
liuzhifan
+ 3628
首页
分类
目录
索引
我的