必须使用USB转RS-485转换器建立物理链路,配置Modbus RTU协议读取寄存器30004获取实时功率;需确认逆变器支持RS-485与Modbus,正确接线并安装对应VCP驱动,用pymodbus 3.6.8版本脚本读取。

要在Windows系统上直接连接太阳能逆变器并实时获取发电功率数据,必须绕过厂商云平台依赖,建立本地物理通信链路;不配置RS-485硬件接口与Modbus协议解析,Windows本身无法识别逆变器原始数据帧。
确认逆变器通信能力与接口类型
翻看逆变器机身铭牌或说明书,重点查找“RS-485”、“Modbus RTU”、“通信口”字样;仅标注“Wi-Fi”或“4G”的机型(如锦浪G6-EH1P系列)默认不开放本地串行协议,需额外加装G2-4G-ST等兼容采集器才可被Windows读取。
若逆变器背部有标着“A/B”或“RS485”的接线端子,且说明书明确支持Modbus地址03H/04H读取寄存器(例如ABB Aurora常用地址30001~30015对应直流电压、交流功率),说明具备本地直连条件。
【关键前提】Windows电脑无原生RS-485接口,必须使用USB转RS-485转换器——务必选择带硬件流控与隔离保护的型号(如FTDI芯片方案),杂牌无隔离模块在光伏现场易因共模干扰导致通信中断甚至烧毁COM口。
硬件接线与驱动安装
将USB转RS-485转换器的A线接逆变器RS-485端子“A”,B线接“B”,地线(GND)必须可靠短接;未接GND时多数通信会失败,但设备管理器中仍显示COM口正常,极易误判。
插入USB口后,在设备管理器→端口(COM和LPT)下找到新出现的COM口(如COM4),右键→更新驱动程序→浏览我的电脑→让我从列表中选→“端口(COM&LPT)”→“USB Serial Port”;若驱动异常,去芯片官网下载最新VCP驱动(如Silicon Labs CP210x或FTDI FT232R专用驱动)。
打开串口调试工具(如AccessPort或Arduino IDE自带串口监视器),设置波特率9600、数据位8、停止位1、无校验、无流控;发送十六进制指令:01 03 00 00 00 02 C4 0B(Modbus读保持寄存器,站号1,起始地址0,读2个字),若收到12字节以上响应(含01 03 04 XX XX XX XX CRC),证明物理链路已通。
用Python脚本读取实时功率值
第一步:安装pymodbus库 → 在命令提示符中执行 pip install pymodbus==3.6.8(新版v3.7+存在Windows下异步串口阻塞bug)。
第二步:新建power_read.py,粘贴以下代码:
from pymodbus.client import ModbusSerialClient
import time
client = ModbusSerialClient(method='rtu', port='COM4', baudrate=9600, timeout=1)
if client.connect():
while True:
result = client.read_holding_registers(address=30004, count=2, slave=1)
if not result.isError():
# 地址30004为ABB Aurora交流总有功功率寄存器,单位0.1W
power_w = (result.registers[0] print(f"当前发电功率: {power_w * 0.1:.1f} W")
time.sleep(2)
client.close()
第三步:修改代码中port='COM4'为你实际的串口号,address=30004按你逆变器手册调整(锦浪常用32003,华为SUN2000系列多为32057);双击运行脚本,终端将每2秒刷新一次实时功率值。
将数据写入Excel并自动生成图表
方法一:用openpyxl追加写入 → 在上述Python脚本末尾添加:
from openpyxl import load_workbook
wb = load_workbook("power_log.xlsx")
ws = wb.active
ws.append([datetime.now().strftime("%Y-%m-%d %H:%M:%S"), power_w * 0.1])
wb.save("power_log.xlsx")
方法二:用Task Scheduler定时运行脚本 → Windows搜索“任务计划程序”→创建基本任务→设置每5分钟触发→操作为“启动程序”→程序路径填python.exe全路径(如C:\Python39\python.exe),参数填脚本绝对路径(如D:\pv\power_read.py)。
打开Excel,选中数据列→插入→折线图→右键图表→“选择数据”→添加“发电功率(W)”为Y轴,“时间”为X轴;图表将随新数据自动延伸,无需手动刷新。


















