影刀RPA 工业设备巡检传感器数据自动记录与异常预警作者林焱 | 分类影刀RPA新手教程 | 难度★★★什么情况用工厂设备巡检目前很多还是纸质表格巡检员拿着本子走到每台设备前看温度表、压力表、振动值手写记录。回来后录入电脑做报表。不仅效率低而且数据滞后——上午发现异常可能下午才报给维修部门。用影刀RPA从工业物联网平台如树根互联、海尔COSMOPlat、阿里云IoT自动拉取传感器数据定时生成设备健康报告异常自动推送。怎么做第一步从IoT平台获取设备数据拼多多店群自动化上架方案# 影刀Python节点从IoT平台API获取数据importrequestsfromdatetimeimportdatetime,timedelta IOT_PLATFORM{api_url:https://iot.yourplatform.com/api/v1,api_key:your_api_key,# 从影刀凭证管理读取}defget_device_data(device_id,metric,hours24):从IoT平台获取设备传感器历史数据urlf{IOT_PLATFORM[api_url]}/devices/{device_id}/telemetryheaders{Authorization:fBearer{IOT_PLATFORM[api_key]}}end_timedatetime.now()start_timeend_time-timedelta(hourshours)params{metric:metric,# temperature, vibration, pressure 等start:start_time.isoformat(),end:end_time.isoformat(),interval:5m,# 5分钟采样间隔}resprequests.get(url,headersheaders,paramsparams)dataresp.json()returndata.get(values,[])# 获取关键设备数据devices_to_monitor[{id:PUMP-A001,name:主循环泵A,metrics:[temperature,vibration,pressure]},{id:MOTOR-B001,name:主电机B,metrics:[temperature,rpm,current]},{id:COMP-C001,name:空压机C,metrics:[temperature,pressure,runtime]},]fordeviceindevices_to_monitor:formetricindevice[metrics]:valuesget_device_data(device[id],metric,hours1)ifvalues:latestvalues[-1]print(f{device[name]}-{metric}:{latest[value]}{latest[timestamp]})第二步定义告警阈值# 影刀Python节点异常检测ALERT_RULES{PUMP-A001:{temperature:{min:10,max:80,warning:70,unit:°C},vibration:{min:0,max:7.0,warning:5.0,unit:mm/s},pressure:{min:0.1,max:2.5,warning:2.2,unit:MPa},},MOTOR-B001:{temperature:{min:0,max:95,warning:85,unit:°C},rpm:{min:100,max:3000,warning:2950,unit:RPM},current:{min:0,max:150,warning:135,unit:A},},}defcheck_alerts(device_id,metric,current_value):检查传感器值是否触发告警rulesALERT_RULES.get(device_id,{}).get(metric)ifnotrules:returnNoneifcurrent_valuerules.get(max)orcurrent_valuerules.get(min):return{level: 严重,message:f{metric}{current_value}{rules[unit]}超出正常范围[{rules[min]}-{rules[max]}],}elifcurrent_valuerules.get(warning)or(rules.get(min)andcurrent_valuerules.get(min)5):return{level: 预警,message:f{metric}{current_value}{rules[unit]}接近阈值{rules.get(warning)},}returnNone第三步趋势分析与预测# 影刀Python节点异常趋势检测importnumpyasnpdefdetect_trend(values,window12):检测是否呈上升趋势可能预示故障iflen(values)window:returnNonerecentvalues[-window:]# 简单线性回归判断趋势xnp.arange(len(recent))ynp.array([v[value]forvinrecent])slopenp.polyfit(x,y,1)[0]mean_valnp.mean(y)# 趋势强度斜率/均值trend_strengthslope*window/mean_valiftrend_strength0.3:returnf 持续上升7天趋势值{trend_strength:.2f}建议提前检查eliftrend_strength-0.3:returnf 持续下降7天趋势值{trend_strength:.2f}可能存在泄漏returnNone# 对每个设备的每个指标做趋势分析fordeviceindevices_to_monitor:formetricindevice[metrics]:valuesget_device_data(device[id],metric,hours168)# 一周数据trenddetect_trend(values)iftrend:print(f{device[name]}-{metric}:{trend})第四步生成巡检日报defgenerate_inspection_report(device_data,alerts,trends):生成设备巡检日报reportf## 设备巡检日报 ({datetime.now().strftime(%Y-%m-%d)})\n\n# 告警汇总report### 告警汇总\nifalerts:foralertinalerts:reportf-{alert[level]}{alert[device]}:{alert[message]}\nelse:report- ✅ 所有设备运行正常\n# 趋势预警report\n### 趋势分析\niftrends:fortrendintrends:reportf-{trend}\n# 各设备状态表report\n### 设备状态一览\nreport| 设备 | 温度 | 压力 | 振动 | 状态 |\nreport|------|------|------|------|------|\nfordeviceindevice_data:reportf|{device[name]}|{device.get(temperature,N/A)}|{device.get(pressure,N/A)}|{device.get(vibration,N/A)}|{device.get(status,N/A)}|\nreturnreport影刀【企微推送】给维修班组【邮件发送】给设备经理。第五步自动生成工单当检测到严重告警时自动在维修系统创建工单【判断】→ 告警等级 “严重”【Python节点】→ 生成工单内容设备编号、异常指标、建议处理方式【打开网页】→ 维修管理系统【填写】→ 工单信息【点击】→ 「提交」有什么坑坑1不同IoT平台API差异很大TEMU店群如何管理运营树根互联、阿里云IoT、华为IoT的API格式完全不同。需要为每个平台单独写适配代码。建议封装统一的数据获取接口上层业务逻辑不变只换底层适配。坑2告警阈值难以一次设准阈值设太低→天天误报告警疲劳设太高→真有问题发现不了。建议先跑一个月数据用均值±3倍标准差作为初始阈值运行一段时间后让设备工程师微调。坑3传感器本身可能故障传感器读数突然变成0或99999不一定是设备坏了可能是传感器坏了。RPA无法区分但可以通过规则辅助判断如果读数跳变幅度超过物理可能比如温度1秒内从50°C跳到500°C大概率是传感器故障而非设备故障。坑4数据采集延迟IoT平台的数据可能有1-5分钟延迟。如果是实时性要求高的场景如反应釜温控延迟可能导致反应不及时。了解清楚数据链路延迟再设定检查频率。坑5设备停机期间的数据设备停机期间温度下降、压力归零是正常的不应触发温度过低压力为零告警。需要在告警逻辑中增加设备是否在运行的状态判断。总结工业设备巡检自动化的价值在于从定时巡检转变为状态监测——不用等巡检员发现异常而是系统主动告诉你哪台设备不对劲把事后维修变成事前预防。
影刀RPA 工业设备巡检:传感器数据自动记录与异常预警
发布时间:2026/7/15 6:35:14
影刀RPA 工业设备巡检传感器数据自动记录与异常预警作者林焱 | 分类影刀RPA新手教程 | 难度★★★什么情况用工厂设备巡检目前很多还是纸质表格巡检员拿着本子走到每台设备前看温度表、压力表、振动值手写记录。回来后录入电脑做报表。不仅效率低而且数据滞后——上午发现异常可能下午才报给维修部门。用影刀RPA从工业物联网平台如树根互联、海尔COSMOPlat、阿里云IoT自动拉取传感器数据定时生成设备健康报告异常自动推送。怎么做第一步从IoT平台获取设备数据拼多多店群自动化上架方案# 影刀Python节点从IoT平台API获取数据importrequestsfromdatetimeimportdatetime,timedelta IOT_PLATFORM{api_url:https://iot.yourplatform.com/api/v1,api_key:your_api_key,# 从影刀凭证管理读取}defget_device_data(device_id,metric,hours24):从IoT平台获取设备传感器历史数据urlf{IOT_PLATFORM[api_url]}/devices/{device_id}/telemetryheaders{Authorization:fBearer{IOT_PLATFORM[api_key]}}end_timedatetime.now()start_timeend_time-timedelta(hourshours)params{metric:metric,# temperature, vibration, pressure 等start:start_time.isoformat(),end:end_time.isoformat(),interval:5m,# 5分钟采样间隔}resprequests.get(url,headersheaders,paramsparams)dataresp.json()returndata.get(values,[])# 获取关键设备数据devices_to_monitor[{id:PUMP-A001,name:主循环泵A,metrics:[temperature,vibration,pressure]},{id:MOTOR-B001,name:主电机B,metrics:[temperature,rpm,current]},{id:COMP-C001,name:空压机C,metrics:[temperature,pressure,runtime]},]fordeviceindevices_to_monitor:formetricindevice[metrics]:valuesget_device_data(device[id],metric,hours1)ifvalues:latestvalues[-1]print(f{device[name]}-{metric}:{latest[value]}{latest[timestamp]})第二步定义告警阈值# 影刀Python节点异常检测ALERT_RULES{PUMP-A001:{temperature:{min:10,max:80,warning:70,unit:°C},vibration:{min:0,max:7.0,warning:5.0,unit:mm/s},pressure:{min:0.1,max:2.5,warning:2.2,unit:MPa},},MOTOR-B001:{temperature:{min:0,max:95,warning:85,unit:°C},rpm:{min:100,max:3000,warning:2950,unit:RPM},current:{min:0,max:150,warning:135,unit:A},},}defcheck_alerts(device_id,metric,current_value):检查传感器值是否触发告警rulesALERT_RULES.get(device_id,{}).get(metric)ifnotrules:returnNoneifcurrent_valuerules.get(max)orcurrent_valuerules.get(min):return{level: 严重,message:f{metric}{current_value}{rules[unit]}超出正常范围[{rules[min]}-{rules[max]}],}elifcurrent_valuerules.get(warning)or(rules.get(min)andcurrent_valuerules.get(min)5):return{level: 预警,message:f{metric}{current_value}{rules[unit]}接近阈值{rules.get(warning)},}returnNone第三步趋势分析与预测# 影刀Python节点异常趋势检测importnumpyasnpdefdetect_trend(values,window12):检测是否呈上升趋势可能预示故障iflen(values)window:returnNonerecentvalues[-window:]# 简单线性回归判断趋势xnp.arange(len(recent))ynp.array([v[value]forvinrecent])slopenp.polyfit(x,y,1)[0]mean_valnp.mean(y)# 趋势强度斜率/均值trend_strengthslope*window/mean_valiftrend_strength0.3:returnf 持续上升7天趋势值{trend_strength:.2f}建议提前检查eliftrend_strength-0.3:returnf 持续下降7天趋势值{trend_strength:.2f}可能存在泄漏returnNone# 对每个设备的每个指标做趋势分析fordeviceindevices_to_monitor:formetricindevice[metrics]:valuesget_device_data(device[id],metric,hours168)# 一周数据trenddetect_trend(values)iftrend:print(f{device[name]}-{metric}:{trend})第四步生成巡检日报defgenerate_inspection_report(device_data,alerts,trends):生成设备巡检日报reportf## 设备巡检日报 ({datetime.now().strftime(%Y-%m-%d)})\n\n# 告警汇总report### 告警汇总\nifalerts:foralertinalerts:reportf-{alert[level]}{alert[device]}:{alert[message]}\nelse:report- ✅ 所有设备运行正常\n# 趋势预警report\n### 趋势分析\niftrends:fortrendintrends:reportf-{trend}\n# 各设备状态表report\n### 设备状态一览\nreport| 设备 | 温度 | 压力 | 振动 | 状态 |\nreport|------|------|------|------|------|\nfordeviceindevice_data:reportf|{device[name]}|{device.get(temperature,N/A)}|{device.get(pressure,N/A)}|{device.get(vibration,N/A)}|{device.get(status,N/A)}|\nreturnreport影刀【企微推送】给维修班组【邮件发送】给设备经理。第五步自动生成工单当检测到严重告警时自动在维修系统创建工单【判断】→ 告警等级 “严重”【Python节点】→ 生成工单内容设备编号、异常指标、建议处理方式【打开网页】→ 维修管理系统【填写】→ 工单信息【点击】→ 「提交」有什么坑坑1不同IoT平台API差异很大TEMU店群如何管理运营树根互联、阿里云IoT、华为IoT的API格式完全不同。需要为每个平台单独写适配代码。建议封装统一的数据获取接口上层业务逻辑不变只换底层适配。坑2告警阈值难以一次设准阈值设太低→天天误报告警疲劳设太高→真有问题发现不了。建议先跑一个月数据用均值±3倍标准差作为初始阈值运行一段时间后让设备工程师微调。坑3传感器本身可能故障传感器读数突然变成0或99999不一定是设备坏了可能是传感器坏了。RPA无法区分但可以通过规则辅助判断如果读数跳变幅度超过物理可能比如温度1秒内从50°C跳到500°C大概率是传感器故障而非设备故障。坑4数据采集延迟IoT平台的数据可能有1-5分钟延迟。如果是实时性要求高的场景如反应釜温控延迟可能导致反应不及时。了解清楚数据链路延迟再设定检查频率。坑5设备停机期间的数据设备停机期间温度下降、压力归零是正常的不应触发温度过低压力为零告警。需要在告警逻辑中增加设备是否在运行的状态判断。总结工业设备巡检自动化的价值在于从定时巡检转变为状态监测——不用等巡检员发现异常而是系统主动告诉你哪台设备不对劲把事后维修变成事前预防。