|
实体参量2 p2 F. b S( k: V: s# E
下列的命令和存取变量在Flexsim中被用作实体引用。2 @9 J" D0 h5 Z) \' t0 X- w) u
变量current和item
- W* f$ } N2 e/ m- i$ ]• current - 变量current是当前资源实体的引用。通常可以是下拉菜单中的一个存取变量。
6 I% A% R' X- H" b• Item - 变量item是某触发器或函数所涉及的临时实体引用。通常可以是下拉菜单中的一个存取变量。
1 V; i6 K2 J! n/ c" y+ U* Y8 f引用命令! M: \ x- Y" u; n3 e
命令(参数列表) 说明 示例
3 L* b1 N6 K, Z0 @: S7 ]9 F7 ffirst(node) 返回的是所传递的实体中排序第一的对象的引用 first(current)' e' e+ s7 c0 F% W
last(node) 返回的是所传递的实体中排序倒数第一的对象的引用 last(current)
) [) q* f9 s2 R" p$ D8 b6 orank(node,ranknum) 返回的是所传递的实体中某给定排序的对象的引用 rank(current,3)# q1 r% r* j* @* r- ~: `
inobject(object,portnum) 返回的是与所传递的实体的输入端口号相连的对象的引用 inobject(current,1)
# o0 ]) x) @9 qoutobject(object,portnum) 返回的是与所传递的实体的输出端口号相连的对象的引用 outobject(current,1)
: I4 L$ n' J6 G8 q( Hcenterobject(object,portnum) 返回的是与所传递的实体的中间端口号相连的对象的引用 centerobject(current,1)# f! F* k7 r. n) T' t/ v$ O
next(node) 返回的是所传递的实体中排序下一个对象的引用 next(item)
" k" w/ N/ z2 w: z& v7 X+ B R* F0 y3 X. Y# g
- p" R F: O' B4 ^3 z
2 k) |" p* ~9 R# f1 W- `
+ `# f5 \1 ^3 [4 s& B- ]% Q
# M2 W" Q; b- g4 ]2 B6 m& d
8 F0 i1 @ k% F) B3 k
) S5 U8 |5 D+ C# x; T# Q+ K4 A! r
; }/ h$ S4 O' M& `+ @, p# a
% l; P$ H& Q) q1 d
, v, L9 E/ y) S# F6 z* R) G- ~% K. s0 s9 ~
# W! i2 ~- I9 R# }& g, h+ e; c# [: J* D# B6 `. S8 g0 J
& ~9 @ N2 t7 Q( f7 ^: R0 }& j8 |% @1 g$ ~
9 r2 h+ r) m# \4 w实体属性
! |. A. ?, F9 U! r4 l- |6 o/ K5 t# u命令(参数列表) 说明' s2 X0 ^! M, r% `+ E0 ?
getname( object ) 返回实体的名称; g7 c: L, q3 ^5 E
setname( object, name ) 设定实体的名称% M3 J0 m% O+ v- Z7 m+ v) l, y- E
getitemtype( object ) 返回实体中临时实体类型的值
5 o6 w; `* `2 l' @9 M% v1 asetitemtype( object, num) 设定实体中临时实体类型的值0 g/ F5 a4 f, G( B5 q
setcolor( object, red, green, blue ) 设定实体的颜色
4 Z- }* \. }3 \* Ccolorred( object ) blue,green,white... 设定实体的颜色为红、蓝、绿、白等
- s5 q, ~$ t' z6 M2 C0 `setobjectshapeindex ( object , indexnum ) 设定实体的3D形状
0 z& ~* E) M' P$ D* c3 {1 \, Dsetobjecttextureindex ( object , indexnum ) 设定实体的3D纹理/ {" h/ V* z/ B
setobjectimageindex ( object , indexnum ) 设定实体的2D 纹理,通常只在平面视图中使用# k! G( g& H# D3 q8 m: @
实体空间属性
# C' Z/ t. F2 l. h命令(参数列表) 说明
' q6 A! D0 j. y1 }# T2 ?% W
9 w! [9 T0 n2 ?3 p _8 cxloc( object ) yloc( object ) zloc( object ) 这些命令返回实体x、y、z轴向的位置
: f/ y9 Y: h1 M1 c, T3 h. I' Ssetloc( object, xnum, ynum, znum ) 此命令设定实体x、y、z轴向的位置
, ^' m3 N4 i8 B v* |: _ + O& O7 E) g6 p% H% p$ d
xsize( object ) ysize( object ) zsize( object ) 这些命令返回实体x、y、z轴向的尺寸大小
! T5 h& T" M+ L( _- Csetsize( object, xnum, ynum, znum ) 此命令设定实体x、y、z轴向的尺寸大小
8 i2 b! j( r7 p, Y" Z/ c+ G ( y; R {- F4 K0 A" S3 H
xrot( object ) yrot( object ) zrot( object ) 这些命令返回实体围绕x、y、z轴向的旋转角度
! Z; B! }& x0 ^$ i1 x) D; p( Ysetrot( object, xdeg, ydeg, zdeg ) 此命令设定实体围绕x、y、z轴向的旋转角度, \: _1 r- @! w
; p. f$ Q+ _$ z! |# k
! P3 _1 Q9 N2 X
- u+ c& D5 c5 _ v1 I. M3 h: f5 h7 K" F
% G7 N. V% H7 N
: Q0 j" ?7 T% i+ V9 C# Q/ e5 `& N4 d/ S0 x. J
" ?4 A& P* ]3 G; \2 R2 ~6 c, B1 A {9 E: c
5 d: v: W/ W0 M- s7 ? c) f
: m+ c7 ]8 I" B& m6 [) p$ Y- k2 V$ l; V$ o3 J8 h5 F+ e' q
Z) | T8 l5 H2 r" T4 ?2 m* J5 l. z9 r
9 W& v7 v5 i, b实体统计值
" W0 g7 i V2 u: D! E8 N4 a命令(参数列表) 说明
& r4 |3 Z, i4 }3 q9 W! I$ x9 Mcontent( object ) 返回实体当前数量* b3 L' q' `( i+ U* a
getinput( object ) 返回实体的输入统计
s. d7 h/ V/ E1 R4 p4 A! hgetoutput( object ) 返回实体的输出统计& R- j4 d; X' f5 O
setstate( object, statenum ) 设定实体的当前状态9 Y# ~- L2 ]9 Z
getstatenum( object ) 返回实体的当前状态
3 h/ C( s* J; Wgetstatestr( object ) 以字符串返回实体当前状态8 m5 M, {/ a8 F* `% x" z
getrank( object ) 返回实体的排序
' ~" c: Q# |% R( F* k8 Isetrank( object,ranknum ) 设定实体的排序
J9 v5 t, O7 N& A7 Sgetentrytime( object ) 返回实体进入到当前所在实体中的时刻) w9 i9 t' ]8 F9 X
getcreationtime( object ) 返回实体的创建时刻
. _+ W5 p6 y% i. {$ ?- o+ v实体标签- G+ t$ l. t$ ]8 W
命令(参数列表) 说明8 _' l; r6 d) k& {) N
getlabelnum( object, labelname ) getlabelnum( object, labelrank) 返回实体的标签值
% K, D* M5 v- ?; x8 {setlabelnum( object, labelname , value ) setlabelnum( object, labelrank , value ) 设定实体的标签值3 @6 d/ d7 v7 i" u& ^
getlabelstr( object, labelname ) 获得实体标签的字符串值
$ I- T8 S( ]4 P2 Rsetlabelstr( object, labelname , value ) setlabelstr( object, labelrank , value ) 设定实体标签的字符串值
1 d0 a0 @- u7 }label( object, labelname ) label(object, labelrank) 返回一个作为节点的标签的引用,此命令常用在把标签当作一个表来使用的情况下。8 `8 `0 V( N, y c9 O: f- Q
表
" \, x' T" n! D% b% v7 S+ W命令(参数列表) 说明
' Q& g" M' W/ vgettablenum( tablename / tablenode / tablerank, rownum, colnum ) 返回表中特定行列的值" N. K7 W4 }7 d) `( L( z- u' P
settablenum( tablename / tablenode / tablerank, rownum, colnum, value) 设定表中特定行列的值4 i3 E. u( K% N; ^
gettablestr( tablename / tablenode / tablerank, rownum, colnum ) 返回表中特定行列的字符串值
/ X5 F* R" ]) k0 w M, M0 csettablestr( tablename / tablenode / tablerank, rownum, colnum, value) 设定表中特定行列的字符串值
- e8 y8 D/ b2 G7 Z: Q; [settablesize( tablename / tablenode / tablerank, rows, columns ) 设定表的行列数大小) K, _ Q2 W0 j
gettablerows( tablename / tablenode / tablerank) 返回表的行数
+ q# |0 o' i% I1 v& E- Dgettablecols( tablename / tablenode / tablerank) 返回表的列数
' N0 A- q# k2 \6 P/ L8 ^; tclearglobaltable( tablename / tablenode / tablerank) 将表中所有数字值设为0
5 n) s; E% I* U- r- k实体控制
% Y0 A6 y j+ X; z1 R2 T. K' c. V命令(参数列表)) 说明
6 c! \8 V* w/ S6 |1 n: ^closeinput( object ) 关闭实体的输入端口/ H& Q/ i4 J3 K1 f1 q
openinput( object ) 重新打开实体的输入端口) T$ C/ Y5 X, ~3 o
closeoutput( object ) 关闭实体的输出端口+ v/ P, S5 n9 c% W
openoutput( object ) 重新打开实体的输出端口
) ?: p6 z# g# \6 D( msendmessage( toobject, fromobject, parameter1, parameter2, parameter3 ) 触发实体的消息触发器
' e0 P# Y Y0 w' {: [senddelayedmessage( toobject, delaytime, fromobject, parameter1, parameter2, parameter3 ) 在一段特定时间延迟后触发实体的消息触发器
% Y9 T; D* |; ]; k% Vstopobject( object, downstate ) 无论实体在进行什么操作,都令其停止,并进入指定的状态' D L3 C& ?' D5 L
resumeobject( object ) 使实体恢复其原来的无论什么操作" u6 Z) t. u& F) V' \
stopoutput( object ) 关闭实体的输出端口,并累计停止输出的请求
8 H, L& w( v, K' Y; Tresumeoutput( object ) 在所有停止输出请求都恢复以后,打开实体的输出端口
" f2 C0 {, h1 fstopinput( object ) 关闭实体的输入端口,并累计停止输入的请求
, z2 a: Q* z* P, Lresumeinput( object ) 在所有停止输入请求都恢复以后,打开实体的输入端口
1 n4 `4 O8 n6 j" u4 s( jinsertcopy( originalobject, containerobject ) 往容器里插入新的实体复制品( }4 _2 l, T5 p6 p# |) |' f
moveobject( object, containerobject ) 将实体从当前容器移到它的新容器中
; L6 r8 i. L" k2 }高级函数
) }4 p& Z; }/ B. p! H# k9 i实体变量
9 o# k' j; s9 {1 J4 q命令(参数列表) 说明5 R# t2 |& T' _' d7 T5 ^, b8 e
getvarnum( object, “variablename” ) 返回给定名称的变量的数值
2 Q6 [/ I' t( P) o5 a+ ?setvarnum( object, “variablename” , value ) 设定给定名称的变量数值" e. b( K3 A: J
getvarstr( object, “variablename” ) 返回给定名称的变量的字符串值- \, _: o, w$ R% E' [
setvarstr( object, “variablename” , string ) 设定给定名称的变量的字符串值4 r" K, A' G* \
getvarnode( object, “variablename” ) 返回一个节点,作为指向给定名称的变量的引用
' Y8 T6 N$ H1 d9 {, R任务执行器控制
0 M$ m8 o2 L% Q3 K |1 u/ ~* z参见任务序列,可以获得更多有关控制任务执行器的信息。+ B% T5 e0 r9 D& f$ K! o
提示和界面输出4 n8 l! G3 t4 ] S1 R0 |
命令(参数列表) 说明' q7 p2 i8 q, M' `8 v2 f: D
pt( text string ) 向输出控制台打印文本
( i& z! l7 J: a; E U9 Dpf( float value ) 向输出控制台打印浮点数值4 @% U( ], |, Y2 |* K# C2 f
pd( discrete value ) 向输出控制台打印整数数值
+ Y' u+ n% S3 z% Y$ apr( ) 在输出控制台中建新的一行
& S: S5 N$ _! q1 B( Emsg( “title”, “caption” ) 打开一个简单的“ 是、否、取消”消息框
! @# M% n2 V1 `' Buserinput( targetnode, “prompt” ) 打开一个可以设定模型节点值的对话框
! T( w& i2 G+ r" bconcat( string1, string2, etc. ) 合并两个或多个字符串& {0 p) L O( p8 k3 B; L
更多高级函数0 `- v8 t$ W( \ ^0 e0 r' }6 U
下面是可能使用到的更多高级函数。这里没有提供参数列表,参见命令集可获得更多信息。
/ S) s7 B8 u) u! a7 {节点命令 - node(), nodeadddata(), getdatatype(), nodetopath(), nodeinsertinto(), nodeinsertafter(), getnodename(), setnodename(), getnodenum(), getnodestr(), setnodenum(), setnodestr(), inc();
# S6 m& Q: m; @2 S9 j2 a数据交换命令 - stringtonum(), numtostring(), tonum(), tonode(), apchar();
) [6 \% |& y7 `' l5 V4 T节点表命令 - setsize(), cellrc(), nrows(), ncols();1 V* I! M, |, j6 H+ ~( E- Z
模型运行命令 - cmdcompile(), resetmodel(), go(), stop();/ H% M$ @# e# E6 G
3D个性化绘制代码命令 - drawtomodelscale(), drawtoobjectscale(), drawsphere(), drawcube(), drawcylinder(), drawcolumn(), drawdisk(), drawobject(), drawtext(), drawrectangle(), drawline(), spacerotate(), spacetranslate(), spacescale();
/ d* A c, h0 T0 [& b" G; KExcel命令 - excellaunch(), excelopen(), excelsetsheet(), excelreadnum(), excelreadstr(), excelwritenum(), excelwritestr(), excelimportnode(), excelimporttable(), excelclose(), excelquit();
' N6 b# m4 A& A# k- tODBC命令 - dbopen(), dbclose(), dbsqlquery(), dbchangetable(), dbgetmetrics(), dbgetfieldname(), dbgetnumrows(), dbgetnumcols(), dbgettablecell(), dbsettablecell();
( ^ B7 {0 M4 |; i+ Z运动学命令 - initkinematics(), addkinematic(), getkinematics(), updatekinematics(), printkinematics() |
|