Introduction
FRTB-ZH3瓶盖组装设备每小时可生产200–350件,但负载波动使预防性维护排期困难。 为减少计划外停机、降低故障风险,计划在每台设备生产50万个瓶盖后进行维护。 为有足够时间订购配件和安排维护团队,需在计划维护前两周收到通知。 借助Trendz Analytics,我们实现了可预测每台设备维护时间并在足够提前量下接收通知的预测性维护方案, 使设备保持高效运行、减少计划外停机。
任务定义 - 预测每台瓶盖组装设备生产50万个瓶盖的天数,并创建提前14天通知的告警。
Implementation plan
- 使用Trendz Analytics创建每台设备瓶盖产量预测
- 计算每台设备生产50万个瓶盖的剩余天数
- 将计算出的剩余天数保存为设备telemetry
- 在ThingsBoard创建剩余时间小于14天时的告警
- 告警触发后向维护团队发送邮件
Key outcomes
- 计划外停机减少24%
- 维护成本降低10%
- 维护团队效率提升18%
Getting started:
Prerequisites
组装设备已通过OPC-UA integration连接ThingsBoard,telemetry数据可在ThingsBoard中获取。详见connectivity guides。
设备上报多种telemetry,本例仅使用capsProduced。
Step 1: Create a forecast for the amount of caps produced by machine
首先创建每台设备的瓶盖产量预测。设备每5分钟上报一次产量,格式为{ts: 1675421880000, values: { capsProduced: 738}}。
该值持续累加,维护后重置。我们先预测未来3个月的capsProduced telemetry。
- 创建table
- 在columns区域添加
machine name——为每台设备生成独立预测 - 在columns区域添加字段计算
- 勾选batch calculation
- 勾选
Prediction- Prediction method——Fourier transformation
- Prediction range——3
- Prediction unit——months
为batch calculated字段启用prediction后,Trendz会基于设备原始telemetry构建预测,并将其作为计算函数的输入。 在计算函数中需找到达到阈值的时点并返回距该点的剩余天数。若未来3个月内未达到阈值则返回-1。
- 编写返回下次维护剩余时间的函数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var threshold = 500000;
var remainingDays = -1;
var data = none(machine.capsProduced);
for(var i = 0; i < data.length; i++) {
var point = data[i];
if(point.value >= threshold) {
var timeDeltaMillis = point.ts - Date.now();
remainingDays = timeDeltaMillis / 1000 / 60 / 60 /24;
break;
}
}
return [{ts: 1, value: remainingDays}];
点击Build Report后,将看到每台设备的预计下次维护剩余天数。
Step 2: Save remaining time as a machine telemetry
下一步将计算出的剩余时间保存为设备telemetry。Trendz会定期对新数据执行计算函数,并将结果作为设备telemetry写回ThingsBoard。 需设置计算函数的执行频率。本例为每小时一次。
- 将字段计算的label改为capsForecast——Trendz会以该名称将计算结果保存为telemetry
- 在view settings的
Tb calculated telemetry save中启用telemetry保存- Enabled——true
- Save interval——1
- Save unit——hours
- 在settings中打开
View mode fields区域,在Row click entity下拉选择Machine——告诉Trendz计算telemetry应保存到哪个实体下 - 默认时间范围——Last 7 days
- 以名称Machine maintenance remaining days forecast job保存视图
视图保存后,Trendz会安排后台任务定期执行计算函数并将结果保存为设备telemetry。每次运行会从ThingsBoard拉取新数据并在其上执行计算。
Step 3: Create alarm if remaining time less than 14 days
此时每台设备在ThingsBoard已有capsForecast telemetry,表示距下次维护的天数。可在ThingsBoard创建Alarm Rule,当剩余时间小于14天时告警。
- 在ThingsBoard打开设备device profile,添加Alarm Rule
- Alarm type——Maintenance required
- Create alarm rule
- Severity——
Warning - Condition——
capsForecast小于14
- Severity——
- Clear alarm rule
- Condition——
capsForecast大于14
- Condition——
Alarm rule创建后,剩余时间小于14天时ThingsBoard会触发告警,大于14天时清除。
Step 4: Send notification once alarm created
最后一步是告警触发后通知维护团队。使用ThingsBoard Rule Engine发送邮件。 若device profile中的Alarm Rule触发告警,可捕获该事件并添加发送邮件步骤。
- 在ThingsBoard打开Root rule chain
- 在
Device profile节点后添加toEmailrule node,并与Alarm Createdrelation连接 - 打开
toEmail节点settings,配置向维护团队发送邮件From template——info@testmail.orgTo template——maintenance@testmail.comSubject template——Maintenance required for ${entityName}Body template——Maintenance required for ${entityName}. Remaining time: ${capsForecast} days
- 在
toEmail节点后添加send emailrule node,并与Successfullrelation连接 - 保存rule chain
如此配置后,告警触发时ThingsBoard会向维护团队发送通知。
Summary
使用Trendz Analytics实施预测性维护策略,有助于减少制造现场设备计划外停机、提高瓶盖组装设备效率。 通过预测每台设备何时生产50万个瓶盖,并在计划维护前14天通知维护团队, 可确保配件和资源就位,完成维护并预防设备故障。
总体而言,借助Trendz Analytics等高级分析工具的预测性维护策略, 能通过事前识别潜在问题、减少设备停机、降低计划外维护需求,帮助企业降低成本、提升运营效率。