You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PVLIB中东西向混合阵列AC输出削波而非求和问题求助

问题原因与解决方案

你的逆变器AC输出出现削波,核心原因是逆变器的直流额定功率设置过小,无法承载两个阵列的总直流输出功率:

  • 西向阵列总直流额定功率:5*1=5
  • 东向阵列总直流额定功率:6*1=6
  • 阵列总直流额定功率:5+6=11
  • 你设置的逆变器pdc0=3远小于总容量,当直流输入超过3时,逆变器会触发限功率逻辑,导致AC输出被削波,无法达到阵列功率总和。

修改方案

调整PVSystem中的逆变器参数,将pdc0设置为大于等于阵列总直流额定功率的值,比如12:

system = pvsystem.PVSystem(arrays=arrays, inverter_parameters=dict(pdc0=12))

修改后的完整代码:

from pvlib import pvsystem, modelchain, location
import pandas as pd
import matplotlib.pyplot as plt

array_kwargs = dict(
    module_parameters=dict(pdc0=1, gamma_pdc=-0.004),
    temperature_model_parameters=dict(a=-3.56, b=-0.075, deltaT=3)
)

arrays = [
    pvsystem.Array(pvsystem.FixedMount(40, 275), name='West',
                   modules_per_string=5,
                   **array_kwargs),
    pvsystem.Array(pvsystem.FixedMount(40, 85), name='East',
                   modules_per_string=6,
                   **array_kwargs),
    ]

# latitude, longitude 
loc = location.Location(50.0, 10.0, 'Etc/GMT-1')
# 修改逆变器pdc0为12,适配阵列总容量
system = pvsystem.PVSystem(arrays=arrays, inverter_parameters=dict(pdc0=12))
mc = modelchain.ModelChain(system, loc, aoi_model='physical',
                           spectral_model='no_loss')

times = pd.date_range('2023-05-29 04:00', '2023-05-29 21:00', freq='5min',
                      tz='Etc/GMT-1')
weather = loc.get_clearsky(times)
mc.run_model(weather)

fig, ax = plt.subplots()
for array, pdc in zip(system.arrays, mc.results.dc):
    pdc.plot(label=f'{array.name}')
mc.results.ac.plot(label='Inverter')
plt.ylabel('Power')
plt.legend()
plt.show()

补充说明

PVlib的ModelChain会严格模拟逆变器的实际工作特性:当输入直流功率超过逆变器的pdc0(直流额定输入功率)时,逆变器会启动功率限制,将交流输出限制在其额定交流功率范围内(受转换效率影响,通常略低于pdc0乘以效率)。因此必须保证逆变器容量匹配阵列总输出能力,才能得到无削波的AC总和输出。

内容的提问来源于stack exchange,提问作者monok

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 11:42:25