全球FlexSim系统仿真中文论坛

搜索
查看: 6438|回复: 2
打印 上一主题 下一主题

Global table Lookup问题

[复制链接]
跳转到指定楼层
1#
manaijin 发表于 2017-4-22 14:08:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
翻译:https://answers.flexsim.com/ques ... e-lookup-error.html0 V8 Y1 E: `! v$ r6 ~! e3 w
问题5 H8 S: b4 D3 h7 w8 H# b- s2 k$ M
在Delay活动中,使用Global TableLookup选项,会有数值类型选项:number, expression, automatic。在新版本中,当我在Global TableLookup中创建一个delay time或者Label,它并不会读取全局表中实际的值。表中的值设置为字符串表示的三角分布。! Q  P6 B, f4 W' n
回答# ~1 c' S) w; i1 x4 _
以前版本的Flexsim,Global Table的数值类型只有数字和字符两种。所以在“Global Table Lookup”列表中,如果选择“Number”,底层代码调用此Global Table时,应该使用gettablenum()函数来获取全局表中单元的值。在“Global Table Lookup”列表中,如果选择“Expression”,底层代码将会把全局表中单元的值默认为字符串,并使用executetablecell()函数来执行此字符串,获得返回值。 The "Automatic" option would try to determine the data type of the table cell first, then do one of those two options.(这部分不是太理解)
7 c* O" e% j3 w6 X$ v4 e  @在Flexsim添加了点语法之后,Global Table能够支持7种不同类型的数据(详细说明参考用户手册中Global Tables部分)。其中一个类型是FlexScript。2 a: k3 @8 R7 X: \, s$ e
所以当在一个Delay活动中,使用Global Table Lookup选项,代码不再调用和之前版本相同的命令。此时代码将会创建一个变量为Table类型,并使用它引用一个特定的全局表。之后可以使用括号操作符引用全局表中的单元,例如下面的代码:# d- U1 m) n1 u" j- g' W
Table table = Table("Fred"); // Get a reference to a global table named Fred2 f4 d2 g/ z0 c/ E4 h# G
return table[1][1]; // Return the value from the table cell found at row 1 and column 1
8 N# V# ~- m6 C* W9 N所以返回全局表中的值,而与全局表中单元是什么类型无关。当引用的单元为FlexScript时,单元格的返回值为FlexScript的返回值。
# n' x! R6 P3 e& D* |- f: K: t/ y在Flexsim2017版中,旧版的Delay活动仍然有效。然而,如果在最新版本Flexsim中,对旧的模型添加任何新的Delay活动并使用Global Table Lookup选项,建议修改合适的单元类型。方法:右击单元格、行或列,进行如下操作:
( v# j3 g: Y8 m2 l) U: L( z0 b8 ?, u, y1 J9 N% @0 Z
否则,任何新的Delay活动将会将单元格中的值作为字符串处理,这会导致delay time返回0。这一修改不会影响旧版本的Delay活动,因为即使单元格被设置为FlexScript类型,executetablecell()也会一直返回正确的值。

本帖子中包含更多资源

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

x
2#
慧娴亚伦 发表于 2017-4-23 00:50:29 | 只看该作者
感谢分享。& i6 n5 ?" j7 Q2 V- Z
同样的这个只在2017.1才行,2017版本还没支持。
3#
eb_sun 发表于 2017-4-23 11:02:45 | 只看该作者
谢谢 分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-9-6 06:15 , Processed in 0.069842 second(s), 15 queries .

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

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