py61850.common#

Commmon API shared by client and server module

Functions

extra_cdc_options(*allowed)

Indicate valid CdcOption in addition to the standard options

Classes

CdcControlModelOptions(*values)

CdcOptions(*values)

ACSIClass(*values)

Dbpos(*values)

FunctionalConstraint(*values)

Iec61850Edition(*values)

OrCat(*values)

Category of the originator of the control request

Quality(*values)

ReportOptions(*values)

ReportTriggerOptions(*values)

SampledValueOptions(*values)

Sampled value optional fields

SVSmpMod(*values)

For sampled value, indicate how the sample rate is expressed

Timestamp(handle)

ControlAddCause(*values)

Additional cause information for control model errors

ControlLastApplError(*values)

Error type for control models

ControlModel(*values)

Control model

LinkedList(handle[, responsable_for_deletion])

MmsDataAccessError(*values)

MmsType(*values)

Enum to represent the type of a MmsValue

MmsValue(handle[, responsable_for_deletion])

MmsVariableSpecification(handle[, ...])

class py61850.common.CdcControlModelOptions(*values)#
class py61850.common.CdcOptions(*values)#
py61850.common.extra_cdc_options(*allowed: CdcOptions)#

Indicate valid CdcOption in addition to the standard options

class py61850.common.ACSIClass(*values)#
DATA_OBJECT = 0#

Data object

DATA_SET = 1#

Dataset

BRCB = 2#

Buffered report control block

URCB = 3#

Unbeffered report control block

LCB = 4#

Log control block

LOG = 5#

Log

SGCB = 6#

Setting group control block

GoCB = 7#

Goose control block

GsCB = 8#

GSSE control block

MSVCB = 9#

Multicast sampled value control block

USVCB = 10#

Unicast sampled value control block

class py61850.common.Dbpos(*values)#
class py61850.common.FunctionalConstraint(*values)#
class py61850.common.Iec61850Edition(*values)#
EDITION_1 = 0#

IEC 61850 edition 1

EDITION_2 = 1#

IEC 61850 edition 2

EDITION_2_1 = 2#

IEC 61850 edition 2.1

class py61850.common.OrCat(*values)#

Category of the originator of the control request

class py61850.common.Quality(*values)#
property validity: QualityValidity#

Validity of the quality value

property detail: QualityDetail#

Detail of the quality value

class py61850.common.ReportOptions(*values)#
class py61850.common.ReportTriggerOptions(*values)#
class py61850.common.SampledValueOptions(*values)#

Sampled value optional fields

IEC61850_SV_OPT_REFRESH_TIME = 1#

SV ASDU contains attribute RefrTm

IEC61850_SV_OPT_SAMPLE_SYNC = 2#

SV ASDU contains attribute SmpSynch

IEC61850_SV_OPT_SAMPLE_RATE = 4#

SV ASDU contains attribute SmpRate

IEC61850_SV_OPT_DATA_SET = 8#

SV ASDU contains attribute DatSet

IEC61850_SV_OPT_SECURITY = 16#

SV ASDU contains attribute Security

class py61850.common.SVSmpMod(*values)#

For sampled value, indicate how the sample rate is expressed

class py61850.common.ControlAddCause(*values)#

Additional cause information for control model errors

Used in LastApplError and CommandTermination messages.

class py61850.common.ControlLastApplError(*values)#

Error type for control models

Used in LastApplError and CommandTermination messages.

class py61850.common.ControlModel(*values)#

Control model

STATUS_ONLY = 0#

No support for control functions. Control object only support status information.

DIRECT_NORMAL = 1#

Direct control with normal security. Supports Operate, TimeActivatedOperate (optional), and Cancel (optional).

SBO_NORMAL = 2#

Select before operate (SBO) with normal security. Supports Select, Operate, TimeActivatedOperate (optional), and Cancel (optional).

DIRECT_ENHANCED = 3#

Direct control with enhanced security (enhanced security includes the CommandTermination service)

SBO_ENHANCED = 4#

Select before operate (SBO) with enhanced security (enhanced security includes the CommandTermination service)

class py61850.common.LinkedList(handle: LP_SLinkedList, responsable_for_deletion: bool = False)#
add_string(value: str | bytes)#

Add a string at the end of the linked list

static create_from_string_list(datas: list[str | bytes]) LinkedList#

Create an empty LinkedList

static create_new() LinkedList#

Create an empty LinkedList

property handle: LP_SLinkedList#

Pointer to the underlying C structure

to_pointer_list() list[int]#

_summary_

Returns:

_description_

Return type:

list[int]

to_string_list() list[bytes]#

Convert a linked_list of char* to a list of string

Returns:

_description_

Return type:

list[bytes]

class py61850.common.MmsDataAccessError(*values)#
class py61850.common.MmsType(*values)#

Enum to represent the type of a MmsValue

ARRAY = 0#

array type (multiple elements of the same type)

STRUCTURE = 1#

structure type (multiple elements of different types)

BOOLEAN = 2#

boolean

BIT_STRING = 3#

bit string

INTEGER = 4#

signed integer

UNSIGNED = 5#

unsigned integer

FLOAT = 6#

floating point value (32 or 64 bit)

OCTET_STRING = 7#

octet string

VISIBLE_STRING = 8#

visible string - ANSI string

GENERALIZED_TIME = 9#

Generalized time

BINARY_TIME = 10#

Binary time

BCD = 11#

Binary coded decimal (BCD) - not used

OBJ_ID = 12#

object ID - not used

STRING = 13#

Unicode string

UTC_TIME = 14#

UTC time

DATA_ACCESS_ERROR = 15#

Will be returned in case of an error (contains error code)