全球FlexSim系统仿真中文论坛

搜索
查看: 3950|回复: 3
打印 上一主题 下一主题

求教:发生器创建触发实体类型duniform

[复制链接]
跳转到指定楼层
1#
zl823893988 发表于 2019-11-20 16:49:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
发生器创建触发duniform(1,3)指令是有界的离散概率分布,那么临时实体按照1、2、3的顺序产生的指令又是哪一个呢?
推荐
沈瑞祥 发表于 2019-11-21 00:08:23 | 只看该作者
在发生器的创建触发中设置标签,标签值为 getoutput(current)%3+1 即可
getoutput()函数,是获取发生器的输出量,一开始默认为0,所以需要加1.后面%3,对3取余数,举个很好理解的例子:
0   1   2   3   4   5   6   对应发生器输出量递增的变化,那么标签值对应如下
1   2   3   1   2   3 .....
达成你的要求了!
2#
zorsite 发表于 2019-11-20 22:37:19 | 只看该作者
姑且认为你是为了设置临时实体类型值吧。
老版本中在离开触发中设置以下代码:
  1. setitemtype(item,getoutput(current)+1);
复制代码

新版本中在离开触发中设置以下代码:
  1. item.Type=getoutput(current)+1;
复制代码

不知道版本的话你能看懂哪个就用哪个。
注意要写在离开触发而不是创建触发中。
4#
 楼主| zl823893988 发表于 2019-11-21 09:53:13 | 只看该作者
谢谢大家的帮助,我是用来设置打包用托盘的发生器,合成器按照全局表合成发货。全军表共有10单,所以我用二楼给的代码取代了类型(标签的话托盘的类型还是1不会按单发货,需要类型变化才能实现)设置的duniform,然后就能按照订单1~10循环发货了,感谢三楼,用三楼的代码实现了产生1,2,3,4.....一直延续下去的托盘(只是我的订单只有10从10后面就空盘了)这些代码都非常有用,以后有不懂的还请大家多多帮助,感谢!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|全球FlexSim系统仿真中文论坛 ( 京ICP备14043114号-2 )

GMT+8, 2025-6-29 01:03 , Processed in 0.058250 second(s), 14 queries .

Powered by Discuz! X3.3© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表