【有源码】工程师如何优雅的将现场的报警推送到钉钉群?(附下载)
各位伟大的工程师们,我们是不是经常为了设备突然的报警,或者值经常一闪而过无法捕捉故障,而需要查阅各种历史曲线或者监控很久?现在有一种很简单的方法,可以将报警信息推送出来的方法;大家想学习么?
利用钉钉群机器人实现软件使用监控是目前性价比最高的方案。无需搭建服务器,几行代码即可实现。教程主要分为钉钉设置和代码两部分。
本文介绍一个实现的标准的钉钉机器人信息告警模块,并包含通过ModbusTCP实现的案例。
1. 多线程:发送消息绝不卡顿主程序,发不出去也不报错(静默失败)。
2. 信息全:告警包含了告警对象、告警时间、告警类型、Tag地址、数据类型、异常详情、负责人、运维文档、处理建议等等;
3. 样式美:支持 Markdown 格式,让报错变红色,成功变绿色,比纯文本直观。
一、 钉钉设置
1. 建群:
在钉钉上发起群聊,选人建群(只有你一个人的群也可以)。
2. 添加机器人:
· 进入群聊界面 -> 点击右上角设置按钮
· -> 机器人
-> 添加机器人
· -> 点击 “+” 号。
· 选择 “自定义”
3. 配置机器人:
· 机器人名字:随便填,比如“监控助手”。
· 安全设置(关键步骤):勾选 “加签”。
· 加签:会获得一串号,等下有用。·
4. 复制链接:
· 点击完成,你会得到一个 Webhook 地址。
· 格式类似:https://oapi.dingtalk.com/robot/send?access_token=xxxxxx
· 点击复制,保存好这个链接,一会要用。
二、代码实现(python版本)
其中负责人和号码的配置,可以在群中直接@负责人
三、如何在其他项目中使用
以下是调用代码;
error_msg = f"Modbus读取失败,错误码:{response}"
ALERT_STATUS[f"{plc_name}_{register_addr}"] = {"type": "Modbus异常", "start_time": time.time()}
send_ding_alert(plc_name, "Modbus异常", {"register_addr": register_addr, "error_msg": error_msg})如果已经封装好了,可以使用模块名. send_ding_alert();
四、后记
案例代码中很多固定配置,后续可以根据自己需要修改成从json、xml、ini数据库等地方读取配置信息,也可以采集MES系统、EAM、EMS、ERP等系统告警信息,通过不同的告警模板进行告警通知。这只是个抛砖引玉的案例。大家有兴趣可以通过多种途径实现;目前测试比较好用的有飞书、钉钉、企业微信等常用沟通工具。
如果需要获取源码可以和剑指工控技术群管理员索取。
项目下载
下载地址:
https://pan.baidu.com/s/1takkKvsGg58MFGXB1UWsWA
加入剑指工控技术群,联系各群群管理员获得提取码。
未入群的工控友人
联系美女管理员入群
2026年1月



