IESLab SDK 快速入门
1.1 案例概述
本案例利用 cloudpss 平台提供的 SDK,展示如何对系统进行仿真计算,并获取系统的仿真结果数据。
1.2 代码解析
导入必要的库。确保已安装 cloudpss
库。 cloudpss
库的更新可参考 SDK升级。
import time
import os
import cloudpss
使用 cloudpss.setToken()
方法设置有效的 API 访问令牌。通过 os.environ['CLOUDPSS_API_URL']
设置正确的 API 地址。
注意
注意令牌需要是有效且未过期的,否则无法调用云端仿真服务。地址 URL 需要准确,并以 '/' 结尾。
if __name__ == '__main__':
# 设置API访问令牌和API地址
cloudpss.setToken('{token}')
os.environ['CLOUDPSS_API_URL'] = 'https://cloudpss.net/'
使用 cloudpss.IESLabSimulation.fetch()
方法获取指定 ID 为 1888 的算例。确保使用的算例 ID(本例中为 1888)是存在的。如果 ID 不存在,将无法获取算例。
# 获取算例
iesProject = cloudpss.IESLabSimulation.fetch(1888)
通过调用 iesProject.run()
方法启动仿真计算。使用 runner.status()
来检查仿真是否完成。
# 仿真计算测试
runner = iesProject.run()
while not runner.status():
print('running', flush=True)
time.sleep(3)
print('计算完成')
ies_result = runner.result
指定组件 ID 为 /PhotovoltaicSys_6
,标签名为 功率(kW)
。调用 ies_result.getPlotData()
方法获取指定组件和标签的绘图数据。
组件 ID 和标签名称的精确性非常重要。任何拼写错误或格式错误都可能导致无法获取预期的绘图数据。
# 示例:使用 getPlotData 方法
compID = "/PhotovoltaicSys_6"
labelName = "功率($\mathrm{kW}$)"
plot_data = ies_result.getPlotData(compID, labelName)
print("Plot data: ", plot_data)
1.3 结果展示
以下为案例运行的结果
running
running
running
running
计算完成
Plot data: defaultdict(<function IESResult.getPlotData.<locals>.<lambda> at 0x000001E417B7B920>, {'有功功率': {'x': ['2021-01-01 00:00:00', '2021-01-01 01:00:00', '2021-01-01 02:00:00', '2021-01-01 03:00:00', '2021-01-01 04:00:00', '2021-01-01 05:00:00', '2021-01-01 06:00:00', '2021-01-01 07:00:00', '2021-01-01 08:00:00', '2021-01-01 09:00:00', '2021-01-01 10:00:00', '2021-01-01 11:00:00', '2021-01-01 12:00:00', '2021-01-01 13:00:00', '2021-01-01 14:00:00', '2021-01-01 15:00:00', '2021-01-01 16:00:00', '2021-01-01 17:00:00', '2021-01-01 18:00:00', '2021-01-01 19:00:00', '2021-01-01 20:00:00', '2021-01-01 21:00:00', '2021-01-01 22:00:00', '2021-01-01 23:00:00'], 'y': [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.83453077690992, 14.606343058556925, 29.867047880425343, 35.292360874944606, 32.42029908112464, 17.067628492714082, 18.197775497994073, 15.81915160011411, 7.335965942276747, 1.3796850340064308, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]}, '无功功率': {'x': ['2021-01-01 00:00:00', '2021-01-01 01:00:00', '2021-01-01 02:00:00', '2021-01-01 03:00:00', '2021-01-01 04:00:00', '2021-01-01 05:00:00', '2021-01-01 06:00:00', '2021-01-01 07:00:00', '2021-01-01 08:00:00', '2021-01-01 09:00:00', '2021-01-01 10:00:00', '2021-01-01 11:00:00', '2021-01-01 12:00:00', '2021-01-01 13:00:00', '2021-01-01 14:00:00', '2021-01-01 15:00:00', '2021-01-01 16:00:00', '2021-01-01 17:00:00', '2021-01-01 18:00:00', '2021-01-01 19:00:00', '2021-01-01 20:00:00', '2021-01-01 21:00:00', '2021-01-01 22:00:00', '2021-01-01 23:00:00'], 'y': [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]}})