PI AF分析中按电机运行条件计算压力数据日均平均值
解决PI AF中电机运行时段压力日平均值计算的方案
核心思路
要实现仅统计电机运行时段的压力平均值,关键是先区分电机运行/停机状态,再基于状态过滤压力数据进行计算。以下是几种实用方法:
方法1:利用状态标签结合加权平均计算(推荐,适配不等间隔数据)
创建运行状态派生标签
在PI AF Analysis中新建一个派生标签(比如命名为MotorRunning),用压力值判断电机状态:IF('PressureTag' < [你的停机阈值,比如0.1], 0, 1)配置该标签的采样频率与压力标签一致(5-15秒),确保状态与压力数据同步。
计算时间加权平均值
使用Total()函数计算压力在运行时段的时间加权积分,再除以运行状态的总时长积分,得到准确的平均:Total('PressureTag' * 'MotorRunning', '*-24h', '*') / Total('MotorRunning', '*-24h', '*')这个方法适配不等间隔的数据,因为
Total()会根据数据点的时间间隔进行加权,结果比简单取数平均更精准。
方法2:使用过滤标签直接计算平均值
创建过滤后的压力标签
在PI AF中新建一个Filtered Tag,设置过滤条件为压力值高于停机阈值:'PressureTag' > [你的停机阈值]确保过滤标签的时间范围和采样配置与原压力标签匹配。
对过滤标签求平均
直接对这个过滤后的标签使用TagAvg()函数,指定过去24小时的时间范围:TagAvg('FilteredPressureTag', '*-24h', '*')此时
TagAvg()只会统计过滤后(电机运行时)的数据。
方法3:若有机电启停DI标签则直接复用
如果现场有专门的电机启停状态DI标签(比如MotorStartStop,1为运行,0为停机),可以跳过状态标签的创建,直接用该DI标签替换上述方法中的MotorRunning,结果会更准确,避免因压力异常误判状态。
内容的提问来源于stack exchange,提问作者Samiul
相关产品推荐
相关产品推荐

