查看: 3|回复: 3

FlexSim案例四 用户事件:定时更新订单到达时间表

[复制链接]

主题

0

回帖

214

积分

注册会员

积分
214
发表于 2018-4-27 09:15:05 | 显示全部楼层 |阅读模式
[i=s] 本帖最后由 Yumaotuo 于 2018-4-27 09:16 编辑 [/i]

[align=left]1、模型描述[/align]
[align=left][font=微软雅黑]发生器产生[/font]5种批次的订单,每种订单按不同的数量组合四种类型的产品,每隔60秒跟新发生器的订单批次。[/align]
[align=left]2、模型布局[/align]
[align=left][/align]
[align=left][font=微软雅黑]发生器[/font]1产生订单,下游暂存区和处理器按上图的方式依次全部A连接。[/align]
[align=left][font=微软雅黑]创建订单批次的全局表:创建[/font]4行5列的全局表,每批次的订单组合不同数量不同类型的产品,全局表命名为“dingdan”。[/align]
[align=left][/align]
[align=left][font=微软雅黑]创建标签:订单发生器中创建标签,命名为[/font]biaoqian,这个标签用来记录用户事件执行的次数,并且对应订单批次[/align]
[align=left][/align]
[align=left][font=微软雅黑]创建用户事件:打开工具箱下拉列表,选择建模逻辑里的用户事件,命名为[/font]gengxinpici,勾选重复执行,开始时间设置为50,重复时间设置为60秒。[/align]
[align=left] [/align]
[align=left]3、代码编写:[/align]
[align=left]Object dingdanf = model().find("发生器1");//[color=#2e8b57]声明订单发生器[/color][/align][align=left]inc(label(dingdanf,"biaoqian"),1);//[color=#2e8b57]订单发生器上的bianqian递增1[/color][/align][align=left]int m = dingdanf.biaoqian;//[color=#2e8b57]获取标签值,该标签代表事件执行的次数,也对应订单表中的批次[/color][/align]
[align=left]treenode schedule = getvarnode(dingdanf,"schedule");//[color=#2e8b57]引用达到时间表的节点[/color][/align][align=left]if(m<=5)//[color=#2e8b57]用户事件执行未超过5次[/color][/align][align=left]{[/align][align=left]        for(int i=1;i<=4;i++)//[color=#2e8b57]for循环改变到达事件表的产品类型的个数[/color][/align][align=left]        {[/align][align=left]                treenode arrival_i = schedule.subnodes;//[color=#2e8b57]找到不同类型的产品对应的到达时间表的行[/color][/align][align=left]                arrival_i.subnodes[3].value = Table("dingdan")[m];//[color=#2e8b57]达到时间表中的Quantity更新为全局表中的数值[/color][/align][align=left]        }[/align][align=left]}[/align][align=left]else[/align][align=left]{[/align][align=left]        closeoutput(dingdanf);//[color=#2e8b57]所有订单执行完毕后关闭输出端口[/color][/align][align=left]}[/align][align=left]这个用户事件就可以实现按订单批次依次更新到达时间表,在所有订单产生之后停止输出,比把所有的订单批次都写入到达时间表要简单很多,当订单批次数量较多时使用用户事件的优势就越明显,当订单更新的时间间隔发生改变或者订单内容发生改变时,该方法的通用性更强。[/align]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

主题

0

回帖

4万

积分

版主

积分
45331
发表于 2018-4-27 17:00:46 | 显示全部楼层
感谢分享
建议表明版本,否则会出现部分代码在部分版本中无法使用的问题

主题

0

回帖

67

积分

注册会员

积分
67
发表于 2018-5-21 20:39:15 | 显示全部楼层
flexsim2017.01中,用户事件在哪?找不到,望明示!新手

主题

0

回帖

4万

积分

版主

积分
45331
发表于 2018-5-22 08:02:46 | 显示全部楼层
[quote][size=2][url=forum.php?mod=redirect&goto=findpost&pid=24927&ptid=7288][color=#999999]shangri 发表于 2018-5-21 20:39[/color][/url][/size]
flexsim2017.01中,用户事件在哪?找不到,望明示!新手[/quote]

这是正式版才有的功能哦
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注公众号

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

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

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