全球FlexSim系统仿真中文论坛

搜索
查看: 13585|回复: 9
打印 上一主题 下一主题

函数库

[复制链接]
跳转到指定楼层
1#
wj109260758 发表于 2010-7-15 00:13:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
实体参量2 k& @; r8 N/ R6 i: _
下列的命令和存取变量在Flexsim中被用作实体引用。  k) |2 `" a3 E1 m
变量current和item- @4 P( a8 ]& f5 s, G& \! ^- G+ H
•        current - 变量current是当前资源实体的引用。通常可以是下拉菜单中的一个存取变量。
4 D8 r' J6 _* Z' V. m•        Item - 变量item是某触发器或函数所涉及的临时实体引用。通常可以是下拉菜单中的一个存取变量。
# s0 R$ U5 I) b引用命令
" i% F4 `  A, Q3 K) _7 ?命令(参数列表)        说明        示例. \: f+ E7 I1 c6 F0 T9 r
first(node)        返回的是所传递的实体中排序第一的对象的引用        first(current)% ?: f+ @# T9 }
last(node)        返回的是所传递的实体中排序倒数第一的对象的引用        last(current)
/ v1 C  o: u+ drank(node,ranknum)        返回的是所传递的实体中某给定排序的对象的引用        rank(current,3)
/ U& I: p, s- }+ m9 Minobject(object,portnum)        返回的是与所传递的实体的输入端口号相连的对象的引用        inobject(current,1)
9 [# r$ S7 i- q" v6 s8 ~outobject(object,portnum)        返回的是与所传递的实体的输出端口号相连的对象的引用        outobject(current,1)
) l; t) s, e. ]4 v& x# x: Vcenterobject(object,portnum)        返回的是与所传递的实体的中间端口号相连的对象的引用        centerobject(current,1)- W& A/ H# X1 C( c9 X
next(node)        返回的是所传递的实体中排序下一个对象的引用        next(item)
7 w0 b' W2 e" Y: U( K
' b( T& B3 o+ w# Y7 H! ~$ a( n
: Y; i" L) H' t' e6 b. B2 l+ T% q% x$ c9 I+ A2 x% V6 K

" k; K" K$ y/ V+ n5 T; ~) W, J# \' G
) i& {+ o$ i4 l. Y- @% i
6 U/ c  J5 L' V9 @+ Q
; v" T. J2 N# ^, j
# f+ i# p, _$ [6 t. @+ B/ ]( e+ c( U
) S( \- @9 c' \2 f) a0 e0 L  B0 w
3 B) C' Q) `4 \  S/ t. [/ t& I
( O4 P: |! i/ c- G% D9 b( q
- p  m4 c  {# K( o

9 C" A! X; Y: `1 Z
( y& h; G- i# R: ~: a2 R# \/ `( l8 @" v3 ]0 w; I
实体属性
% S: P- m) U+ d命令(参数列表)        说明: O& ?0 p0 A6 M2 ]+ n+ t
getname( object )        返回实体的名称. D8 l( `: F6 k" a2 S
setname( object, name )        设定实体的名称
& a( h1 Y1 a9 a% {+ \. Hgetitemtype( object )        返回实体中临时实体类型的值+ h& I8 D9 c, N' A% K: L
setitemtype( object, num)        设定实体中临时实体类型的值6 y6 P3 Z! O3 g3 x8 t* C8 A$ j3 W
setcolor( object, red, green, blue )        设定实体的颜色7 v1 B3 S/ X0 g  k- I$ M. n+ b
colorred( object ) blue,green,white...        设定实体的颜色为红、蓝、绿、白等: B$ W6 l4 ]' D# }& D
setobjectshapeindex ( object , indexnum )        设定实体的3D形状
9 E- F$ }+ g8 E4 P- h; O1 ?4 B4 _setobjecttextureindex ( object , indexnum )        设定实体的3D纹理
% W$ E: {6 ~% L5 i  Esetobjectimageindex ( object , indexnum )        设定实体的2D 纹理,通常只在平面视图中使用8 Q, ^& H; S/ O
实体空间属性
  P! O2 ]8 _& n! p3 H命令(参数列表)        说明$ N: z1 O7 @7 t* W0 U
         
& ^$ M$ Y5 p/ h3 W3 Lxloc( object ) yloc( object ) zloc( object )        这些命令返回实体x、y、z轴向的位置6 {/ I7 T  k: [  ?: d! Y2 s
setloc( object, xnum, ynum, znum )        此命令设定实体x、y、z轴向的位置. x& r) ~  A2 E! c" `
         
% }8 W; v5 p) m4 a) z" h3 ?* qxsize( object ) ysize( object ) zsize( object )        这些命令返回实体x、y、z轴向的尺寸大小
6 m7 C4 p6 O) A* V# ?setsize( object, xnum, ynum, znum )        此命令设定实体x、y、z轴向的尺寸大小5 \" B2 @4 ~3 P. A. |
         ( T9 A; G! W" e
xrot( object ) yrot( object ) zrot( object )        这些命令返回实体围绕x、y、z轴向的旋转角度) z% p5 K2 g- s4 Y7 e0 g$ O
setrot( object, xdeg, ydeg, zdeg )        此命令设定实体围绕x、y、z轴向的旋转角度
% u9 s& ?  c, C" l2 H4 t
! s; T8 Y0 }) _& t* Z' y% ?
# a. t* E" _" [: b* t
! a( N9 `: h" p+ T# [/ U) b0 O5 z! E$ N) w
$ H3 ~( e2 H/ x( a0 _8 E

% i) ~. ?' q. u+ r( }% D) F& f2 n4 b

7 l+ J6 c/ \0 O. g1 y' G) M+ [" l% z: t2 w+ z
4 ]4 y) i$ e) U9 r; v! [7 _

% n- l' j( a' R5 R* L  K+ c. [- H( q
7 B; o$ w* U5 T1 C4 @

) ~0 ]6 D/ `  Z% m# Y
/ I! O3 O  q/ v4 G实体统计值% G6 Q) M. Q3 x: n/ c/ y
命令(参数列表)        说明
! F. o5 r& I2 G/ v2 c! o2 pcontent( object )        返回实体当前数量
# u. Y4 _9 o) bgetinput( object )        返回实体的输入统计
& o; M0 l; q$ T0 k2 F8 o( }getoutput( object )        返回实体的输出统计% R, ?% G( P2 f2 _, n; j6 ~* W
setstate( object, statenum )        设定实体的当前状态9 F. g+ I6 D5 k- v* |" B/ `
getstatenum( object )        返回实体的当前状态
( o7 p6 X- X7 z: {+ @; O8 a" dgetstatestr( object )        以字符串返回实体当前状态, I3 O7 z3 y0 j0 O' M! u' {7 r
getrank( object )        返回实体的排序: }, I& s# ^* P% U0 ~. J: m
setrank( object,ranknum )        设定实体的排序
1 E4 a. t8 B& S# p! \+ u+ A/ |getentrytime( object )        返回实体进入到当前所在实体中的时刻7 f8 C: o& o5 a4 \6 |) q
getcreationtime( object )        返回实体的创建时刻) t. g& h- l5 n4 f0 _2 z, J
实体标签
& b/ l+ W: K( i6 W+ O命令(参数列表)        说明4 f8 N( s9 l( X  p4 a+ }
getlabelnum( object, labelname ) getlabelnum( object, labelrank)        返回实体的标签值6 w4 v8 }: U& K& b+ N: o
setlabelnum( object, labelname , value ) setlabelnum( object, labelrank , value )        设定实体的标签值4 P$ i, Y' S0 k6 `
getlabelstr( object, labelname )        获得实体标签的字符串值$ i! b8 S% j3 y; @' v* v: K
setlabelstr( object, labelname , value ) setlabelstr( object, labelrank , value )        设定实体标签的字符串值1 J9 m, ^3 V, o
label( object, labelname ) label(object, labelrank)        返回一个作为节点的标签的引用,此命令常用在把标签当作一个表来使用的情况下。2 |0 H( {9 V' r1 Z% [9 Z# n) Y2 C
& b) A+ Y* P$ S' c, S4 U
命令(参数列表)        说明
3 E3 y6 O% s& `3 M3 o7 [6 z. Jgettablenum( tablename / tablenode / tablerank, rownum, colnum )        返回表中特定行列的值
5 R; e9 I+ N$ X: r+ T: n! L( V0 tsettablenum( tablename / tablenode / tablerank, rownum, colnum, value)         设定表中特定行列的值
% b6 a7 U# L9 l& agettablestr( tablename / tablenode / tablerank, rownum, colnum )        返回表中特定行列的字符串值
- @# U$ o) x2 e( X" Nsettablestr( tablename / tablenode / tablerank, rownum, colnum, value)         设定表中特定行列的字符串值
# {: O3 O( N/ i! W% `2 ~0 c' msettablesize( tablename / tablenode / tablerank, rows, columns )        设定表的行列数大小: ]$ I  W; a! H0 T6 \0 {% `: z
gettablerows( tablename / tablenode / tablerank)        返回表的行数
7 S& K2 h, K& ~3 ?# Egettablecols( tablename / tablenode / tablerank)        返回表的列数
3 Y6 Y  N" ]" e# Qclearglobaltable( tablename / tablenode / tablerank)        将表中所有数字值设为0& M8 P+ O6 _" d  A( W: [
实体控制5 E8 w! c  k" ~
命令(参数列表))        说明
: z7 @2 ]6 Z2 f! a2 X1 Ccloseinput( object )        关闭实体的输入端口
' j, @( ]3 M, i7 ]* P) ^8 Q9 h7 _openinput( object )        重新打开实体的输入端口7 o0 n4 E# S9 H% k! h( q) _8 r
closeoutput( object )        关闭实体的输出端口6 @6 V( d3 @5 P! z5 T
openoutput( object )        重新打开实体的输出端口
0 A( l5 p1 T) v/ H* ~9 p* e5 csendmessage( toobject, fromobject, parameter1, parameter2, parameter3 )        触发实体的消息触发器
2 @( I$ `% ?; v" V1 O7 Ysenddelayedmessage( toobject, delaytime, fromobject, parameter1, parameter2, parameter3 )        在一段特定时间延迟后触发实体的消息触发器9 r. {* J4 ?1 `* [8 b
stopobject( object, downstate )        无论实体在进行什么操作,都令其停止,并进入指定的状态
2 q* Y- |8 p( jresumeobject( object )        使实体恢复其原来的无论什么操作
8 x6 ]8 a* p. B% G3 ]) Gstopoutput( object )        关闭实体的输出端口,并累计停止输出的请求1 H, y! D5 J- v, H0 B# E
resumeoutput( object )        在所有停止输出请求都恢复以后,打开实体的输出端口
* s$ j) \+ R8 k3 V: [  M  ystopinput( object )        关闭实体的输入端口,并累计停止输入的请求
) {; F- _4 K: a/ Q2 }resumeinput( object )        在所有停止输入请求都恢复以后,打开实体的输入端口
% b3 p0 I: K# V/ x% L" ninsertcopy( originalobject, containerobject )        往容器里插入新的实体复制品
* z, B2 ~0 s: E9 ?* H: F1 U6 P# m  G7 Mmoveobject( object, containerobject )        将实体从当前容器移到它的新容器中
$ ?, k; B- L7 F9 @$ q% ?$ e1 F高级函数
1 j# j8 C3 V" h) d8 E实体变量
" e- C% y# s5 n# m. k$ \0 j命令(参数列表)        说明
# R& E2 m5 K' d; ]. d; wgetvarnum( object, “variablename” )        返回给定名称的变量的数值9 {5 G! a0 n$ `! {' Y, C
setvarnum( object, “variablename” , value )        设定给定名称的变量数值1 u) @. A' R9 m0 P2 I1 ^1 h' n' J, o
getvarstr( object, “variablename” )        返回给定名称的变量的字符串值- _0 @) d$ E( h1 S9 ~
setvarstr( object, “variablename” , string )         设定给定名称的变量的字符串值: y" O! w7 D' k4 R% b$ j) R4 o  H; ~
getvarnode( object, “variablename” )        返回一个节点,作为指向给定名称的变量的引用
4 n3 d7 d8 a, @任务执行器控制) ~2 }1 }. ~1 t* P; A' r7 u
参见任务序列,可以获得更多有关控制任务执行器的信息。* [! l1 x! Q( N2 ]- ?! ?3 Z8 D
提示和界面输出
% f, h: D5 r# T/ i! O" |7 M6 l命令(参数列表)        说明
; L/ P8 f0 q# wpt( text string )        向输出控制台打印文本8 E5 s7 ]% L( \
pf( float value )        向输出控制台打印浮点数值4 N( g$ X8 h2 O( ^
pd( discrete value )        向输出控制台打印整数数值5 P, P& J2 x# f5 e) i
pr( )         在输出控制台中建新的一行; e7 |5 K/ O4 G0 L% X4 X/ a# {6 {6 s  ?
msg( “title”, “caption” )        打开一个简单的“ 是、否、取消”消息框& c) ]+ M% D2 C! @
userinput( targetnode, “prompt” )        打开一个可以设定模型节点值的对话框9 v) o9 a5 ~8 G# H8 Y- W2 o; [
concat( string1, string2, etc. )        合并两个或多个字符串$ l% f2 I2 x3 N; B
更多高级函数4 J3 D. E. v4 n0 k% k/ d' t! Y; G5 h
下面是可能使用到的更多高级函数。这里没有提供参数列表,参见命令集可获得更多信息。
! l" {) G; L6 C节点命令 - node(), nodeadddata(), getdatatype(), nodetopath(), nodeinsertinto(), nodeinsertafter(), getnodename(), setnodename(), getnodenum(), getnodestr(), setnodenum(), setnodestr(), inc();5 h: A0 [( @, E) R3 x% W# k. k5 Y
数据交换命令 - stringtonum(), numtostring(), tonum(), tonode(), apchar();( v7 C# B1 Q( q+ D
节点表命令 - setsize(), cellrc(), nrows(), ncols();
8 `! w9 Z# E: k; f' u2 Q& v模型运行命令 - cmdcompile(), resetmodel(), go(), stop();
8 w3 x) m; l) N6 R3D个性化绘制代码命令 - drawtomodelscale(), drawtoobjectscale(), drawsphere(), drawcube(), drawcylinder(), drawcolumn(), drawdisk(), drawobject(), drawtext(), drawrectangle(), drawline(), spacerotate(), spacetranslate(), spacescale();
9 W0 c$ Y; @- S5 aExcel命令 - excellaunch(), excelopen(), excelsetsheet(), excelreadnum(), excelreadstr(), excelwritenum(), excelwritestr(), excelimportnode(), excelimporttable(), excelclose(), excelquit();
: b* y: s( v# E- a; ?, r6 \ODBC命令 - dbopen(), dbclose(), dbsqlquery(), dbchangetable(), dbgetmetrics(), dbgetfieldname(), dbgetnumrows(), dbgetnumcols(), dbgettablecell(), dbsettablecell();+ ^; |+ N& _& ]. h+ V# _6 `5 w
运动学命令 - initkinematics(), addkinematic(), getkinematics(), updatekinematics(), printkinematics()
2#
ants_song 发表于 2010-7-15 08:26:59 | 只看该作者
哈哈,怎么把3.0中文版操作说明书中的内容粘上来啦
3#
往事如风210 发表于 2010-7-15 09:58:21 | 只看该作者
哈~~不要说这也是你的家底哦!
4#
 楼主| wj109260758 发表于 2010-7-15 11:44:40 | 只看该作者
我觉得这玩意很好啊,当时看到这个就开窍了
5#
02琊琊 发表于 2012-6-19 21:48:15 | 只看该作者
哈哈 受用 谢啦
6#
DONGDAxxy 发表于 2012-9-17 17:11:48 | 只看该作者
7#
嗜血黑猫 发表于 2013-4-23 10:16:17 | 只看该作者
很有用,谢谢分享
8#
yushaozheng1990 发表于 2013-12-9 21:03:44 | 只看该作者
有些粗糙啊
9#
a445608540 发表于 2013-12-12 08:40:52 | 只看该作者
谢谢分享
10#
yuzhu 发表于 2015-12-24 10:47:23 | 只看该作者
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-9-1 17:40 , Processed in 0.091896 second(s), 13 queries .

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

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