
本文档为FUXA平台专属的变频器状态监控脚本,实现对变频器3种核心状态(0=正常、1=故障、2=处理中)的实时监控、多场景告警推送及网络中断后智能补发功能。脚本支持动态配置告警间隔、补发消息专属标识、时长数字醒目显示等优化特性,适配工业自动化场景下的断电重启、网络波动、状态异常流转等核心需求,可直接部署使用。
实时状态监控:周期性读取FUXA中变频器状态Tag,对比历史状态触发告警,支持多设备并行监控;
多场景告警推送:
网络中断智能适配:
可视化优化:
动态配置与防重复:
需在FUXA中创建以下Tag(名称需与脚本配置完全一致):
Tag名称 | 数据类型 | 核心作用 |
|---|---|---|
initFlagTag | 布尔型 | 标记系统是否初始化完成,避免重复复位 |
变频器1状态 | 数值型 | 存储变频器1实时状态(0=正常、1=故障、2=处理中) |
变频器1_状态存储 | 字符串型 | 存储变频器1历史状态、时间戳等核心数据 |
变频器1_未发送类型 | 字符串型 | 存储变频器1未发送的告警类型(如“持续告警”) |
变频器2状态 | 数值型 | 存储变频器2实时状态(0=正常、1=故障、2=处理中) |
变频器2_状态存储 | 字符串型 | 存储变频器2历史状态、时间戳等核心数据 |
变频器2_未发送类型 | 字符串型 | 存储变频器2未发送的告警类型(如“故障发生”) |
创建企业微信群,添加“群机器人”,获取机器人Webhook Key(后续替换脚本中CONFIG.webhook.key);
确保FUXA部署环境可访问企业微信API(域名:qyapi.weixin.qq.com);
验证机器人可用性:通过Postman发送测试消息,确认群内可正常接收。

替换微信机器人Key:找到CONFIG.webhook.key,将默认值替换为你的企业微信群机器人Webhook Key;
调整告警间隔:修改CONFIG.alertInterval(单位:毫秒),示例:
增减监控设备:在CONFIG.devices中添加/删除设备对象,需确保以下参数与FUXA Tag名称一致:
登录FUXA平台,进入「Scripts」模块,点击「New Script」创建新脚本;
将完整代码复制粘贴到脚本编辑框,设置脚本名称(建议:变频器状态监控与微信告警);
配置脚本调度周期:点击「Schedule」→ 选择「Interval」→ 设置执行间隔为2-5秒(推荐3秒);
点击「Save」保存脚本,再点击「Start」启动脚本;
验证部署:查看FUXA控制台,若输出“🔄 FUXA启动,复位所有设备状态为正常(0)”,且企业微信收到“监控系统启动成功”消息,说明部署成功。
测试场景 | 操作步骤 | 预期结果 |
|---|---|---|
系统启动验证 | 启动脚本/重启FUXA | 企业微信收到1次启动消息,含动态配置的告警间隔;控制台显示设备状态复位成功 |
正常→故障(0→1) | 修改变频器1状态Tag值为1 | 收到“故障发生”告警,无补发标识;时长数字红色加粗显示 |
故障→处理中(1→2) | 将变频器1状态Tag值从1改为2 | 收到“开始处理”告警,包含处理开始时间、故障持续时长 |
网络中断+恢复补发 | 断开网络→触发告警→恢复网络 | 网络恢复后5秒内收到带[补发]标识的告警;推送时间为当前时间、时长为实时数据 |
持续告警补发验证 | 保持故障状态→断开网络→等待配置间隔→恢复网络 | 补发消息显示“持续告警[补发]”,底部含“补发说明”;间隔时间与配置一致 |
故障恢复(1→0) | 将故障状态的变频器Tag值改为0 | 收到“故障恢复”告警,包含故障总时长、处理耗时(若有处理过程) |
检查CONFIG.webhook.key是否正确,可通过企业微信机器人后台重新获取;
查看FUXA控制台是否有“推送失败”日志,确认网络可访问qyapi.weixin.qq.com(可通过ping命令测试);
确认企业微信机器人未被移出群聊,若已移出需重新添加并更新Key。
检查FUXA中“未发送类型Tag”是否有值(如“持续告警”),无值则说明未触发发送失败逻辑;
查看控制台是否有“[补发] 开始生成最新告警”日志,若无则检查processDevice函数中补发逻辑是否执行;
确认网络已恢复,且微信推送能正常执行(可通过正常告警验证)。
确认CONFIG.alertInterval修改后已重启脚本(FUXA脚本需重启才能加载新配置);
启动消息会在脚本重启后重新发送,若仍显示旧间隔,检查sendMonitorStartMsg函数中alertIntervalMinutes计算是否正确。
确认formatDuration函数中numStyle方法是否正确('**${num}**');
企业微信Markdown支持font和**加粗**语法,若仍异常,检查消息内容是否被转义(如<是否变为<)。
脚本依赖FUXA内置API($getTagId/$getTag/$setTag),建议使用FUXA 1.0.0及以上版本,避免API兼容问题;
定期备份FUXA Tag数据(FUXA数据默认存储在本地),避免状态/未发送标识丢失导致补发功能异常;
若监控设备数量超过5台,可适当增加脚本执行间隔(如5秒),避免占用过多系统资源;
网络不稳定场景下,可将sendToWechat函数中retryCount从2改为3,提升消息送达率;
补发消息仅保留最近一次未发送的告警类型,避免重复补发多条冗余消息,确保接收者体验。
【变频器1-持续告警】
━━━━━━━━━━━━━
设备名称: 变频器1
当前状态: ⚠️ 故障
告警类型: 持续告警
故障发生: 2025-12-22 21:30:00
⏱️ 故障已持续: **15**分钟
━━━━━━━━━━━━━
推送时间: 2025-12-22 21:45:00
[补发]【变频器1-持续告警[补发]】
━━━━━━━━━━━━━
设备名称: 变频器1
当前状态: ⚠️ 故障
告警类型: 持续告警[补发]
故障发生: 2025-12-22 21:30:00
⏱️ 故障已持续: **20**分钟
━━━━━━━━━━━━━
推送时间: 2025-12-22 21:50:00
📌 补发说明:网络恢复后补发最新告警数据




