资讯中心

联系我们

深圳市维立信电子科技有限公司
地址:深圳市福田区红荔路第一世界广场A座8D-E
咨询电话:0755-83766766
E-mail:info@welissom.com

如何通过第三方软件实现双向直流电源EEPROM写入操作的实时告警通知?

2026-05-15 09:39:42  点击:

  Python + PyVISA + 多渠道告警(弹窗 + 声音 + 邮件 + 企业微信 / 钉钉 + 短信)

  你可以实现:

  EEPROM 写入失败 → 立即告警

  EEPROM 写保护被异常关闭 → 立即告警

  EEPROM 磨损超阈值 → 提前预警

  所有告警自动记录、可追溯、可审计

  全程不需要改动仪器,纯第三方软件实现。

  一、告警触发条件(必须精准)

  只要出现以下任意一种,立刻触发告警:

  EEPROM 写入指令执行失败

  写入后回读校验失败

  仪器返回错误(写保护、CRC 错、超时)

  EEPROM 磨损 ≥ 80%(寿命预警)

  异常频繁写入(攻击 / 误操作)

  二、完整可运行代码(复制即用)

  1. 安装依赖

  bash

  运行

  pip install pyvisa requests python-dotenv

  2. 核心告警程序(eeprom_alarm.py)

  python

  运行

  import pyvisa

  import time

  import datetime

  import smtplib

  from email.mime.text import MIMEText

  import requests

  # ==================== 配置 ====================

  VISA_ADDR = "USB0::0x0957::0x1707::MY49001234::INSTR"

  WARNING_RATE = 80 # 磨损80%预警

  ALARM_RATE = 95 # 磨损95%告警

  N_MAX_WRITE = 100000

  # 邮件配置

  MAIL_HOST = "smtp.163.com"

  MAIL_USER = "你的邮箱"

  MAIL_PASS = "你的授权码"

  RECEIVER = ["收件人1@xx.com", "收件人2@xx.com"]

  # 企业微信机器人(可选)

  WECHAT_WEBHOOK = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxx"

  # =============================================

  rm = pyvisa.ResourceManager()

  psu = rm.open_resource(VISA_ADDR)

  psu.timeout = 5000

  # ------------------------------

  # 工具函数

  # ------------------------------

  def clear_errors():

  psu.write("*CLS")

  def get_error():

  return psu.query("SYST:ERR?").strip()

  def is_no_error(err):

  return "+0." in err or "No error" in err

  # ------------------------------

  # 告警通道(多渠道同时通知)

  # ------------------------------

  def send_alarm(title, content):

  print(f"n