全球FlexSim系统仿真中文论坛

标题: 如何使用脚本定义全局变量 [打印本页]

作者: shiny0801    时间: 2020-4-3 17:41
标题: 如何使用脚本定义全局变量
如果您有一个创建好的全局变量,您可以在 Model: / Tools / GlobalVariables 下查看它在模型树中的结构。在那里你可以浏览树结构,看看它们是如何设置的。
要以编程的方式创建另一个全局变量,最简单的方法是创建一个现有 全局变量的副本,然后修改它,最后调用 refreshglobalvariables ()来登记新的全局变量,因为它是动态添加的。请记住,这个命令确实有将所有全局变量重置为其初始值的副作用,因此如果您试图在模型运行期间这样做,这不是一个好主意。具体代码如下:
treenode GVs = node("MODEL:/Tools/GlobalVariables");
treenode newGV = createcopy(first(GVs), GVs);
//修改新创建的全局变量的名称
setname(newGV, "myNewGV");
sets(first(newGV), "myNewGV");
//给该全局变量一个新的数据类型,具体类型顺序详见下图GUI界面
set(rank(newGV, 2), 1);
//给该全局变量设置初始值;总是保存为字符格式,即便它是数值型数据
sets(rank(newGV, 3), "4321");
//最后,刷新全局变量finally
refreshglobalvariables();
//现在你可以把myNewGV用作一个普通的全局变量使用了
[attach]5305[/attach]

) h; H2 o- b  d: z# t1 m
作者: 慧娴亚伦    时间: 2020-4-4 22:31
从根本来说,在局部代码里面更改或添加全局变量,都是不推荐的做法。
作者: shiny0801    时间: 2020-4-26 11:42
慧娴亚伦 发表于 2020-4-4 22:31
) }8 |) t; O  t, x3 |2 }& a' Q4 W从根本来说,在局部代码里面更改或添加全局变量,都是不推荐的做法。

: G! x1 \* {+ `8 M2 I文章里已说明,不是推荐的做法哦
作者: zorsite    时间: 2020-4-30 10:33
您这是什么版本?Flexsim2016以前的?set类命令已经废弃好久了。
作者: shiny0801    时间: 2020-5-21 09:18
zorsite 发表于 2020-4-30 10:335 F2 m' ]' s9 E8 w2 k
您这是什么版本?Flexsim2016以前的?set类命令已经废弃好久了。

" w: e" x8 r5 K' f! @现在还可以用,这篇文章是翻译的美国官方论坛的一篇帖子




欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/) Powered by Discuz! X3.3