Tekvel Magic
Загрузка...
Поиск...
Не найдено
Класс SCL

Общий класс для работы с SCL-файлами. Подробнее...

Граф наследования:SCL:
ICD RSD SCD SSD

Открытые члены

def from_artifact (cls, str artifact_id)
 Загружает содержимое SCL-документа из Артифакта. Подробнее...
 
def __init__ (self, file_path=None, edition=None, init_empty=False)
 
def detect_edition (self, raise_on_unknown=False)
 Определить редакцию SCL-документа Подробнее...
 
def to_string (self, pretty_print=True)
 Возвращает содержимое объекта SCL в виде строки. Подробнее...
 
def toString (self, pretty_print=True)
 Псевдоним для функции to_string. Подробнее...
 
def load_from_string (self, scl_str)
 Загружает SCL-документ из строки. Подробнее...
 
def load_from_artifact (self, artifact_str)
 Загружает SCL-документ из строки полученной из Артифакта. Подробнее...
 
def write_to_file (self, save_path)
 Записать содержимое SCL в файл Подробнее...
 
def get_string_snippet_by_line_num (self, line_num, neighbours=0, mark_line=False)
 Получить текстовую строку оригинального SCL по номеру строки Подробнее...
 
def validate (self, override_edition=None)
 Валидация SCL-файла Подробнее...
 
def get_ld_by_ldname (self, ldName)
 Получить элемент LDevice по ldName. Подробнее...
 
def get_ldevice_by_ldname (self, ldName)
 Псевдоним функции SCL.get_ld_by_ldname() Подробнее...
 
def get_iedName_by_ldName (self, ldName)
 Получить атрибут IED.name по заданному ldName. Подробнее...
 
def get_ldInst_by_ldName (self, ldName)
 Получить атрибут LDevice.inst по заданному ldName. Подробнее...
 
def get_ied_by_name (self, iedName, dom=None)
 Получить элемент IED по его атрибуту name. Подробнее...
 
def get_ln_element_by_ref (self, str ln_ref)
 Получить элемент LN/LN0 по ссылке LN Reference. Подробнее...
 
def add_new_type_to_templates (self, str str_element)
 Добавляет новый тип в список DataTypeTemplates. Подробнее...
 
int add_new_object_to_LnType (self, ln_path, str_element)
 Добавление нового типа объекта в существующий тип логического узла. Подробнее...
 
int add_new_node_to_any_ln (self, str ln_path, str str_element)
 Добавление объекта данных в существующий логический узел. Подробнее...
 
def get_dai_by_ref (self, object_reference)
 Получает элемент DAI по ссылке на него. Подробнее...
 
def get_doi_by_ref (self, str object_reference)
 Получает элемент DOI по ссылке на него. Подробнее...
 
def get_doType_by_doiRef (self, str object_reference)
 Возвращает элемент DOType по запросу пути (ObjectReference) к DOI. Подробнее...
 
def get_daType_by_daiRef (self, str object_reference)
 Возвращает элемент DAType по запросу пути (ObjectReference) к DAI. Подробнее...
 
str get_btype_by_dai_ref (self, str object_reference)
 
def get_attributes_with_values (self)
 Получить список атрибутов данных с установленными значениями Подробнее...
 
def get_da_val_regex_by_daiRef (self, object_reference)
 Возвращает регулярное выражение для проверки значения атрибута данных по ссылке на него. Подробнее...
 
def get_Substation_list (self)
 Получить список элементов Substation. Подробнее...
 
def get_ied_list (self, bool server_only=False, bool with_gse_only=False, bool with_smv_only=False)
 Получить список элементов IED. Подробнее...
 
def get_ied_name_list (self, bool server_only=False, bool with_gse_only=False, bool with_smv_only=False)
 Получить список имен IED. Подробнее...
 
str get_ied_name (self, int ied_num=0)
 Возвращает IED.name по номеру IED в файле. Подробнее...
 
def get_ied_access_point_list (self, str ied_name, bool with_server_only=False, allow_serverat=False)
 Возвращает список элементов AccessPoint для IED с заданным ied_name. Подробнее...
 
def get_ied_access_point_name_list (self, str ied_name, bool with_server_only=False, allow_serverat=False)
 Возвращает лист имён AccessPoint для IED с заданным ied_name. Подробнее...
 
def get_ied_access_point_server (self, str ied_name, str ap_name)
 Получить элемент Server для указанного IED и AccessPoint. Подробнее...
 
def get_ied_access_point_server_tuple (self, str ied_name, str ap_name)
 Получить имена IED и AccessPoint в виде кортежа для указанного элемента Server. Подробнее...
 
def get_connected_ap_by_access_point (self, access_point)
 Получить элемент ConnectedAP, соответствующий заданному access_point. Подробнее...
 
def get_connected_ap_subnetwork (self, connected_ap)
 Возвращает элемент SubNetwork, к которому подключена connected_ap. Подробнее...
 
def get_connected_ap_subnet (self, connected_ap)
 Псевдоним для get_connected_ap_subnetwork(). Подробнее...
 
def get_ap_with_ip_list (self)
 Получить список элементов ConnectedAP с IP-адресами. Подробнее...
 
def get_context_object (self, str ied_name=None, str ap_name=None, str ld_inst=None, str ln_name=None)
 Получить элемент etree.Element в зависимости от выбранного контекста поиска: IED, LDevice, LN (LN0). Подробнее...
 
def get_dataset_list (self, str ied_name=None, str ap_name=None, str ld_inst=None, str ln_name=None)
 Получить список элементов DataSet. Подробнее...
 
def get_dataset_names_list (self, ied_name=None, ap_name=None, ld_inst=None, ln_name=None, ref_type=ReferenceType.ObjectReference)
 Получить лист ObjectReference для элементов DataSet в заданном контексте поиска. Подробнее...
 
def get_urcb_list (self, ied_name=None, ap_name=None, ld_inst=None, ln_name=None)
 Получить лист элементов Unbuffered ReportControl blocks. Подробнее...
 
def get_brcb_list (self, ied_name=None, ap_name=None, ld_inst=None, ln_name=None)
 Получить лист элементов Buffered ReportControl blocks. Подробнее...
 
def get_rcb_list (self, ied_name=None, ap_name=None, ld_inst=None, ln_name=None)
 Получить лист элементов ReportControl. Подробнее...
 
def get_rcb_dataset (self, rcb)
 Получить элемент DataSet для заданного ReportControl. Подробнее...
 
def get_urcb_dataset (self, urcb)
 Псевдоним для get_rcb_dataset(). Подробнее...
 
def get_brcb_dataset (self, brcb)
 Псевдоним для get_rcb_dataset(). Подробнее...
 
def get_lcb_list (self, ied_name=None, ap_name=None, ld_inst=None, ln_name=None)
 Получить лист элементов LogControl. Подробнее...
 
def get_gocb_list (self, ied_name=None, ap_name=None, ld_inst=None)
 Возвращает лист элементов GSEControl. Подробнее...
 
def get_gocb_dataset (self, gocb)
 Возвращает элемент DataSet для заданного gocb. Подробнее...
 
def get_msvcb_list (self, ied_name=None, ap_name=None, ld_inst=None)
 Получить лист элементов Multicast SampledValueControl. Подробнее...
 
def get_msvcb_dataset (self, msvcb)
 Получить элемент DataSet для заданного MSVCB. Подробнее...
 
def get_cb_refs_list (self, cb_type, ied_name=None, ap_name=None, ld_inst=None, ln_name=None, ref_type=ReferenceType.ObjectReference)
 Получить список ссылок для указанного типа блока управления (CB). Подробнее...
 
def get_urcb_refs_list (self, ied_name=None, ap_name=None, ld_inst=None, ln_name=None, ref_type=ReferenceType.ObjectReference)
 Получить лист путей (ObjectReference) к ReportControl buffered="false". Подробнее...
 
def get_brcb_refs_list (self, ied_name=None, ap_name=None, ld_inst=None, ln_name=None, ref_type=ReferenceType.ObjectReference)
 Получить лист путей (ObjectReference) к ReportControl buffered="true". Подробнее...
 
def get_lcb_refs_list (self, ied_name=None, ap_name=None, ld_inst=None, ln_name=None, ref_type=ReferenceType.ObjectReference)
 Получить массив путей (ObjectReference) к LogControl. Подробнее...
 
def get_gocb_refs_list (self, ied_name=None, ap_name=None, ld_inst=None, ref_type=ReferenceType.ObjectReference)
 Получить массив путей (ObjectReference) к GSEControl. Подробнее...
 
def get_msvcb_refs_list (self, ied_name=None, ap_name=None, ld_inst=None, ref_type=ReferenceType.ObjectReference)
 Получить лист путей (ObjectReference) к Multicast SampledValueControl. Подробнее...
 
def get_dataset_by_ref (self, dataset_reference)
 Получить элемент DataSet по ссылке на него. Подробнее...
 
def get_cb_by_ref (self, cb_type, cb_reference)
 Получить элемент блока управления (CB) по его типу и ссылке. Подробнее...
 
def get_gocb_by_ref (self, cb_reference)
 Получить блок управления GSEControl по ссылке cb_reference. Подробнее...
 
def get_msvcb_by_ref (self, cb_reference)
 Получить блок управления Multicast SampledValueControl по ссылке cb_reference. Подробнее...
 
def get_ld_name_list (self, ied_name=None)
 Получить лист строк LDName. Подробнее...
 
def get_ln_element_list (self, str ied_name=None, str ld_inst=None, str ld_name=None, bool exclude_ln0=False)
 Получить список элементов LN. Подробнее...
 
def get_ln_ref_list (self, ld_name)
 Получить список ссылок на логические узлы. Подробнее...
 
def get_type_definition_recursive (self, element, parent_path="")
 Получить структуру типа данных для элемента в виде путей MMS ObjectReference. Подробнее...
 
def get_da_mms_ref_list (self, ln_ref)
 Получить список атрибутов данных в формате MMS-ссылок для заданного логического узла. Подробнее...
 
def get_full_datamodel_mms_refs (self, ied_name=None)
 Получить полную модель данных устройства в формате переменных MMS. Подробнее...
 
def get_inputs_extref_list (self)
 Получить все элементы Inputs/ExtRef. Подробнее...
 
def get_fcda_from_mmsref (self, mms_ref)
 Получить элемент FCDA по ссылке MMS. Подробнее...
 
def get_gse_for_gocb (self, gocb)
 Получить элемент GSE раздела Communications для заданного GSEControl. Подробнее...
 
def get_smv_for_mscvb (self, msvcb)
 Получить элемент SMV раздела Communications для заданного SampledValueControl. Подробнее...
 
def get_subnetwork_list (self)
 Получить список элементов SubNetwork. Подробнее...
 
def get_subnetwork_by_name (self, str name)
 Получить элемент Subnetwork по имени. Подробнее...
 
def get_subnetwork_name_list (self)
 Получить список имен SubNetwork. Подробнее...
 
def get_subnetwork_connected_ap_list (self, subnetwork_name=None, subnetwork=None)
 Получить список элементов ConnectedAP для Subnetwork. Подробнее...
 
def get_subnetwork_connected_server_list (self, subnetwork_name=None, subnetwork=None)
 Получить список подключенных серверов в Subnetwork. Подробнее...
 
def get_subnetwork_connected_server_ap_tuple_list (self, subnetwork_name=None, subnetwork=None)
 Получить список кортежей, содержащих имена IED и имена точек доступа подключенных серверов в Subnetwork. Подробнее...
 
def select_ied (self, **kwargs)
 Выбор IED на основе указанных критериев. Подробнее...
 
def append_scl (self, scl)
 Добавить файл CID в текущий SCD. Подробнее...
 
def remove_gocb (self, go_cb_ref, preserve_communications=False)
 Удалить элемент GSEControl по ссылке. Подробнее...
 
def remove_msvcb (self, msv_cb_ref, preserve_communications=False)
 Удалить элемент SampledValueControl по ссылке. Подробнее...
 
def move_gse_smv_elements (self, str iedName, str srcApName, str trgtApName)
 Перемещает элементы GSE и SMV между ConnectedAP. Подробнее...
 
def check_ldNs_defined (self)
 Проверка наличия объекта данных NamPlt.ldNs во всех LLN0. Подробнее...
 
def check_lnNs_defined (self)
 Проверка наличия объекта данных NamPlt.ldNs во всех LLN0. Подробнее...
 
def check_dataNs_defined (self)
 Проверка корректности задания dataNs. Подробнее...
 
def check_cdcNs_defined (self)
 Проверка корректности задания cdcNs. Подробнее...
 
def check_originalSclVersion_is (self, originalSclVersion)
 Проверка правильности задания атрибута originalSclVersion. Подробнее...
 
def check_originalSclRevision_is (self, originalSclRevision)
 Проверка правильности задания атрибута originalSclRevision. Подробнее...
 
def check_xmlns_is (self, xmlns)
 Проверка значения атрибута xmlns корневого элемента SCL. Подробнее...
 
def check_xsi_is (self, xsi)
 Проверка значения атрибута xmlns:xsi корневого элемента SCL. Подробнее...
 
def check_lln0_configRev_defined (self)
 Проверка наличия атрибута (DAI) configRev во всех LLN0.NamPlt. Подробнее...
 
def check_value_list_match_type (self, dai_value_reference_list)
 Проверяет соответствие значения атрибута его типу. Подробнее...
 
def validate_xml_declaration (self)
 Проверяет, содержит ли файл корректную XML декларацию в соответствии со стандартными требованиями. Подробнее...
 
def validate_utf8_encoding (self)
 Выполнить проверку кодировки, чтобы убедиться, что файл закодирован в UTF-8. Подробнее...
 
def check_datasets_consistency (self)
 Проверка всех наборов данных. Подробнее...
 
def get_fcda_by_extref (self, et_extref)
 Поиск соответствующего FCDA для ExtRef. Подробнее...
 
def check_ied_has_preconfigured_urcb (self)
 Проверка наличия предварительно сконфигурированных блоков управления передачей небуферизируемых в ICD. Подробнее...
 
def check_ied_has_preconfigured_brcb (self)
 Проверка наличия предварительно сконфигурированных блоков управления передачей буферизируемых в ICD. Подробнее...
 
def check_ied_has_preconfigured_lcb (self)
 Проверка наличия предварительно сконфигурированных блоков управления журналов событий (LogControl) в ICD. Подробнее...
 
def check_ied_has_preconfigured_gocb (self)
 Проверка наличия предварительно сконфигурированных блоков управления передачей GOOSE в ICD. Подробнее...
 
def check_ied_has_preconfigured_msvcb (self)
 Проверка наличия предварительно сконфигурированных блоков управления передачей мультикаст SV в ICD. Подробнее...
 

Открытые атрибуты

 file_path
 
 dom
 
 namespaces
 
 default_namespace
 
 original_string
 
 edition
 

Статические открытые данные

dictionary BTYPE_REGEX_DICT
 
int iterations = 0
 

Подробное описание

Общий класс для работы с SCL-файлами.

Класс SCL предоставляет множество функций для манипуляций с SCL-файлами. Специфичные классы, такие как SSD, ICD и SCD, наследуются от SCL и предлагают функции, специфичные для файлов этих типов.

Обычно экземпляр класса SCL инициализируется с использованием существующего SCL-файла, который можно загрузить с указанного пути, как показано в примере ниже:

Пример использования класса SCL:

scl = SCL("path/to/scl/file")

По умолчанию, класс SCL использует редакцию 2 стандарта SCL. Если требуется работа с SCL-файлами других редакций, таких как редакция 1 или 2.1, укажите номер редакции при инициализации класса. Обратите внимание, что номер редакции передается в виде строки, а не числа.

scl = SCL("path/to/scl/file", edition="1")

Для выбора SCL-файла из файловой системы через графический интерфейс можно воспользоваться функциями класса Dialog, как показано ниже:

scd_filepath = Dialog.open_scl_file()
scl = SCL(scd_filepath)

Для получения дополнительной информации о диалогах, связанных с SCL, обратитесь к документации класса Dialog.

Одновременно можно создавать несколько экземпляров класса SCL для работы с различными SCL-файлами, включая сравнение файлов.

scl1 = SCL("path/to/scl/file1")
scl2 = SCL("path/to/scl/file2")
Заметки
При инициализации с путем до SCL-файла, класс SCL выполняет разбор файла и создает XML DOM модель для дальнейшего использования. Никакие дополнительные операции, такие как валидация, по умолчанию не выполняются. Чтобы выполнить валидацию файла SCL по его схеме, необходимо явно вызвать метод validate() в вашем тестовом сценарии, если это требуется.

Конструктор(ы)

◆ __init__()

def __init__ (   self,
  file_path = None,
  edition = None,
  init_empty = False 
)

Методы

◆ add_new_node_to_any_ln()

int add_new_node_to_any_ln (   self,
str  ln_path,
str  str_element 
)

Добавление объекта данных в существующий логический узел.

Эта функция добавляет объект данных в существующий логический узел. Она сопоставляет путь логического узла с помощью регулярного выражения, извлекает элемент логического узла и добавляет новый объект, если условия выполняются. Положение нового объекта в логическом узле определяется на основе предопределенных списков элементов.

Аргументы
ln_pathПуть логического узла.
str_elementСтроковая переменная добавляемого элемента.
Исключения
ExceptionВызывается, если ссылка на логический узел неверна, элемент логического узла не найден или указанный объект уже определен в файле SCL.
Возвращает
1 в случае успешного добавления, 0 если элемент уже существует, -1 в случае ошибки.

◆ add_new_object_to_LnType()

int add_new_object_to_LnType (   self,
  ln_path,
  str_element 
)

Добавление нового типа объекта в существующий тип логического узла.

Эта функция добавляет новый тип объекта в существующий тип логического узла. Она сопоставляет путь логического узла с помощью регулярного выражения, извлекает элемент логического узла и добавляет новый элемент, если условия выполняются.

Аргументы
ln_pathПуть логического узла.
str_elementСтроковая переменная добавляемого типа.
Исключения
ExceptionВызывается, если ссылка на логический узел неверна, элемент логического узла не найден или тип логического узла не найден в DataTypeTemplates.
Возвращает
1 в случае успешного добавления, 0 если элемент уже существует, -1 в случае ошибки, None если путь логического узла не совпадает или элемент логического узла не найден.

◆ add_new_type_to_templates()

def add_new_type_to_templates (   self,
str  str_element 
)

Добавляет новый тип в список DataTypeTemplates.

Эта функция пытается добавить новый тип (LNodeType, DOType, DAType, EnumType) в список DataTypeTemplates. Сначала проверяется, существует ли элемент уже в списке. Если нет, добавляет новый тип и возвращает 1. Если элемент уже существует, возвращает 0. Если возникает ошибка во время добавления, возвращает -1.

Аргументы
str_elementСтроковая переменная добавляемого элемента.
Возвращает
1 в случае успешного добавления, 0 если элемент уже существует, -1 в случае ошибки.

◆ append_scl()

def append_scl (   self,
  scl 
)

Добавить файл CID в текущий SCD.

Эта функция добавляет файл CID в текущий SCD. Она выполняет несколько проверок и операций, включая проверку наличия в CID файле только одного IED, обеспечение отсутствия в SCD IED с таким же именем, проверку совместимости версии/ревизии SCL, переименование типов данных и копирование типов данных, IED и подсетей.

Аргументы
sclФайл CID для добавления.
Исключения
SclElementNotFoundВызывается, если в CID файле нет IED.
TooManySclElementsВызывается, если в CID файле содержится более одного IED.
DuplicateSclElementВызывается, если в файле SCD уже содержится IED с таким же именем.
NotSupportedВызывается, если файл CID имеет другую версию/ревизию SCL, чем SCD.
Возвращает
None

◆ check_cdcNs_defined()

def check_cdcNs_defined (   self)

Проверка корректности задания cdcNs.

Эта функция проверяет корректность задания cdcNs. Она извлекает все значения cdcNs из документа и проверяет их на соответствие стандартным пространствам имен CDC.

Возвращает
Объект TestResult, содержащий результат теста, сообщения журнала и сообщения об ошибках.
См. также
TestResult

◆ check_dataNs_defined()

def check_dataNs_defined (   self)

Проверка корректности задания dataNs.

Эта функция проверяет корректность задания dataNs. Она рассматривает все логические узлы, пропуская те, которые находятся вне стандартного пространства имен, и гарантирует, что каждый объект данных либо соответствует стандарту NSD, либо имеет корректное значение dataNs.

Возвращает
Объект TestResult, содержащий результат теста, сообщения журнала и сообщения об ошибках.
См. также
TestResult

◆ check_datasets_consistency()

def check_datasets_consistency (   self)

Проверка всех наборов данных.

Эта функция проверяет, что все атрибуты FCDA в рамках каждого набора данных ссылаются на существующие в модели устройства элементы DO/SDO, DA/BDA.

Возвращает
Объект TestResult, содержащий результат теста, сообщения журнала и сообщения об ошибках.
См. также
TestResult

◆ check_ied_has_preconfigured_brcb()

def check_ied_has_preconfigured_brcb (   self)

Проверка наличия предварительно сконфигурированных блоков управления передачей буферизируемых в ICD.

Эта функция проверяет наличие предварительно сконфигурированных блоков управления передачей буферизируемых (BRCB) в ICD. Она проверяет наличие любых ссылок на BRCB и записывает сообщения в журнал.

Возвращает
Объект TestResult, содержащий результат теста, сообщения журнала и сообщения об ошибках.
См. также
TestResult, SCL.get_brcb_refs_list()

◆ check_ied_has_preconfigured_gocb()

def check_ied_has_preconfigured_gocb (   self)

Проверка наличия предварительно сконфигурированных блоков управления передачей GOOSE в ICD.

Эта функция проверяет наличие предварительно сконфигурированных блоков управления передачей GOOSE (GoCB) в ICD. Она проверяет наличие любых ссылок на GoCB и записывает сообщения в журнал.

Возвращает
Объект TestResult, содержащий результат теста, сообщения журнала и сообщения об ошибках.
См. также
TestResult, SCL.get_gocb_refs_list()

◆ check_ied_has_preconfigured_lcb()

def check_ied_has_preconfigured_lcb (   self)

Проверка наличия предварительно сконфигурированных блоков управления журналов событий (LogControl) в ICD.

Эта функция проверяет наличие предварительно сконфигурированных блоков управления журналов событий (LCB) в ICD. Она проверяет наличие любых ссылок на LCB и записывает сообщения в журнал.

Возвращает
Объект TestResult, содержащий результат теста, сообщения журнала и сообщения об ошибках.
См. также
TestResult, SCL.get_lcb_refs_list()

◆ check_ied_has_preconfigured_msvcb()

def check_ied_has_preconfigured_msvcb (   self)

Проверка наличия предварительно сконфигурированных блоков управления передачей мультикаст SV в ICD.

Эта функция проверяет наличие предварительно сконфигурированных блоков управления передачей мультикаст SV (MSVCB) в ICD. Она проверяет наличие любых ссылок на MSVCB и записывает сообщения в журнал.

Возвращает
Объект TestResult, содержащий результат теста, сообщения журнала и сообщения об ошибках.
См. также
TestResult, SCL.get_msvcb_refs_list()

◆ check_ied_has_preconfigured_urcb()

def check_ied_has_preconfigured_urcb (   self)

Проверка наличия предварительно сконфигурированных блоков управления передачей небуферизируемых в ICD.

Эта функция проверяет наличие предварительно сконфигурированных блоков управления передачей небуферизируемых (URCB) в ICD. Она проверяет наличие любых ссылок на URCB и записывает сообщения в журнал.

Возвращает
Объект TestResult, содержащий результат теста, сообщения журнала и сообщения об ошибках.
См. также
TestResult, SCL.get_urcb_refs_list()

◆ check_ldNs_defined()

def check_ldNs_defined (   self)

Проверка наличия объекта данных NamPlt.ldNs во всех LLN0.

◆ check_lln0_configRev_defined()

def check_lln0_configRev_defined (   self)

Проверка наличия атрибута (DAI) configRev во всех LLN0.NamPlt.

Эта функция проверяет наличие атрибута configRev (DAI) во всех элементах LLN0.NamPlt. Она проверяет, что атрибут существует и имеет ненулевое значение во всех логических устройствах.

Возвращает
Объект TestResult, содержащий результат теста, сообщения журнала и сообщения об ошибках.
См. также
TestResult

◆ check_lnNs_defined()

def check_lnNs_defined (   self)

Проверка наличия объекта данных NamPlt.ldNs во всех LLN0.

Эта функция проверяет наличие объекта данных NamPlt.ldNs во всех элементах LLN0 в логических устройствах. Она записывает сообщения и ошибки на основе результатов и возвращает объект TestResult, указывающий на успех или неудачу теста.

Возвращает
Объект TestResult, содержащий результат теста, сообщения журнала и сообщения об ошибках.

◆ check_originalSclRevision_is()

def check_originalSclRevision_is (   self,
  originalSclRevision 
)

Проверка правильности задания атрибута originalSclRevision.

Эта функция проверяет правильность задания атрибута originalSclRevision для всех элементов IED в документе. Она проверяет, что значение атрибута соответствует указанной ревизии.

Аргументы
originalSclRevisionОжидаемое значение атрибута originalSclRevision.
Возвращает
Объект TestResult, содержащий результат теста, сообщения журнала и сообщения об ошибках.
См. также
TestResult

◆ check_originalSclVersion_is()

def check_originalSclVersion_is (   self,
  originalSclVersion 
)

Проверка правильности задания атрибута originalSclVersion.

Эта функция проверяет правильность задания атрибута originalSclVersion для всех элементов IED в документе. Она проверяет, что значение атрибута соответствует указанной версии.

Аргументы
originalSclVersionОжидаемое значение атрибута originalSclVersion.
Возвращает
Объект TestResult, содержащий результат теста, сообщения журнала и сообщения об ошибках.
См. также
TestResult

◆ check_value_list_match_type()

def check_value_list_match_type (   self,
  dai_value_reference_list 
)

Проверяет соответствие значения атрибута его типу.

Эта функция проверяет, соответствуют ли значения атрибутов их указанным типам, используя регулярные выражения. Она перебирает список ссылок на значения атрибутов, проверяет каждое значение в соответствии с его типом и записывает сообщения и ошибки на основе результата.

Аргументы
dai_value_reference_listСписок словарей, содержащих ключи 'value' и 'reference', представляющих значения атрибутов и их ссылки.
Возвращает
Объект TestResult, содержащий результат теста, сообщения журнала и сообщения об ошибках.
См. также
TestResult

◆ check_xmlns_is()

def check_xmlns_is (   self,
  xmlns 
)

Проверка значения атрибута xmlns корневого элемента SCL.

Эта функция проверяет, соответствует ли значение атрибута xmlns корневого элемента SCL указанному значению. Она записывает сообщения и ошибки на основе результата сравнения.

Аргументы
xmlnsОжидаемое значение атрибута xmlns.
Возвращает
Объект TestResult, содержащий результат теста, сообщения журнала и сообщения об ошибках.
См. также
TestResult

◆ check_xsi_is()

def check_xsi_is (   self,
  xsi 
)

Проверка значения атрибута xmlns:xsi корневого элемента SCL.

Эта функция проверяет, соответствует ли значение атрибута xmlns:xsi корневого элемента SCL указанному значению. Она записывает сообщения и ошибки на основе результата сравнения.

Аргументы
xsiОжидаемое значение атрибута xmlns:xsi.
Возвращает
Объект TestResult, содержащий результат теста, сообщения журнала и сообщения об ошибках.
См. также
TestResult

◆ detect_edition()

def detect_edition (   self,
  raise_on_unknown = False 
)

Определить редакцию SCL-документа

Автоматически определяет редакцию загруженного SCL-файла

Аргументы
raise_on_unknownБулевый флаг, указывающий, следует ли выбросить исключение для неизвестных редакций (по умолчанию: False)
Исключения
ExceptionВыбрасывается, если редакция SCL файла неизвестна и raise_on_unknown установлено в True
Возвращает
Обнаруженная редакция в виде строки

◆ from_artifact()

def from_artifact (   cls,
str  artifact_id 
)

Загружает содержимое SCL-документа из Артифакта.

Этот метод загружает содержимое SCL-документа из строки, полученной через Артефакт, который определяется идентификатором artifact_id. Метод инициализирует экземпляр класса SCL содержимым артефакта и парсит его как XML-документ.

Аргументы
artifact_idИдентификатор Артифакта, из которого будет загружен SCL-документ.
Возвращает
Экземпляр класса SCL, загруженный с содержимым указанного Артифакта.
См. также
TestEngine.get_artifact

◆ get_ap_with_ip_list()

def get_ap_with_ip_list (   self)

Получить список элементов ConnectedAP с IP-адресами.

Эта функция получает список элементов ConnectedAP, у которых есть IP-адреса. Она ищет в объектной модели документа (DOM) элементы P с атрибутом type, равным "IP", а затем собирает их родительские элементы ConnectedAP.

Возвращает
Список элементов ConnectedAP (etree.Element) с IP-адресами.

◆ get_attributes_with_values()

def get_attributes_with_values (   self)

Получить список атрибутов данных с установленными значениями

Возвращает список атрибутов, для которых существует элемент Val. Если объектная модель документа (DOM) не построена, он инициализирует DOM. Затем функция находит все элементы Val и собирает их значения и ссылки в список.

Возвращает
Список словарей, каждый из которых содержит 'value' элемента Val и его 'reference'.

◆ get_brcb_dataset()

def get_brcb_dataset (   self,
  brcb 
)

Псевдоним для get_rcb_dataset().

Эта функция является псевдонимом для get_rcb_dataset(). Она возвращает элемент DataSet для заданного блока Buffered ReportControl (BRCB).

Аргументы
brcbЭлемент блока Buffered ReportControl (BRCB).
Возвращает
Элемент DataSet для заданного BRCB.
См. также
SCL.get_rcb_dataset()

◆ get_brcb_list()

def get_brcb_list (   self,
  ied_name = None,
  ap_name = None,
  ld_inst = None,
  ln_name = None 
)

Получить лист элементов Buffered ReportControl blocks.

Эта функция возвращает список элементов Buffered ReportControl blocks. Сначала она строит DOM, если он еще не построен, затем получает контекстный объект на основе предоставленных имен IED, LDevice и LN (LN0). Наконец, она ищет элементы ReportControl в контекстном объекте, используя XPath, фильтруя по атрибуту buffered, установленному в "true".

Аргументы
ied_nameИмя IED.
ld_instЭкземпляр LDevice.
ln_nameИмя LN (LN0).
Возвращает
Список элементов Buffered ReportControl blocks.
См. также
SCL.get_context_object()

◆ get_brcb_refs_list()

def get_brcb_refs_list (   self,
  ied_name = None,
  ap_name = None,
  ld_inst = None,
  ln_name = None,
  ref_type = ReferenceType.ObjectReference 
)

Получить лист путей (ObjectReference) к ReportControl buffered="true".

Эта функция возвращает список ObjectReference для блоков управления отчетами с буферизацией (BRCB) в заданном контексте IED, LDevice и LN (LN0). Она использует метод get_cb_refs_list для генерации списка ссылок.

Аргументы
ied_nameИмя IED.
ld_instЭкземпляр LDevice.
ln_nameИмя LN (LN0).
ref_typeТип ссылки, по умолчанию ReferenceType.ObjectReference.
Возвращает
Список ObjectReference для блоков управления отчетами с буферизацией (BRCB).
См. также
SCL.get_cb_refs_list()

◆ get_btype_by_dai_ref()

str get_btype_by_dai_ref (   self,
str  object_reference 
)

◆ get_cb_by_ref()

def get_cb_by_ref (   self,
  cb_type,
  cb_reference 
)

Получить элемент блока управления (CB) по его типу и ссылке.

Эта функция возвращает элемент блока управления (CB) на основе его типа и ссылки. Она анализирует ссылку, чтобы извлечь LDName, LNName и cbName, а затем получает соответствующий элемент CB.

Аргументы
cb_typeТип блока управления (CB), который может быть "RCB", "BRCB", "URCB", "GoCB", "MSVCB", "LCB" или "DataSet".
cb_referenceСсылка на блок управления.
Возвращает
Элемент блока управления, соответствующий предоставленному типу и ссылке, или None, если не найден.
См. также
SCL.get_ld_by_ldname(), SCL.get_LN_element_by_name(), SCL.get_element_by_attribute()

◆ get_cb_refs_list()

def get_cb_refs_list (   self,
  cb_type,
  ied_name = None,
  ap_name = None,
  ld_inst = None,
  ln_name = None,
  ref_type = ReferenceType.ObjectReference 
)

Получить список ссылок для указанного типа блока управления (CB).

Эта функция возвращает список ссылок для указанного типа блока управления (CB) в заданном контексте IED, LDevice и LN (LN0). Она получает список элементов CB на основе предоставленного типа и контекста, а затем генерирует ссылки для каждого элемента CB.

Аргументы
cb_typeТип блока управления (CB), который может быть "BRCB", "URCB", "GoCB", "MSVCB" или "LCB".
ied_nameИмя IED.
ap_nameИмя AccessPoint.
ld_instЭкземпляр LDevice.
ln_nameИмя LN (LN0).
ref_typeТип ссылки, по умолчанию ReferenceType.ObjectReference.
Возвращает
Список ссылок для указанного типа блока управления (CB).
См. также
SCL.get_brcb_list(), SCL.get_urcb_list(), SCL.get_gocb_list(), SCL.get_msvcb_list(), SCL.get_lcb_list()

◆ get_connected_ap_by_access_point()

def get_connected_ap_by_access_point (   self,
  access_point 
)

Получить элемент ConnectedAP, соответствующий заданному access_point.

Эта функция возвращает элемент ConnectedAP, соответствующий заданному элементу AccessPoint. Она извлекает имя AccessPoint и его родительского IED, а затем ищет в объектной модели документа (DOM) элемент ConnectedAP с совпадающими атрибутами iedName и apName.

Аргументы
access_pointЭлемент AccessPoint в составе IED.
Исключения
ExceptionВызывается, если искомый элемент ConnectedAP не обнаружен.
AttributeErrorВызывается, если у элемента AccessPoint отсутствует атрибут name.
Возвращает
Элемент ConnectedAP (etree.Element).

◆ get_connected_ap_subnet()

def get_connected_ap_subnet (   self,
  connected_ap 
)

Псевдоним для get_connected_ap_subnetwork().

Эта функция является псевдонимом для get_connected_ap_subnetwork(). Она возвращает элемент SubNetwork, к которому подключен заданный элемент ConnectedAP, извлекая его родительский элемент.

Уст.:
Этот метод устарел и будет удален в будущих версиях. Используйте get_connected_ap_subnetwork().
Аргументы
connected_apЭлемент ConnectedAP (etree.Element).
Возвращает
Элемент SubNetwork (etree.Element).

◆ get_connected_ap_subnetwork()

def get_connected_ap_subnetwork (   self,
  connected_ap 
)

Возвращает элемент SubNetwork, к которому подключена connected_ap.

Эта функция возвращает элемент SubNetwork, к которому подключен заданный элемент ConnectedAP, извлекая его родительский элемент.

Аргументы
connected_apЭлемент ConnectedAP (etree.Element).
Возвращает
Элемент SubNetwork (etree.Element).

◆ get_context_object()

def get_context_object (   self,
str  ied_name = None,
str  ap_name = None,
str  ld_inst = None,
str  ln_name = None 
)

Получить элемент etree.Element в зависимости от выбранного контекста поиска: IED, LDevice, LN (LN0).

Эта функция возвращает элемент etree.Element в зависимости от заданного контекста поиска, который может быть IED, LDevice или LN (LN0). Сначала она строит DOM, если он еще не построен, а затем переходит по DOM на основе предоставленных параметров контекста.

Аргументы
ied_nameИмя IED.
ld_instЭкземпляр LDevice.
ln_nameИмя LN (LN0).
Возвращает
Элемент etree.Element на основе контекста поиска.

◆ get_da_mms_ref_list()

def get_da_mms_ref_list (   self,
  ln_ref 
)

Получить список атрибутов данных в формате MMS-ссылок для заданного логического узла.

Эта функция возвращает список атрибутов данных в формате MMS-ссылок для заданного логического узла. Она получает элемент логического узла по его ссылке, а затем использует метод get_type_definition_recursive для создания списка MMS-ссылок.

Аргументы
ln_refСсылка на логический узел.
Возвращает
Список атрибутов данных в формате MMS-ссылок для заданного логического узла.
См. также
SCL.get_ln_element_by_ref(), SCL.get_type_definition_recursive()

◆ get_da_val_regex_by_daiRef()

def get_da_val_regex_by_daiRef (   self,
  object_reference 
)

Возвращает регулярное выражение для проверки значения атрибута данных по ссылке на него.

Эта функция получает элемент типа атрибута данных (DAType) по ссылке на экземпляр атрибута данных (DAI), а затем определяет соответствующее регулярное выражение для проверки значения на основе базового типа (bType) DAType. Если bType равен 'Enum', она получает соответствующий EnumType и регулярное выражение для него. Если bType находится в предопределенном словаре типов, возвращает соответствующее регулярное выражение. В противном случае возвращает "UNKNOWN TYPE".

Аргументы
object_referenceСсылка на DAI в формате: LDName/LNName.DOI [.SDIseq].DAI.
Возвращает
Регулярное выражение для проверки значения атрибута данных или "UNKNOWN TYPE", если тип не распознан.

◆ get_dai_by_ref()

def get_dai_by_ref (   self,
  object_reference 
)

Получает элемент DAI по ссылке на него.

Эта функция получает элемент экземпляра атрибута данных (DAI) по ссылке в формате LDName/LNName.DOI[.SDIseq].DAI. Она использует регулярное выражение для разбора ссылки, а затем проходит по иерархической структуре, чтобы найти указанный элемент DAI.

Аргументы
object_referenceСсылка на атрибут в формате: LDName/LNName.DOI [.SDIseq].DAI.
Исключения
ExceptionВызывается, если формат ссылки на объект не соответствует ожидаемому шаблону.
Возвращает
Элемент DAI (etree.Element), если найден, иначе None.

◆ get_dataset_by_ref()

def get_dataset_by_ref (   self,
  dataset_reference 
)

Получить элемент DataSet по ссылке на него.

Эта функция возвращает элемент DataSet, соответствующий предоставленной ссылке. Она использует метод get_cb_by_ref для получения элемента DataSet.

Аргументы
dataset_referenceСсылка на DataSet.
Возвращает
Элемент DataSet, соответствующий предоставленной ссылке.
См. также
SCL.get_cb_by_ref()

◆ get_dataset_list()

def get_dataset_list (   self,
str  ied_name = None,
str  ap_name = None,
str  ld_inst = None,
str  ln_name = None 
)

Получить список элементов DataSet.

Эта функция возвращает список элементов DataSet. Сначала она строит DOM, если он еще не построен, затем получает контекстный объект на основе предоставленных имен IED, LDevice и LN (LN0). Наконец, она ищет элементы DataSet в контекстном объекте, используя XPath.

Аргументы
ied_nameИмя IED.
ap_nameИмя AccessPoint
ld_instЭкземпляр LDevice.
ln_nameИмя LN (LN0).
Возвращает
Список элементов DataSet.
См. также
SCL.get_context_object()

◆ get_dataset_names_list()

def get_dataset_names_list (   self,
  ied_name = None,
  ap_name = None,
  ld_inst = None,
  ln_name = None,
  ref_type = ReferenceType.ObjectReference 
)

Получить лист ObjectReference для элементов DataSet в заданном контексте поиска.

Эта функция возвращает список ObjectReference для элементов DataSet в заданном контексте поиска ied_name, ld_inst и ln_name. Если указано только ied_name, она возвращает все ссылки DataSet в указанном IED. Если указаны ied_name и ld_inst, контекст ограничивается конкретным LDevice в IED. Если также указано ln_name, контекст дополнительно ограничивается конкретным LN/LN0.

Аргументы
ied_nameИмя IED.
ld_instЭкземпляр LDevice.
ln_nameИмя LN (LN0).
ref_typeТип ссылки, по умолчанию ReferenceType.ObjectReference.
Возвращает
Список ObjectReference для элементов DataSet в контексте поиска.
См. также
SCL.get_dataset_list() ReferenceType

◆ get_daType_by_daiRef()

def get_daType_by_daiRef (   self,
str  object_reference 
)

Возвращает элемент DAType по запросу пути (ObjectReference) к DAI.

Эта функция возвращает элемент типа атрибута данных (DAType) по ссылке на экземпляр атрибута данных (DAI). Она использует регулярное выражение для разбора ссылки, а затем проходит по иерархической структуре, чтобы найти указанный элемент DAType.

Аргументы
object_referenceСсылка на DAI в формате: LDName/LNName.DOI[.SDIseq].DAI.
Исключения
ExceptionВызывается, если формат ссылки на объект не соответствует ожидаемому шаблону.
Возвращает
Элемент DAType (etree.Element), если найден, иначе None.

◆ get_doi_by_ref()

def get_doi_by_ref (   self,
str  object_reference 
)

Получает элемент DOI по ссылке на него.

Эта функция получает элемент экземпляра объекта данных (DOI) по ссылке в формате LDName/LNName.DOI. Она использует регулярное выражение для разбора ссылки, а затем проходит по иерархической структуре, чтобы найти указанный элемент DOI.

Аргументы
object_referenceСсылка на атрибут в формате: LDName/LNName.DOI.
Исключения
ExceptionВызывается, если формат ссылки на объект не соответствует ожидаемому шаблону.
Возвращает
Элемент DOI (etree.Element), если найден, иначе None.

◆ get_doType_by_doiRef()

def get_doType_by_doiRef (   self,
str  object_reference 
)

Возвращает элемент DOType по запросу пути (ObjectReference) к DOI.

Эта функция возвращает элемент типа объекта данных (DOType) по ссылке на экземпляр объекта данных (DOI). Она использует регулярное выражение для разбора ссылки, а затем проходит по иерархической структуре, чтобы найти указанный элемент DOType.

Аргументы
object_referenceСсылка на DAI в формате: LDName/LNName.DOI[.SDIseq].
Исключения
ExceptionВызывается, если формат ссылки на объект не соответствует ожидаемому шаблону.
Возвращает
Элемент DOType (etree.Element), если найден, иначе None.

◆ get_fcda_by_extref()

def get_fcda_by_extref (   self,
  et_extref 
)

Поиск соответствующего FCDA для ExtRef.

Эта функция выполняет поиск соответствующего FCDA (Функциональный Ограничивающий Атрибут Данных) для заданного ExtRef (Внешняя Ссылка). Она создает запрос XPath на основе атрибутов ExtRef и извлекает соответствующий элемент FCDA.

Аргументы
et_extrefЭлемент, представляющий ExtRef.
Возвращает
Соответствующий элемент FCDA или None, если совпадение не найдено.

◆ get_fcda_from_mmsref()

def get_fcda_from_mmsref (   self,
  mms_ref 
)

Получить элемент FCDA по ссылке MMS.

Эта функция возвращает элемент FCDA для заданной ссылки MMS. Она анализирует ссылку, чтобы извлечь LDName, LNName, DOName, DAName и функциональное ограничение (FC), затем соответственно создает элемент FCDA.

Аргументы
mms_refСсылка MMS в формате LDName/ObjectReference.
Возвращает
Элемент FCDA, соответствующий предоставленной ссылке MMS.
См. также
SCL.get_iedName_by_ldName(), SCL.get_ldInst_by_ldName()

◆ get_full_datamodel_mms_refs()

def get_full_datamodel_mms_refs (   self,
  ied_name = None 
)

Получить полную модель данных устройства в формате переменных MMS.

Эта функция возвращает полную модель данных устройства в формате переменных MMS. Она получает список имен логических устройств для указанного IED, затем для каждого логического устройства получает список ссылок на логические узлы и создает модель данных, используя метод get_type_definition_recursive.

Аргументы
ied_nameИмя IED. Если None, получает модель данных для всех IED.
Возвращает
Список атрибутов модели данных в формате переменных MMS.
См. также
SCL.get_ld_name_list(), SCL.get_ln_ref_list(), SCL.get_ln_element_by_ref(), SCL.get_type_definition_recursive()

Переопределяется в RSD.

◆ get_gocb_by_ref()

def get_gocb_by_ref (   self,
  cb_reference 
)

Получить блок управления GSEControl по ссылке cb_reference.

Эта функция возвращает блок управления GSEControl на основе предоставленной ссылки. Она использует метод get_cb_by_ref для получения элемента GSEControl.

Аргументы
cb_referenceСсылка на блок управления в формате SCL-ссылки (IEDnameLDinst/LLN0.GoCBname).
Возвращает
Элемент GSEControl.
См. также
SCL.get_cb_by_ref()

◆ get_gocb_dataset()

def get_gocb_dataset (   self,
  gocb 
)

Возвращает элемент DataSet для заданного gocb.

Эта функция возвращает элемент DataSet для заданного элемента GSEControl. Она получает DataSet, используя приватный метод _get_cb_dataset.

Аргументы
gocbЭлемент GSEControl.
Исключения
IndexErrorВызывается, если DataSet с указанным именем не найден.
Возвращает
Элемент DataSet или None, если элемент не найден.
См. также
SCL._get_cb_dataset()

◆ get_gocb_list()

def get_gocb_list (   self,
  ied_name = None,
  ap_name = None,
  ld_inst = None 
)

Возвращает лист элементов GSEControl.

Эта функция возвращает список элементов GSEControl. Она получает контекстный объект на основе предоставленных имен IED и LDevice. Наконец, она ищет элементы GSEControl в контекстном объекте, используя XPath.

Аргументы
ied_nameИмя IED.
ap_nameThe name of the AccessPoint
ld_instЭкземпляр LDevice.
Возвращает
Список элементов GSEControl.
См. также
SCL.get_context_object()

◆ get_gocb_refs_list()

def get_gocb_refs_list (   self,
  ied_name = None,
  ap_name = None,
  ld_inst = None,
  ref_type = ReferenceType.ObjectReference 
)

Получить массив путей (ObjectReference) к GSEControl.

Эта функция возвращает список ObjectReference для блоков управления GOOSE (GoCB) в заданном контексте IED и LDevice. Она использует метод get_cb_refs_list для генерации списка ссылок.

Аргументы
ied_nameИмя IED.
ld_instЭкземпляр LDevice.
ref_typeТип ссылки, по умолчанию ReferenceType.ObjectReference.
Возвращает
Список ObjectReference для блоков управления GOOSE (GoCB).
См. также
SCL.get_cb_refs_list()

◆ get_gse_for_gocb()

def get_gse_for_gocb (   self,
  gocb 
)

Получить элемент GSE раздела Communications для заданного GSEControl.

Эта функция возвращает элемент GSE раздела Communications для заданного GSEControl. Она использует метод _get_communication_params_for_cb для получения элемента GSE.

Аргументы
gocbЭлемент GSEControl.
Исключения
ExceptionВызывается, если блок управления не является SampledValueControl или GSEControl.
Возвращает
Элемент GSE, соответствующий заданному GSEControl.
См. также
SCL._get_communication_params_for_cb()

◆ get_ied_access_point_list()

def get_ied_access_point_list (   self,
str  ied_name,
bool  with_server_only = False,
  allow_serverat = False 
)

Возвращает список элементов AccessPoint для IED с заданным ied_name.

Эта функция возвращает список элементов AccessPoint для IED с заданным именем. Она использует XPath для поиска элементов AccessPoint внутри IED.

Аргументы
ied_nameИмя IED.
with_server_onlyФлаг, позволяющий выбрать только AccessPoint с элементом Server.
allow_serveratФлаг, добавляющий в массив также точки доступа, в которых есть элемент ServerAt.
Исключения
ExceptionВызывается, если IED с заданным именем не обнаружен.
Возвращает
Список элементов AccessPoint (etree.Element) в IED, либо пустой список, если элементы не найдены.

◆ get_ied_access_point_name_list()

def get_ied_access_point_name_list (   self,
str  ied_name,
bool  with_server_only = False,
  allow_serverat = False 
)

Возвращает лист имён AccessPoint для IED с заданным ied_name.

Эта функция возвращает список имен AccessPoint для IED с заданным именем. Сначала она получает список элементов AccessPoint, а затем извлекает атрибут "name" из каждого элемента.

Аргументы
ied_nameИмя IED.
with_server_onlyФлаг, позволяющий выбрать только AccessPoint с элементом Server.
allow_serveatФлаг, добавляющий в поиск помимо элемента Server также элементы ServerAt
Исключения
ExceptionВызывается, если IED с заданным именем не обнаружен.
AttributeErrorВызывается, если атрибут "name" не найден у элемента AccessPoint.
Возвращает
Список имен AccessPoint или пустой список, если элементы не найдены.

◆ get_ied_access_point_server()

def get_ied_access_point_server (   self,
str  ied_name,
str  ap_name 
)

Получить элемент Server для указанного IED и AccessPoint.

Извлекает элемент Server для заданных имени IED и AccessPoint. Если элемент Server не найден напрямую, выполняется попытка найти Server через элемент ServerAt.

Аргументы
ied_nameИмя IED.
ap_nameИмя AccessPoint.
Исключения
ExceptionВыбрасывается, если элемент ServerAt ссылается на AccessPoint без сервера.
Возвращает
Элемент Server, если найден, иначе None.

◆ get_ied_access_point_server_tuple()

def get_ied_access_point_server_tuple (   self,
str  ied_name,
str  ap_name 
)

Получить имена IED и AccessPoint в виде кортежа для указанного элемента Server.

Функция извлекает элемент Server для заданных имени IED и AccessPoint, а затем возвращает имена IED и AccessPoint в виде кортежа. Если элемент Server не найден напрямую, выполняется попытка найти Server через элемент ServerAt.

Аргументы
ied_nameИмя IED.
ap_nameИмя AccessPoint.
Исключения
ExceptionВыбрасывается, если элемент ServerAt ссылается на AccessPoint без сервера.
Возвращает
Кортеж, содержащий имя IED и имя AccessPoint.

◆ get_ied_by_name()

def get_ied_by_name (   self,
  iedName,
  dom = None 
)

Получить элемент IED по его атрибуту name.

Возвращает элемент IED (etree.Element) по заданному атрибуту iedName.

Уст.:
Параметр dom является устаревшим и не должен использоваться в этом контексте. Параметр сохранен для обратной совместимости и будет удален в будущих версиях.
Аргументы
iedNameимя элемента IED, соответствующего его атрибуту name
domDOM-объект SCL. По умолчанию используется DOM самого экземпляра SCL.
Возвращает
Элемент IED (etree.Element)

◆ get_ied_list()

def get_ied_list (   self,
bool  server_only = False,
bool  with_gse_only = False,
bool  with_smv_only = False 
)

Получить список элементов IED.

Эта функция получает список всех элементов IED из объектной модели документа (DOM) с использованием XPath.

Аргументы
server_onlyФлаг, позволяющий выводить список только IED, у которых есть элемент Server. По-умолчанию = False
with_gse_onlyФлаг, позволяющий выводить список только IED, у которых есть элемент GSEControl. По-умолчанию = False
with_smv_onlyФлаг, позволяющий выводить список только IED, у которых есть элемент SampledValueControl. По-умолчанию = False
Возвращает
Список элементов IED (etree.Element).

◆ get_ied_name()

str get_ied_name (   self,
int  ied_num = 0 
)

Возвращает IED.name по номеру IED в файле.

Эта функция возвращает имя IED на основе его положения (номера) в файле. Сначала получает список имен IED, а затем возвращает имя по указанному индексу.

Аргументы
ied_numПоложение (номер) IED в файле. По умолчанию 0.
Возвращает
Имя IED на указанной позиции.

◆ get_ied_name_list()

def get_ied_name_list (   self,
bool  server_only = False,
bool  with_gse_only = False,
bool  with_smv_only = False 
)

Получить список имен IED.

Эта функция получает список всех имен IED, сначала получая список элементов IED, а затем извлекая атрибут "name" из каждого элемента.

Аргументы
server_onlyФлаг, позволяющий выводить список только IED, у которых есть элемент Server. По-умолчанию = False
Возвращает
Список имен IED.

◆ get_iedName_by_ldName()

def get_iedName_by_ldName (   self,
  ldName 
)

Получить атрибут IED.name по заданному ldName.

Возвращает атрибут name элемента IED по заданному наименованию ldName.

Аргументы
ldNameимя логического устройства (сцепка атрибутов IED.name и LDevice.inst)
Возвращает
Атрибут name элемента IED
См. также
SCL.get_ldInst_by_ldName() SCL.get_ldevice_by_ldname()

◆ get_inputs_extref_list()

def get_inputs_extref_list (   self)

Получить все элементы Inputs/ExtRef.

Эта функция возвращает все элементы Inputs/ExtRef в документе. Она использует XPath для поиска всех элементов ExtRef внутри Inputs.

Возвращает
Список всех элементов Inputs/ExtRef.

◆ get_lcb_list()

def get_lcb_list (   self,
  ied_name = None,
  ap_name = None,
  ld_inst = None,
  ln_name = None 
)

Получить лист элементов LogControl.

Эта функция возвращает список элементов LogControl. Она получает контекстный объект на основе предоставленных имен IED, LDevice и LN (LN0). Наконец, она ищет элементы LogControl в контекстном объекте, используя XPath.

Аргументы
ied_nameИмя IED.
ap_nameThe name of the AccessPoint
ld_instЭкземпляр LDevice.
ln_nameИмя LN (LN0).
Возвращает
Список элементов LogControl.
См. также
SCL.get_context_object()

◆ get_lcb_refs_list()

def get_lcb_refs_list (   self,
  ied_name = None,
  ap_name = None,
  ld_inst = None,
  ln_name = None,
  ref_type = ReferenceType.ObjectReference 
)

Получить массив путей (ObjectReference) к LogControl.

Эта функция возвращает список ObjectReference для блоков управления журналом (LCB) в заданном контексте IED, LDevice и LN (LN0). Она использует метод get_cb_refs_list для генерации списка ссылок.

Аргументы
ied_nameИмя IED.
ld_instЭкземпляр LDevice.
ln_nameИмя LN (LN0).
ref_typeТип ссылки, по умолчанию ReferenceType.ObjectReference.
Возвращает
Список ObjectReference для блоков управления журналом (LCB).
См. также
SCL.get_cb_refs_list()

◆ get_ld_by_ldname()

def get_ld_by_ldname (   self,
  ldName 
)

Получить элемент LDevice по ldName.

Возвращает элемент логического устройств LDevice из SCL опреденного параметром ldName. Обратите внимание, что параметр ldName в соответствии с МЭК 61850 является сцепкой атрибутов iedName и ldInst.

Аргументы
ldNameимя логического устройства (сцепка атрибутов IED.name и LDevice.inst)
Возвращает
Элемент LDevice (etree.Element)

◆ get_ld_name_list()

def get_ld_name_list (   self,
  ied_name = None 
)

Получить лист строк LDName.

Эта функция возвращает список строк LDName. Если указано имя IED, она получает список элементов LDevice в указанном IED. Если имя IED не указано, она получает все элементы LDevice в DOM. Затем она создает строки LDName, объединяя имя IED и экземпляр LDevice.

Аргументы
ied_nameИмя IED. Если None, получает все элементы LDevice.
Возвращает
Список строк LDName.

◆ get_ldevice_by_ldname()

def get_ldevice_by_ldname (   self,
  ldName 
)

Псевдоним функции SCL.get_ld_by_ldname()

Аргументы
ldNameИмя логического устройства

◆ get_ldInst_by_ldName()

def get_ldInst_by_ldName (   self,
  ldName 
)

Получить атрибут LDevice.inst по заданному ldName.

Возвращает атрибут inst элемента LDevice по заданному наименованию ldName

Аргументы
ldNameимя логического устройства (сцепка атрибутов IED.name и LDevice.inst)
Возвращает
Атрибут inst элемента LDevice

◆ get_ln_element_by_ref()

def get_ln_element_by_ref (   self,
str  ln_ref 
)

Получить элемент LN/LN0 по ссылке LN Reference.

Возвращает элемент LN или LN0 по ссылке заданной параметром ln_ref

Аргументы
ln_refСсылка на объект LN/LN0 в следующем формате: ldName/LLN0 или ldName/prefixCLSSinst (eg. AAA1PROT/OcpPTOC1).
Исключения
ExceptionНекорректная ссылка, если `ln_ref` не соответствует формате _LNREF_REGEX
Возвращает
Элемент LN или LN0 (etree.Element)

◆ get_ln_element_list()

def get_ln_element_list (   self,
str  ied_name = None,
str  ld_inst = None,
str  ld_name = None,
bool  exclude_ln0 = False 
)

Получить список элементов LN.

Функция позволяет получить список элементов LN из SCL-файла в виде элементов etree.Element. Она позволяет получать элементы LN на основе предоставленного имени IED, экземпляра LDevice и имени LDevice. Опционально может исключать элементы LN0.

Аргументы
ied_nameИмя IED.
ld_instЭкземпляр LDevice.
ld_nameИмя LDevice.
exclude_ln0Логическое значение для исключения элементов LN0 из списка.
Исключения
ExceptionВызывается, если параметры определены неправильно.
Возвращает
Список элементов LN в виде etree.Element.

◆ get_ln_ref_list()

def get_ln_ref_list (   self,
  ld_name 
)

Получить список ссылок на логические узлы.

Эта функция возвращает список ссылок на логические узлы в указанном параметром ld_name логическом устройстве. Она получает логическое устройство по его имени и затем собирает ссылки для элементов LN0 и LN.

Аргументы
ld_nameИмя логического устройства.
Возвращает
Список ссылок на логические узлы в указанном логическом устройстве.
См. также
SCL.get_ld_by_ldname()

◆ get_msvcb_by_ref()

def get_msvcb_by_ref (   self,
  cb_reference 
)

Получить блок управления Multicast SampledValueControl по ссылке cb_reference.

Эта функция возвращает блок управления Multicast SampledValueControl на основе предоставленной ссылки. Она использует метод get_cb_by_ref для получения элемента Multicast SampledValueControl.

Аргументы
cb_referenceСсылка на блок управления в формате SCL-ссылки (IEDnameLDinst/LLN0.SVControlName).
Возвращает
Элемент SampledValueControl.
См. также
SCL.get_cb_by_ref()

◆ get_msvcb_dataset()

def get_msvcb_dataset (   self,
  msvcb 
)

Получить элемент DataSet для заданного MSVCB.

Эта функция возвращает элемент DataSet для заданного элемента Multicast Sampled Values Control Block (MSVCB). Она получает DataSet, используя приватный метод _get_cb_dataset.

Аргументы
msvcbЭлемент SampledValueControl, представляющий MSVCB.
Исключения
IndexErrorВызывается, если DataSet с указанным именем не найден.
Возвращает
Элемент DataSet или None, если элемент не найден.
См. также
SCL._get_cb_dataset()

◆ get_msvcb_list()

def get_msvcb_list (   self,
  ied_name = None,
  ap_name = None,
  ld_inst = None 
)

Получить лист элементов Multicast SampledValueControl.

Эта функция возвращает список элементов SampledValueControl, представляющих Multicast Sampled Values Control Blocks (MSVCB). Она получает контекстный объект на основе предоставленных имен IED и LDevice. Наконец, она ищет элементы SampledValueControl с атрибутом multicast, установленным в "true" или отсутствующим, в контекстном объекте, используя XPath.

Аргументы
ied_nameИмя IED.
ld_instЭкземпляр LDevice.
Возвращает
Список элементов Multicast Sampled Values Control Block (MSVCB).
См. также
SCL.get_context_object()

◆ get_msvcb_refs_list()

def get_msvcb_refs_list (   self,
  ied_name = None,
  ap_name = None,
  ld_inst = None,
  ref_type = ReferenceType.ObjectReference 
)

Получить лист путей (ObjectReference) к Multicast SampledValueControl.

Эта функция возвращает список ObjectReference для блоков управления дискретными значениями (MSVCB) в заданном контексте IED и LDevice. Она использует метод get_cb_refs_list для генерации списка ссылок.

Аргументы
ied_nameИмя IED.
ld_instЭкземпляр LDevice.
ref_typeТип ссылки, по умолчанию ReferenceType.ObjectReference.
Возвращает
Список ObjectReference для блоков управления дискретными значениями (MSVCB).
См. также
SCL.get_cb_refs_list()

◆ get_rcb_dataset()

def get_rcb_dataset (   self,
  rcb 
)

Получить элемент DataSet для заданного ReportControl.

Эта функция возвращает элемент DataSet для заданного элемента ReportControl. Она получает DataSet, используя приватный метод _get_cb_dataset.

Аргументы
rcbЭлемент ReportControl.
Исключения
IndexErrorВызывается, если DataSet с указанным именем не найден.
Возвращает
Элемент DataSet или None, если элемент не найден.
См. также
SCL._get_cb_dataset()

◆ get_rcb_list()

def get_rcb_list (   self,
  ied_name = None,
  ap_name = None,
  ld_inst = None,
  ln_name = None 
)

Получить лист элементов ReportControl.

Эта функция возвращает список элементов ReportControl. Сначала она строит DOM, если он еще не построен, затем получает контекстный объект на основе предоставленных имен IED, LDevice и LN (LN0). Наконец, она ищет элементы ReportControl в контекстном объекте, используя XPath.

Аргументы
ied_nameИмя IED.
ld_instЭкземпляр LDevice.
ln_nameИмя LN (LN0).
Возвращает
Список элементов ReportControl.
См. также
SCL.get_context_object()

◆ get_smv_for_mscvb()

def get_smv_for_mscvb (   self,
  msvcb 
)

Получить элемент SMV раздела Communications для заданного SampledValueControl.

Эта функция возвращает элемент SMV раздела Communications для заданного SampledValueControl. Она использует метод _get_communication_params_for_cb для получения элемента SMV.

Аргументы
msvcbЭлемент SampledValueControl.
Исключения
ExceptionВызывается, если блок управления не является SampledValueControl или GSEControl.
Возвращает
Элемент SMV, соответствующий заданному SampledValueControl.
См. также
SCL._get_communication_params_for_cb()

◆ get_string_snippet_by_line_num()

def get_string_snippet_by_line_num (   self,
  line_num,
  neighbours = 0,
  mark_line = False 
)

Получить текстовую строку оригинального SCL по номеру строки

Возвращает текстовый блок из оригинального SCL-файла по номеру строки и ещё neighbours строк вперёд и назад. Если передан флаг mark_line, то строка по номеру line_num помечается символами ">>"

Аргументы
line_numНомер запрашиваемой строки.
neighbours(default = 0) Количество соседних строк, которые необходимо показать.
mark_line(default = False) Необходимо поставить отметку на строке.
Возвращает
Текстовый блок с запрошенной строкой и соседними строками.

◆ get_subnetwork_by_name()

def get_subnetwork_by_name (   self,
str  name 
)

Получить элемент Subnetwork по имени.

Извлекает элемент Subnetwork с указанным именем.

Аргументы
nameИмя Subnetwork для извлечения.
Возвращает
Элемент Subnetwork с указанным именем.

◆ get_subnetwork_connected_ap_list()

def get_subnetwork_connected_ap_list (   self,
  subnetwork_name = None,
  subnetwork = None 
)

Получить список элементов ConnectedAP для Subnetwork.

Извлекает список элементов ConnectedAP для указанного Subnetwork. Должен быть предоставлен либо subnetwork_name, либо subnetwork.

Аргументы
subnetwork_nameИмя Subnetwork.
subnetworkЭлемент Subnetwork.
Исключения
AttributeErrorВыбрасывается, если не предоставлены ни subnetwork_name, ни subnetwork.
Возвращает
Список элементов ConnectedAP.

◆ get_subnetwork_connected_server_ap_tuple_list()

def get_subnetwork_connected_server_ap_tuple_list (   self,
  subnetwork_name = None,
  subnetwork = None 
)

Получить список кортежей, содержащих имена IED и имена точек доступа подключенных серверов в Subnetwork.

Извлекает список кортежей, где каждый кортеж содержит имя IED и имя точки доступа для серверов, подключенных к указанной Subnetwork. Поиск можно выполнить либо по имени Subnetwork, либо по самому элементу Subnetwork.

Аргументы
subnetwork_nameИмя Subnetwork (опционально, если указан subnetwork).
subnetworkЭлемент Subnetwork (опционально, если указано subnetwork_name).
Возвращает
Список кортежей, каждый из которых содержит имя IED и имя точки доступа подключенных серверов.

◆ get_subnetwork_connected_server_list()

def get_subnetwork_connected_server_list (   self,
  subnetwork_name = None,
  subnetwork = None 
)

Получить список подключенных серверов в Subnetwork.

Извлекает список серверов, подключенных к указанной Subnetwork. Эта функция ищет серверы, подключенные к Subnetwork, либо по имени Subnetwork, либо по самому элементу Subnetwork.

Аргументы
subnetwork_nameИмя Subnetwork (если не указан subnetwork).
subnetworkЭлемент Subnetwork (если не указан subnetwork_name).
Возвращает
Список серверов, подключенных к указанной Subnetwork.

◆ get_subnetwork_list()

def get_subnetwork_list (   self)

Получить список элементов SubNetwork.

Извлекает все элементы SubNetwork из файла SCL.

Возвращает
Список элементов SubNetwork.

◆ get_subnetwork_name_list()

def get_subnetwork_name_list (   self)

Получить список имен SubNetwork.

Извлекает имена всех элементов SubNetwork из файла SCL.

Возвращает
Список имен SubNetwork в виде строк.

◆ get_Substation_list()

def get_Substation_list (   self)

Получить список элементов Substation.

Эта функция получает список всех элементов Substation из объектной модели документа (DOM) с использованием XPath.

Возвращает
Список элементов Substation (etree.Element).

◆ get_type_definition_recursive()

def get_type_definition_recursive (   self,
  element,
  parent_path = "" 
)

Получить структуру типа данных для элемента в виде путей MMS ObjectReference.

Эта функция возвращает структуру типа данных для заданного элемента в виде списка путей в формате MMS ObjectReference. Она рекурсивно обрабатывает элемент и его дочерние элементы, создавая пути на основе типа и атрибутов элемента.

Аргументы
elementЭлемент, для которого необходимо получить структуру типа данных.
parent_pathБазовый путь для создания путей ObjectReference.
Возвращает
Список путей в формате MMS ObjectReference.

Переопределяется в RSD.

◆ get_urcb_dataset()

def get_urcb_dataset (   self,
  urcb 
)

Псевдоним для get_rcb_dataset().

Эта функция является псевдонимом для get_rcb_dataset(). Она возвращает элемент DataSet для заданного блока Unbuffered ReportControl (URCB).

Аргументы
urcbЭлемент блока Unbuffered ReportControl (URCB).
Возвращает
Элемент DataSet для заданного URCB.
См. также
SCL.get_rcb_dataset()

◆ get_urcb_list()

def get_urcb_list (   self,
  ied_name = None,
  ap_name = None,
  ld_inst = None,
  ln_name = None 
)

Получить лист элементов Unbuffered ReportControl blocks.

Эта функция возвращает список элементов Unbuffered ReportControl blocks. Сначала она строит DOM, если он еще не построен, затем получает контекстный объект на основе предоставленных имен IED, LDevice и LN (LN0). Наконец, она ищет элементы ReportControl в контекстном объекте, используя XPath, фильтруя по атрибуту buffered, установленному в "false".

Аргументы
ied_nameИмя IED.
ap_nameThe name of the AccessPoint
ld_instЭкземпляр LDevice.
ln_nameИмя LN (LN0).
Возвращает
Список элементов Unbuffered ReportControl blocks.
См. также
SCL.get_context_object()

◆ get_urcb_refs_list()

def get_urcb_refs_list (   self,
  ied_name = None,
  ap_name = None,
  ld_inst = None,
  ln_name = None,
  ref_type = ReferenceType.ObjectReference 
)

Получить лист путей (ObjectReference) к ReportControl buffered="false".

Эта функция возвращает список ObjectReference для блоков управления отчетами без буферизации (URCB) в заданном контексте IED, LDevice и LN (LN0). Она использует метод get_cb_refs_list для генерации списка ссылок.

Аргументы
ied_nameИмя IED.
ld_instЭкземпляр LDevice.
ln_nameИмя LN (LN0).
ref_typeТип ссылки, по умолчанию ReferenceType.ObjectReference.
Возвращает
Список ObjectReference для блоков управления отчетами без буферизации (URCB).
См. также
SCL.get_cb_refs_list()

◆ load_from_artifact()

def load_from_artifact (   self,
  artifact_str 
)

Загружает SCL-документ из строки полученной из Артифакта.

Загрузить содержимое SCL-файла из текстовой строки полученной из Артифакта заданной параметром artifact_str.

Аргументы
artifact_strфайл SCL в виде текстовой строки полученной из Артифакта.

◆ load_from_string()

def load_from_string (   self,
  scl_str 
)

Загружает SCL-документ из строки.

Загрузить содержимое SCL-файла из текстовой строки заданной параметром scl_str.

Аргументы
scl_strфайл SCL в виде текстовой строки.

◆ move_gse_smv_elements()

def move_gse_smv_elements (   self,
str  iedName,
str  srcApName,
str  trgtApName 
)

Перемещает элементы GSE и SMV между ConnectedAP.

Эта функция перемещает элементы GSE и SMV из исходного ConnectedAP в целевой ConnectedAP в рамках одного IED. Элементы GSE и SMV передаются путем обновления структуры XML файла SCL. Если исходные или целевые элементы ConnectedAP не найдены, операция прерывается без внесения изменений.

Аргументы
iedNameИмя IED, в котором находятся исходный и целевой ConnectedAP.
srcApNameИмя AccessPoint исходного ConnectedAP.
trgtApNameИмя AccessPoint целевого ConnectedAP.
Заметки
Функция не вносит изменений в XML, если исходные или целевые элементы ConnectedAP не найдены.

◆ remove_gocb()

def remove_gocb (   self,
  go_cb_ref,
  preserve_communications = False 
)

Удалить элемент GSEControl по ссылке.

Эта функция удаляет элемент GSEControl по указанной ссылке. Также можно опционально сохранить соответствующий элемент GSE в разделе Communications.

Аргументы
go_cb_refСсылка на блок управления GOOSE в формате SCL.
preserve_communicationsЛогическое значение, указывающее на необходимость сохранить (не удалять) элемент GSE в разделе Communications.
Исключения
ExceptionВызывается, если блок управления GOOSE не найден.
AttributeErrorВызывается, если атрибут name или inst не найден у GSEControl, LDevice, AccessPoint или IED.
Возвращает
0 в случае успеха, -1 в случае ошибки.
См. также
SCL._remove_cb()

◆ remove_msvcb()

def remove_msvcb (   self,
  msv_cb_ref,
  preserve_communications = False 
)

Удалить элемент SampledValueControl по ссылке.

Эта функция удаляет элемент SampledValueControl по указанной ссылке. Также можно опционально сохранить соответствующий элемент SMV в разделе Communications.

Аргументы
msv_cb_refСсылка на блок управления Sampled Value в формате SCL.
preserve_communicationsЛогическое значение, указывающее на необходимость сохранить (не удалять) элемент SMV в разделе Communications.
Исключения
ExceptionВызывается, если блок управления SampledValueControl не найден.
AttributeErrorВызывается, если атрибут name или inst не найден у SampledValueControl, LDevice, AccessPoint или IED.
Возвращает
0 в случае успеха, -1 в случае ошибки.
См. также
SCL._remove_cb()

◆ select_ied()

def select_ied (   self,
**  kwargs 
)

Выбор IED на основе указанных критериев.

Функция позволяет пользователю выбрать IED из файла SCL на основе указанных критериев, таких как только сервер, с GSE или с SMV. Если подходящие IED не найдены, возбуждается исключение. Пользователю предоставляется диалоговое окно для выбора IED из доступного списка.

Аргументы
server_onlyЛогический флаг для фильтрации IED, работающих только как серверы.
with_gse_onlyЛогический флаг для фильтрации IED с функцией GSE.
with_smv_onlyЛогический флаг для фильтрации IED с функцией SMV.
Исключения
SclElementNotFoundВозбуждается, если в файле SCL не найдены IED, соответствующие заданным критериям.
CancelledByUserВозбуждается, если пользователь отменяет операцию, не выбрав IED.
Возвращает
Имя выбранного IED в виде строки.

◆ to_string()

def to_string (   self,
  pretty_print = True 
)

Возвращает содержимое объекта SCL в виде строки.

Возвращает объект DOM SCL в виде строки.

Аргументы
pretty_printУСТАРЕЛО. Строка SCL всегда возвращается форматированной.

◆ toString()

def toString (   self,
  pretty_print = True 
)

Псевдоним для функции to_string.

Предоставляет псевдоним для функции to_string для поддержания согласованности в именах методов.

Аргументы
pretty_printБулев флаг, указывающий, должен ли вывод быть в удобочитаемом формате (по умолчанию: True)
См. также
SCL.to_string()

◆ validate()

def validate (   self,
  override_edition = None 
)

Валидация SCL-файла

Функция позволяет выполнить валидацию файла, ассоциированного с экземпляром класса SCL. По умолчанию валидация выполняется с использованием XML-схемы, назначенной в соответствии с редакцией файла, выбранной при инициализации класса SCL.

scl = SCL("path/to/scl/file1") # инициализирует экземпляр класса с установленной по умолчанию редакцией 2.
res = scl.validate() # выполняет валидацию относительно схемы редакции 2.

Валидация может быть также выполнена относительно схемы, отличной от редакции по умолчанию. В этом случае в функцию должен быть передан параметр override_edition.

scl = SCL("path/to/scl/file1") # инициализирует экземпляр класса с установленной по умолчанию редакцией 2.
res = scl.validate(override_edition="2.1") # выполняет валидацию относительно схемы редакции 2.1.
Аргументы
override_editionпередает редакцию стандарта для выбора XML-схемы для валидации. Допустимые значения: "1", "2", "2.1".
Возвращает
SclValidationResult Результат возвращается в виде экземпляра класса SclValidationResult.
См. также
SCL SclValidationResult

◆ validate_utf8_encoding()

def validate_utf8_encoding (   self)

Выполнить проверку кодировки, чтобы убедиться, что файл закодирован в UTF-8.

Эта функция проверяет, закодирован ли файл в UTF-8. Она читает файл в бинарном режиме и использует функцию find_utf8_errors для обнаружения ошибок кодировки.

Возвращает
Объект TestResult, содержащий результат теста, сообщения журнала и сообщения об ошибках.
См. также
TestResult

◆ validate_xml_declaration()

def validate_xml_declaration (   self)

Проверяет, содержит ли файл корректную XML декларацию в соответствии со стандартными требованиями.

Эта функция проверяет, соответствует ли XML декларация в файле одному из стандартных требований. Она проверяет первую строку файла по списку допустимых XML деклараций.

Возвращает
Объект TestResult, содержащий результат теста, сообщения журнала и сообщения об ошибках.
См. также
TestResult

◆ write_to_file()

def write_to_file (   self,
  save_path 
)

Записать содержимое SCL в файл

Записывает содержимое SCL в файл, определенный параметром save_path.

Аргументы
save_pathполный путь к файлу куда надо записать SCL включая имя файла.
См. также
Dialog.save_scd_file() Dialog.save_icd_file() Dialog.save_iid_file()

Данные класса

◆ BTYPE_REGEX_DICT

dictionary BTYPE_REGEX_DICT
static
Инициализатор
= {
"BOOLEAN": r'^(True|False|true|false)$',
"INT8": r'^-?(\d{1,2}|-?1[0-1]{1}\d{2}|-12[0-8]{1}|12[0-7]{1})$',
"INT16": r'^(-?\d{1,4}|-?[1-2]\d{4}|-?3[0-1]\d{3}|-?32[0-6]\d{2}\-?327[0-5]\d|-3276[0-8]|3276[0-7])$',
"INT32": r'^(-?\d{1,9}|-?1\d{9}|-?20\d{8}|-?21[0-3]\d{7}|-?214[0-6]\d{6}|-?2147[0-3]\d{5}|-?21474[0-7]\d{4}|-?214748[012]\d{4}|-?2147483[0-5]\d{3}|-?21474836[0-3]\d{2}|214748364[0-7]|-214748364[0-8])$',
"INT64": r'^-?\d{1,19}$', # FIXME: INT64_REGEX
"INT8U": r'^(\d{1,2}|1\d{2}|2[0-4]{1}[0-9]{1}|25[0-5]{1})$',
"INT16U": r'^\d{1,5}$', # FIXME: INT16U_REGEX
"INT24U": r'^\d{1,8}$', # FIXME: INT24U_REGEX
"INT32U": r'^\d{1,10}$', # FIXME: INT32U_REGEX
"INT64U": r'^\d{1,19}$', # FIXME: INT64U_REGEX
"FLOAT32": r'^[-+]?[0-9]*[.,][0-9]+(?:[eE][-+]?[0-9]+)?$', # FIXME: FLOAT32_REGEX
"FLOAT64": r'^[-+]?[0-9]*[.,][0-9]+(?:[eE][-+]?[0-9]+)?$', # FIXME: FLOAT64_REGEX
"VisString32": r'^([^\n\r\t\0\v]{1,32})$',
"VisString64": r'^([^\n\r\t\0\v]{1,64})$',
"VisString65": r'^([^\n\r\t\0\v]{1,65})$',
"VisString128": r'^([^\n\r\t\0\v]{1,128})$',
"VisString128": r'^([^\n\r\t\0\v]{1,128})$',
"VisString255": r'^([^\n\r\t\0\v]{1,255})$',
"Dbpos": r'^(intermediate-state|off|on|bad-state)$',
}

◆ default_namespace

default_namespace

◆ dom

dom

◆ edition

edition

◆ file_path

file_path

◆ iterations

int iterations = 0
static

◆ namespaces

namespaces

◆ original_string

original_string