匿名标识符
@ 当前触发此method的对象的MU
? 当前触发此method的对象
self method本身
current method所在的frame
location method所在的frame的上一层 也可以使用~代替
root 最顶层的frame
Method 命名
Reset:重置仿真时执行
Init:开始仿真时执行
EndSim:结束仿真时执行
@.move
@.move
@.move(name)
@.move(后续节点)
@.insert 把MU移动到目标位置
@.insert(Conveyor, 5.6)
@.transfer 直接移动,会挤掉别的MU
常见属性
succ(<integer>) 物流对象的后续节点
pred(<integer>) 物流对象的前续节点 eg: @.move(source.pred(1))
Curricon(<String>) 当前图标
ProTime(<time>) 工位处理时间
StatNumln(<integer>) 进入工位的MU数量
StatNumOut(<integer>) 退出工位的MU数量
Capacity(<integer>) MU或物流对象的总容量
getNO(<integer>) 该MU的序列号
条件陈述句
if ...
waitunit prio 结构 (prio标识优先级为整数)
swich case end...
循环语句
for loop(loop可省) eg: for i := 1 to 10 loop for i := 10 downto 1 loop
repeat until 条件为true则退出
while 条件为false则退出
表操作
name.setCurcor(1, 1) 设置指针
.find({1,1}..{*,*} , <value>)
.CursorX .CursorY 设置指针到列X或行Y
.xDim .yDim 返回最后一列/行号
.sort( 3 , "ascending" )
.meanValue( {1,1} .. {1,*})
还有 max min sum delete 等
随机数语句 z_uniform(integer, Start:real, Stop:real) -> real
对栈StackFile、队列QueueFIle、CardFile的方法
.push(<value>) 将值插入到栈、列的顶端单元格
.insert(3, <value>) 将值插入到CareFIie中单元格3中,其他值向下移动
.[ ] 删除栈的最后一个单元格内容 、列中第一个单元格内容
.[3] 删除CarFile3行中内容
.pop 读取并删除栈最后或者列第一个内容
.read(3) 读CardFile但不删除
.dim 返回最后有内容的行号
@.move和<物流对象>.cont的区别 cont就是递进一层的意思
查询物流对象内容
用于确定物料流对象/MU内容的Methods(object表示物流对象)
<object>.empty
<object>.full
<object>.occupied
<object>[2, 1].occupied
<object>.cont.finished 当MU已经完成处理时间,即将退出时返回true
<object>.ready 当物件(工位)被占用,并且由一个MU即将退出物件时,返回true
用于装配对象的属性
装配站名称.PartListMode(<String>) 三个值 None; Predecessors; MU types
事件控制器方法和属性
absSimTime 返当前仿真事件作为绝对的日期和时间
SimTime 返回当前仿真时间
absTimeFormat(<boolean>) 设置true显示EventController时间作为绝对时间或者设置false显示一个相对时间
actReceiver 返回当前正在运行或即将运行事件的接收对象
getEventList(<Integer>) 返回预定事件的列表作为TableFile
getNextEventTime 返回事件表中下一个将运行事件的时间
小车的method
.MUs.transporter.create ( track , 3.1 ) 创建小车到track3.1米上(参数2可省)
@.stopped
@.continue
@.backwards := true
@.targetposition := 5 指定位置停下
track.cont.stop track上的MU(即小车)都停止