利用python调用PSS/E进行电力系统仿真

PSS/E是西门子公司(PTI)开发的电力系统仿真软件,可以实现潮流计算、短路计算、机电暂态等功能,但是在科研或者项目研究时可能需要将仿真数据导出,在MATLAB、python等平台上进行进一步处理,进行更进一步的研究,换句话说,仿真计算只是项目研究的一个部分,仿真计算仅仅是数据来源。对于**“如何将仿真数据导出”**这一问题,PSS/E开发了psspy模块,实现了PSS/E与python2.7的交互,可以通过在python编辑器上调用psspy等模块实现对PSS/E的控制,进行仿真计算。

写在前面

psspy模块是32位的,因此要调用psspy必须使用python2.7-bit32位,64位的python是无法实现的。如果不确定python版本,可以通过cmd输入python查看:

为了简便起见,小编安装了anaconda-2.1.0-x86安装包

环境配置

首先将psspy导入,psspy的地址一般在PSSE安装地址中的PSSEBIN文件夹中。然后配置环境变量,所谓环境变量就是python可执行文件所在的位置。配置时把psspy模块所在文件夹添加到sys.environ[‘PATH’]中即可。最后导入psspy包

import os, sys
PYTHONPATH = r'C:\Program Files (x86)\PTI\PSSE33\PSSBIN'
sys.path.append(PYTHONPATH)
os.environ['PATH'] += ';' + PYTHONPATH
import psspy

调用PSS/E

导入psspy后就可以通过调用psspy模块进行潮流计算等仿真工作了,像在PSS/E图像界面操作一样,首先打开PSS/E进行初始化,打开文件,进行潮流计算……对应的代码如下:

if __name__ == '__main__':CASE = r"C:\Program Files (x86)\PTI\PSSE33\EXAMPLE\savnw.sav"psspy.psseinit(buses=2000) psspy.case(CASE) b=psspy.fnsl()

以PSS/E自带的savnw.sav为例,CASE保存了该算例的绝对地址。
因为导入的是整个模块,所以调用模块里的函数时要添加模块名。
psseinit(buses)函数用于初始化PSS/E,buses参数是PSS/E母线数目的最大值;
case(CASE)函数用于打开算例文件,参数是算例所在路径;
fnsl()为牛拉法潮流计算函数,共有8个参数,具体可以参考PSS/E的API手册。不给参数是按照缺省值运行。

运行结果:

如图,自上而下一次是打开PSS/E,读取文件,潮流计算结果。经过6次迭代,计算结果收敛,

全部代码

# Set environment
import os, sys
PYTHONPATH = r'C:\Program Files (x86)\PTI\PSSE33\PSSBIN'#
sys.path.append(PYTHONPATH)#告诉python模块导入的位置
os.environ['PATH'] += ';' + PYTHONPATH #增加环境变量 import psspyif __name__ == '__main__':CASE = r"C:\Program Files (x86)\PTI\PSSE33\EXAMPLE\savnw.sav"psspy.psseinit(buses=2000) #初始化PSSE,buses是母线数量psspy.case(CASE) #打开文件b=psspy.fnsl()

参考资料

Run PSSE from Python and not the other way around - Python for Power Systems

利用python调用PSS/E进行电力系统仿真相关推荐

  1. Py经典案例:利用Python调用数据库历史记录文件,实现BTC、LTC等Encrypted currency找出最佳出仓价、收益比的加密币模拟交易系统

    Py经典案例:利用Python调用数据库历史记录文件,实现BTC.LTC等Encrypted currency找出最佳出仓价.收益比的加密币模拟交易系统 目录 实现结果 设计思路 实现代码 实现结果 ...

  2. 利用Python调用ECMWF欧洲中心API批量下载数据

    前段时间由于需要下载ECMWF(欧洲中期天气预报中心)的再分析数据,学习了如何利用Python调用ECMWF欧洲中心API进行批量下载.这种下载ECMWF数据的方法在官网上有非常详细的介绍.我只是对这 ...

  3. python powerbi知乎_利用Python调用Power BI REST API

    本文是D-BI之Power BI REST API系列第三篇,讲解如何利用一段简单的Python脚本实现Power BI REST API的调用,将使用与上文完全不同的方法 前述 上文<Powe ...

  4. 利用Python调用outlook自动发送邮件

    ↓↓↓欢迎关注我的公众号,在这里有数据相关技术经验的优质原创文章↓↓↓ 使用Python发送邮件有两种方式,一种是使用smtp调用邮箱的smtp服务器,另一种是直接调用程序直接发送邮件.而在outlo ...

  5. (超详细)0基础利用python调用Hadoop,云计算

    第一章配置Hadoop 前言 本次我们python+大数据的作业我选择附加一 利用hadoop+python实现,最近考完试有时间来完成. 这次我们用到的是Hadoop,利用python进行操作首先我 ...

  6. python调用摄像头转向_教你如何利用python调用摄像头

    这篇文章主要介绍了python调用摄像头的示例代码,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下 一.打开摄像头 import cv2 import numpy as np def v ...

  7. 【扇贝批量添加单词到词库】利用python调用扇贝API (oauth2)

    扇贝还是很不错的背单词系统,但是我一直不理解为什么官方提供的批量添加单词页面每次限制10个= =. 美剧党随手挤了很多单词准备导入的时候,还有从有道单词本导入的时候,都很尴尬..查了一下,还没有人写过 ...

  8. python电脑怎么打开任务管理器_利用Python调用Windows API,实现任务管理器功能

    任务管理器具体功能有: 1. 列出系统当前所有进程. 2. 列出隶属于该进程的所有线程. 3. 如果进程有窗口,可以显示和隐藏窗口. 4. 强行结束指定进程. 通过Python调用Windows AP ...

  9. 扇贝python_【扇贝批量添加单词到词库】利用python调用扇贝API (oauth2)

    扇贝还是很不错的背单词系统,但是我一直不理解为什么官方提供的批量添加单词页面每次限制10个= =. 美剧党随手挤了很多单词准备导入的时候,还有从有道单词本导入的时候,都很尴尬..查了一下,还没有人写过 ...

  10. 课程设计python调用摄像头_教你如何利用python调用摄像头

    导读 这篇文章主要介绍了python调用摄像头的示例代码,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下 一.打开摄像头 import cv2 import numpy as np de ...

最新文章

  1. 计算机三级四级机考,2017年全国计算机等级考试四级上机编程试题一
  2. Python自学起飞——005
  3. ajax工具、框架和库
  4. bzoj2154 Crash的数字表格
  5. 【沟通的艺术】故事大王
  6. vysor原理以及Android同屏方案
  7. 安卓代码迁移:Make.exe: *** [libs/armabi-v7a/gdbserver] Error 1
  8. 如何才能优雅地书写JS代码
  9. 【转】ABP源码分析九:后台工作任务
  10. sqlserver连接字符串_10分钟使用EF Core连接MSSQL数据库
  11. 开源开放 | 开源立体化漏洞情报知识图谱(四维创智)
  12. JAVA MD5加密用户信息
  13. mssql sqlserver 验证整型函数分享
  14. 不用找,你想要的建筑 华丽 豪华3d材质贴图素材都在这里
  15. 如何搭建一个前端脚手架
  16. 古代一些练外丹的资料
  17. 陈龙杰计算机专业,第四届学生职业技能大赛获奖名单
  18. 利用freemarker实现word导出
  19. 快速画出哈夫曼树/霍夫曼树/最优树
  20. 【DB笔试面试622】在Oracle中,说说COUNT(*)计算行数有哪些优化手段?

热门文章

  1. edius多机位多轨编辑
  2. 2799元即可畅享12GB+256GB超大存储,荣耀60 SE新版本正式发布
  3. 计算机熵的定义是,信息熵
  4. java pdf转ofd
  5. Unicode 汉字内码表
  6. Abaqus 两套常用单位
  7. 企业信息化建设(Enterprise Informationization Construction)
  8. CATIA2018客户端安装错误之提示Runtime VC14 x86失败,返回代码3
  9. IBM SPSS Statistics教程—文件的拆分和合并
  10. 用js打开新窗口和关闭新窗口