全球FlexSim系统仿真中文论坛

搜索
查看: 4799|回复: 5
打印 上一主题 下一主题

如何得到tree中的變數值?

[复制链接]
跳转到指定楼层
1#
ccharlie 发表于 2012-12-4 22:31:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位先進,我想要利用VisualTool來動態顯示tree內的變數值( F3 H: p4 b7 R+ F+ U
,例如Queue中objectinfo,可是objectinfo內有三個變數: X+ v  o) E- r, J- T9 K
,包括CurContent, MaxContent, AvgStaytime,我試過在: J8 v! ?: E$ z: C7 j% C" R4 v! u
VisualTool內的text display中設定指令,但仍顯示數值0,沒有達到預期的等候線的等候量
" s5 B+ R5 t8 F  qtreenode current = ownerobject(c);) A% _2 w9 G, T* o8 }5 _
treenode  textnode = parnode(1);
6 k  x9 i( O: f; G7 l+ {/**Display Text*/
: Q- E/ y/ u: \  |) Z6 A4 u) ~/ Z3 B; W2 U" K
/** \nText: */9 @" r+ ?& y$ A. Q! f3 g9 h% I
string text = /**/"Hello"/**/;/ M8 q4 O/ g" A4 b
treenode queuevar1 = node("/Queue2/objectinfo/CurContent", model());2 I  z  ~  S/ @5 t! ]
double curcontent = getnodenum(queuevar1);& v1 i- a% Y  P$ p: i5 s

( K& O9 D. M. v6 ~" c) q9 y1 Fsetnodestr(textnode,numtostring(curcontent));
. g- T, Y$ r7 Z$ k/ a; [+ V$ D; L2 s6 Z% s' X
return 1;
5 t: m0 m. x, n) V4 F1 q, f我知道以下指令可以顯示等候線量,但我仍想知道如何得到tree中的數值; i& N$ \; `( L
double curcontent = getnodenum(queuevar1);4 R! _) T: D  t  Z2 y
double zz = content(node("/Queue2",model()));
1 D9 k, J# y: b8 \  asetnodestr(textnode,numtostring(zz));
2#
domcylai 发表于 2012-12-5 09:05:12 | 只看该作者
得到tree中的值有很多種方法,樓主不妨到論壇上看看其他帖子。
5 S1 K0 \$ E( w3 `8 b1 [( c8 t3 A
: P% k7 b$ [1 I我做了一個小模型,用可眎化工具“佈告板”功能顯示實體的某些屬性: 暫存區的當前容量CurContent和處理器的平均停留時間AvgStaytime。這兩個數值都可以在Model tree 中找到對應的節點,  但其實有更簡單的獲得這些值的方法,不僅限于node()函數,也可以使用其他命令。" G: `% P$ o) ?' A

0 a7 W* G3 [9 x' F  o6 U8 B請下載模型(Version6.0.2Chinese)參考:
+ X6 M7 J* u0 n3 Q! N& o
9 Q0 W; F6 j& J0 L2 a" ~/ |6 c+ @3 e+ R3 A; C8 W
關於tree的操作有很多內容,可以參考下面幾個帖子:, [- Y) O8 |+ s6 D8 R0 r* ?
http://flexsim.asia/viewthread.php?tid=2956&extra=page%3D1
7 w6 t* b$ t/ V, _; D" P7 o$ |http://flexsim.asia/viewthread.php?tid=2898&extra=page%3D1

本帖子中包含更多资源

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

x

评分

参与人数 1威望 +30 收起 理由
shadowwind + 30 技术答疑回帖

查看全部评分

3#
 楼主| ccharlie 发表于 2012-12-5 14:34:28 | 只看该作者
本帖最后由 ccharlie 于 2012-12-5 14:37 编辑 ' c2 K- q! l3 Y  ^
得到tree中的值有很多種方法,樓主不妨到論壇上看看其他帖子。
  k7 u2 Q  D" o0 [. \- M$ h6 g; R0 c  y! U& N: \) V8 V' b. l
我做了一個小模型,用可眎化工具“佈告板”功能顯示實體的某些屬性: 暫存區的當前容量CurContent和處理器的平均停留時間AvgStaytime。這兩個數值都 ...
* S4 s! |+ p# ~* I2 `. Rdomcylai 发表于 2012-12-5 09:05
% Q. J; ^. F+ j5 [% N' e
感謝domcylai的回應,剛剛研究了domcylai的模型,他是用stats_staytimeavg這個屬性來獲取個體在機台的平均停留時間,此種方法需要事先先知道stats_staytimeavg這個屬性值,而我想知道的是有沒有方法可以直接抓取tree鍾某個節點的值並顯示在visualtools中,例如queue中的objectinfo有3個變數,有沒有方法可以直接抓出例如maxcontent的值。
5 `' a4 N- ]9 _$ _% E

本帖子中包含更多资源

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

x
4#
 楼主| ccharlie 发表于 2012-12-5 14:49:50 | 只看该作者
3# ccharlie ' G. n- c9 S  M
又例如另外一個例子,我做了一個模型用來計算運作中模型的再製品量,wip是globaltable,在tree中也找的到,當然可以用gettablenum("wip",1,1)來取得數字,但如果要從tree中直接抓取數字不曉得有沒有別的方法,也請各位先進幫忙,感謝!
: @% R0 L( h; I5 H$ o8 q
6 Y7 R; p4 y1 d, r: i  l

本帖子中包含更多资源

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

x
5#
domcylai 发表于 2012-12-5 15:29:32 | 只看该作者
4# ccharlie
( a" e3 ~: B  `. l  g( y/ U
3 z. x9 t" L$ N; \; \, C. x0 I7 ?# I6 g
原理相同:    . D! b7 T, C# Q& j9 X
treenode thenode = ...;         //获得想要的节点变量& }  n/ ~+ f* d2 c. L6 d# x
int value = getnodenum(thenode);         //使用函數獲得節點的值,并用正確的類型標示符返回到腳本中
6#
 楼主| ccharlie 发表于 2012-12-5 15:38:34 | 只看该作者
5# domcylai 0 u# A6 N6 G% B% O
4 ]3 c: y5 o( b* X5 V# e1 f
無奈啊,還是失敗! q# V  n+ T1 g4 d1 _
我使用
6 q! w- t$ j& c. Htreenode current = ownerobject(c);
4 A% r+ N  h) q  f- itreenode  textnode = parnode(1);3 e% b9 A# y4 C3 O. ^) ?$ `7 k7 O
treenode thenode = node("/Tools/GlobalTables/wip/variables/data/Row 1/Col 1",model());
- i: t( z7 N! z6 T* X$ ~% _7 b9 c
/**Display Text*/. H6 F  n$ R1 I

  Q! P7 C7 Z8 \& E' S5 {/** \nText: */- I5 I' z- L2 n" r
//string text = /**/"Hello"/**/;% l+ Z/ F# \% U# l- T8 F
int wip = getnodenum(thenode);5 \3 c! K' E! p' r' s
setnodestr(textnode,numtostring(wip));1 U# Q5 T( |8 Y0 I

+ S1 K- N. u' I" Xreturn 1;
* Z$ k) L8 r+ j  c( D. L但顯示出來的wip量一直都是0/ x. ?: R7 j$ J! W' q' q

$ S  `0 Y( A) Q' m1 m- o+ o: f+ ^4 p  @
8 b. M9 y) n( S0 [0 x

本帖子中包含更多资源

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

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-9-8 00:27 , Processed in 0.069881 second(s), 15 queries .

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

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