使powerworld simauto更易于使用的python包

esa的Python项目详细描述


欧空局

一个python包,它使powerworld simauto更易于使用,同时也更强大。使用esa,您可以轻松地运行大多数simauto命令和aux脚本,甚至可以以并行和分布式的方式运行这些任务。

环境

Python3.5或更高版本(建议使用最新的Python3)

安装

pip install esa

用法

在使用该软件包之前,请确保已安装powerworld模拟器和simauto附加组件。使用下面的脚本开始:

from esa import Manager

from esa import Workers

from esa import sa

经理

管理器是分布式工作线程的任务调度程序。它是为任务分配和工人管理而设计的。

manager = Manager(progressbar=False)
manager.addTask(["some_task"])           # Add tasks
manager.onFinish(a_callback_func)        # The function will be called when all tasks are done
manager.onSingleResult(a_callback_func)  # The function will be called when any task is done
manager.start()                          # Manager starts to work (*non-block)
manager.stop()                           # Manager stops working
manager.loop_forever()                   # Manager starts to work (*block)

使用以下属性可以帮助您跟踪任务进度:

manager.status                           # Manager status and remaining tasks
manager.management                       # Statistics for workers
manager.time                             # The time format that manager uses

工人

workers是一组powerworld simauto com对象。它的目的是从管理器获取任务,并与pysimauto并行执行任务。

worker = Workers(number=1, ip="165.91.215.167", port=1883, auto_shutdown=False, timeout=0, file_path="")
worker.start()

SA

sa是powerworld simauto com对象的包装器。它被设计成易于使用,它包括大部分辅助文件的脚本部分中包含的Simuto函数和脚本操作。 下面列出了最常用的方法。

pysimauto = sa(pwb_file_path)
pysimauto.getListOfDevices(ObjType, filterName)                               # Get a list of objects and their key fields
ContingencyName = 'My Transient Contingency'                                  # Contingency that has already been defined in PowerWorld Simulator
pysimauto.tsSolve(ContingencyName)                                            # Solve contingency
pysimauto.tsGetContingencyResults(CtgName, ObjFieldList, StartTime, StopTime) # This function should ONLY be used after the simulation is run
Branch = '"Branch ''4'' ''5'' ''1''"'                                         # Branch label should be entered as a string
pysimatuo.tsCalculateCriticalClearTime(Branch)                                # Calculate CCT of the branch and the result is returned to PW as a new ctg.
FunctionActionArgument
openCase(pwb_file_path)Opens case defined by the full file pathpwb_file_path: string (Required). This string includes the directory location and full file name.
saveCase()Saves case with changes to existing file name and path.
saveCaseAs(pwb_file_path)If file name and path are specified, saves case as a new file.Overwrites any existing file with the same name and path.pwb_file_path: string (Optional)
saveCaseAsAux(file_name, FilterName, ObjectType, ToAppend, FieldList)If file name and path are specified, saves case as a new aux file.Overwrites any existing file with the same name and path.file_name=string (Optional). FilterName: string (Optional). ObjectType: string (Optional). ToAppend: boolean (Optional) Default is True. FieldList: variant (Optional) Default is 'all'
closeCase()Closes case without saving changes.
getListOfDevices(ObjType, filterName)Request a list of objects and their key fieldsObjType: string (Required), filterName: string (Required)
runScriptCommand(script_command)Input a script command as in an Auxiliary file SCRIPT{} statement or the PowerWorld Script command prompt.script_command: string (Required)
loadAuxFileText(self, auxtext)Creates and loads an Auxiliary file with the text specified in auxtext parameter.auxtext: string (Required)
getFieldList(ObjectType)The GetFieldList function is used to find all fields contained within a given object type.ObjectType: string (Required)
getParametersSingleElement(element_type, field_list, value_list)Retrieves parameter data according to the fields specified in field_list.element_type: string (Required). field_list: variant (Required) A variant array storing strings. value_list: variant (Required) A variant array storing variants.
getParametersMultipleElement(elementtype, fieldlist, filtername)The GetParametersMultipleElement function is used to request the values of specified fields for a set of objects in the load flow case.elementtype: string (Required). fieldlist: string (Required). filtername: string (Optional).
get3PBFaultCurrent(busnum)Calculates the three phase fault; this can be done even with cases which only contain positive sequence impedancesbusnum: string (Required)
createFilter(condition, objecttype, filtername, filterlogic, filterpre, enabled)Creates a filter in PowerWorld. The attempt is to reduce the clunkiness of creating a filter in the API, which entails creating an aux data filecondition, objecttype, filtername: string (Required). filterlogic: string (Optional) Default is 'AND'. filterpre: string (optional) Default is 'NO'. enabled: string (Optional) Default is 'YES'
saveState()SaveState is used to save the current state of the power system.
loadState()LoadState is used to load the system state previously saved with the SaveState function.
changeParameters(ObjType, Paramlist, ValueArray)ChangeParameters is used to change single or multiple parameters of a single object.ObjType: string (Required). Paramlist: variant of array (Required), ValueArray: A variant array storing variants (Required)
sendToExcel(ObjectType, FilterName, FieldList)Send data from the Simulator Automation Server to an Excel spreadsheet.ObjectType: String (Required). FilterName: String (Required). FieldList: Variant This parameter must either be an array of fields for the given object or the string "ALL".
tsCalculateCriticalClearTime(Branch)Use this action to calculate critical clearing time for faults on the lines that meet the specified filter.Branch: string (Required)
tsResultStorageSetAll(objectttype, choice)This command will allow setting which object types are stored in memory during a transient stability run. This will affect all fields and states for the specified objecttype.objectttype: string (Required). choice: string (Required).
tsSolve(ContingencyName)Solves only the specified contingencyContingencyName: string (Required).
tsGetContingencyResults(CtgName, ObjFieldList, StartTime, StopTime)Read transient stability results directly into the SimAuto COM obkect and be further used. This function should ONLY be used after the simulation is run.CtgName: string (Required). ObjFieldList: string (Required). StartTime: string (Optional). StopTime: string (Optional)
setData(ObjectType, FieldList, ValueList, Filter)Use this action to set fields for particular objects.ObjectType: string (Required). FieldList: A variant of string (Required). ValueList: A variant of string (Required). Filter: string (Optional)
delete(ObjectType)Use this delete objects of a particular type. A filter may optionally be specified to only delete objects that meet a filter.ObjectType: string (Required)
createData(ObjectType, FieldList, ValueList)Use this action to create particular objects.ObjectType: string (Required). FieldList: A variant of string (Required). ValueList: A variant of string. (Required).
writeAuxFile(FileName, FilterName, ObjectType, FieldList, ToAppend, EString)This function can be used to write data from the case in the Simulator Automation Server to a PowerWorld Auxiliary file.FileName: string (Required). FilterName: string (Required). ObjectType: string (Required). FieldList: A variant of string (Required). ToAppend =True. EString=None
calculateLODF(Branch, LinearMethod, PostClosureLCDF)Use this action to calculate the Line Outage Distribution Factors (or the Line Closure Distribution Factors) for a particular branch.Branch: string (Required). LinearMethod: string (Oprional) Default is 'DC'. PostClosureLCDF: string (Optional) Default is 'YES'.
saveJacobian(JacFileName, JIDFileName, FileType, JacForm)Use this action to save the Jacobian Matrix to a text file or a file formatted for use with Matlab.JacFileName, JIDFileName: string (Required). FileType: string 'M' or 'TEX' or 'EXPM' (Required). JacForm: string 'R' or 'P' (Required).
saveYbusInMatlabFormat(fileName, IncludeVoltages)Use this action to save the YBus to a file formatted for use with MatlabfileName: string (Required). IncludeVoltages: string (Optional) Default is 'YES'.
setParticipationFactors(Method, ConstantValue, Object)Use this action to modify the generator participation factors in the case.Method: string 'MAXMWRAT'or 'RESERVE' or 'CONSTANT' (Required). ConstantValue: float (Required). Object: string (Required)
tsRunUntilSpecifiedTime(ContingencyName, RunOptions)This command allows manual control of the transient stability run.ContingencyName: string (Required). RunOptions: string '[StopTime(in seconds), StepSize(numbers), StepsInCycles='YES', ResetStartTime='NO', NumberOfTimeStepsToDo=0]' (Required).
tsWriteOptions(fileName, Options, KeyfieldSave the transient stability option settings to an auxiliary file.fileName: string (Required). Options: string '[SaveDynamicModel, SaveStabilityOptions, SaveStabilityEvents, SaveResultsEvents, SavePlotDefinitions]' (Optional). Keyfield: string (Optional)
enterMode(mode)This action will change the mode in which Simulator is operating.mode: string (Required)

开发人员

如果您对这个包有任何疑问,请随时通过github与开发人员联系。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何设置分割PdfPCell的最小高度   java Apache POI pptx图像处理时间过长   如果我更改jar文件的位置,则java jar文件不拍摄图像   java如何从客户端读取领事键值?   Java函数接口中的泛型类型安全   java无法解析:E/RecyclerView:未连接适配器;正在跳过布局,并且无法为子()中的参数“pathString”传递null   java异常postGIS几何映射与JPA   hibernate初始SessionFactory创建失败。JAVAlang.NoClassDefFoundError:org/hiber-nate/cfg/Configuration   java为什么BoxLayout不能共享,而FlowLayout可以共享?   名为“undefined”的java文件在api响应中返回,spring boot   java在一个对象中只允许一个非空字段的好方法是什么   日期java SimpleDataFormat错误地解析给定的时间戳   用于实现lambda可能接口的枚举的java速记符号