[Plant Simulation]通过FailCtrl模拟换刀并计算换刀时间(Controls使用及OnFail中函数)

Controls使用及OnFail中函数

在这里插入图片描述

工作站用户属性

在这里插入图片描述

工作站Controls

在这里插入图片描述

初始化

var i:integer
for i:=1 to self.~.ToolUsage.YDim
	self.~.ToolUsage[1,i]:=0
next
self.~.statToolChangeTime:=0

工作站入口控制策略

var i:integer
var tool:string
var tct:time
tct:=0
for i:=1 to self.~.ToolAssign[1,@.name].YDim
	tool:=self.~.ToolAssign[1,@.name][1,i]
	self.~.ToolUsage[1,tool]:=self.~.ToolUsage[1,tool]+1
	if self.~.ToolUsage[1,tool]>=self.~.ToolUsage[2,tool]
		tct:=tct+self.~.ToolUsage[3,tool]
		self.~.ToolUsage[1,tool]:=0
	end
next
if tct>0
	self.~.failures.ToolChange.Duration:=tct
	self.~.failures.ToolChange.failed:=true
	wait tct
	self.~.failures.ToolChange.failed:=false
end

工作站Fail策略

param failureIsStarting: boolean, profileName: string
if root.eventcontroller.simtime>root.eventcontroller.startstat and failureIsStarting and profileName="ToolChange"
	self.~.stattoolchangetime:=self.~.stattoolchangetime+self.~.failures.toolchange.duration
end
if root.eventcontroller.simtime>root.eventcontroller.startstat
	self.~.stattoolchangeportion:=self.~.stattoolchangetime/(root.eventcontroller.simtime-root.eventcontroller.startstat)
end

failureIsStarting参数

返回错误是否发生,类型为Boolean

profileName参数

返回导致失败的失败配置文件的名称,类型为String

StartStat函数

<Path>.StartStat:time

在输入的时间重置统计收集,统计数据重新开始

root.EventController.StartStat := str_to_time("40:00.00") -- 40 minutes

Chart的InputChannels

在这里插入图片描述
下载链接

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值