全球FlexSim系统仿真中文论坛

搜索
查看: 2939|回复: 4
打印 上一主题 下一主题

如何使用脚本定义全局变量

[复制链接]
跳转到指定楼层
1#
shiny0801 发表于 2020-4-3 17:41:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如果您有一个创建好的全局变量,您可以在 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用作一个普通的全局变量使用了

& k* i0 i6 r+ p1 w3 B

本帖子中包含更多资源

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

x
2#
慧娴亚伦 发表于 2020-4-4 22:31:41 | 只看该作者
从根本来说,在局部代码里面更改或添加全局变量,都是不推荐的做法。
3#
 楼主| shiny0801 发表于 2020-4-26 11:42:29 | 只看该作者
慧娴亚伦 发表于 2020-4-4 22:31
- I( t) w) k6 j1 w从根本来说,在局部代码里面更改或添加全局变量,都是不推荐的做法。
4 R1 b: ^$ e/ l) |) }1 S
文章里已说明,不是推荐的做法哦
4#
zorsite 发表于 2020-4-30 10:33:57 | 只看该作者
您这是什么版本?Flexsim2016以前的?set类命令已经废弃好久了。
5#
 楼主| shiny0801 发表于 2020-5-21 09:18:41 | 只看该作者
zorsite 发表于 2020-4-30 10:33
! e8 W1 m- E# b: w' ]: s您这是什么版本?Flexsim2016以前的?set类命令已经废弃好久了。
6 v7 {+ l4 q/ n5 i% P; o
现在还可以用,这篇文章是翻译的美国官方论坛的一篇帖子
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-4-27 08:24 , Processed in 0.066963 second(s), 14 queries .

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

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