设为首页收藏本站

最大的系统仿真与系统优化公益交流社区

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6135|回复: 5

Arena可否使用VBA循环存储模型?

  [复制链接]
发表于 2016-5-23 01:12:54 | 显示全部楼层 |阅读模式
做的模型有很多种状况,大概要实行1000多次。

所以想找找能不能像excel一样做一个循环,把不同参数每一次另存为一个新模型。


要修改的项目
1.Sequence(一共4个),每个sequence里面得修改3个attribute
2.修改lamda(到达时间)
3.修改queue的排列方式,比如FIFO改成按某个attribute的最小值排列


希望会代码编译的朋友,帮帮忙……已经不想在低级的使用按键精灵做修改参数的脚本了
发表于 2016-5-24 09:40:00 | 显示全部楼层
VBA我估计也是可以,但是我好奇为什么不用自带的process analyzor改变参数,而且为什么不同参数要另存为一个新模型?
 楼主| 发表于 2016-5-25 12:39:56 | 显示全部楼层
本帖最后由 L_zr. 于 2016-5-25 12:55 编辑
asax 发表于 2016-5-24 09:40
VBA我估计也是可以,但是我好奇为什么不用自带的process analyzor改变参数,而且为什么不同参数要另存为一 ...


process analyzor没办法改变队列,而且我repulication了30次,因为要做双t检验,我需要每次的repulication的特定值,每个repulication新建一个脚本太多了。
最重要的时process analyzor出一次结果比直接模型出结果慢,好些时候容易崩溃,一个project的所有结果还得重新出。
如果Process analyzor有更好的方法能够解决队列改变问题和每个replication值的收集问题,希望版主赐教。
 楼主| 发表于 2016-5-25 13:07:58 | 显示全部楼层
asax 发表于 2016-5-24 09:40
VBA我估计也是可以,但是我好奇为什么不用自带的process analyzor改变参数,而且为什么不同参数要另存为一 ...

VBA改模型attribute值和存模型也解决了
想请教版主Variable怎么赋初始值,我想写入模型参数,不是在代码里面赋值。
比如下面这个例子

//1.对一个Variable命名为SPT1
Model.Modules(Model.Modules.Find(smFindTag, "SPT1")).Data("Name")=“SPT1”

//2.我想直接写入一个SPT1=0.77.(写完之后点击表格能在初始值里面查到0.77)
第二步的代码一直不知道是什么

//3.对个attribute对象赋值
Model.Modules(Model.Modules.Find(smFindTag, "Sequence1")).Data("Value(4,1)") = "GAMM(SPT1,9.183,S STM1)"
发表于 2016-6-3 15:22:33 | 显示全部楼层
L_zr. 发表于 2016-5-25 13:07
VBA改模型attribute值和存模型也解决了
想请教版主Variable怎么赋初始值,我想写入模型参数,不是在代码 ...

抱歉回复太晚,之前事太多了,Arena VBA里面的语句我也记得不多了 ,建议用宏记录一下行为然后翻查语句来学学。
 楼主| 发表于 2016-6-7 19:48:01 | 显示全部楼层
asax 发表于 2016-6-3 15:22
抱歉回复太晚,之前事太多了,Arena VBA里面的语句我也记得不多了 ,建议用宏记录一下行为然后翻 ...

好的。谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|SimulWay 道于仿真   

GMT+8, 2024-11-21 19:36 , Processed in 0.017116 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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