Skip to main content

电力系统长期动态模拟器

项目描述

PSLTDSim = 电力系统长期动态模拟器

目的:使用 Python 和 PSLF 模拟长期电力系统动态。

长期动态的例子:

  1. 一个 20 分钟的风速斜坡,迫使调速器动作响应,进而影响区域控制误差 (ACE),该误差随后由自动发电机控制 (AGC [又名负载频率控制或 LFC]) 进行纠正。
  2. 发电机在输入电力的区域跳闸。在 AGC 努力恢复联络线平衡之前,其他地区的州长行动将做出回应。
  3. 用于确保 AGC 算法在 NERC 授权范围内运行的每日负载周期和预测的多小时模拟。

警告:正在进行的工作 - 一切都可能被破坏。没有任何保证。

要从 git 存储库安装软件包:“pip install -e”。从此目录具有管理权限。如果 python 3 32 位不是默认 python:“py -3-32 -m pip install -e 。” 需要 IronPython(32 位)在系统路径上。

这段代码的作用:

- 使用基于代理的方法进行电力系统建模。

-创建潮流的时间序列,同时考虑组合系统频率、所有发电机机械功率和相关状态以及平衡权限状态。

- 使用 PSLF 系统模型格式和潮流求解器。

- 通过 Ironpython 与 PSLF 通信。

-Python 3 通过 AMQP 与 Ironpython 通信。

-读取 PSLF dyd 文件并创建一个调控器 (tgov1) 的 python 等效项。

- 为未完全在 Python 中创建的模型(即除 tgov1 之外的任何模型)实现通用调控器。

- 允许噪声、台阶和斜坡类型的干扰

这段代码没有做什么:

- 使用定时控制器根据用户可编程逻辑改变系统中代理的状态。

- 处理任何发电机的跳闸(电力流解决方案神秘地发散)。

笔记:

  • 需要 GE PSLF Python API 和有效的 PSLF 许可证。(对不起)
  • 要解决 GE API 问题:需要 Erlang、RabbitMQ 和 Ironpython。
  • 其他 Python 包包括:
    • Python 3:Scipy(用于 Numpy 和 Matplotlib)和 Pika(用于 AMQP)
    • Ironpython 2.7 32 位:Pika(注意:Ironpython 必须是 32 位才能与 GE PSLF 中间件一起使用)

近期进展:

  • 代码重构为:
    • 利用 Py3<->AMQP<->IPY<-> PSLF 解决方法
    • 允许使用代理当前值字典进行通用自动化
    • 启用更简单的代码打包
    • 明确代码结构
  • 代码创建 PSLF 区域、总线、生成器、负载、分支部分和分流器的 python 镜像。
  • 代码已写入:
    • 检查镜子的准确性
    • 忽略孤岛对象
    • 允许总线电压设置的可选 Vsched 或 Vinit
    • 解析 .dyd 文件(多个)
    • 解析 .ltd 文件
    • 手柄 H(惯性)
    • 将噪声、阶跃和斜坡扰动添加到大多数代理值
    • 设置区域范围内的调速器死区
    • 将平衡权限行动纳入模拟
    • 解析 EIA 数据以进行多小时需求/预测模拟
    • 根据惯性分配 Pacc 的变化
    • 执行组合摆动方程
    • 步进动态模型(tgov1 和 genericGov)
    • 记录感兴趣的值
    • 生成数据字典
    • 通过搁置导入/导出镜像或数据数据字典
    • 将模型或数据数据字典从 Python 3.x 导出到 MATLAB .mat 文件
    • 生成终端输出
    • 通过 matplotlib 生成绘图
    • 以批处理方式运行多个模拟并以非显示停止方式处理错误
  • 为验证和验证仿真输出而创建的 MATLAB 脚本
    • 与 PSDS 相比的频率、Pe、Pm、Q 和电压幅度和角度。
    • P、Q 和 I 的分支潮流。
    • 考虑系统惯性损失和系统损失变化。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

PSLTDSim-0.1.0.tar.gz (65.7 kB 查看哈希

已上传 source

内置分布

PSLTDSim-0.1.0-py3-none-any.whl (128.4 kB 查看哈希

已上传 py3