在 Plant Simulation 中经常会遇见需要间隔一段时间执行一个操作的问题,例如间隔一段时间生成一批任务,或者间隔一段时间统计数据信息等。所以就会需要用到计时器。

计时器的实现方式有多种,这里列出几种计时器的实现方式。这几种方式的模型可在文末下载。

方法1:利用Trigger进行计时

Trigger是 Plant Simulation 软件自带的计时器,可以根据设定的时间触发相应的方法。

优点:使用方便。

缺点:时间间隔为固定时间,无法使用随机时间。

 

方法2:利用Source+SingleProc+Drain进行计时

利用Source产生MU,让MU触发相应的控制方法。根据SingleProc的处理时间,决定触发控制方法的时间间隔。

如果触发控制方法的时间间隔为固定时间,还可以不用SingleProc,利用Source可以根据时间间隔产生MU的特性计时。

优点:使用方便。可以根据需求修改时间间隔。

缺点:需要增加三个对象,模型外观不简洁。

 

方法3:利用 MethCall 使用程序计时

MethCall 可以在一段时间之后触发一个Method,使用方法为:

ref(<obj>).methCall(CallAt:<time>[,Argument1:<any>, …]);

示例:ref (Method). MethCall (10, “a”)   //在10秒之后触发Method这个程序,传入值为”a”,没有传入值可以不填

 

优点:方法灵活,可以自由设定时间。完全在Method内操作,模型简洁。

缺点:使用较为复杂,需要一定的基础,容易产生死循环。


仿真模型示例:计时器-SimTalk 1.0-Plant Simulation 11 TR3    计时器-SimTalk 2.0-Plant Simulation 13.1

发表评论