|
实体参量
3 X) L7 `' H- i下列的命令和存取变量在Flexsim中被用作实体引用。
3 G6 r+ F* \8 D; Z K变量current和item
! F% X- q0 M5 m• current - 变量current是当前资源实体的引用。通常可以是下拉菜单中的一个存取变量。 ) ?- E {9 F& b7 F# t7 x$ Q
• Item - 变量item是某触发器或函数所涉及的临时实体引用。通常可以是下拉菜单中的一个存取变量。
3 @' n( b8 Z5 x. c0 G" i2 @引用命令
% q" e h ?- a5 _7 D6 j命令(参数列表) 说明 示例
5 p; [* l9 H3 Z9 \; y% d% l6 Yfirst(node) 返回的是所传递的实体中排序第一的对象的引用 first(current)- k: H* A }; H" I3 T
last(node) 返回的是所传递的实体中排序倒数第一的对象的引用 last(current)4 ]) ~5 X- f1 w. j
rank(node,ranknum) 返回的是所传递的实体中某给定排序的对象的引用 rank(current,3)% { v* E9 _$ Y0 M. j
inobject(object,portnum) 返回的是与所传递的实体的输入端口号相连的对象的引用 inobject(current,1)" ]$ J+ t! D( ]! \6 {% Z
outobject(object,portnum) 返回的是与所传递的实体的输出端口号相连的对象的引用 outobject(current,1); {, D% Q' x5 l% c: p/ L! c: A1 S
centerobject(object,portnum) 返回的是与所传递的实体的中间端口号相连的对象的引用 centerobject(current,1)( X0 x, k$ w: J8 x v: a
next(node) 返回的是所传递的实体中排序下一个对象的引用 next(item)
) n9 H5 Z% B v) x0 r) g1 v b7 j
- b# J* W! g, ^, Z
2 \: c/ W! p$ E9 g+ j; a; J
' y! G+ y% I3 ]3 P2 u# t/ z" e' S+ @7 C. T z
: F' D2 m+ e; t6 G1 c/ P* S; O! Q3 ?' |
% J7 ~( @; I) z$ L. ?/ l5 A, \& x6 @+ R; y6 T
1 V# z4 Z) X4 U5 F# {* Q" D0 u/ }- W9 c- q+ i
% d3 f" b5 B0 d. F1 M! C& f
7 @' [' F9 W' K# ?4 x/ L# I, r# j' r& Q
7 ?8 J& i, ~3 j* L* }1 g. Y1 \' r
! v. n* Q% v4 A; w2 Q实体属性
" u$ W( \6 @6 o& c命令(参数列表) 说明
! ?6 w" K' v/ k5 A& i, {1 Z( s! wgetname( object ) 返回实体的名称
0 W) x& N* J. ~3 `setname( object, name ) 设定实体的名称) Y+ Y$ V4 T. {3 f
getitemtype( object ) 返回实体中临时实体类型的值
/ W5 T/ }3 K( F) @setitemtype( object, num) 设定实体中临时实体类型的值
) D( B, q& m. \setcolor( object, red, green, blue ) 设定实体的颜色$ A2 O- G7 E- a4 C% Z* S: }" D; R" s
colorred( object ) blue,green,white... 设定实体的颜色为红、蓝、绿、白等
: M- z& D' m+ p4 z) A8 Rsetobjectshapeindex ( object , indexnum ) 设定实体的3D形状
! A" P" A1 f, d3 P& g' i5 \" asetobjecttextureindex ( object , indexnum ) 设定实体的3D纹理/ A( X4 ^) g( Q& c# f
setobjectimageindex ( object , indexnum ) 设定实体的2D 纹理,通常只在平面视图中使用
" s) X5 g* F9 Z; s" i实体空间属性
% C& ]/ ]$ ]. d1 C. |% k6 ]) X命令(参数列表) 说明; z/ i. Q( ~2 ]% g
( u) w' X5 P0 p/ s. s: h. uxloc( object ) yloc( object ) zloc( object ) 这些命令返回实体x、y、z轴向的位置
' a0 Z; O* [5 Fsetloc( object, xnum, ynum, znum ) 此命令设定实体x、y、z轴向的位置
+ r# F( i: T2 q- o
, G5 T1 f* [6 h [/ t- d' b+ s7 \1 zxsize( object ) ysize( object ) zsize( object ) 这些命令返回实体x、y、z轴向的尺寸大小
: W O" \% w( S7 s# Z4 q ^' ssetsize( object, xnum, ynum, znum ) 此命令设定实体x、y、z轴向的尺寸大小( ^9 ?/ P V. [
" g+ ]& V4 C; _% n# [! N8 F5 c H9 n) r9 oxrot( object ) yrot( object ) zrot( object ) 这些命令返回实体围绕x、y、z轴向的旋转角度
' j# w9 s/ r! [8 T) h7 J, vsetrot( object, xdeg, ydeg, zdeg ) 此命令设定实体围绕x、y、z轴向的旋转角度 o! g, T, s! P( J1 ~( T$ K5 t' s
9 Q3 m; ?4 P: H% H2 G
7 u, @; k4 C: P5 C8 O1 W3 f/ R& N7 B
0 v( A( J+ v3 a! U/ S9 k/ X. | R2 S! S% X( e' H" h& N H
. M( C; |. `* g* {% k! W1 A
1 i- E4 h9 L. z9 c, o6 P) E/ m+ E8 y2 c* D
. Z1 G: |$ C! w, s
. n. s' X8 `- p# r9 P0 r! h
, j. C) l! X+ D2 d6 D: u2 z/ J
- V2 t6 j+ ?0 q8 {! n q
$ X$ a# \4 P& M7 e) l
+ c* B( ? V% a9 u7 e9 k
/ x7 Q } l e5 i+ p1 n& g( @实体统计值/ Q' b" ]8 a+ R5 `* h& @# j
命令(参数列表) 说明" I! |: X# I8 ^! ?4 B/ R
content( object ) 返回实体当前数量4 { {- W: V5 I1 g% J
getinput( object ) 返回实体的输入统计( T4 H! ?- ~7 X# o r' i# |' U( g! l( B# W
getoutput( object ) 返回实体的输出统计2 T. M( |6 F1 V7 u
setstate( object, statenum ) 设定实体的当前状态7 Y4 [4 F4 h! W3 \7 D# U
getstatenum( object ) 返回实体的当前状态5 A, O" C. f K
getstatestr( object ) 以字符串返回实体当前状态
" u: Y& i* J% r: Z0 d3 h3 tgetrank( object ) 返回实体的排序
. V( S- b7 q W' ?$ I* R# _setrank( object,ranknum ) 设定实体的排序4 N- `0 m2 L e% @& m
getentrytime( object ) 返回实体进入到当前所在实体中的时刻% a8 _, Q( Y M; M2 R6 l8 l& r& z
getcreationtime( object ) 返回实体的创建时刻
J- e" N: q4 D; H实体标签! y1 s, t' F' X1 E+ U6 F
命令(参数列表) 说明
2 h x L4 E5 ~5 hgetlabelnum( object, labelname ) getlabelnum( object, labelrank) 返回实体的标签值
' n; ]& J1 w9 r6 A8 N- i: Xsetlabelnum( object, labelname , value ) setlabelnum( object, labelrank , value ) 设定实体的标签值
, B* \; A( E/ \; @/ {" Agetlabelstr( object, labelname ) 获得实体标签的字符串值
& C! K v1 S9 Z& jsetlabelstr( object, labelname , value ) setlabelstr( object, labelrank , value ) 设定实体标签的字符串值
4 L" \! p) M9 I- p6 Q1 `0 ~label( object, labelname ) label(object, labelrank) 返回一个作为节点的标签的引用,此命令常用在把标签当作一个表来使用的情况下。
, }5 p. E3 J+ l d3 w表 K: G, |6 J/ a2 ^+ z( q
命令(参数列表) 说明, ` p% m% c. I; h1 D
gettablenum( tablename / tablenode / tablerank, rownum, colnum ) 返回表中特定行列的值: t7 X0 G5 Z y4 H+ ]
settablenum( tablename / tablenode / tablerank, rownum, colnum, value) 设定表中特定行列的值) _% |" Y* n" A
gettablestr( tablename / tablenode / tablerank, rownum, colnum ) 返回表中特定行列的字符串值
5 O3 }- v/ V( wsettablestr( tablename / tablenode / tablerank, rownum, colnum, value) 设定表中特定行列的字符串值
l8 T2 e8 k h' [settablesize( tablename / tablenode / tablerank, rows, columns ) 设定表的行列数大小- @0 o7 g# m. ?0 K9 H% }7 T3 l4 q" a
gettablerows( tablename / tablenode / tablerank) 返回表的行数
( c; ?. b& d( q( j, R/ C* ^1 v- `gettablecols( tablename / tablenode / tablerank) 返回表的列数7 m: `% u$ J+ y4 C
clearglobaltable( tablename / tablenode / tablerank) 将表中所有数字值设为07 f# } A: i0 }7 v$ A, R
实体控制
" M0 F q8 Q) h命令(参数列表)) 说明
, Q4 a: M# h+ l" Scloseinput( object ) 关闭实体的输入端口
) E) F* W( c0 P5 Oopeninput( object ) 重新打开实体的输入端口+ b: P% Y, g3 S( e; ?
closeoutput( object ) 关闭实体的输出端口
( ` W6 i. Z2 F$ iopenoutput( object ) 重新打开实体的输出端口5 y, L9 `" h: F) d ~, N
sendmessage( toobject, fromobject, parameter1, parameter2, parameter3 ) 触发实体的消息触发器9 s+ w; r) R& u x: T5 O# R2 ]
senddelayedmessage( toobject, delaytime, fromobject, parameter1, parameter2, parameter3 ) 在一段特定时间延迟后触发实体的消息触发器
5 c6 W: E! H7 z5 H" g$ e$ jstopobject( object, downstate ) 无论实体在进行什么操作,都令其停止,并进入指定的状态
. u) r) m9 s G2 X1 Nresumeobject( object ) 使实体恢复其原来的无论什么操作& F; f# Z! c7 g% w: ]' G1 R
stopoutput( object ) 关闭实体的输出端口,并累计停止输出的请求* x% U* L; T& z/ r
resumeoutput( object ) 在所有停止输出请求都恢复以后,打开实体的输出端口
1 e$ G! e, E3 y- g$ cstopinput( object ) 关闭实体的输入端口,并累计停止输入的请求" Y% [2 E. c. G7 g9 C
resumeinput( object ) 在所有停止输入请求都恢复以后,打开实体的输入端口
0 v0 l8 c3 D2 ~, P- L8 F! {' t* p/ Xinsertcopy( originalobject, containerobject ) 往容器里插入新的实体复制品
2 |/ y$ B3 r+ g) Emoveobject( object, containerobject ) 将实体从当前容器移到它的新容器中
) ?' C% `* ]- a高级函数6 f5 Q6 h% z z l u, K7 U0 }
实体变量
( U2 N5 {9 Y% F5 [3 w! F% f命令(参数列表) 说明# I" P' C( J7 b$ u. g
getvarnum( object, “variablename” ) 返回给定名称的变量的数值2 n2 s% _7 j7 z5 ?: e
setvarnum( object, “variablename” , value ) 设定给定名称的变量数值2 }6 k9 b* o+ U
getvarstr( object, “variablename” ) 返回给定名称的变量的字符串值" m: J8 G8 y# b8 U# @0 W7 C1 y
setvarstr( object, “variablename” , string ) 设定给定名称的变量的字符串值( ], X( P8 c3 Q/ e& p: t% C
getvarnode( object, “variablename” ) 返回一个节点,作为指向给定名称的变量的引用8 i q2 G2 [1 u
任务执行器控制$ {/ @( C5 ^% |" U- h$ `" h! i0 K
参见任务序列,可以获得更多有关控制任务执行器的信息。
' N) G3 F# h. R+ O! _4 I& H1 ~$ F提示和界面输出7 b% D- n' Y/ H# H+ e$ S7 D
命令(参数列表) 说明% { h* }/ ^+ D& B V
pt( text string ) 向输出控制台打印文本! e) ^/ U& ?8 r: ^3 g: n
pf( float value ) 向输出控制台打印浮点数值
+ w1 H B" m) x& O, \1 vpd( discrete value ) 向输出控制台打印整数数值
+ [% H* B5 a! x6 ^, Jpr( ) 在输出控制台中建新的一行
; d% T- s* l$ T$ J$ S5 X# ?. bmsg( “title”, “caption” ) 打开一个简单的“ 是、否、取消”消息框
/ |8 |7 S0 C: H0 d, o, C# Vuserinput( targetnode, “prompt” ) 打开一个可以设定模型节点值的对话框
8 f$ f: I4 Z: E9 j) _' n/ L8 s5 v$ Xconcat( string1, string2, etc. ) 合并两个或多个字符串
$ g" ?/ y( j* F/ P K更多高级函数
2 O- C! }: [" p+ H2 j: r5 n1 K下面是可能使用到的更多高级函数。这里没有提供参数列表,参见命令集可获得更多信息。
$ J ~: g: Q- b/ b2 Y- L节点命令 - node(), nodeadddata(), getdatatype(), nodetopath(), nodeinsertinto(), nodeinsertafter(), getnodename(), setnodename(), getnodenum(), getnodestr(), setnodenum(), setnodestr(), inc();( d' ^3 o8 ~$ \
数据交换命令 - stringtonum(), numtostring(), tonum(), tonode(), apchar();
/ X4 S) J; A# k! k节点表命令 - setsize(), cellrc(), nrows(), ncols();2 \" `+ H) y- J O
模型运行命令 - cmdcompile(), resetmodel(), go(), stop(); O+ K, Z9 ^6 @ m6 W! u
3D个性化绘制代码命令 - drawtomodelscale(), drawtoobjectscale(), drawsphere(), drawcube(), drawcylinder(), drawcolumn(), drawdisk(), drawobject(), drawtext(), drawrectangle(), drawline(), spacerotate(), spacetranslate(), spacescale();
+ R; P7 F- n0 l! k# K; tExcel命令 - excellaunch(), excelopen(), excelsetsheet(), excelreadnum(), excelreadstr(), excelwritenum(), excelwritestr(), excelimportnode(), excelimporttable(), excelclose(), excelquit();$ @: V7 i5 i; b! t; ^) ~
ODBC命令 - dbopen(), dbclose(), dbsqlquery(), dbchangetable(), dbgetmetrics(), dbgetfieldname(), dbgetnumrows(), dbgetnumcols(), dbgettablecell(), dbsettablecell();7 m& g$ H8 q" _0 w- {
运动学命令 - initkinematics(), addkinematic(), getkinematics(), updatekinematics(), printkinematics() |
|