PlantSimulation学习笔记20250611

一.z_uniform

  1. z_uniform([Stream:integer,]LowerBound:real,UpperBound:real) -> real
  2. 可以使用均匀分布对位于间隔边界 lower bound 和 upper bound 之间的随机数 z 建模
  3. 整数数据类型的 Stream 参数用于指定随机数流

二.XDim,YDim(数据表)

  1. <Path>.XDim -> integer
  2. XDim 只读属性返回 <Path> 所指定的包含条目的数据表的最后一列的编号。
  3. <Path>.YDim -> integer
  4. YDim 只读属性返回 <Path> 所指定的包含条目的数据表的最后一行的编号。

三.setCursor(数据表)

  1. <Path>.setCursor(Column:any, Row:any) → boolean
  2. setCursor 方法用于将由 <Path> 指定的数据表的内部光标设为指定单元格。查找方法从当前光标位置开始搜索,并将光标设置为下一个查找到的项。最大和最小方法将光标设置为给定范围的最大值或最小值。

四.existsObject (2D)

  1. existsObject(NameOfObject:string) → boolean
  2. 返回值的数据类型为布尔:对象存在时为 true;不存在时为 false。

五.writeRow

  1. <Path>.writeRow(Column:any, Row:any, Value:any[, Value:any, ..., Value:any])
  2. writeRow 方法用于在指定位置将数据写入 <Path> 指定的数据表。
  3. 任意数据类型的 Column 参数用于指定表的列。
  4. 任何数据类型的 Row 参数用于指定表的行。
  5. 任何数据类型的 Value 参数用于指定要写入的值。

六.find(列表)

  1. <Path>.find([Range:listrange, …,]Value:any) → boolean
  2. Plant Simulation 会从光标位置(可使用 setCursor 进行设置)开始在列表/表中进行搜索,然后按列继续搜索,直到找到值。找到值后,方法会返回 true 并将光标固定在该单元格中。如果未找到值,则返回 false。

七.executeIn

  1. &MyMethod.executeIn(CallAt:time[, Argument1:any, ...]) → boolean
  2. executeIn 方法在经过指定的秒数之后调用参考运算符指定的方法。Plant Simulation 将事件输入到事件控制器的计划事件列表中,该事件的发生时间为当前仿真时间后输入的时间秒数。由于将在未来某一时间调用方法,因此时间必须大于或等于 0。

八.InternalClassName

  1. <Path>.InternalClassName → string
  2. 只读属性 InternalClassName 将返回唯一的内置英文名称,用于描述 <Path> 所指定对象的类型

九.ResourceType

  1. <Path>.ResourceType:string
  2. ResourceType 属性为 <Path> 指定的对象设置资源类型:Production、Storage 或 Transport。

十.NumNodes(框架)

  1. <Path>.NumNodes → integer
  2. NumNodes 只读属性会返回由 <Path> 指定的框架中的对象数。插入所选框架中的其他所有框架均算作单一对象。Plant Simulation 不会计入框架中包含的对象。注:连接器也算作对象。

十一.node(框架)

  1. <Path>.node(ObjectNumberOrName:integer/string) → object
  2. node 方法会返回由 <Path> 指定的框架中的指定对象。Plant Simulation 会按对象的插入顺序对模型中的对象进行编号。还可以调用类库的方法。

十二.使用 Wait 中断方法执行

  1. wait timespan:real
  2. wait 关键字用于将调用链的执行中断数秒,该秒数会作为数据类型为实数的参数传递。仿真继续运行,就像已完成调用链一样。Plant Simulation 会在事件控制器的计划事件列表中输入方法唤醒事件,以在经过输入的时间后继续执行调用链。

十三.Waituntil 语句和 Stopuntil 语句

  1. waituntil condition [prio number] [wait timespan:time]
  2. stopuntil condition [prio number] [wait timespan:time]
  3. waituntil/stopuntil 语句用于挂起方法执行,直到语句中设置的条件评估为 true。这意味着仿真将继续运行,在此期间可以执行其他方法。满足条件时,将立即唤醒挂起的方法并继续执行。如果满足条件时正在执行方法,则其执行将中断,并仅在已唤醒方法一直执行之后继续执行。
  4. 当同时唤醒多个已挂起方法时,可能在执行优先级最高的方法之后,其他方法的条件将再次采用 false 值。
  5. 对于使用 waituntil 挂起的方法,在处理已唤醒的每个方法后,将重新评估要唤醒的每个附加方法的条件和优先级。
  6. 对于使用 stopuntil 挂起的方法,在满足一次条件后,在任何情况下都会唤醒这些方法。这意味着不会重新评估条件。
  7. waitExpired 关键字是 waituntil 语句和 stopuntil 语句的一部分。
  8. 在 SimTalk 2.0 中,可以使用 waitExpired 输入 waituntil/stopuntil 语句的时间限制。当 waituntil/stopuntil 语句已在此持续时间挂起时,接下来会被唤醒,尽管尚未满足条件。
  9. 当语句由于时间限制被唤醒时,关键字 waitExpired 设为 true。
  10. 如果挂起因条件限制而终止,则 waitExpired 设置为 false。

示例

waituntil Station.Empty wait 60

   if waitExpired

       Station.deleteMovables

   else

       .MUs.Part.create(Station)

   End

十四. ErrorHandler

  1.  错误处理用于对方法中发生的运行时错误作出反应。当仿真在任何情况下都必须继续进行时、想要记录发生的错误时,或者当预期发生的错误确实发生而想要采取适当的措施时,这非常有用。
  2. 要实施错误处理,按如下方式进行:
  3. 对于方法:创建方法或对象数据类型的用户定义属性,并将其命名为 ErrorHandler。必须在方法本身或插入方法的框架中创建此属性。
  4. 对于方法数据类型的用户定义属性:在对象中创建另一个具有用户定义属性的用户定义属性。此属性的数据类型必须为方法或对象,并命名为 ErrorHandler。
  5. 当方法中发生运行时错误时,Plant Simulation 将取消执行该方法并调用该方法的错误处理方法(错误处理程序)。如果方法没有错误处理程序,则 Plant Simulation 将搜索调用链中的错误处理程序。当调用链中的任何方法都不具有错误处理程序时,Plant Simulation 使用标准错误处理过程,即通常打开方法调试程序。

参数

  1. 三个参数将传递到错误处理程序:
  2. 错误消息。
  3. 错误方法的路径。
  4. 发生错误的行号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值