def create_csv(name_file_csv: str, path: str, folder_name: str) -> None:
    print(f'Выбран файл: {path}')
    get = GettingParameter()
    for point in range(POINT_START, POINT_END):
        RASTR.ReadPnt(point)
        list_ = []
        count = RASTR.Tables("area2").Count
        for index in range(0, count - 1):
            na = get.get_cell_row(table="area2", column="npa", row_id=index)
            name = get.get_cell_row(table="area2", column="name", row_id=index)
            pn = get.get_cell_row(table="area2", column="pn", row_id=index)
            pg = get.get_cell_row(table="area2", column="pg", row_id=index)
            create_table_area(list_, na, name, pn, pg)
        data = pandas.DataFrame(list_)
        try:
            if not os.path.exists(folder_name):
                mkdir(folder_name)
        except FileExistsError:
            print("Каталог уже существует!")
        except PermissionError:
            print("Отсутствуют права на доступ к каталогу!")

        fullname = f'{path}/{folder_name}/{name_file_csv}_{point}.csv'
        # print(fullname)
        data.to_csv(fullname, sep=';')
        list_.clear()
Esempio n. 2
0
def equivalent_gen(viborka_gen):
    ekv_obj = Equivalent(rastr_win=RASTR,
                         switch_command_line=False)
    sel_remove = RemoveSelObjects(rastr_win=RASTR)
    sel_remove.remove_sel_vetv()
    sel_remove.remove_sel_node()

    list_na = [102, 103, 104, 105, 106, 107, 108, 109]
    get_ = GettingParameter()
    variable_ = Variable()

    for i in range(0, 26558):
        na_vetv = get_.get_cell(table=vetv_table,
                                column=vetv.na,
                                row_id=i)

        v_ip = get_.get_cell(table=vetv_table,
                             column=vetv.v_ip,
                             row_id=i)
        v_iq = get_.get_cell(table=vetv_table,
                             column=vetv.v_iq,
                             row_id=i)

        for na in list_na:
            if na == na_vetv:
                if 160 > v_iq and 160 > v_ip:
                    variable_.make_changes_row(table=vetv_table,
                                               column=vetv.sel,
                                               row_id=i,
                                               value=1)
Esempio n. 3
0
def filling_list_of_data(table, column, rastr_win):
    list_ = []
    getting_parameter_obj = GettingParameter(rastr_win=rastr_win)
    count = getting_parameter_obj.get_count_table(table)
    print(f'count={count}')
    print(f"Количество строк в таблице {table}: {count}")
    for i in range(count):
        char = getting_parameter_obj.get_cell_row(table=table,
                                                  column=column,
                                                  row_id=i)
        list_.append(char)
    return list_
Esempio n. 4
0
 def __init__(self,
              rastr_win=RASTR,
              table=Node.table,
              switch_command_line=False):
     f"""
     Класс включает и отключает заданный узел.
     :param rastr_win: {Tools.RastrDoc};
     :param table: название таблицы;
     :param switch_command_line: {Tools.switch_command_line_doc};
     """
     self.rastr_win = rastr_win
     self.table = table
     self.variable_ = Variable()
     self.get_ = GettingParameter()
     self.switch_command_line = switch_command_line
Esempio n. 5
0
class SwitchNode:
    def __init__(self,
                 rastr_win=RASTR,
                 table=Node.table,
                 switch_command_line=False):
        f"""
        Класс включает и отключает заданный узел.
        :param rastr_win: {Tools.RastrDoc};
        :param table: название таблицы;
        :param switch_command_line: {Tools.switch_command_line_doc};
        """
        self.rastr_win = rastr_win
        self.table = table
        self.variable_ = Variable()
        self.get_ = GettingParameter()
        self.switch_command_line = switch_command_line

    def on_node(self, node_ny):
        """
        :param node_ny: номер узла.
        :return:
        """
        row_ = self.get_.get_row_node(node_ny=node_ny)
        sta_ny = self.get_.get_cell(table=self.table,
                                    column=node.sta,
                                    row_id=row_)
        self.variable_.make_changes_row(table=self.table,
                                        column=node.sta,
                                        row_id=row_)
        if self.switch_command_line is not False:
            print(sta_ny)

    def off_node(self, node_ny):
        """
        :param node_ny: номер узла.
        :return:
        """
        row_ = self.get_.get_row_node(node_ny=node_ny)
        sta_ny = self.get_.get_cell(table=self.table,
                                    column=node.sta,
                                    row_id=row_)
        self.variable_.make_changes_row(table=self.table,
                                        column=node.sta,
                                        row_id=row_)
        if self.switch_command_line is not False:
            print(sta_ny)
Esempio n. 6
0
def change_parameters_AC5B(
        Id=None,
        row_id=None,
        Kpr=Parameters.Kpr,
        Tb=Parameters.Tb,
        Ka=Parameters.Ka,
        Vrmax=Parameters.Vrmax,
        Vrmin=Parameters.Vrmin,
        Te=Parameters.Te,
        Aex=Parameters.Aex,
        Bex=Parameters.Bex,
        rastr_win=RASTR,
        switch_command_line: bool = False):
    """

    :param Id: номер возбудителя;
    :param row_id: порядковый номер в таблице (от 0 до [max.count]);
    :param Kpr: Коэффициент усиления дифференциального звена;
    :param Tb: Постоянная времени дифференциального звена;
    :param Ka: Пропорциональный коэффициент усиления регулятора напряжения;
    :param Vrmax: Максимальное ограничение интегрального звена;
    :param Vrmin: Минимальное ограничение интегрального звена;
    :param Te: Постоянная времени интегратора возбудителя;
    :param Aex: Коэффициент экспоненты (задание насыщения);
    :param Bex: Степень экспоненты (задание насыщения);
    :param switch_command_line: True/False - вывод сообщений в протакол;
    :param rastr_win: COM - объект Rastr.Astra (win32com);
    :return: Noting return.
    """
    variable_ = Variable(rastr_win=rastr_win)
    get_ = GettingParameter(rastr_win=rastr_win)

    if Id is not None and row_id is None:
        # Kpr
        if switch_command_line is not None:
            kpr_before = get_.get_cell_id(table=DFWIEEE421.table,
                                          column=DFWIEEE421.Kpr,
                                          Id=Id)
        else:
            kpr_before = None

        variable_.make_changes_setsel(table=DFWIEEE421.table,
                                      column=DFWIEEE421.Kpr,
                                      key=f'{DFWIEEE421.Id}={Id}',
                                      value=Kpr)

        if switch_command_line is not None:
            kpr_after = get_.get_cell_id(table=DFWIEEE421.table,
                                         column=DFWIEEE421.Kpr,
                                         Id=Id)
        else:
            kpr_after = None

        # Tb
        if switch_command_line is not None:
            tb_before = get_.get_cell_id(table=DFWIEEE421.table,
                                         column=DFWIEEE421.Tb,
                                         Id=Id)
        else:
            tb_before = None

        variable_.make_changes_setsel(table=DFWIEEE421.table,
                                      column=DFWIEEE421.Tb,
                                      key=f'{DFWIEEE421.Id}={Id}',
                                      value=Tb)

        if switch_command_line is not None:
            tb_after = get_.get_cell_id(table=DFWIEEE421.table,
                                        column=DFWIEEE421.Tb,
                                        Id=Id)
        else:
            tb_after = None

        # Ka
        if switch_command_line is not None:
            ka_before = get_.get_cell_id(table=DFWIEEE421.table,
                                         column=DFWIEEE421.Ka,
                                         Id=Id)
        else:
            ka_before = None

        variable_.make_changes_setsel(table=DFWIEEE421.table,
                                      column=DFWIEEE421.Ka,
                                      key=f'{DFWIEEE421.Id}={Id}',
                                      value=Ka)

        if switch_command_line is not None:
            ka_after = get_.get_cell_id(table=DFWIEEE421.table,
                                        column=DFWIEEE421.Ka,
                                        Id=Id)
        else:
            ka_after = None

        # Vrmax
        if switch_command_line is not None:
            vrmax_before = get_.get_cell_id(table=DFWIEEE421.table,
                                            column=DFWIEEE421.Vrmax,
                                            Id=Id)
        else:
            vrmax_before = None

        variable_.make_changes_setsel(table=DFWIEEE421.table,
                                      column=DFWIEEE421.Vrmax,
                                      key=f'{DFWIEEE421.Id}={Id}',
                                      value=Vrmax)

        if switch_command_line is not None:
            vrmax_after = get_.get_cell_id(table=DFWIEEE421.table,
                                           column=DFWIEEE421.Vrmax,
                                           Id=Id)
        else:
            vrmax_after = None

        # Vrmin
        if switch_command_line is not None:
            vrmin_before = get_.get_cell_id(table=DFWIEEE421.table,
                                            column=DFWIEEE421.Vrmin,
                                            Id=Id)
        else:
            vrmin_before = None

        variable_.make_changes_setsel(table=DFWIEEE421.table,
                                      column=DFWIEEE421.Vrmin,
                                      key=f'{DFWIEEE421.Id}={Id}',
                                      value=Vrmin)

        if switch_command_line is not None:
            vrmin_after = get_.get_cell_id(table=DFWIEEE421.table,
                                           column=DFWIEEE421.Vrmin,
                                           Id=Id)
        else:
            vrmin_after = None

        # Te
        if switch_command_line is not None:
            te_before = get_.get_cell_id(table=DFWIEEE421.table,
                                         column=DFWIEEE421.Te,
                                         Id=Id)
        else:
            te_before = None

        variable_.make_changes_setsel(table=DFWIEEE421.table,
                                      column=DFWIEEE421.Te,
                                      key=f'{DFWIEEE421.Id}={Id}',
                                      value=Te)

        if switch_command_line is not None:
            te_after = get_.get_cell_id(table=DFWIEEE421.table,
                                        column=DFWIEEE421.Te,
                                        Id=Id)
        else:
            te_after = None

        # Aex
        if switch_command_line is not None:
            aex_before = get_.get_cell_id(table=DFWIEEE421.table,
                                          column=DFWIEEE421.Aex,
                                          Id=Id)
        else:
            aex_before = None

        variable_.make_changes_setsel(table=DFWIEEE421.table,
                                      column=DFWIEEE421.Aex,
                                      key=f'{DFWIEEE421.Id}={Id}',
                                      value=Aex)

        if switch_command_line is not None:
            aex_after = get_.get_cell_id(table=DFWIEEE421.table,
                                         column=DFWIEEE421.Aex,
                                         Id=Id)
        else:
            aex_after = None

        # Bex
        if switch_command_line is not None:
            bex_before = get_.get_cell_id(table=DFWIEEE421.table,
                                          column=DFWIEEE421.Bex,
                                          Id=Id)
        else:
            bex_before = None

        variable_.make_changes_setsel(table=DFWIEEE421.table,
                                      column=DFWIEEE421.Bex,
                                      key=f'{DFWIEEE421.Id}={Id}',
                                      value=Bex)

        if switch_command_line is not None:
            bex_after = get_.get_cell_id(table=DFWIEEE421.table,
                                         column=DFWIEEE421.Bex,
                                         Id=Id)
        else:
            bex_after = None

        if switch_command_line is not False:
            print(
                f'{separator_two}\n'
                f' Внесены изменения в таблицу {DFWIEEE421.table_name}:\n'
                f'- Id: Номер возбудителя: {Id};\n'
                f'- row_id: порядковый номер в таблице (от 0 до [max.count]): {row_id};\n'
                f'- Kpr: Коэффициент усиления дифференциального звена: до {kpr_before}; после {kpr_after};\n'
                f'- Tb: Постоянная времени дифференциального звена: до {tb_before}; после {tb_after};\n'
                f'- Ka: Пропорциональный коэффициент усиления регулятора напряжения: до {ka_before}; после {ka_after};\n'
                f'- Vrmax: Максимальное ограничение интегрального звена: до {vrmax_before}; после {vrmax_after};\n'
                f'- Vrmin: Минимальное ограничение интегрального звена: до {vrmin_before}; после {vrmin_after};\n'
                f'- Te: Постоянная времени интегратора возбудителя: до {te_before}; после {te_after};\n'
                f'- Aex: Коэффициент экспоненты (задание насыщения): до {aex_before}; после {aex_after};\n'
                f'- Bex: Степень экспоненты (задание насыщения): до {bex_before}; после {bex_after};\n'
                f'{separator_two}\n'
            )
        return (
            f'{separator_two}\n'
            f' Внесены изменения в таблицу {DFWIEEE421.table_name}:\n'
            f'- Id: Номер возбудителя: {Id};\n'
            f'- row_id: порядковый номер в таблице (от 0 до [max.count]): {row_id};\n'
            f'- Kpr: Коэффициент усиления дифференциального звена: до {kpr_before}; после {kpr_after};\n'
            f'- Tb: Постоянная времени дифференциального звена: до {tb_before}; после {tb_after};\n'
            f'- Ka: Пропорциональный коэффициент усиления регулятора напряжения: до {ka_before}; после {ka_after};\n'
            f'- Vrmax: Максимальное ограничение интегрального звена: до {vrmax_before}; после {vrmax_after};\n'
            f'- Vrmin: Минимальное ограничение интегрального звена: до {vrmin_before}; после {vrmin_after};\n'
            f'- Te: Постоянная времени интегратора возбудителя: до {te_before}; после {te_after};\n'
            f'- Aex: Коэффициент экспоненты (задание насыщения): до {aex_before}; после {aex_after};\n'
            f'- Bex: Степень экспоненты (задание насыщения): до {bex_before}; после {bex_after};\n'
            f'{separator_two}\n'
        )

    if row_id is not None and Id is None:
        # Kpr
        if switch_command_line is not False:
            kpr_before = get_.get_cell_row(table=DFWIEEE421.table,
                                           column=DFWIEEE421.Kpr,
                                           row_id=row_id)
        else:
            kpr_before = None

        variable_.make_changes_row(table=DFWIEEE421.table,
                                   column=DFWIEEE421.Kpr,
                                   row_id=row_id,
                                   value=Kpr)

        if switch_command_line is not False:
            kpr_after = get_.get_cell_row(table=DFWIEEE421.table,
                                          column=DFWIEEE421.Kpr,
                                          row_id=row_id)
        else:
            kpr_after = None

        # Tb
        if switch_command_line is not False:
            tb_before = get_.get_cell_row(table=DFWIEEE421.table,
                                          column=DFWIEEE421.Tb,
                                          row_id=row_id)
        else:
            tb_before = None

        variable_.make_changes_row(table=DFWIEEE421.table,
                                   column=DFWIEEE421.Tb,
                                   row_id=row_id,
                                   value=Tb)

        if switch_command_line is not False:
            tb_after = get_.get_cell_row(table=DFWIEEE421.table,
                                         column=DFWIEEE421.Tb,
                                         row_id=row_id)
        else:
            tb_after = None

        # Ka
        if switch_command_line is not False:
            ka_before = get_.get_cell_row(table=DFWIEEE421.table,
                                          column=DFWIEEE421.Ka,
                                          row_id=row_id)
        else:
            ka_before = None

        variable_.make_changes_row(table=DFWIEEE421.table,
                                   column=DFWIEEE421.Ka,
                                   row_id=row_id,
                                   value=Ka)

        if switch_command_line is not False:
            ka_after = get_.get_cell_row(table=DFWIEEE421.table,
                                         column=DFWIEEE421.Ka,
                                         row_id=row_id)
        else:
            ka_after = None

        # Vrmax
        if switch_command_line is not False:
            vrmax_before = get_.get_cell_row(table=DFWIEEE421.table,
                                             column=DFWIEEE421.Vrmax,
                                             row_id=row_id)
        else:
            vrmax_before = None

        variable_.make_changes_row(table=DFWIEEE421.table,
                                   column=DFWIEEE421.Vrmax,
                                   row_id=row_id,
                                   value=Vrmax)

        if switch_command_line is not False:
            vrmax_after = get_.get_cell_row(table=DFWIEEE421.table,
                                            column=DFWIEEE421.Vrmax,
                                            row_id=row_id)
        else:
            vrmax_after = None

        # Vrmin
        if switch_command_line is not False:
            vrmin_before = get_.get_cell_row(table=DFWIEEE421.table,
                                             column=DFWIEEE421.Vrmin,
                                             row_id=row_id)
        else:
            vrmin_before = None

        variable_.make_changes_row(table=DFWIEEE421.table,
                                   column=DFWIEEE421.Vrmin,
                                   row_id=row_id,
                                   value=Vrmin)

        if switch_command_line is not False:
            vrmin_after = get_.get_cell_row(table=DFWIEEE421.table,
                                            column=DFWIEEE421.Vrmin,
                                            row_id=row_id)
        else:
            vrmin_after = None

        # Te
        if switch_command_line is not False:
            te_before = get_.get_cell_row(table=DFWIEEE421.table,
                                          column=DFWIEEE421.Te,
                                          row_id=row_id)
        else:
            te_before = None

        variable_.make_changes_row(table=DFWIEEE421.table,
                                   column=DFWIEEE421.Te,
                                   row_id=row_id,
                                   value=Te)

        if switch_command_line is not False:
            te_after = get_.get_cell_row(table=DFWIEEE421.table,
                                         column=DFWIEEE421.Te,
                                         row_id=row_id)
        else:
            te_after = None

        # Aex
        if switch_command_line is not False:
            aex_before = get_.get_cell_row(table=DFWIEEE421.table,
                                           column=DFWIEEE421.Aex,
                                           row_id=row_id)
        else:
            aex_before = None

        variable_.make_changes_row(table=DFWIEEE421.table,
                                   column=DFWIEEE421.Aex,
                                   row_id=row_id,
                                   value=Aex)

        if switch_command_line is not False:
            aex_after = get_.get_cell_row(table=DFWIEEE421.table,
                                          column=DFWIEEE421.Aex,
                                          row_id=row_id)
        else:
            aex_after = None

        # Bex
        if switch_command_line is not False:
            bex_before = get_.get_cell_row(table=DFWIEEE421.table,
                                           column=DFWIEEE421.Bex,
                                           row_id=row_id)
        else:
            bex_before = None

        variable_.make_changes_row(table=DFWIEEE421.table,
                                   column=DFWIEEE421.Bex,
                                   row_id=row_id,
                                   value=Bex)

        if switch_command_line is not False:
            bex_after = get_.get_cell_row(table=DFWIEEE421.table,
                                          column=DFWIEEE421.Bex,
                                          row_id=row_id)
        else:
            bex_after = None

        if switch_command_line is not False:
            print(
                f'{separator_two}\n'
                f' Внесены изменения в таблицу {DFWIEEE421.table_name}:\n'
                f'- Id: Номер возбудителя: {Id};\n'
                f'- row_id: порядковый номер в таблице (от 0 до [max.count]): {row_id};\n'
                f'- Kpr: Коэффициент усиления дифференциального звена: до {kpr_before}; после {kpr_after};\n'
                f'- Tb: Постоянная времени дифференциального звена: до {tb_before}; после {tb_after};\n'
                f'- Ka: Пропорциональный коэффициент усиления регулятора напряжения: до {ka_before}; после {ka_after};\n'
                f'- Vrmax: Максимальное ограничение интегрального звена: до {vrmax_before}; после {vrmax_after};\n'
                f'- Vrmin: Минимальное ограничение интегрального звена: до {vrmin_before}; после {vrmin_after};\n'
                f'- Te: Постоянная времени интегратора возбудителя: до {te_before}; после {te_after};\n'
                f'- Aex: Коэффициент экспоненты (задание насыщения): до {aex_before}; после {aex_after};\n'
                f'- Bex: Степень экспоненты (задание насыщения): до {bex_before}; после {bex_after};\n'
                f'{separator_two}\n'
            )

        return (
            f'{separator_two}\n'
            f' Внесены изменения в таблицу {DFWIEEE421.table_name}:\n'
            f'- Id: Номер возбудителя: {Id};\n'
            f'- row_id: порядковый номер в таблице (от 0 до [max.count]): {row_id};\n'
            f'- Kpr: Коэффициент усиления дифференциального звена: до {kpr_before}; после {kpr_after};\n'
            f'- Tb: Постоянная времени дифференциального звена: до {tb_before}; после {tb_after};\n'
            f'- Ka: Пропорциональный коэффициент усиления регулятора напряжения: до {ka_before}; после {ka_after};\n'
            f'- Vrmax: Максимальное ограничение интегрального звена: до {vrmax_before}; после {vrmax_after};\n'
            f'- Vrmin: Минимальное ограничение интегрального звена: до {vrmin_before}; после {vrmin_after};\n'
            f'- Te: Постоянная времени интегратора возбудителя: до {te_before}; после {te_after};\n'
            f'- Aex: Коэффициент экспоненты (задание насыщения): до {aex_before}; после {aex_after};\n'
            f'- Bex: Степень экспоненты (задание насыщения): до {bex_before}; после {bex_after};\n'
            f'{separator_two}\n'
        )
    if Id is None and row_id is None:
        print(f'{separator_two}'
              f'Не задано значение Id и/или row_id!'
              f'{separator_two}')
Esempio n. 7
0
# load - BARS
wb_skuns = load_workbook(
    filename=r'C:\Users\Ohrimenko_AG\Desktop\BARS\ВетвиСкунс.xlsx')
ws_skuns = wb_skuns["Ветви"]
vetv_list_bars = []
for i in range(3, 1430):
    create_data_list(list_vetv=vetv_list_bars, work_sheet=ws_skuns, index=i)

# load - SMZU
load_file(rastr_win=RASTR,
          file_path=r'C:\Users\Ohrimenko_AG\Desktop\BARS\smzu_mega.mptsmz',
          shabl=Shabl.without_shabl,
          switch_command_line=True)

vetv_list_smzu = []
getting_parameter_obj = GettingParameter(rastr_win=RASTR)
count_smzu_vetv = getting_parameter_obj.get_count_table(Vetv.table)
for i in range(count_smzu_vetv):
    create_data_smzu(list_vetv=vetv_list_smzu, i=i)

count_bars_vetv = len(vetv_list_bars)
for i in range(count_bars_vetv - 3):
    name_bars = vetv_list_bars[i]['name']
    tip_bars = vetv_list_bars[i]['tip']
    ip_bars = vetv_list_bars[i]['ip']
    iq_bars = vetv_list_bars[i]['iq']
    np_bars = vetv_list_bars[i]['np']
    r_bars = vetv_list_bars[i]['r']
    x_bars = vetv_list_bars[i]['x']
    b_bars = vetv_list_bars[i]['b']
    ktr_bars = vetv_list_bars[i]['ktr']
Esempio n. 8
0
# -*- coding: utf-8 -*-
from RastrWinLib.operation.get import GettingParameter
from RastrWinLib.Load import load_file
from RastrWinLib.Load.save import save_file
from RastrWinLib.Load.shablon import Shabl
from RastrWinLib.Tables.tables_attributes import vetv_table, node_table
from RastrWinLib.operation.Variable import Variable

load_file(
    file_path=
    r'C:\Users\Ohrimenko_AG\Desktop\Test_equiPy\02-БРМ Зима максимум [уст].rg2',
    shabl=Shabl.shablon_file_regime,
    switch_command_line=True)

get_ = GettingParameter()
variable_ = Variable()
for i in range(0, 26558):
    ip = get_.get_cell(table=vetv_table, column='ip', row_id=i)

    iq = get_.get_cell(table=vetv_table, column='iq', row_id=i)

    row_ny_ip = get_.get_row_node(node_ny=ip)
    row_ny_iq = get_.get_row_node(node_ny=iq)

    na_ip = get_.get_cell(table=node_table, column='na', row_id=row_ny_ip)

    na_iq = get_.get_cell(table=node_table, column='na', row_id=row_ny_iq)

    if na_ip == na_iq:
        print(f'na_ip={na_ip} == na_iq={na_iq}')
        variable_.make_changes_row(table=vetv_table,
Esempio n. 9
0
def change_parameters_ARV_REM(Id=None,
                              row_id=None,
                              Ku=Parameters.Ku,
                              Trv=Parameters.Trv,
                              Ku1=Parameters.Ku1,
                              Kif1=Parameters.Kif1,
                              Kf=Parameters.Kf,
                              Kf1=Parameters.Kf1,
                              rastr_win=RASTR,
                              switch_command_line: bool = False):
    """

    :param Id: номер возбудителя;
    :param row_id: порядковый номер в таблице (от 0 до [max.count]);
    :param Ku: Коэффициент усиления пропорционального канала регулятора напряжения 5...200
    :param Trv: Постоянная времени регулятора 0.1 ... 5
    :param Ku1: Коэффициент усиления канала по производной напряжения 0 ... 10
    :param Kif1: Коэффициент усиления канала по производной тока ротора 0 ... 5
    :param Kf: Коэффициент усиления канала по частоте  0 ... 15
    :param Kf1: Коэффициент усиления канала по производной частоты 0 ... 7.5
    :param rastr_win: COM - объект Rastr.Astra (win32com);
    :param switch_command_line: True/False - вывод сообщений в протакол;
    :return:
    """

    variable_ = Variable(rastr_win=rastr_win)
    get_ = GettingParameter(rastr_win=rastr_win)

    if Id is not None and row_id is None:
        # Ku
        if switch_command_line is not None:
            ku_before = get_.get_cell_id(table=ExcControl.table,
                                         column=ExcControl.Ku,
                                         Id=Id)
        else:
            ku_before = None

        variable_.make_changes_setsel(table=ExcControl.table,
                                      column=ExcControl.Ku,
                                      key=f'{ExcControl.Id}={Id}',
                                      value=Ku)

        if switch_command_line is not None:
            ku_after = get_.get_cell_id(table=ExcControl.table,
                                        column=ExcControl.Ku,
                                        Id=Id)
        else:
            ku_after = None

        # Trv
        if switch_command_line is not None:
            trv_before = get_.get_cell_id(table=ExcControl.table,
                                          column=ExcControl.Trv,
                                          Id=Id)
        else:
            trv_before = None

        variable_.make_changes_setsel(table=ExcControl.table,
                                      column=ExcControl.Trv,
                                      key=f'{ExcControl.Id}={Id}',
                                      value=Trv)

        if switch_command_line is not None:
            trv_after = get_.get_cell_id(table=ExcControl.table,
                                         column=ExcControl.Trv,
                                         Id=Id)
        else:
            trv_after = None

        # Ku1
        if switch_command_line is not None:
            ku1_before = get_.get_cell_id(table=ExcControl.table,
                                          column=ExcControl.Ku1,
                                          Id=Id)
        else:
            ku1_before = None

        variable_.make_changes_setsel(table=ExcControl.table,
                                      column=ExcControl.Ku1,
                                      key=f'{ExcControl.Id}={Id}',
                                      value=Ku1)

        if switch_command_line is not None:
            ku1_after = get_.get_cell_id(table=ExcControl.table,
                                         column=ExcControl.Ku1,
                                         Id=Id)
        else:
            ku1_after = None

        # Kif1
        if switch_command_line is not None:
            kif1_before = get_.get_cell_id(table=ExcControl.table,
                                           column=ExcControl.Kif1,
                                           Id=Id)
        else:
            kif1_before = None

        variable_.make_changes_setsel(table=ExcControl.table,
                                      column=ExcControl.Kif1,
                                      key=f'{ExcControl.Id}={Id}',
                                      value=Kif1)

        if switch_command_line is not None:
            kif1_after = get_.get_cell_id(table=ExcControl.table,
                                          column=ExcControl.Kif1,
                                          Id=Id)
        else:
            kif1_after = None

        # Kf
        if switch_command_line is not None:
            kf_before = get_.get_cell_id(table=ExcControl.table,
                                         column=ExcControl.Kf,
                                         Id=Id)
        else:
            kf_before = None

        variable_.make_changes_setsel(table=ExcControl.table,
                                      column=ExcControl.Kf,
                                      key=f'{ExcControl.Id}={Id}',
                                      value=Kf)

        if switch_command_line is not None:
            kf_after = get_.get_cell_id(table=ExcControl.table,
                                        column=ExcControl.Kf,
                                        Id=Id)
        else:
            kf_after = None

        # Kf1
        if switch_command_line is not None:
            kf1_before = get_.get_cell_id(table=ExcControl.table,
                                          column=ExcControl.Kf1,
                                          Id=Id)
        else:
            kf1_before = None

        variable_.make_changes_setsel(table=ExcControl.table,
                                      column=ExcControl.Kf1,
                                      key=f'{ExcControl.Id}={Id}',
                                      value=Kf1)

        if switch_command_line is not None:
            kf1_after = get_.get_cell_id(table=ExcControl.table,
                                         column=ExcControl.Kf1,
                                         Id=Id)
        else:
            kf1_after = None

    elif row_id is not None and Id is None:
        # Ku
        if switch_command_line is not None:
            ku_before = get_.get_cell_row(table=ExcControl.table,
                                          column=ExcControl.Ku,
                                          row_id=row_id)
        else:
            ku_before = None

        variable_.make_changes_row(table=ExcControl.table,
                                   column=ExcControl.Ku,
                                   row_id=row_id,
                                   value=Ku)

        if switch_command_line is not None:
            ku_after = get_.get_cell_id(table=ExcControl.table,
                                        column=ExcControl.Ku,
                                        Id=Id)
        else:
            ku_after = None

        # Trv
        if switch_command_line is not None:
            trv_before = get_.get_cell_row(table=ExcControl.table,
                                           column=ExcControl.Trv,
                                           row_id=row_id)
        else:
            trv_before = None

        variable_.make_changes_row(table=ExcControl.table,
                                   column=ExcControl.Trv,
                                   row_id=row_id,
                                   value=Trv)

        if switch_command_line is not None:
            trv_after = get_.get_cell_row(table=ExcControl.table,
                                          column=ExcControl.Trv,
                                          row_id=row_id)
        else:
            trv_after = None

        # Ku1
        if switch_command_line is not None:
            ku1_before = get_.get_cell_row(table=ExcControl.table,
                                           column=ExcControl.Ku1,
                                           row_id=row_id)
        else:
            ku1_before = None

        variable_.make_changes_row(table=ExcControl.table,
                                   column=ExcControl.Ku1,
                                   row_id=row_id,
                                   value=Ku1)

        if switch_command_line is not None:
            ku1_after = get_.get_cell_row(table=ExcControl.table,
                                          column=ExcControl.Ku1,
                                          row_id=row_id)
        else:
            ku1_after = None

        # Kif1
        if switch_command_line is not None:
            kif1_before = get_.get_cell_row(table=ExcControl.table,
                                            column=ExcControl.Kif1,
                                            row_id=row_id)
        else:
            kif1_before = None

        variable_.make_changes_row(table=ExcControl.table,
                                   column=ExcControl.Kif1,
                                   row_id=row_id,
                                   value=Kif1)

        if switch_command_line is not None:
            kif1_after = get_.get_cell_row(table=ExcControl.table,
                                           column=ExcControl.Kif1,
                                           row_id=row_id)
        else:
            kif1_after = None

        # Kf
        if switch_command_line is not None:
            kf_before = get_.get_cell_row(table=ExcControl.table,
                                          column=ExcControl.Kf,
                                          row_id=row_id)
        else:
            kf_before = None

        variable_.make_changes_row(table=ExcControl.table,
                                   column=ExcControl.Kf,
                                   row_id=row_id,
                                   value=Kf)

        if switch_command_line is not None:
            kf_after = get_.get_cell_row(table=ExcControl.table,
                                         column=ExcControl.Kf,
                                         row_id=row_id)
        else:
            kf_after = None

        # Kf1
        if switch_command_line is not None:
            kf1_before = get_.get_cell_row(table=ExcControl.table,
                                           column=ExcControl.Kf1,
                                           row_id=row_id)
        else:
            kf1_before = None

        variable_.make_changes_row(table=ExcControl.table,
                                   column=ExcControl.Kf1,
                                   row_id=row_id,
                                   value=Kf1)

        if switch_command_line is not None:
            kf1_after = get_.get_cell_row(table=ExcControl.table,
                                          column=ExcControl.Kf1,
                                          row_id=row_id)
        else:
            kf1_after = None

    else:
        Id = None
        row_id = None
        ku_before, ku_after = None, None
        trv_before, trv_after = None, None
        ku1_before, ku1_after = None, None
        kif1_before, kif1_after = None, None
        kf_before, kf_after = None, None
        kf1_before, kf1_after = None, None

    if row_id is not None or Id is not None:
        if switch_command_line is not False:
            print(
                f'{separator_two}\n'
                f' Внесены изменения в таблицу {ExcControl.table_name}:\n'
                f'- Id: Номер возбудителя: {Id};\n'
                f'- row_id: порядковый номер в таблице (от 0 до [max.count]): {row_id};\n'
                f'- Ku: Коэффициент усиления пропорционального канала регулятора напряжения 5...200: до {ku_before}; после {ku_after};\n'
                f'- Trv: Постоянная времени регулятора 0.1 ...5: до {trv_before}; после {trv_after};\n'
                f'- Ku1: Коэффициент усиления канала по производной напряжения 0...10: до {ku1_before}; после {ku1_after};\n'
                f'- Kif1: Коэффициент усиления канала по производной тока ротора 0...5: до {kif1_before}; после {kif1_after};\n'
                f'- Kf: Коэффициент усиления канала по частоте  0...15: до {kf_before}; после {kf_after};\n'
                f'- Kf1: Коэффициент усиления канала по производной частоты 0... 7.5: до {kf1_before}; после {kf1_after};\n'
                f'{separator_two}\n')
        return (
            f'{separator_two}\n'
            f' Внесены изменения в таблицу {ExcControl.table_name}:\n'
            f'- Id: Номер возбудителя: {Id};\n'
            f'- row_id: порядковый номер в таблице (от 0 до [max.count]): {row_id};\n'
            f'- Ku: Коэффициент усиления пропорционального канала регулятора напряжения 5...200: до {ku_before}; после {ku_after};\n'
            f'- Trv: Постоянная времени регулятора 0.1...5: до {trv_before}; после {trv_after};\n'
            f'- Ku1: Коэффициент усиления канала по производной напряжения 0...10: до {ku1_before}; после {ku1_after};\n'
            f'- Kif1: Коэффициент усиления канала по производной тока ротора 0...5: до {kif1_before}; после {kif1_after};\n'
            f'- Kf: Коэффициент усиления канала по частоте  0...15: до {kf_before}; после {kf_after};\n'
            f'- Kf1: Коэффициент усиления канала по производной частоты 0...7.5: до {kf1_before}; после {kf1_after};\n'
            f'{separator_two}\n')
    else:
        print('')
Esempio n. 10
0
def equivalent_gen(viborka, u_min=170, u_max=250):
    vetv = RASTR.Tables(Vetv.table)
    node = RASTR.Tables(Node.table)
    getObj = GettingParameter(rastr_win=RASTR)
    varObj = Variable(rastr_win=RASTR)
    findNextSelNodeObj = FindNextSel(rastr_win=RASTR, table=Node.table)
    findNextSelGenObj = FindNextSel(rastr_win=RASTR, table=Generator.table)
    findNextSelVetvObj = FindNextSel(rastr_win=RASTR, table=Vetv.table)
    node.SetSel(viborka)
    node.Cols(Node.sel).Calc('1')
    j = findNextSelObj.row(key=viborka)
    while j != (-1):
        ny = getObj.get_cell_row(table=Node.table, column=Node.ny, row_id=j)

        tip_node = getObj.get_cell_row(table=Node.table,
                                       column=Node.tip,
                                       row_id=j)

        uhom = getObj.get_cell_row(table=Node.table,
                                   column=Node.uhom,
                                   row_id=j)

        if tip_node > 1:
            j_gen = findNextSelGenObj.row(key=f'{Node.table}.{Node.ny}={ny}')
            if j_gen != (-1):
                j_vetv = findNextSelVetvObj.row(
                    key=f'({Vetv.ip}={ny})|({Vetv.iq}={ny})')
                while j_vetv != (-1):
                    tip_vetv = getObj.get_cell_row(table=Vetv.table,
                                                   column=Vetv.tip,
                                                   row_id=j_vetv)
                    if tip_vetv == 1:
                        v_ip = getObj.get_cell_row(table=Vetv.table,
                                                   column=Vetv.v_ip,
                                                   row_id=j_vetv)
                        v_iq = getObj.get_cell_row(table=Vetv.table,
                                                   column=Vetv.v_iq,
                                                   row_id=j_vetv)
                        if (v_ip > u_min
                                and v_iq < u_max) or (v_ip < u_min
                                                      and v_iq > u_max):
                            varObj.make_changes_row(table=Node.table,
                                                    column=Node.sel,
                                                    row_id=j,
                                                    value=0)
                    j_vetv = vetv.FindNextSel(j_vetv)
            else:
                j_vetv_2 = findNextSelVetvObj.row(
                    key=f'({Vetv.ip}={ny})|({Vetv.iq}={ny})')
                while j_vetv_2 != (-1):
                    tip_vetv_2 = getObj.get_cell_row(table=Vetv.table,
                                                     column=Vetv.tip,
                                                     row_id=j_vetv_2)
                    if tip_vetv_2 == 1:
                        v_ip_2 = getObj.get_cell_row(table=Vetv.table,
                                                     column=Vetv.v_ip,
                                                     row_id=j_vetv_2)

                        v_iq_2 = getObj.get_cell_row(table=Vetv.table,
                                                     column=Vetv.v_iq,
                                                     row_id=j_vetv_2)

                        if (v_ip_2 > u_min
                                and v_iq_2 < u_max) or (v_ip_2 < u_min
                                                        and v_iq_2 > u_max):
                            varObj.make_changes_row(table=Node.table,
                                                    column=Node.sel,
                                                    row_id=j,
                                                    value=0)

                    j_vetv_2 = vetv.FindNextSel(j_vetv_2)

            node.SetSel(viborka)
            j = node.FindNextSel(j)
Esempio n. 11
0
def set_alt_unit(
    row_id: int = 0,
    Active: bool = False,
    Unit: str = '',
    Alt: str = '',
    Formula: str = '',
    Prec: str = '',
    Tabl: str = '',
    rastr_win=RASTR,
    switch_command_line: bool = False,
):
    f"""
    Параметры настройки "Описание альтернативных единиц измерения" (таблица "Ед.Измерения": AltUnit):

    :param row_id: Порядковый номер в таблице "Ед. Измерения";
    :param Active: Активизация альтернативной ЕИ;
    :param Unit: Основная Единица Измерения;
    :param Alt: Альтернативная Единица Измерения;
    :param Formula: Формула для преобразования;
    :param Prec: Точность отображение Альт ЕИ;
    :param Tabl: Ограничитель по таблице;
    :param rastr_win: COM - объект Rastr.Astra (win32com);
    :param switch_command_line: True/False - вывод сообщений в протокол;
    :return: Nothing returns
    """
    variable_ = Variable(rastr_win=rastr_win)
    get_ = GettingParameter(rastr_win=rastr_win)

    # Active Активизация альтернативной ЕИ (A)
    active_get_before = get_.get_cell_row(table=AltUnit.table,
                                          column=AltUnit.Active,
                                          row_id=0)
    variable_.make_changes_row(table=AltUnit.table,
                               column=AltUnit.Active,
                               row_id=row_id,
                               value=Active)
    active_get_after = get_.get_cell_row(table=AltUnit.table,
                                         column=AltUnit.Active,
                                         row_id=0)

    # Unit Основная Единица Измерения (ЕИ)
    unit_get_before = get_.get_cell_row(table=AltUnit.table,
                                        column=AltUnit.Unit,
                                        row_id=0)
    variable_.make_changes_row(table=AltUnit.table,
                               column=AltUnit.Active,
                               row_id=row_id,
                               value=Unit)
    unit_get_after = get_.get_cell_row(table=AltUnit.table,
                                       column=AltUnit.Unit,
                                       row_id=0)

    # Alt Альтернативная Единица Измерения (Альт ЕИ)
    alt_get_before = get_.get_cell_row(table=AltUnit.table,
                                       column=AltUnit.Alt,
                                       row_id=0)
    variable_.make_changes_row(table=AltUnit.table,
                               column=AltUnit.Alt,
                               row_id=row_id,
                               value=Alt)
    alt_get_after = get_.get_cell_row(table=AltUnit.table,
                                      column=AltUnit.Alt,
                                      row_id=0)

    # Formula Формула для преобразования (Формула)
    formula_get_before = get_.get_cell_row(table=AltUnit.table,
                                           column=AltUnit.Formula,
                                           row_id=0)

    variable_.make_changes_row(table=AltUnit.table,
                               column=AltUnit.Formula,
                               row_id=row_id,
                               value=Formula)

    formula_get_after = get_.get_cell_row(table=AltUnit.table,
                                          column=AltUnit.Formula,
                                          row_id=0)

    # Prec Точность отображение Альт ЕИ (Точность)
    prec_get_before = get_.get_cell_row(table=AltUnit.table,
                                        column=AltUnit.Prec,
                                        row_id=0)

    variable_.make_changes_row(table=AltUnit.table,
                               column=AltUnit.Prec,
                               row_id=row_id,
                               value=Prec)
    prec_get_after = get_.get_cell_row(table=AltUnit.table,
                                       column=AltUnit.Prec,
                                       row_id=0)

    # Tabl Ограничитель по таблице (Табл)
    tabl_get_before = get_.get_cell_row(table=AltUnit.table,
                                        column=AltUnit.Tabl,
                                        row_id=0)
    variable_.make_changes_row(table=AltUnit.table,
                               column=AltUnit.Tabl,
                               row_id=row_id,
                               value=Tabl)
    tabl_get_after = get_.get_cell_row(table=AltUnit.table,
                                       column=AltUnit.Tabl,
                                       row_id=0)
    if switch_command_line:
        pt = PrettyTable()
        pt.title = 'Параметры альтернативных единиц измерений "Ед.Измерения":'
        pt.field_names = ['Название параметра', '"ДО"', '"ПОСЛЕ"']
        pt.add_row([
            '- Active: Активизация альтернативной ЕИ (A)', active_get_before,
            active_get_after
        ])
        pt.add_row([
            '- Unit: Основная Единица Измерения (ЕИ)', unit_get_before,
            unit_get_after
        ])
        pt.add_row([
            '- Alt: Альтернативная Единица Измерения (Альт ЕИ)',
            alt_get_before, alt_get_after
        ])
        pt.add_row([
            '- Formula: Формула для преобразования (Формула)',
            formula_get_before, formula_get_after
        ])
        pt.add_row([
            '- Prec: Точность отображение Альт ЕИ (Точность)', prec_get_before,
            prec_get_after
        ])
        pt.add_row([
            '- Tabl: Ограничитель по таблице (Табл)', tabl_get_before,
            tabl_get_after
        ])
        print(pt)
Esempio n. 12
0
def change_parameters_ARV3M(Id: int = None,
                            row_id: int = None,
                            Ku: float = Parameters.Ku,
                            K_Q: float = Parameters.K_Q,
                            Kif1: float = Parameters.Kif1,
                            T1if: float = Parameters.T1if,
                            Ku1: float = Parameters.Ku1,
                            T1u1: float = Parameters.T1u1,
                            K_P: float = Parameters.K_P,
                            K_Ia: float = Parameters.K_Ia,
                            Tf: float = Parameters.Tf,
                            Kf: float = Parameters.Kf,
                            Kf1: float = Parameters.Kf1,
                            TINT: float = Parameters.TINT,
                            rastr_win=RASTR,
                            switch_command_line: bool = False):
    """
    Функция change_parameters_ARV3M -

    :param switch_command_line: True/False - вывод сообщений в протакол;
    :param rastr_win: COM - объект Rastr.Astra (win32com);
    :param Id: Номер возбудителя;
    :param row_id: порядковый номер в таблице (от 0 до [max.count]);
    :param Ku: Коэффициент усиления пропорционального канала регулятора напряжения;
    :param K_Q: Коэффициент усиления канала по производной тока ротора;
    :param Kif1: Коэффициент усиления канала по производной тока ротора;
    :param T1if: Постоянная времени дифференциру-ющего звена в канале по производной тока ротора;
    :param Ku1: Коэффициент усиления канала по производной напряжения;
    :param T1u1: Постоянная времени дифференцирующего звена в канале по производной напряжения;
    :param K_P: Коэффициент усиления выходного сигнала ОМВ;
    :param K_Ia: Уставка ограничителя максимального тока ротора;
    :param Tf: Постоянная времени дифференцирующего звена в канале по частоте;
    :param Kf: Коэффициент усиления в канале по частоте;
    :param Kf1: Коэффициент усиления в канале по производной частоты;
    :param TINT: Постоянная времени интегратора;
    :return: Возвращает все параметры в строковом виде для протокола.
    """
    variable_ = Variable(rastr_win=rastr_win)
    get_ = GettingParameter(rastr_win=rastr_win)

    if Id is not None and row_id is None:
        # Ku
        if switch_command_line is not None:
            ku_before = get_.get_cell_id(table=ExcControl.table,
                                         column=ExcControl.Ku,
                                         Id=Id)
        else:
            ku_before = None

        variable_.make_changes_setsel(table=ExcControl.table,
                                      column=ExcControl.Ku,
                                      key=f'{ExcControl.Id}={Id}',
                                      value=Ku)

        if switch_command_line is not None:
            ku_after = get_.get_cell_id(table=ExcControl.table,
                                        column=ExcControl.Ku,
                                        Id=Id)
        else:
            ku_after = None

        # K_Q
        if switch_command_line is not None:
            k_q_before = get_.get_cell_id(table=ExcControl.table,
                                          column=ExcControl.K_Q,
                                          Id=Id)
        else:
            k_q_before = None

        variable_.make_changes_setsel(table=ExcControl.table,
                                      column=ExcControl.K_Q,
                                      key=f'{ExcControl.Id}={Id}',
                                      value=K_Q)

        if switch_command_line is not None:
            k_q_after = get_.get_cell_id(table=ExcControl.table,
                                         column=ExcControl.K_Q,
                                         Id=Id)
        else:
            k_q_after = None

        # Kif1
        if switch_command_line is not None:
            kif1_before = get_.get_cell_id(table=ExcControl.table,
                                           column=ExcControl.Kif1,
                                           Id=Id)
        else:
            kif1_before = None

        variable_.make_changes_setsel(table=ExcControl.table,
                                      column=ExcControl.Kif1,
                                      key=f'{ExcControl.Id}={Id}',
                                      value=Kif1)

        if switch_command_line is not None:
            kif1_after = get_.get_cell_id(table=ExcControl.table,
                                          column=ExcControl.Kif1,
                                          Id=Id)
        else:
            kif1_after = None

        # T1if
        if switch_command_line is not None:
            t1if_before = get_.get_cell_id(table=ExcControl.table,
                                           column=ExcControl.T1if,
                                           Id=Id)
        else:
            t1if_before = None

        variable_.make_changes_setsel(table=ExcControl.table,
                                      column=ExcControl.T1if,
                                      key=f'{ExcControl.Id}={Id}',
                                      value=T1if)

        if switch_command_line is not None:
            t1if_after = get_.get_cell_id(table=ExcControl.table,
                                          column=ExcControl.T1if,
                                          Id=Id)
        else:
            t1if_after = None

        # Ku1
        if switch_command_line is not None:
            ku1_before = get_.get_cell_id(table=ExcControl.table,
                                          column=ExcControl.Ku1,
                                          Id=Id)
        else:
            ku1_before = None

        variable_.make_changes_setsel(table=ExcControl.table,
                                      column=ExcControl.Ku1,
                                      key=f'{ExcControl.Id}={Id}',
                                      value=Ku1)

        if switch_command_line is not None:
            ku1_after = get_.get_cell_id(table=ExcControl.table,
                                         column=ExcControl.Ku1,
                                         Id=Id)
        else:
            ku1_after = None

        # T1u1
        if switch_command_line is not None:
            t1u1_before = get_.get_cell_id(table=ExcControl.table,
                                           column=ExcControl.T1u1,
                                           Id=Id)
        else:
            t1u1_before = None

        variable_.make_changes_setsel(table=ExcControl.table,
                                      column=ExcControl.T1u1,
                                      key=f'{ExcControl.Id}={Id}',
                                      value=T1u1)

        if switch_command_line is not None:
            t1u1_after = get_.get_cell_id(table=ExcControl.table,
                                          column=ExcControl.T1u1,
                                          Id=Id)
        else:
            t1u1_after = None

        # K_P
        if switch_command_line is not None:
            kp_before = get_.get_cell_id(table=ExcControl.table,
                                         column=ExcControl.K_P,
                                         Id=Id)
        else:
            kp_before = None

        variable_.make_changes_setsel(table=ExcControl.table,
                                      column=ExcControl.K_P,
                                      key=f'{ExcControl.Id}={Id}',
                                      value=K_P)

        if switch_command_line is not None:
            kp_after = get_.get_cell_id(table=ExcControl.table,
                                        column=ExcControl.K_P,
                                        Id=Id)
        else:
            kp_after = None

        # K_Ia
        if switch_command_line is not None:
            k_ia_before = get_.get_cell_id(table=ExcControl.table,
                                           column=ExcControl.K_Ia,
                                           Id=Id)
        else:
            k_ia_before = None

        variable_.make_changes_setsel(table=ExcControl.table,
                                      column=ExcControl.K_Ia,
                                      key=f'{ExcControl.Id}={Id}',
                                      value=K_Ia)

        if switch_command_line is not None:
            k_ia_after = get_.get_cell_id(table=ExcControl.table,
                                          column=ExcControl.K_Ia,
                                          Id=Id)
        else:
            k_ia_after = None

        # Tf
        if switch_command_line is not None:
            tf_before = get_.get_cell_id(table=ExcControl.table,
                                         column=ExcControl.Tf,
                                         Id=Id)
        else:
            tf_before = None

        variable_.make_changes_setsel(table=ExcControl.table,
                                      column=ExcControl.Tf,
                                      key=f'{ExcControl.Id}={Id}',
                                      value=Tf)

        if switch_command_line is not None:
            tf_after = get_.get_cell_id(table=ExcControl.table,
                                        column=ExcControl.Tf,
                                        Id=Id)
        else:
            tf_after = None

        # Kf
        if switch_command_line is not None:
            kf_before = get_.get_cell_id(table=ExcControl.table,
                                         column=ExcControl.Kf,
                                         Id=Id)
        else:
            kf_before = None

        variable_.make_changes_setsel(table=ExcControl.table,
                                      column=ExcControl.Kf,
                                      key=f'{ExcControl.Id}={Id}',
                                      value=Kf)

        if switch_command_line is not None:
            kf_after = get_.get_cell_id(table=ExcControl.table,
                                        column=ExcControl.Kf,
                                        Id=Id)
        else:
            kf_after = None

        # Kf1
        if switch_command_line is not None:
            kf1_before = get_.get_cell_id(table=ExcControl.table,
                                          column=ExcControl.Kf1,
                                          Id=Id)
        else:
            kf1_before = None

        variable_.make_changes_setsel(table=ExcControl.table,
                                      column=ExcControl.Kf1,
                                      key=f'{ExcControl.Id}={Id}',
                                      value=Kf1)

        if switch_command_line is not None:
            kf1_after = get_.get_cell_id(table=ExcControl.table,
                                         column=ExcControl.Kf1,
                                         Id=Id)
        else:
            kf1_after = None

        # TINT
        if switch_command_line is not None:
            tint_before = get_.get_cell_id(table=ExcControl.table,
                                           column=ExcControl.TINT,
                                           Id=Id)
        else:
            tint_before = None

        variable_.make_changes_setsel(table=ExcControl.table,
                                      column=ExcControl.TINT,
                                      key=f'{ExcControl.Id}={Id}',
                                      value=TINT)

        if switch_command_line is not None:
            tint_after = get_.get_cell_id(table=ExcControl.table,
                                          column=ExcControl.TINT,
                                          Id=Id)
        else:
            tint_after = None

        if switch_command_line is not False:
            print(
                f'{separator_two}\n'
                f'Таблица: "{ExcControl.table}" - {ExcControl.table_name}:\n'
                f'- Id: Номер возбудителя: {Id}\n'
                f'- Ku: Коэффициент усиления пропорционального канала регулятора напряжения: до {ku_before}; после {ku_after};\n'
                f'- K_Q: Коэффициент усиления канала по производной тока ротора: до {k_q_before}; после {k_q_after};\n'
                f'- Kif1: Коэффициент усиления канала по производной тока ротора: до {kif1_before}; после {kif1_after};\n'
                f'- T1if: Постоянная времени дифференцирующего звена в канале по производной тока ротора: до {t1if_before}; после {t1if_after};\n'
                f'- Ku1: Коэффициент усиления канала по производной напряжения: до {ku1_before}; после {ku1_after};\n'
                f'- T1u1: Постоянная времени дифференцирующего звена в канале по производной напряжения: до {t1u1_before}; после {t1u1_after};\n'
                f'- K_P: Коэффициент усиления выходного сигнала ОМВ: до {kp_before}; после {kp_after};\n'
                f'- K_Ia: Уставка ограничителя максимального тока ротора: до {k_ia_before}; после {k_ia_after};\n'
                f'- Tf: Постоянная времени дифференцирующего звена в канале по частоте: до {tf_before}; после {tf_after};\n'
                f'- Kf: Коэффициент усиления в канале по частоте: до {kf_before}; после {kf_after};\n'
                f'- Kf1: Коэффициент усиления в канале по производной частоты: до {kf1_before}; после {kf1_after};\n'
                f'- TINT: Постоянная времени интегратора: до {tint_before}; после {tint_after};\n'
                f'{separator_two}\n')

    if row_id is not None and Id is None:
        # Ku
        if switch_command_line is not False:
            ku_before = get_.get_cell_row(table=ExcControl.table,
                                          column=ExcControl.Ku,
                                          row_id=row_id)
        else:
            ku_before = None

        variable_.make_changes_row(table=ExcControl.table,
                                   column=ExcControl.Ku,
                                   row_id=row_id,
                                   value=Ku)

        if switch_command_line is not False:
            ku_after = get_.get_cell_row(table=ExcControl.table,
                                         column=ExcControl.Ku,
                                         row_id=row_id)
        else:
            ku_after = None

        # K_Q
        if switch_command_line is not False:
            k_q_before = get_.get_cell_row(table=ExcControl.table,
                                           column=ExcControl.K_Q,
                                           row_id=row_id)
        else:
            k_q_before = None

        variable_.make_changes_row(table=ExcControl.table,
                                   column=ExcControl.K_Q,
                                   row_id=row_id,
                                   value=K_Q)

        if switch_command_line is not False:
            k_q_after = get_.get_cell_row(table=ExcControl.table,
                                          column=ExcControl.K_Q,
                                          row_id=row_id)
        else:
            k_q_after = None

        # Kif1
        if switch_command_line is not False:
            kif1_before = get_.get_cell_row(table=ExcControl.table,
                                            column=ExcControl.Kif1,
                                            row_id=row_id)
        else:
            kif1_before = None

        variable_.make_changes_row(table=ExcControl.table,
                                   column=ExcControl.Kif1,
                                   row_id=row_id,
                                   value=Kif1)

        if switch_command_line is not False:
            kif1_after = get_.get_cell_row(table=ExcControl.table,
                                           column=ExcControl.Kif1,
                                           row_id=row_id)
        else:
            kif1_after = None

        # T1if
        if switch_command_line is not False:
            t1if_before = get_.get_cell_row(table=ExcControl.table,
                                            column=ExcControl.T1if,
                                            row_id=row_id)
        else:
            t1if_before = None

        variable_.make_changes_row(table=ExcControl.table,
                                   column=ExcControl.T1if,
                                   row_id=row_id,
                                   value=T1if)

        if switch_command_line is not False:
            t1if_after = get_.get_cell_row(table=ExcControl.table,
                                           column=ExcControl.T1if,
                                           row_id=row_id)
        else:
            t1if_after = None

        # Ku1
        if switch_command_line is not False:
            ku1_before = get_.get_cell_row(table=ExcControl.table,
                                           column=ExcControl.Ku1,
                                           row_id=row_id)
        else:
            ku1_before = None

        variable_.make_changes_row(table=ExcControl.table,
                                   column=ExcControl.Ku1,
                                   row_id=row_id,
                                   value=Ku1)

        if switch_command_line is not False:
            ku1_after = get_.get_cell_row(table=ExcControl.table,
                                          column=ExcControl.Ku1,
                                          row_id=row_id)
        else:
            ku1_after = None

        # T1u1
        if switch_command_line is not False:
            t1u1_before = get_.get_cell_row(table=ExcControl.table,
                                            column=ExcControl.T1u1,
                                            row_id=row_id)
        else:
            t1u1_before = None

        variable_.make_changes_row(table=ExcControl.table,
                                   column=ExcControl.T1u1,
                                   row_id=row_id,
                                   value=T1u1)

        if switch_command_line is not False:
            t1u1_after = get_.get_cell_row(table=ExcControl.table,
                                           column=ExcControl.T1u1,
                                           row_id=row_id)
        else:
            t1u1_after = None

        # K_P
        if switch_command_line is not False:
            kp_before = get_.get_cell_row(table=ExcControl.table,
                                          column=ExcControl.K_P,
                                          row_id=row_id)
        else:
            kp_before = None

        variable_.make_changes_row(table=ExcControl.table,
                                   column=ExcControl.K_P,
                                   row_id=row_id,
                                   value=K_P)

        if switch_command_line is not False:
            kp_after = get_.get_cell_row(table=ExcControl.table,
                                         column=ExcControl.K_P,
                                         row_id=row_id)
        else:
            kp_after = None

        # K_Ia
        if switch_command_line is not False:
            k_ia_before = get_.get_cell_row(table=ExcControl.table,
                                            column=ExcControl.K_Ia,
                                            row_id=row_id)
        else:
            k_ia_before = None

        variable_.make_changes_row(table=ExcControl.table,
                                   column=ExcControl.K_Ia,
                                   row_id=row_id,
                                   value=K_Ia)

        if switch_command_line is not False:
            k_ia_after = get_.get_cell_row(table=ExcControl.table,
                                           column=ExcControl.K_Ia,
                                           row_id=row_id)
        else:
            k_ia_after = None

        # Tf
        if switch_command_line is not False:
            tf_before = get_.get_cell_row(table=ExcControl.table,
                                          column=ExcControl.Tf,
                                          row_id=row_id)
        else:
            tf_before = None

        variable_.make_changes_row(table=ExcControl.table,
                                   column=ExcControl.Tf,
                                   row_id=row_id,
                                   value=Tf)

        if switch_command_line is not False:
            tf_after = get_.get_cell_row(table=ExcControl.table,
                                         column=ExcControl.Tf,
                                         row_id=row_id)
        else:
            tf_after = None

        # Kf
        if switch_command_line is not False:
            kf_before = get_.get_cell_row(table=ExcControl.table,
                                          column=ExcControl.Kf,
                                          row_id=row_id)
        else:
            kf_before = None

        variable_.make_changes_row(table=ExcControl.table,
                                   column=ExcControl.Kf,
                                   row_id=row_id,
                                   value=Kf)
        if switch_command_line is not False:
            kf_after = get_.get_cell_row(table=ExcControl.table,
                                         column=ExcControl.Kf,
                                         row_id=row_id)
        else:
            kf_after = None

        # Kf1
        if switch_command_line is not False:
            kf1_before = get_.get_cell_row(table=ExcControl.table,
                                           column=ExcControl.Kf1,
                                           row_id=row_id)
        else:
            kf1_before = None

        variable_.make_changes_row(table=ExcControl.table,
                                   column=ExcControl.Kf1,
                                   row_id=row_id,
                                   value=Kf1)

        if switch_command_line is not False:
            kf1_after = get_.get_cell_row(table=ExcControl.table,
                                          column=ExcControl.Kf1,
                                          row_id=row_id)
        else:
            kf1_after = None

        # TINT
        if switch_command_line is not False:
            tint_before = get_.get_cell_row(table=ExcControl.table,
                                            column=ExcControl.TINT,
                                            row_id=row_id)
        else:
            tint_before = None

        variable_.make_changes_row(table=ExcControl.table,
                                   column=ExcControl.TINT,
                                   row_id=row_id,
                                   value=TINT)

        if switch_command_line is not False:
            tint_after = get_.get_cell_row(table=ExcControl.table,
                                           column=ExcControl.TINT,
                                           row_id=row_id)
        else:
            tint_after = None

        if switch_command_line is not False:
            print(
                f'{separator_two}\n'
                f'Таблица: "{ExcControl.table}" - {ExcControl.table_name}:\n\n'
                f'- row_id: порядковый номер в таблице (от 0 до [max.count]): {row_id}\n'
                f'- Ku: Коэффициент усиления пропорционального канала регулятора напряжения: до {ku_before}; после {ku_after};\n'
                f'- K_Q: Коэффициент усиления канала по производной тока ротора: до {k_q_before}; после {k_q_after};\n'
                f'- Kif1: Коэффициент усиления канала по производной тока ротора: до {kif1_before}; после {kif1_after};\n'
                f'- T1if: Постоянная времени дифференцирующего звена в канале по производной тока ротора: до {t1if_before}; после {t1if_after};\n'
                f'- Ku1: Коэффициент усиления канала по производной напряжения: до {ku1_before}; после {ku1_after};\n'
                f'- T1u1: Постоянная времени дифференцирующего звена в канале по производной напряжения: до {t1u1_before}; после {t1u1_after};\n'
                f'- K_P: Коэффициент усиления выходного сигнала ОМВ: до {kp_before}; после {kp_after};\n'
                f'- K_Ia: Уставка ограничителя максимального тока ротора: до {k_ia_before}; после {k_ia_after};\n'
                f'- Tf: Постоянная времени дифференцирующего звена в канале по частоте: до {tf_before}; после {tf_after};\n'
                f'- Kf: Коэффициент усиления в канале по частоте: до {kf_before}; после {kf_after};\n'
                f'- Kf1: Коэффициент усиления в канале по производной частоты: до {kf1_before}; после {kf1_after};\n'
                f'- TINT: Постоянная времени интегратора: до {tint_before}; после {tint_after};\n'
                f'{separator_two}\n')
Esempio n. 13
0
n = open(file_log_node, 'w')
f = open(file_log_gen, 'w')
g = open(file_log_vetv, 'w')
area = open(file_log_area, 'w')

one_rastr = win32com.client.Dispatch("Astra.Rastr")
two_rastr = win32com.client.Dispatch("Astra.Rastr")

load_file(rastr_win=one_rastr, file_path=file_one_rg2, shabl=Shabl.shablon_file_regime, switch_command_line=False)
load_file(rastr_win=two_rastr, file_path=file_two_rst, shabl=Shabl.shablon_file_dynamic, switch_command_line=False)

gen_table_file_one = one_rastr.Tables(Generator.table)
max_column_gen_file_one = gen_table_file_one.Count - 1
print(f'Max Gen file_one: {max_column_gen_file_one}')

get_one = GettingParameter(rastr_win=one_rastr)
get_two = GettingParameter(rastr_win=two_rastr)
val_file_one = Variable(rastr_win=one_rastr, switch_command_line=False)
val_file_two = Variable(rastr_win=two_rastr, switch_command_line=False)
switch_two = SwitchVetv(rastr_win=two_rastr)
gen_fl = 1
if gen_fl == 1:
    # ********** Генератор ****************
    for i in range(0, max_column_gen_file_one):
        """
        Извлекает из файла rg2 (файл 1), Название, Номер, Состояние, P, Q из таблиццы Генераторы ИД
        """
        name_gen_file_one = get_one.get_cell_row(table=Generator.table, column=Generator.Name, row_id=i)
        num_gen_file_one = get_one.get_cell_row(table=Generator.table, column=Generator.Num, row_id=i)
        sta_gen_file_one = get_one.get_cell_row(table=Generator.table, column=Generator.sta, row_id=i)
        p_gen_gen_file_one = get_one.get_cell_row(table=Generator.table, column=Generator.P, row_id=i)
Esempio n. 14
0
def change_parameters_ARV2M_BSV(Id=None,
                                row_id=None,
                                Ku: float = Parameters.Ku,
                                K_Q: float = Parameters.K_Q,
                                Kif1: float = Parameters.Kif1,
                                T1if: float = Parameters.T1if,
                                Ku1: float = Parameters.Ku1,
                                T1u1: float = Parameters.T1u1,
                                K_P: float = Parameters.K_P,
                                K_Ia: float = Parameters.K_Ia,
                                Tf: float = Parameters.Tf,
                                Kf: float = Parameters.Kf,
                                Kf1: float = Parameters.Kf1,
                                TINT: float = Parameters.TINT,
                                switch_command_line: bool = False):
    """

    :param Id: номер возбудителя;
    :param row_id: порядковый номер в таблице (от 0 до [max.count]);
    :param Ku: Коэффициент усиления регулятора;
    :param K_Q: Коэффициент усиления канала по производной тока ротора;
    :param Kif1: Коэффициент усиления канала по производной тока ротора;
    :param T1if: Постоянная времени дифференцирующего звена в канале по производной тока ротора;
    :param Ku1: Коэффициент усиления канала по производной напряжения;
    :param T1u1: Постоянная времени дифференцирующего звена в канале по производной напряжения;
    :param K_P: Коэффициент усиления выходного сигнала ОМВ;
    :param K_Ia: Уставка по току ротора;
    :param Tf: Постоянная времени дифференцирующего звена в канале по частоте;
    :param Kf: Коэффициент усиления в канале по частоте;
    :param Kf1: Коэффициент усиления в канале по производной частоты;
    :param TINT: Постоянная времени интегратора;
    :param switch_command_line: True/False - вывод сообщений в протакол;
    :return:
    """
    variable_ = Variable(rastr_win=rastr_win)
    get_ = GettingParameter(rastr_win=rastr_win)

    if Id is not None and row_id is None:
        # Ku
        if switch_command_line is not None:
            ku_before = get_.get_cell_id(table=ExcControl.table,
                                         column=ExcControl.Ku,
                                         Id=Id)
        else:
            ku_before = None

        variable_.make_changes_setsel(table=ExcControl.table,
                                      column=ExcControl.Ku,
                                      key=f'{ExcControl.Id}={Id}',
                                      value=Ku)

        if switch_command_line is not None:
            ku_after = get_.get_cell_id(table=ExcControl.table,
                                        column=ExcControl.Ku,
                                        Id=Id)
        else:
            ku_after = None

        # K_Q
        if switch_command_line is not None:
            k_q_before = get_.get_cell_id(table=ExcControl.table,
                                          column=ExcControl.K_Q,
                                          Id=Id)
        else:
            k_q_before = None

        variable_.make_changes_setsel(table=ExcControl.table,
                                      column=ExcControl.Ku,
                                      key=f'{ExcControl.Id}={Id}',
                                      value=K_Q)

        if switch_command_line is not None:
            k_q_after = get_.get_cell_id(table=ExcControl.table,
                                         column=ExcControl.K_Q,
                                         Id=Id)
        else:
            k_q_after = None

        # Kif1
        if switch_command_line is not None:
            kif1_before = get_.get_cell_id(table=ExcControl.table,
                                           column=ExcControl.Kif1,
                                           Id=Id)
        else:
            kif1_before = None

        variable_.make_changes_setsel(table=ExcControl.table,
                                      column=ExcControl.Kif1,
                                      key=f'{ExcControl.Id}={Id}',
                                      value=Kif1)

        if switch_command_line is not None:
            kif1_after = get_.get_cell_id(table=ExcControl.table,
                                          column=ExcControl.Kif1,
                                          Id=Id)
        else:
            kif1_after = None

        # T1if
        if switch_command_line is not None:
            t1if_before = get_.get_cell_id(table=ExcControl.table,
                                           column=ExcControl.T1if,
                                           Id=Id)
        else:
            t1if_before = None

        variable_.make_changes_setsel(table=ExcControl.table,
                                      column=ExcControl.T1if,
                                      key=f'{ExcControl.Id}={Id}',
                                      value=T1if)

        if switch_command_line is not None:
            t1if_after = get_.get_cell_id(table=ExcControl.table,
                                          column=ExcControl.T1if,
                                          Id=Id)
        else:
            t1if_after = None

        # Ku1
        if switch_command_line is not None:
            ku1_before = get_.get_cell_id(table=ExcControl.table,
                                          column=ExcControl.Ku1,
                                          Id=Id)
        else:
            ku1_before = None

        variable_.make_changes_setsel(table=ExcControl.table,
                                      column=ExcControl.Ku1,
                                      key=f'{ExcControl.Id}={Id}',
                                      value=Ku1)

        if switch_command_line is not None:
            ku1_after = get_.get_cell_id(table=ExcControl.table,
                                         column=ExcControl.Ku1,
                                         Id=Id)
        else:
            ku1_after = None

        # T1u1
        if switch_command_line is not None:
            t1u1_before = get_.get_cell_id(table=ExcControl.table,
                                           column=ExcControl.T1u1,
                                           Id=Id)
        else:
            t1u1_before = None

        variable_.make_changes_setsel(table=ExcControl.table,
                                      column=ExcControl.T1u1,
                                      key=f'{ExcControl.Id}={Id}',
                                      value=T1u1)

        if switch_command_line is not None:
            t1u1_after = get_.get_cell_id(table=ExcControl.table,
                                          column=ExcControl.T1u1,
                                          Id=Id)
        else:
            t1u1_after = None

        # K_P
        if switch_command_line is not None:
            k_p_before = get_.get_cell_id(table=ExcControl.table,
                                          column=ExcControl.K_P,
                                          Id=Id)
        else:
            k_p_before = None

        variable_.make_changes_setsel(table=ExcControl.table,
                                      column=ExcControl.K_P,
                                      key=f'{ExcControl.Id}={Id}',
                                      value=K_P)

        if switch_command_line is not None:
            k_p_after = get_.get_cell_id(table=ExcControl.table,
                                         column=ExcControl.K_P,
                                         Id=Id)
        else:
            k_p_after = None

        # K_Ia
        if switch_command_line is not None:
            k_ia_before = get_.get_cell_id(table=ExcControl.table,
                                           column=ExcControl.K_Ia,
                                           Id=Id)
        else:
            k_ia_before = None

        variable_.make_changes_setsel(table=ExcControl.table,
                                      column=ExcControl.K_Ia,
                                      key=f'{ExcControl.Id}={Id}',
                                      value=K_Ia)

        if switch_command_line is not None:
            k_ia_after = get_.get_cell_id(table=ExcControl.table,
                                          column=ExcControl.K_Ia,
                                          Id=Id)
        else:
            k_ia_after = None

        # Tf
        if switch_command_line is not None:
            tf_before = get_.get_cell_id(table=ExcControl.table,
                                         column=ExcControl.Tf,
                                         Id=Id)
        else:
            tf_before = None

        variable_.make_changes_setsel(table=ExcControl.table,
                                      column=ExcControl.Tf,
                                      key=f'{ExcControl.Id}={Id}',
                                      value=Tf)

        if switch_command_line is not None:
            tf_after = get_.get_cell_id(table=ExcControl.table,
                                        column=ExcControl.Tf,
                                        Id=Id)
        else:
            tf_after = None

        # Kf
        if switch_command_line is not None:
            kf_before = get_.get_cell_id(table=ExcControl.table,
                                         column=ExcControl.Kf,
                                         Id=Id)
        else:
            kf_before = None

        variable_.make_changes_setsel(table=ExcControl.table,
                                      column=ExcControl.Kf,
                                      key=f'{ExcControl.Id}={Id}',
                                      value=Kf)

        if switch_command_line is not None:
            kf_after = get_.get_cell_id(table=ExcControl.table,
                                        column=ExcControl.Kf,
                                        Id=Id)
        else:
            kf_after = None

        # Kf1
        if switch_command_line is not None:
            kf1_before = get_.get_cell_id(table=ExcControl.table,
                                          column=ExcControl.Kf1,
                                          Id=Id)
        else:
            kf1_before = None

        variable_.make_changes_setsel(table=ExcControl.table,
                                      column=ExcControl.Kf1,
                                      key=f'{ExcControl.Id}={Id}',
                                      value=Kf1)

        if switch_command_line is not None:
            kf1_after = get_.get_cell_id(table=ExcControl.table,
                                         column=ExcControl.Kf1,
                                         Id=Id)
        else:
            kf1_after = None

        # TINT
        if switch_command_line is not None:
            tint_before = get_.get_cell_id(table=ExcControl.table,
                                           column=ExcControl.TINT,
                                           Id=Id)
        else:
            tint_before = None

        variable_.make_changes_setsel(table=ExcControl.table,
                                      column=ExcControl.TINT,
                                      key=f'{ExcControl.Id}={Id}',
                                      value=TINT)

        if switch_command_line is not None:
            tint_after = get_.get_cell_id(table=ExcControl.table,
                                          column=ExcControl.TINT,
                                          Id=Id)
        else:
            tint_after = None
Esempio n. 15
0
def set_ut_common(maxs: float = 5.0,
                  maxv: float = 2.0,
                  maxd: float = 2.0,
                  maxa: float = 10.0,
                  iter: int = 100,
                  tip: str = 'Стандарт',
                  f_ots: str = 'Нет',
                  add_d: str = 'Нет',
                  ekstr: str = 'Нет',
                  kfc: float = 1.000,
                  sum_kfc: float = 0.000,
                  ds: str = 'Откл',
                  it: int = 0,
                  Status: str = 'Норма',
                  KorrT: float = 25.000,
                  KorrPer: float = 0.000,
                  KorrVib: str = 0,
                  enable_contr: bool = False,
                  dis_v_contr: bool = False,
                  dis_p_contr: bool = False,
                  dis_i_contr: bool = False,
                  ss_calc: str = 'Плоский старт',
                  criterion: str = 'уст. реж.',
                  no_crit_d_ba: bool = False,
                  no_crit_d_coa: bool = False,
                  no_crit_d_ga: bool = False,
                  save_files_filter: str = 'Не сохранять',
                  save_files_path: str = 'c:\\tmp\\',
                  stop_u_n: bool = False,
                  dyn_find_pred: bool = False,
                  rastr_win: object = RASTR,
                  switch_command_line: bool = False):
    f"""
    Параметры настройки "Общие данные для утяжеления" (таблица "Утяжеление": ut_common):

    :param maxs: Точность P (Pmax);
    :param maxv: Точность V (Vmax);
    :param maxd: Точность угла (Dmax);
    :param maxa: Точность P района (Amax);
    :param iter: Макс число итераций (Imax);
    :param tip: Тип утяжеления (Тип);
    :param f_ots: Формировать описания контр. величин: (ФормКВ:);
    :param add_d: Добавлять значения контр. величин после шага (ДобКЗ);
    :param ekstr: Поиск экстремума по контролируемым величинам (Экстремум);
    :param kfc: Текущий шаг (Шаг);
    :param sum_kfc: Сумарный шаг (Шаг_Сумм);
    :param ds: Деление шага (ДелШаг);
    :param it: Текущая итерация (Итер);
    :param Status: Состояние утяжеления (Статус);
    :param KorrT: коррекция по температуре: температура, Гр. (KorrT);
    :param KorrPer: коррекция по температуре: перегрузка % (KorrPer);
    :param KorrVib: коррекция по температуре: выборка (KorrVib);
    :param enable_contr: Включить контроль всех ограничений U,P,I (Включить контр. U,P,I);
    :param dis_v_contr: Отключить контроль всех ограничений по напряжению U (Откл контр. U);
    :param dis_p_contr: Отключить контроль всех ограничений по мощности P (Откл контр. P);
    :param dis_i_contr: Отключить контроль всех ограничений по току I (Откл контр. I);
    :param ss_calc: Как расчитывать УР при утяжелении (Расчет УР);
    :param criterion: Критерий устойчивости (Критерий);
    :param no_crit_d_ba: Динамика:не учет критерия разворота угла по ЛЭП (Нет критерия: угол по ЛЭП);
    :param no_crit_d_coa: Динамика:не учет критерия угла генератора и COA (Нет критерия: угол по Генератору);
    :param no_crit_d_ga: Динамика:не учет критерия срабатывания автомата безопасности генератора (Нет критерия: автомат безопасности ген.);
    :param save_files_filter: Критерий сохранения файлов (Критерий);
    :param save_files_path: Папка для сохранения файлов результатов (Путь);
    :param stop_u_n: Остановить при переходе к устойчивому/неустойчивому (Остановить);
    :param dyn_find_pred: Динамика: поиск предела (Динамика: поиск предела);
    :param rastr_win: {Tools.RastrDoc};
    :param switch_command_line: {Tools.switch_command_line_doc};
    :return: Nothing returns
    """
    variable_ = Variable(rastr_win=rastr_win)
    get_ = GettingParameter(rastr_win=rastr_win)

    maxs_get_before = get_.get_cell_row(table=UtCommon.table,
                                        column=UtCommon.maxs,
                                        row_id=0)
    variable_.make_changes_row(table=UtCommon.table,
                               column=UtCommon.maxs,
                               row_id=0,
                               value=maxs)
    maxs_get_after = get_.get_cell_row(table=UtCommon.table,
                                       column=UtCommon.maxs,
                                       row_id=0)

    maxv_get_before = get_.get_cell_row(table=UtCommon.table,
                                        column=UtCommon.maxv,
                                        row_id=0)
    variable_.make_changes_row(table=UtCommon.table,
                               column=UtCommon.maxv,
                               row_id=0,
                               value=maxv)
    maxv_get_after = get_.get_cell_row(table=UtCommon.table,
                                       column=UtCommon.maxv,
                                       row_id=0)

    maxd_get_before = get_.get_cell_row(table=UtCommon.table,
                                        column=UtCommon.maxd,
                                        row_id=0)
    variable_.make_changes_row(table=UtCommon.table,
                               column=UtCommon.maxd,
                               row_id=0,
                               value=maxd)
    maxd_get_after = get_.get_cell_row(table=UtCommon.table,
                                       column=UtCommon.maxd,
                                       row_id=0)

    maxa_get_before = get_.get_cell_row(table=UtCommon.table,
                                        column=UtCommon.maxa,
                                        row_id=0)
    variable_.make_changes_row(table=UtCommon.table,
                               column=UtCommon.maxa,
                               row_id=0,
                               value=maxa)
    maxa_get_after = get_.get_cell_row(table=UtCommon.table,
                                       column=UtCommon.maxa,
                                       row_id=0)

    iter_get_before = get_.get_cell_row(table=UtCommon.table,
                                        column=UtCommon.iter,
                                        row_id=0)
    variable_.make_changes_row(table=UtCommon.table,
                               column=UtCommon.maxa,
                               row_id=0,
                               value=iter)
    iter_get_after = get_.get_cell_row(table=UtCommon.table,
                                       column=UtCommon.iter,
                                       row_id=0)

    tip_get_before = get_.get_cell_row(table=UtCommon.table,
                                       column=UtCommon.tip,
                                       row_id=0)
    variable_.make_changes_row(table=UtCommon.table,
                               column=UtCommon.tip,
                               row_id=0,
                               value=tip)
    tip_get_after = get_.get_cell_row(table=UtCommon.table,
                                      column=UtCommon.tip,
                                      row_id=0)

    f_ots_get_before = get_.get_cell_row(table=UtCommon.table,
                                         column=UtCommon.f_ots,
                                         row_id=0)
    variable_.make_changes_row(table=UtCommon.table,
                               column=UtCommon.f_ots,
                               row_id=0,
                               value=f_ots)
    f_ots_get_after = get_.get_cell_row(table=UtCommon.table,
                                        column=UtCommon.f_ots,
                                        row_id=0)

    add_d_get_before = get_.get_cell_row(table=UtCommon.table,
                                         column=UtCommon.add_d,
                                         row_id=0)
    variable_.make_changes_row(table=UtCommon.table,
                               column=UtCommon.add_d,
                               row_id=0,
                               value=add_d)
    add_d_get_after = get_.get_cell_row(table=UtCommon.table,
                                        column=UtCommon.add_d,
                                        row_id=0)

    ekstr_get_before = get_.get_cell_row(table=UtCommon.table,
                                         column=UtCommon.ekstr,
                                         row_id=0)
    variable_.make_changes_row(table=UtCommon.table,
                               column=UtCommon.ekstr,
                               row_id=0,
                               value=ekstr)
    ekstr_get_after = get_.get_cell_row(table=UtCommon.table,
                                        column=UtCommon.ekstr,
                                        row_id=0)

    kfc_get_before = get_.get_cell_row(table=UtCommon.table,
                                       column=UtCommon.kfc,
                                       row_id=0)
    variable_.make_changes_row(table=UtCommon.table,
                               column=UtCommon.kfc,
                               row_id=0,
                               value=kfc)
    kfc_get_after = get_.get_cell_row(table=UtCommon.table,
                                      column=UtCommon.kfc,
                                      row_id=0)

    sum_kfc_get_before = get_.get_cell_row(table=UtCommon.table,
                                           column=UtCommon.sum_kfc,
                                           row_id=0)
    variable_.make_changes_row(table=UtCommon.table,
                               column=UtCommon.sum_kfc,
                               row_id=0,
                               value=sum_kfc)
    sum_kfc_get_after = get_.get_cell_row(table=UtCommon.table,
                                          column=UtCommon.sum_kfc,
                                          row_id=0)

    ds_get_before = get_.get_cell_row(table=UtCommon.table,
                                      column=UtCommon.ds,
                                      row_id=0)
    variable_.make_changes_row(table=UtCommon.table,
                               column=UtCommon.ds,
                               row_id=0,
                               value=ds)
    ds_get_after = get_.get_cell_row(table=UtCommon.table,
                                     column=UtCommon.ds,
                                     row_id=0)

    it_get_before = get_.get_cell_row(table=UtCommon.table,
                                      column=UtCommon.it,
                                      row_id=0)
    variable_.make_changes_row(table=UtCommon.table,
                               column=UtCommon.it,
                               row_id=0,
                               value=it)
    it_get_after = get_.get_cell_row(table=UtCommon.table,
                                     column=UtCommon.it,
                                     row_id=0)

    status_get_before = get_.get_cell_row(table=UtCommon.table,
                                          column=UtCommon.Status,
                                          row_id=0)
    variable_.make_changes_row(table=UtCommon.table,
                               column=UtCommon.Status,
                               row_id=0,
                               value=Status)
    status_get_after = get_.get_cell_row(table=UtCommon.table,
                                         column=UtCommon.Status,
                                         row_id=0)

    korr_t_get_before = get_.get_cell_row(table=UtCommon.table,
                                          column=UtCommon.KorrT,
                                          row_id=0)
    variable_.make_changes_row(table=UtCommon.table,
                               column=UtCommon.KorrT,
                               row_id=0,
                               value=KorrT)
    korr_t_get_after = get_.get_cell_row(table=UtCommon.table,
                                         column=UtCommon.KorrT,
                                         row_id=0)

    korr_per_get_before = get_.get_cell_row(table=UtCommon.table,
                                            column=UtCommon.KorrPer,
                                            row_id=0)
    variable_.make_changes_row(table=UtCommon.table,
                               column=UtCommon.KorrPer,
                               row_id=0,
                               value=KorrPer)
    korr_per_get_after = get_.get_cell_row(table=UtCommon.table,
                                           column=UtCommon.KorrPer,
                                           row_id=0)

    korr_vib_get_before = get_.get_cell_row(table=UtCommon.table,
                                            column=UtCommon.KorrVib,
                                            row_id=0)
    variable_.make_changes_row(table=UtCommon.table,
                               column=UtCommon.KorrVib,
                               row_id=0,
                               value=KorrVib)
    korr_vib_get_after = get_.get_cell_row(table=UtCommon.table,
                                           column=UtCommon.KorrVib,
                                           row_id=0)

    enable_contr_get_before = get_.get_cell_row(table=UtCommon.table,
                                                column=UtCommon.enable_contr,
                                                row_id=0)
    variable_.make_changes_row(table=UtCommon.table,
                               column=UtCommon.enable_contr,
                               row_id=0,
                               value=enable_contr)
    enable_contr_get_after = get_.get_cell_row(table=UtCommon.table,
                                               column=UtCommon.enable_contr,
                                               row_id=0)

    dis_v_contr_get_before = get_.get_cell_row(table=UtCommon.table,
                                               column=UtCommon.dis_v_contr,
                                               row_id=0)
    variable_.make_changes_row(table=UtCommon.table,
                               column=UtCommon.dis_v_contr,
                               row_id=0,
                               value=dis_v_contr)
    dis_v_contr_get_after = get_.get_cell_row(table=UtCommon.table,
                                              column=UtCommon.dis_v_contr,
                                              row_id=0)

    dis_p_contr_get_before = get_.get_cell_row(table=UtCommon.table,
                                               column=UtCommon.dis_p_contr,
                                               row_id=0)
    variable_.make_changes_row(table=UtCommon.table,
                               column=UtCommon.dis_p_contr,
                               row_id=0,
                               value=dis_p_contr)
    dis_p_contr_get_after = get_.get_cell_row(table=UtCommon.table,
                                              column=UtCommon.dis_p_contr,
                                              row_id=0)

    dis_i_contr_get_before = get_.get_cell_row(table=UtCommon.table,
                                               column=UtCommon.dis_i_contr,
                                               row_id=0)
    variable_.make_changes_row(table=UtCommon.table,
                               column=UtCommon.dis_i_contr,
                               row_id=0,
                               value=dis_i_contr)
    dis_i_contr_get_after = get_.get_cell_row(table=UtCommon.table,
                                              column=UtCommon.dis_i_contr,
                                              row_id=0)

    ss_calc_get_before = get_.get_cell_row(table=UtCommon.table,
                                           column=UtCommon.ss_calc,
                                           row_id=0)
    variable_.make_changes_row(table=UtCommon.table,
                               column=UtCommon.ss_calc,
                               row_id=0,
                               value=ss_calc)
    ss_calc_get_after = get_.get_cell_row(table=UtCommon.table,
                                          column=UtCommon.ss_calc,
                                          row_id=0)

    criterion_get_before = get_.get_cell_row(table=UtCommon.table,
                                             column=UtCommon.criterion,
                                             row_id=0)
    variable_.make_changes_row(table=UtCommon.table,
                               column=UtCommon.criterion,
                               row_id=0,
                               value=criterion)
    criterion_get_after = get_.get_cell_row(table=UtCommon.table,
                                            column=UtCommon.criterion,
                                            row_id=0)

    no_crit_d_ba_get_before = get_.get_cell_row(table=UtCommon.table,
                                                column=UtCommon.no_crit_d_ba,
                                                row_id=0)
    variable_.make_changes_row(table=UtCommon.table,
                               column=UtCommon.no_crit_d_ba,
                               row_id=0,
                               value=no_crit_d_ba)
    no_crit_d_ba_get_after = get_.get_cell_row(table=UtCommon.table,
                                               column=UtCommon.no_crit_d_ba,
                                               row_id=0)

    no_crit_d_coa_get_before = get_.get_cell_row(table=UtCommon.table,
                                                 column=UtCommon.no_crit_d_coa,
                                                 row_id=0)
    variable_.make_changes_row(table=UtCommon.table,
                               column=UtCommon.no_crit_d_coa,
                               row_id=0,
                               value=no_crit_d_coa)
    no_crit_d_coa_get_after = get_.get_cell_row(table=UtCommon.table,
                                                column=UtCommon.no_crit_d_coa,
                                                row_id=0)

    no_crit_d_ga_get_before = get_.get_cell_row(table=UtCommon.table,
                                                column=UtCommon.no_crit_d_ga,
                                                row_id=0)
    variable_.make_changes_row(table=UtCommon.table,
                               column=UtCommon.no_crit_d_ga,
                               row_id=0,
                               value=no_crit_d_ga)
    no_crit_d_ga_get_after = get_.get_cell_row(table=UtCommon.table,
                                               column=UtCommon.no_crit_d_ga,
                                               row_id=0)

    save_files_filter_get_before = get_.get_cell_row(
        table=UtCommon.table, column=UtCommon.save_files_filter, row_id=0)
    variable_.make_changes_row(table=UtCommon.table,
                               column=UtCommon.save_files_filter,
                               row_id=0,
                               value=save_files_filter)
    save_files_filter_get_after = get_.get_cell_row(
        table=UtCommon.table, column=UtCommon.save_files_filter, row_id=0)

    save_files_path_get_before = get_.get_cell_row(
        table=UtCommon.table, column=UtCommon.save_files_path, row_id=0)
    variable_.make_changes_row(table=UtCommon.table,
                               column=UtCommon.save_files_path,
                               row_id=0,
                               value=save_files_path)
    save_files_path_get_after = get_.get_cell_row(
        table=UtCommon.table, column=UtCommon.save_files_path, row_id=0)

    stop_u_n_get_before = get_.get_cell_row(table=UtCommon.table,
                                            column=UtCommon.stop_u_n,
                                            row_id=0)
    variable_.make_changes_row(table=UtCommon.table,
                               column=UtCommon.stop_u_n,
                               row_id=0,
                               value=stop_u_n)
    stop_u_n_get_after = get_.get_cell_row(table=UtCommon.table,
                                           column=UtCommon.stop_u_n,
                                           row_id=0)

    dyn_find_pred_get_before = get_.get_cell_row(table=UtCommon.table,
                                                 column=UtCommon.dyn_find_pred,
                                                 row_id=0)
    variable_.make_changes_row(table=UtCommon.table,
                               column=UtCommon.dyn_find_pred,
                               row_id=0,
                               value=dyn_find_pred)
    dyn_find_pred_get_after = get_.get_cell_row(table=UtCommon.table,
                                                column=UtCommon.dyn_find_pred,
                                                row_id=0)

    if switch_command_line is not False:
        print(Tools.separator_noun)
        print(
            f'Таблица параметров (настройки) "Утяжеление":\n'
            f'- maxs: Точность P (Pmax): "до" = {maxs_get_before}; "после" = {maxs_get_after};\n'
            f'- maxv: Точность V (Vmax): "до" = {maxv_get_before}; "после" = {maxv_get_after};\n'
            f'- maxd: Точность угла (Dmax): "до" = {maxd_get_before}; "после" = {maxd_get_after};\n'
            f'- maxa: Точность P района (Amax): "до" = {maxa_get_before}; "после" = {maxa_get_after};\n'
            f'- iter: Макс число итераций (Imax): "до" = {iter_get_before}; "после" = {iter_get_after};\n'
            f'- tip: Тип утяжеления (Тип): "до" = {tip_get_before}; "после" = {tip_get_after};\n'
            f'- f_ots: Формировать описания контр. величин (ФормКВ): "до" = {f_ots_get_before}; "после" = {f_ots_get_after};\n'
            f'- add_d: Добавлять значения контр. величин после шага (ДобКЗ): "до" = {add_d_get_before}; "после" = {add_d_get_after};\n'
            f'- ekstr: Поиск экстремума по контролируемым величинам (Экстремум): "до" = {ekstr_get_before}; "после" = {ekstr_get_after};\n'
            f'- kfc: Текущий шаг (Шаг): "до" = {kfc_get_before}; "после" = {kfc_get_after};\n'
            f'- sum_kfc: Сумарный шаг (Шаг_Сумм): "до" = {sum_kfc_get_before}; "после" = {sum_kfc_get_after};\n'
            f'- ds: Деление шага (ДелШаг): "до" = {ds_get_before}; "после" = {ds_get_after};\n'
            f'- it: Текущая итерация (Итер): "до" = {it_get_before}; "после" = {it_get_after};\n'
            f'- Status: Состояние утяжеления (Статус): "до" = {status_get_before}; "после" = {status_get_after};\n'
            f'- KorrT: коррекция по температуре: температура, Гр. (KorrT): "до" = {korr_t_get_before}; "после" = {korr_t_get_after};\n'
            f'- KorrPer: коррекция по температуре: перегрузка % (KorrPer): "до" = {korr_per_get_before}; "после" = {korr_per_get_after};\n'
            f'- KorrVib: коррекция по температуре: выборка (KorrVib): "до" = {korr_vib_get_before}; "после" = {korr_vib_get_after};\n'
            f'- enable_contr: Включить контроль всех ограничений U,P,I (Включить контр. U,P,I): "до" = {enable_contr_get_before}; "после" = {enable_contr_get_after};\n'
            f'- dis_v_contr: Отключить контроль всех ограничений по напряжению U (Откл контр. U): "до" = {dis_v_contr_get_before}; "после" = {dis_v_contr_get_after};\n'
            f'- dis_p_contr: Отключить контроль всех ограничений по мощности P (Откл контр. P): "до" = {dis_p_contr_get_before}; "после" = {dis_p_contr_get_after};\n'
            f'- dis_i_contr: Отключить контроль всех ограничений по току I (Откл контр. I): "до" = {dis_i_contr_get_before}; "после" = {dis_i_contr_get_after};\n'
            f'- ss_calc: Как расчитывать УР при утяжелении (Расчет УР): "до" = {ss_calc_get_before}; "после" = {ss_calc_get_after};\n'
            f'- criterion: Критерий устойчивости (Критерий): "до" = {criterion_get_before}; "после" = {criterion_get_after};\n'
            f'- no_crit_d_ba: Динамика:не учет критерия разворота угла по ЛЭП (Нет критерия: угол по ЛЭП): "до" = {no_crit_d_ba_get_before}; "после" = {no_crit_d_ba_get_after};\n'
            f'- no_crit_d_coa: Динамика:не учет критерия угла генератора и COA (Нет критерия: угол по Генератору): "до" = {no_crit_d_coa_get_before}; "после" = {no_crit_d_coa_get_after};\n'
            f'- no_crit_d_ga: Динамика:не учет критерия срабатывания автомата безопасности генератора (Нет критерия: автомат безопасности ген.): "до" = {no_crit_d_ga_get_before}; "после" = {no_crit_d_ga_get_after};\n'
            f'- save_files_filter: Критерий сохранения файлов (Критерий): "до" = {save_files_filter_get_before}; "после" = {save_files_filter_get_after};\n'
            f'- save_files_path: Папка для сохранения файлов результатов (Путь): "до" = {save_files_path_get_before}; "после" = {save_files_path_get_after};\n'
            f'- stop_u_n: Остановить при переходе к устойчивому/неустойчивому (Остановить): "до" = {stop_u_n_get_before}; "после" = {stop_u_n_get_after};\n'
            f'- dyn_find_pred: Динамика: поиск предела (Динамика: поиск предела): "до" = {dyn_find_pred_get_before}; "после" = {dyn_find_pred_get_after};\n'
        )
        print(Tools.separator_noun)
Esempio n. 16
0
def change_parameters_AC8B(Id=None,
                           row_id=None,
                           Kpr: float = Parameters.Kpr,
                           Kir: float = Parameters.Kir,
                           Kdr: float = Parameters.Kdr,
                           Tdr: float = Parameters.Tdr,
                           Ka: float = Parameters.Ka,
                           Ta: float = Parameters.Ta,
                           Vrmax: float = Parameters.Vrmax,
                           Vrmin: float = Parameters.Vrmin,
                           Te: float = Parameters.Te,
                           Aex: float = Parameters.Aex,
                           Bex: float = Parameters.Bex,
                           switch_command_line: bool = False):
    """

    :param Id: номер возбудителя;
    :param row_id: порядковый номер в таблице (от 0 до [max.count]);
    :param Kpr: Пропорциональный коэффициент усиления ПИД-регулятора;
    :param Kir: Интегральный коэффициент усиления ПИД-регулятора;
    :param Kdr: Дифференциальный коэффициент усиления ПИД-регулятора;
    :param Tdr: Постоянная времени дифференциального канала ПИД-регулятора;
    :param Ka: Коэффициент усиления регулятора напряжения;
    :param Ta: Постоянная времени регулятора напряжения;
    :param Vrmax: Максимальное ограничение регулятора напряжения;
    :param Vrmin: Минимальное ограничение регулятора напряжения;
    :param Te: Постоянная времени интегратора возбудителя;
    :param Aex: Коэффициент экспоненты (задание насыщения);
    :param Bex: Степень экспоненты (задание насыщения);
    :param switch_command_line: True/False - вывод сообщений в протакол;
    :return:
    """

    variable_ = Variable(rastr_win=rastr_win)
    get_ = GettingParameter(rastr_win=rastr_win)

    if Id is not None and row_id is None:
        # Kpr
        if switch_command_line is not None:
            kpr_before = get_.get_cell_id(table=DFWIEEE421.table,
                                          column=DFWIEEE421.Kpr,
                                          Id=Id)
        else:
            kpr_before = None

        variable_.make_changes_setsel(table=DFWIEEE421.table,
                                      column=DFWIEEE421.Kpr,
                                      key=f'{DFWIEEE421.Id}={Id}',
                                      value=Kpr)

        if switch_command_line is not None:
            kpr_after = get_.get_cell_id(table=DFWIEEE421.table,
                                         column=DFWIEEE421.Kpr,
                                         Id=Id)
        else:
            kpr_after = None

        # Kir
        if switch_command_line is not None:
            kir_before = get_.get_cell_id(table=DFWIEEE421.table,
                                          column=DFWIEEE421.Kir,
                                          Id=Id)
        else:
            kir_before = None

        variable_.make_changes_setsel(table=DFWIEEE421.table,
                                      column=DFWIEEE421.Kir,
                                      key=f'{DFWIEEE421.Id}={Id}',
                                      value=Kir)

        if switch_command_line is not None:
            kir_after = get_.get_cell_id(table=DFWIEEE421.table,
                                         column=DFWIEEE421.Kir,
                                         Id=Id)
        else:
            kir_after = None

            # Kdr
        if switch_command_line is not None:
            kdr_before = get_.get_cell_id(table=DFWIEEE421.table,
                                          column=DFWIEEE421.Kdr,
                                          Id=Id)
        else:
            kdr_before = None

        variable_.make_changes_setsel(table=DFWIEEE421.table,
                                      column=DFWIEEE421.Kdr,
                                      key=f'{DFWIEEE421.Id}={Id}',
                                      value=Kdr)

        if switch_command_line is not None:
            kdr_after = get_.get_cell_id(table=DFWIEEE421.table,
                                         column=DFWIEEE421.Kdr,
                                         Id=Id)
        else:
            kdr_after = None

            # Tdr
        if switch_command_line is not None:
            tdr_before = get_.get_cell_id(table=DFWIEEE421.table,
                                          column=DFWIEEE421.Tdr,
                                          Id=Id)
        else:
            tdr_before = None

        variable_.make_changes_setsel(table=DFWIEEE421.table,
                                      column=DFWIEEE421.Tdr,
                                      key=f'{DFWIEEE421.Id}={Id}',
                                      value=Tdr)

        if switch_command_line is not None:
            tdr_after = get_.get_cell_id(table=DFWIEEE421.table,
                                         column=DFWIEEE421.Tdr,
                                         Id=Id)
        else:
            tdr_after = None

        # Ka
        if switch_command_line is not None:
            ka_before = get_.get_cell_id(table=DFWIEEE421.table,
                                         column=DFWIEEE421.Ka,
                                         Id=Id)
        else:
            ka_before = None

        variable_.make_changes_setsel(table=DFWIEEE421.table,
                                      column=DFWIEEE421.Ka,
                                      key=f'{DFWIEEE421.Id}={Id}',
                                      value=Ka)

        if switch_command_line is not None:
            ka_after = get_.get_cell_id(table=DFWIEEE421.table,
                                        column=DFWIEEE421.Ka,
                                        Id=Id)
        else:
            ka_after = None

        # Ta
        if switch_command_line is not None:
            ta_before = get_.get_cell_id(table=DFWIEEE421.table,
                                         column=DFWIEEE421.Ta,
                                         Id=Id)
        else:
            ta_before = None

        variable_.make_changes_setsel(table=DFWIEEE421.table,
                                      column=DFWIEEE421.Ta,
                                      key=f'{DFWIEEE421.Id}={Id}',
                                      value=Ta)

        if switch_command_line is not None:
            ta_after = get_.get_cell_id(table=DFWIEEE421.table,
                                        column=DFWIEEE421.Ta,
                                        Id=Id)
        else:
            ta_after = None

        # Vrmax
        if switch_command_line is not None:
            vrmax_before = get_.get_cell_id(table=DFWIEEE421.table,
                                            column=DFWIEEE421.Vrmax,
                                            Id=Id)
        else:
            vrmax_before = None

        variable_.make_changes_setsel(table=DFWIEEE421.table,
                                      column=DFWIEEE421.Vrmax,
                                      key=f'{DFWIEEE421.Id}={Id}',
                                      value=Vrmax)

        if switch_command_line is not None:
            vrmax_after = get_.get_cell_id(table=DFWIEEE421.table,
                                           column=DFWIEEE421.Vrmax,
                                           Id=Id)
        else:
            vrmax_after = None

        # Vrmin
        if switch_command_line is not None:
            vrmin_before = get_.get_cell_id(table=DFWIEEE421.table,
                                            column=DFWIEEE421.Vrmin,
                                            Id=Id)
        else:
            vrmin_before = None

        variable_.make_changes_setsel(table=DFWIEEE421.table,
                                      column=DFWIEEE421.Vrmin,
                                      key=f'{DFWIEEE421.Id}={Id}',
                                      value=Vrmin)

        if switch_command_line is not None:
            vrmin_after = get_.get_cell_id(table=DFWIEEE421.table,
                                           column=DFWIEEE421.Vrmin,
                                           Id=Id)
        else:
            vrmin_after = None

        # Te
        if switch_command_line is not None:
            te_before = get_.get_cell_id(table=DFWIEEE421.table,
                                         column=DFWIEEE421.Te,
                                         Id=Id)
        else:
            te_before = None

        variable_.make_changes_setsel(table=DFWIEEE421.table,
                                      column=DFWIEEE421.Te,
                                      key=f'{DFWIEEE421.Id}={Id}',
                                      value=Te)

        if switch_command_line is not None:
            te_after = get_.get_cell_id(table=DFWIEEE421.table,
                                        column=DFWIEEE421.Te,
                                        Id=Id)
        else:
            te_after = None

        # Aex
        if switch_command_line is not None:
            aex_before = get_.get_cell_id(table=DFWIEEE421.table,
                                          column=DFWIEEE421.Aex,
                                          Id=Id)
        else:
            aex_before = None

        variable_.make_changes_setsel(table=DFWIEEE421.table,
                                      column=DFWIEEE421.Aex,
                                      key=f'{DFWIEEE421.Id}={Id}',
                                      value=Aex)

        if switch_command_line is not None:
            aex_after = get_.get_cell_id(table=DFWIEEE421.table,
                                         column=DFWIEEE421.Aex,
                                         Id=Id)
        else:
            aex_after = None

        # Bex
        if switch_command_line is not None:
            bex_before = get_.get_cell_id(table=DFWIEEE421.table,
                                          column=DFWIEEE421.Bex,
                                          Id=Id)
        else:
            bex_before = None

        variable_.make_changes_setsel(table=DFWIEEE421.table,
                                      column=DFWIEEE421.Bex,
                                      key=f'{DFWIEEE421.Id}={Id}',
                                      value=Bex)

        if switch_command_line is not None:
            bex_after = get_.get_cell_id(table=DFWIEEE421.table,
                                         column=DFWIEEE421.Bex,
                                         Id=Id)
        else:
            bex_after = None

    elif row_id is not None and Id is None:
        # Kpr
        if switch_command_line is not None:
            kpr_before = get_.get_cell_row(table=DFWIEEE421.table,
                                           column=DFWIEEE421.Kpr,
                                           row_id=row_id)
        else:
            kpr_before = None

        variable_.make_changes_row(table=DFWIEEE421.table,
                                   column=DFWIEEE421.Kpr,
                                   row_id=row_id,
                                   value=Kpr)

        if switch_command_line is not None:
            kpr_after = get_.get_cell_row(table=DFWIEEE421.table,
                                          column=DFWIEEE421.Kpr,
                                          row_id=row_id)
        else:
            kpr_after = None

        # Kir
        if switch_command_line is not None:
            kir_before = get_.get_cell_row(table=DFWIEEE421.table,
                                           column=DFWIEEE421.Kir,
                                           row_id=row_id)
        else:
            kir_before = None

        variable_.make_changes_row(table=DFWIEEE421.table,
                                   column=DFWIEEE421.Kir,
                                   row_id=row_id,
                                   value=Kir)

        if switch_command_line is not None:
            kir_after = get_.get_cell_row(table=DFWIEEE421.table,
                                          column=DFWIEEE421.Kir,
                                          row_id=row_id)
        else:
            kir_after = None

            # Kdr
        if switch_command_line is not None:
            kdr_before = get_.get_cell_row(table=DFWIEEE421.table,
                                           column=DFWIEEE421.Kdr,
                                           row_id=row_id)
        else:
            kdr_before = None

        variable_.make_changes_row(table=DFWIEEE421.table,
                                   column=DFWIEEE421.Kdr,
                                   row_id=row_id,
                                   value=Kdr)

        if switch_command_line is not None:
            kdr_after = get_.get_cell_row(table=DFWIEEE421.table,
                                          column=DFWIEEE421.Kdr,
                                          row_id=row_id)
        else:
            kdr_after = None

            # Tdr
        if switch_command_line is not None:
            tdr_before = get_.get_cell_row(table=DFWIEEE421.table,
                                           column=DFWIEEE421.Tdr,
                                           row_id=row_id)
        else:
            tdr_before = None

        variable_.make_changes_row(table=DFWIEEE421.table,
                                   column=DFWIEEE421.Tdr,
                                   row_id=row_id,
                                   value=Tdr)

        if switch_command_line is not None:
            tdr_after = get_.get_cell_row(table=DFWIEEE421.table,
                                          column=DFWIEEE421.Tdr,
                                          row_id=row_id)
        else:
            tdr_after = None

        # Ka
        if switch_command_line is not None:
            ka_before = get_.get_cell_row(table=DFWIEEE421.table,
                                          column=DFWIEEE421.Ka,
                                          row_id=row_id)
        else:
            ka_before = None

        variable_.make_changes_row(table=DFWIEEE421.table,
                                   column=DFWIEEE421.Ka,
                                   row_id=row_id,
                                   value=Ka)

        if switch_command_line is not None:
            ka_after = get_.get_cell_row(table=DFWIEEE421.table,
                                         column=DFWIEEE421.Ka,
                                         row_id=row_id)
        else:
            ka_after = None

        # Ta
        if switch_command_line is not None:
            ta_before = get_.get_cell_row(table=DFWIEEE421.table,
                                          column=DFWIEEE421.Ta,
                                          row_id=row_id)
        else:
            ta_before = None

        variable_.make_changes_row(table=DFWIEEE421.table,
                                   column=DFWIEEE421.Ta,
                                   row_id=row_id,
                                   value=Ta)

        if switch_command_line is not None:
            ta_after = get_.get_cell_row(table=DFWIEEE421.table,
                                         column=DFWIEEE421.Ta,
                                         row_id=row_id)
        else:
            ta_after = None

        # Vrmax
        if switch_command_line is not None:
            vrmax_before = get_.get_cell_row(table=DFWIEEE421.table,
                                             column=DFWIEEE421.Vrmax,
                                             row_id=row_id)
        else:
            vrmax_before = None

        variable_.make_changes_row(table=DFWIEEE421.table,
                                   column=DFWIEEE421.Vrmax,
                                   row_id=row_id,
                                   value=Vrmax)

        if switch_command_line is not None:
            vrmax_after = get_.get_cell_row(table=DFWIEEE421.table,
                                            column=DFWIEEE421.Vrmax,
                                            row_id=row_id)
        else:
            vrmax_after = None

        # Vrmin
        if switch_command_line is not None:
            vrmin_before = get_.get_cell_row(table=DFWIEEE421.table,
                                             column=DFWIEEE421.Vrmin,
                                             row_id=row_id)
        else:
            vrmin_before = None

        variable_.make_changes_row(table=DFWIEEE421.table,
                                   column=DFWIEEE421.Vrmin,
                                   row_id=row_id,
                                   value=Vrmin)

        if switch_command_line is not None:
            vrmin_after = get_.get_cell_row(table=DFWIEEE421.table,
                                            column=DFWIEEE421.Vrmin,
                                            row_id=row_id)
        else:
            vrmin_after = None

        # Te
        if switch_command_line is not None:
            te_before = get_.get_cell_row(table=DFWIEEE421.table,
                                          column=DFWIEEE421.Te,
                                          row_id=row_id)
        else:
            te_before = None

        variable_.make_changes_row(table=DFWIEEE421.table,
                                   column=DFWIEEE421.Te,
                                   row_id=row_id,
                                   value=Te)

        if switch_command_line is not None:
            te_after = get_.get_cell_row(table=DFWIEEE421.table,
                                         column=DFWIEEE421.Te,
                                         row_id=row_id)
        else:
            te_after = None

        # Aex
        if switch_command_line is not None:
            aex_before = get_.get_cell_row(table=DFWIEEE421.table,
                                           column=DFWIEEE421.Aex,
                                           row_id=row_id)
        else:
            aex_before = None

        variable_.make_changes_row(table=DFWIEEE421.table,
                                   column=DFWIEEE421.Aex,
                                   row_id=row_id,
                                   value=Aex)

        if switch_command_line is not None:
            aex_after = get_.get_cell_row(table=DFWIEEE421.table,
                                          column=DFWIEEE421.Aex,
                                          row_id=row_id)
        else:
            aex_after = None

        # Bex
        if switch_command_line is not None:
            bex_before = get_.get_cell_row(table=DFWIEEE421.table,
                                           column=DFWIEEE421.Bex,
                                           row_id=row_id)
        else:
            bex_before = None

        variable_.make_changes_row(table=DFWIEEE421.table,
                                   column=DFWIEEE421.Bex,
                                   row_id=row_id,
                                   value=Bex)

        if switch_command_line is not None:
            bex_after = get_.get_cell_row(table=DFWIEEE421.table,
                                          column=DFWIEEE421.Bex,
                                          row_id=row_id)
        else:
            bex_after = None

    else:
        kpr_before, kpr_after = None, None
        kir_before, kir_after = None, None
        kdr_before, kdr_after = None, None
        tdr_before, tdr_after = None, None
        ka_before, ka_after = None, None
        ta_before, ta_after = None, None
        vrmax_before, vrmax_after = None, None
        vrmin_before, vrmin_after = None, None
        te_before, te_after = None, None
        aex_before, aex_after = None, None
        bex_before, bex_after = None, None

    if switch_command_line is not False:
        print(
            f'{separator_two}\n'
            f' Внесены изменения в таблицу {DFWIEEE421.table_name}:\n'
            f'- Id: Номер возбудителя: {Id};\n'
            f'- row_id: порядковый номер в таблице (от 0 до [max.count]): {row_id};\n'
            f'- Kpr: Пропорциональный коэффициент усиления ПИД-регулятора: до {kpr_before}; после {kpr_after};\n'
            f'- Kir: Интегральный коэффициент усиления ПИД-регулятора: до {kir_before}; после {kir_after};\n'
            f'- Kdr: Дифференциальный коэффициент усиления ПИД-регулятора: до {kdr_before}; после {kdr_after};\n'
            f'- Tdr: Постоянная времени дифференциального канала ПИД-регулятора: до {tdr_before}; после {tdr_after};\n'
            f'- Ka: Коэффициент усиления регулятора напряжения: до {ka_before}; после {ka_after};\n'
            f'- Ta: Постоянная времени регулятора напряжения: до {ta_before}; после {ta_after};\n'
            f'- Vrmax: Максимальное ограничение регулятора напряжения: до {vrmax_before}; после {vrmax_after};\n'
            f'- Vrmin: Минимальное ограничение регулятора напряжения: до {vrmin_before}; после {vrmin_after};\n'
            f'- Te: Постоянная времени интегратора возбудителя: до {te_before}; после {te_after};\n'
            f'- Aex: Коэффициент экспоненты (задание насыщения): до {aex_before}; после {aex_after};\n'
            f'- Bex: Степень экспоненты (задание насыщения): до {bex_before}; после {bex_after};\n'
            f'{separator_two}\n')
    return (
        f'{separator_two}\n'
        f' Внесены изменения в таблицу {DFWIEEE421.table_name}:\n'
        f'- Id: Номер возбудителя: {Id};\n'
        f'- row_id: порядковый номер в таблице (от 0 до [max.count]): {row_id};\n'
        f'- Kpr: Пропорциональный коэффициент усиления ПИД-регулятора: до {kpr_before}; после {kpr_after};\n'
        f'- Kir: Интегральный коэффициент усиления ПИД-регулятора: до {kir_before}; после {kir_after};\n'
        f'- Kdr: Дифференциальный коэффициент усиления ПИД-регулятора: до {kdr_before}; после {kdr_after};\n'
        f'- Tdr: Постоянная времени дифференциального канала ПИД-регулятора: до {tdr_before}; после {tdr_after};\n'
        f'- Ka: Коэффициент усиления регулятора напряжения: до {ka_before}; после {ka_after};\n'
        f'- Ta: Постоянная времени регулятора напряжения: до {ta_before}; после {ta_after};\n'
        f'- Vrmax: Максимальное ограничение регулятора напряжения: до {vrmax_before}; после {vrmax_after};\n'
        f'- Vrmin: Минимальное ограничение регулятора напряжения: до {vrmin_before}; после {vrmin_after};\n'
        f'- Te: Постоянная времени интегратора возбудителя: до {te_before}; после {te_after};\n'
        f'- Aex: Коэффициент экспоненты (задание насыщения): до {aex_before}; после {aex_after};\n'
        f'- Bex: Степень экспоненты (задание насыщения): до {bex_before}; после {bex_after};\n'
        f'{separator_two}\n')
Esempio n. 17
0
from RastrWinLib.operation.get import GettingParameter
from RastrWinLib.Load import load_file
from RastrWinLib.Load.shablon import Shabl
from RastrWinLib.AstraRastr import RASTR

file = r'C:\Users\Ohrimenko_AG\Documents\RastrWin3\test-rastr\RUSTab\test9.rst'
load_file(file_path=file, shabl=Shabl.shablon_file_dynamic)

get_ = GettingParameter(rastr_win=RASTR)

t = get_.get_row_vetv_a_node(ny=349)
print(t)
# r = get_.get_cell_id(table=ExcControl.table, column=ExcControl.Ku, Id=1320)
# print(r)
#
# trr = get_.get_cell_id(table=ExcControl.table,
#                        column=ExcControl.Tf,
#                        Id=1320)
# print(trr)
Esempio n. 18
0
def set_com_ekviv(selekv=0,
                  met_ekv=0,
                  tip_ekv=0,
                  ekvgen=0,
                  tip_gen=1,
                  kfc_x=0,
                  pot_gen=0,
                  kpn=0,
                  tip_sxn=0,
                  smart=0,
                  zmax=1000,
                  otm_n=0,
                  rastr_win=RASTR,
                  switch_command_line=False):
    f"""
    Параметры настройки "Общие параметры эквивалентирования" (таблица "Эквивалент": com_ekviv):

    :param selekv: Отмеченные узлы: (Отмеч);
    :param met_ekv: Метод эквивалентирования: (Мет Экв);
    :param tip_ekv: Тип эквивалентирования: (Тип Экв);
    :param ekvgen: Эквивалент узлов с фикс V: (фиксV);
    :param tip_gen: Тип эквивалентирования генераторов: (Тип Ген);
    :param kfc_x: Коэффициент для Xg_ген: (К_X_Ген);
    :param pot_gen: Учет потерь при разносе генерации: (dP_Ген);
    :param kpn: Доля нагрузки, пересчитываемая в шунт: (d_наг);
    :param tip_sxn: Учитывать СХН при эквивалентировании: (СХН);
    :param smart: "Умное" эквивалентирование: (Smart);
    :param zmax: Удаление ветвей с сопротивлением большим: (Z_max);
    :param otm_n: Отмечать узлы после эквивалентирования: (Отм);
    :param rastr_win: {Tools.RastrDoc};
    :param switch_command_line: {Tools.switch_command_line_doc};
    :return: Nothing returns
    """

    variable_ = Variable(rastr_win=rastr_win, switch_command_line=False)
    get_ = GettingParameter(rastr_win=rastr_win)

    # selekv Отмеченные узлы: (Отмеч)
    selekv_get_before = get_.get_cell_row(table=ComEkviv.table,
                                          column=ComEkviv.selekv,
                                          row_id=0)
    variable_.make_changes_row(table=ComEkviv.table,
                               column=ComEkviv.selekv,
                               row_id=0,
                               value=selekv)
    selekv_get_after = get_.get_cell_row(table=ComEkviv.table,
                                         column=ComEkviv.selekv,
                                         row_id=0)

    # met_ekv Метод эквивалентирования (Мет Экв)
    met_ekv_get_before = get_.get_cell_row(table=ComEkviv.table,
                                           column=ComEkviv.met_ekv,
                                           row_id=0)
    variable_.make_changes_row(table=ComEkviv.table,
                               column=ComEkviv.met_ekv,
                               row_id=0,
                               value=met_ekv)
    met_ekv_get_after = get_.get_cell_row(table=ComEkviv.table,
                                          column=ComEkviv.met_ekv,
                                          row_id=0)

    # tip_ekv Тип эквивалентирования (Тип Экв)
    tip_ekv_get_before = get_.get_cell_row(table=ComEkviv.table,
                                           column=ComEkviv.tip_ekv,
                                           row_id=0)
    variable_.make_changes_row(table=ComEkviv.table,
                               column=ComEkviv.tip_ekv,
                               row_id=0,
                               value=tip_ekv)
    tip_ekv_get_after = get_.get_cell_row(table=ComEkviv.table,
                                          column=ComEkviv.tip_ekv,
                                          row_id=0)

    # ekvgen Эквивалент узлов с фикс V (фиксV)
    ekvgen_get_before = get_.get_cell_row(table=ComEkviv.table,
                                          column=ComEkviv.ekvgen,
                                          row_id=0)
    variable_.make_changes_row(table=ComEkviv.table,
                               column=ComEkviv.ekvgen,
                               row_id=0,
                               value=ekvgen)
    ekvgen_get_after = get_.get_cell_row(table=ComEkviv.table,
                                         column=ComEkviv.ekvgen,
                                         row_id=0)

    # tip_gen Тип эквивалентирования генераторов (Тип Ген)
    tip_gen_get_before = get_.get_cell_row(table=ComEkviv.table,
                                           column=ComEkviv.tip_gen,
                                           row_id=0)
    variable_.make_changes_row(table=ComEkviv.table,
                               column=ComEkviv.tip_gen,
                               row_id=0,
                               value=tip_gen)
    tip_gen_get_after = get_.get_cell_row(table=ComEkviv.table,
                                          column=ComEkviv.tip_gen,
                                          row_id=0)

    # kfc_x Коэффициент для Xg_ген (К_X_ Ген)
    kfc_x_get_before = get_.get_cell_row(table=ComEkviv.table,
                                         column=ComEkviv.kfc_x,
                                         row_id=0)
    variable_.make_changes_row(table=ComEkviv.table,
                               column=ComEkviv.kfc_x,
                               row_id=0,
                               value=kfc_x)
    kfc_x_get_after = get_.get_cell_row(table=ComEkviv.table,
                                        column=ComEkviv.kfc_x,
                                        row_id=0)

    # pot_gen Учет потерь при разносе генерации: (dP_Ген)
    pot_gen_get_before = get_.get_cell_row(table=ComEkviv.table,
                                           column=ComEkviv.pot_gen,
                                           row_id=0)
    variable_.make_changes_row(table=ComEkviv.table,
                               column=ComEkviv.pot_gen,
                               row_id=0,
                               value=pot_gen)
    pot_gen_get_after = get_.get_cell_row(table=ComEkviv.table,
                                          column=ComEkviv.pot_gen,
                                          row_id=0)

    # kpn Доля нагрузки, пересчитываемая в шунт (d_наг)
    kpn_get_before = get_.get_cell_row(table=ComEkviv.table,
                                       column=ComEkviv.kpn,
                                       row_id=0)
    variable_.make_changes_row(table=ComEkviv.table,
                               column=ComEkviv.kpn,
                               row_id=0,
                               value=kpn)
    kpn_get_after = get_.get_cell_row(table=ComEkviv.table,
                                      column=ComEkviv.kpn,
                                      row_id=0)

    # tip_sxn Учитывать СХН при эквивалентировании (СХН)
    tip_sxn_get_before = get_.get_cell_row(table=ComEkviv.table,
                                           column=ComEkviv.tip_sxn,
                                           row_id=0)
    variable_.make_changes_row(table=ComEkviv.table,
                               column=ComEkviv.tip_sxn,
                               row_id=0,
                               value=tip_sxn)
    tip_sxn_get_after = get_.get_cell_row(table=ComEkviv.table,
                                          column=ComEkviv.tip_sxn,
                                          row_id=0)

    # smart "Умное" эквивалентирование : (Smart)
    smart_get_before = get_.get_cell_row(table=ComEkviv.table,
                                         column=ComEkviv.smart,
                                         row_id=0)
    variable_.make_changes_row(table=ComEkviv.table,
                               column=ComEkviv.smart,
                               row_id=0,
                               value=smart)
    smart_get_after = get_.get_cell_row(table=ComEkviv.table,
                                        column=ComEkviv.smart,
                                        row_id=0)

    # zmax Удаление ветвей с сопротивлением большим: (Z_max)
    zmax_get_before = get_.get_cell_row(table=ComEkviv.table,
                                        column=ComEkviv.zmax,
                                        row_id=0)
    variable_.make_changes_row(table=ComEkviv.table,
                               column=ComEkviv.zmax,
                               row_id=0,
                               value=zmax)
    zmax_get_after = get_.get_cell_row(table=ComEkviv.table,
                                       column=ComEkviv.zmax,
                                       row_id=0)

    # otm_n Отмечать узлы после эквивалентирования (Отм)
    otm_n_get_before = get_.get_cell_row(table=ComEkviv.table,
                                         column=ComEkviv.otm_n,
                                         row_id=0)
    variable_.make_changes_row(table=ComEkviv.table,
                               column=ComEkviv.otm_n,
                               row_id=0,
                               value=otm_n)
    otm_n_get_after = get_.get_cell_row(table=ComEkviv.table,
                                        column=ComEkviv.otm_n,
                                        row_id=0)

    if switch_command_line is not False:
        print(
            f'{Tools.separator_noun}\n'
            f'Параметры настройки "Общие параметры эквивалентирования" (таблица "Эквивалент": com_ekviv):\n\n'
            f'selekv: Отмеченные узлы: (Отмеч) "до" = {selekv_get_before}; "после" = {selekv_get_after};\n'
            f'met_ekv: Метод эквивалентирования: (Мет Экв) "до" = {met_ekv_get_before}; "после" = {met_ekv_get_after};\n'
            f'tip_ekv: Тип эквивалентирования: (Тип Экв) "до" = {tip_ekv_get_before}; "после" = {tip_ekv_get_after};\n'
            f'ekvgen: Эквивалент узлов с фикс V: (фиксV) "до" = {ekvgen_get_before}; "после" = {ekvgen_get_after};\n'
            f'tip_gen: Тип эквивалентирования генераторов: (Тип Ген) "до" = {tip_gen_get_before}; "после" = {tip_gen_get_after};\n'
            f'kfc_x: Коэффициент для Xg_ген: (К_X_Ген) "до" = {kfc_x_get_before}; "после" = {kfc_x_get_after};\n'
            f'pot_gen: Учет потерь при разносе генерации: (dP_Ген) "до" = {pot_gen_get_before}; "после" = {pot_gen_get_after};\n'
            f'kpn: Доля нагрузки, пересчитываемая в шунт: (d_наг) "до" = {kpn_get_before}; "после" = {kpn_get_after};\n'
            f'tip_sxn: Учитывать СХН при эквивалентировании: (СХН) "до" = {tip_sxn_get_before}; "после" = {tip_sxn_get_after};\n'
            f'smart: "Умное" эквивалентирование: (Smart) "до" = {smart_get_before}; "после" = {smart_get_after};\n'
            f'zmax: Удаление ветвей с сопротивлением большим: (Z_max) "до" = {zmax_get_before}; "после" = {zmax_get_after};\n'
            f'otm_n: Отмечать узлы после эквивалентирования: (Отм) "до" = {otm_n_get_before}; "после" = {otm_n_get_after}.'
            f'{Tools.separator_noun}\n')
    return (
        f'{Tools.separator_noun}\n'
        f'Параметры настройки "Общие параметры эквивалентирования" (таблица "Эквивалент": com_ekviv):\n'
        f'selekv: Отмеченные узлы: (Отмеч) "до" = {selekv_get_before}; "после" = {selekv_get_after};\n'
        f'met_ekv: Метод эквивалентирования: (Мет Экв) "до" = {met_ekv_get_before}; "после" = {met_ekv_get_after};\n'
        f'tip_ekv: Тип эквивалентирования: (Тип Экв) "до" = {tip_ekv_get_before}; "после" = {tip_ekv_get_after};\n'
        f'ekvgen: Эквивалент узлов с фикс V: (фиксV) "до" = {ekvgen_get_before}; "после" = {ekvgen_get_after};\n'
        f'tip_gen: Тип эквивалентирования генераторов: (Тип Ген) "до" = {tip_gen_get_before}; "после" = {tip_gen_get_after};\n'
        f'kfc_x: Коэффициент для Xg_ген: (К_X_Ген) "до" = {kfc_x_get_before}; "после" = {kfc_x_get_after};\n'
        f'pot_gen: Учет потерь при разносе генерации: (dP_Ген) "до" = {pot_gen_get_before}; "после" = {pot_gen_get_after};\n'
        f'kpn: Доля нагрузки, пересчитываемая в шунт: (d_наг) "до" = {kpn_get_before}; "после" = {kpn_get_after};\n'
        f'tip_sxn: Учитывать СХН при эквивалентировании: (СХН) "до" = {tip_sxn_get_before}; "после" = {tip_sxn_get_after};\n'
        f'smart: "Умное" эквивалентирование: (Smart) "до" = {smart_get_before}; "после" = {smart_get_after};\n'
        f'zmax: Удаление ветвей с сопротивлением большим: (Z_max) "до" = {zmax_get_before}; "после" = {zmax_get_after};\n'
        f'otm_n: Отмечать узлы после эквивалентирования: (Отм) "до" = {otm_n_get_before}; "после" = {otm_n_get_after}.'
        f'{Tools.separator_noun}\n')
Esempio n. 19
0
def equvivalent(viborka, u_min=430, u_max=580):
    vetv = RASTR.Tables(Vetv.table)
    variableObj = Variable(rastr_win=RASTR, switch_command_line=False)

    getParamObj = GettingParameter(rastr_win=RASTR)

    findNextSelNodeObj = FindNextSel(rastr_win=RASTR, table=Node.table)

    findNextSelVetvObj = FindNextSel(rastr_win=RASTR, table=Vetv.table)

    findNextSelGenObj = FindNextSel(rastr_win=RASTR, table=Generator.table)

    j = findNextSelNodeObj.row(key=f'{viborka}')

    while j != (-1):
        ny = getParamObj.get_cell_row(table=Node.table,
                                      column=Node.ny,
                                      row_id=j)

        tip_node = getParamObj.get_cell_row(table=Node.table,
                                            column=Node.tip,
                                            row_id=j)

        # uhom = getParamObj.get_cell_row(table=Node.table,
        #                                 column=Node.uhom,
        #                                 row_id=j)

        if tip_node > 1:
            j_gen = findNextSelGenObj.row(
                key=f'{Generator.Node}.{Node.ny}={ny}')

            if j_gen != (-1):
                j_vetv = findNextSelVetvObj.row(
                    key=f'({Vetv.ip}={ny})|({Vetv.iq}=ny)')

                while j_vetv != (-1):
                    tip_vetv = getParamObj.get_cell_row(table=Vetv.table,
                                                        column=Vetv.tip,
                                                        row_id=j_vetv)
                    if tip_vetv == 1:
                        v_ip = getParamObj.get_cell_row(table=Vetv.table,
                                                        column=Vetv.v_ip,
                                                        row_id=j_vetv)
                        v_iq = getParamObj.get_cell_row(table=Vetv.table,
                                                        column=Vetv.v_iq,
                                                        row_id=j_vetv)
                        if (v_ip > u_min
                                and v_iq < u_max) or (v_ip < u_min
                                                      and v_iq > u_max):
                            variableObj.make_changes_row(table=Node.table,
                                                         column=Node.sel,
                                                         row_id=j,
                                                         value=0)
                    j_vetv = vetv.FindNextSel(j_vetv)
            else:
                j_vetv_2 = findNextSelVetvObj.row(
                    key=f'({Vetv.ip}={ny})|({Vetv.iq}={ny})')
                while j_vetv_2 != (-1):
                    tip_vetv_2 = getParamObj.get_cell_row(table=Vetv.table,
                                                          column=Vetv.tip,
                                                          row_id=j_vetv_2)
                    if tip_vetv_2 == 1:
                        v_ip_2 = getParamObj.get_cell_row(table=Vetv.table,
                                                          column=Vetv.v_ip,
                                                          row_id=j_vetv_2)

                        v_iq_2 = getParamObj.get_cell_row(table=Vetv.table,
                                                          column=Vetv.v_iq,
                                                          row_id=j_vetv_2)
                        if (v_ip_2 > u_min
                                and v_iq_2 < u_max) or (v_ip_2 < u_min
                                                        and v_iq_2 > u_max):
                            variableObj.make_changes_row(table=Node.table,
                                                         column=Node.sel,
                                                         row_id=j,
                                                         value=0)
                    j_vetv_2 = vetv.FindNextSel(j_vetv_2)

            j = findNextSelNodeObj.row(key=vyborka_gen)
Esempio n. 20
0
def set_regim(neb_p: float = 1.000,
              it_max: int = 100,
              start: str = 'Да',
              flot: str = 'Нет',
              dv_min: float = 0.500,
              dv_max: float = 2.000,
              dd_max: float = 5157,
              status: str = 'Нормально',
              rr: str = 'Нет',
              wt: float = 0,
              gen_p: str = 'Да',
              method: str = 'Ньютон',
              method_ogr: str = 'Стандарт',
              print_mode: str = 'Мин',
              qmax: str = 'Нет',
              min_x: float = 0,
              calc_tr: str = 'Нет',
              nag_p: str = 'Нет',
              rem_breaker: str = 'Нет',
              gram: str = 'Нет',
              ctrl_baza: str = 'Нет',
              itz: int = 0,
              itz_ogr_max: int = 0,
              itz_ogr_min: int = 0,
              min_nodes_in_island: int = 0,
              rastr_win: object = RASTR,
              switch_command_line: bool = False):
    f"""
    Параметры настройки "Общие параметры режима" (таблица "Режим": com_regim):

    :param neb_p: Точность расчета (dP);
    :param it_max: Максимальное число итераций (It);
    :param start: Стартовый алгоритм (Start);
    :param flot: Плоский старт (Пл.старт);
    :param dv_min: Мин. допустимое снижение V (dV-);
    :param dv_max: Макс. допустимое превышение V (dV+);
    :param dd_max: Макс. допустимый угол по связи (dDelta);
    :param status: Состояние расчета режима (Статус);
    :param rr: Учет частоты: (W);
    :param wt: Отклонение частоты (dF);
    :param gen_p: Пересчитывать P/Q узла по P ген (Ген->P);
    :param method: Метод Расчета (Метод);
    :param method_ogr: Метод учета ограничений Q (Метод учета ограничений Q);
    :param print_mode: Уровень печати (Печать);
    :param qmax: Точный метод расчета Qmax (Qmax);
    :param min_x: Сопротивление выключателя (ое на 10-6) (Min_X);
    :param calc_tr: Пересчет АТ/3х обм. трансформаторов (Транс.);
    :param nag_p: Пересчитывать (P/Q) нагрузки узла по ВРДО (Наг->P);
    :param rem_breaker: Удаление выключателей из схемы: (Выкл);
    :param gram: Пересчет мощности генератора по ГРАМ: (Грам);
    :param ctrl_baza: Автоматическое создание БУ (БУ);
    :param itz: Стартовый метод: число итераций (Z_it);
    :param itz_ogr_max: Стартовый метод: Учет Qmax с итерации (Z_it_max);
    :param itz_ogr_min: Стартовый метод: Учет Qmin с итерации (Z_it_min);
    :param min_nodes_in_island: Минимальное число узлов в острове (Min_nodes);
    :param rastr_win: {Tools.RastrDoc};
    :param switch_command_line: {Tools.switch_command_line_doc};
    :return: Nothing returns
    """

    variable_ = Variable(rastr_win=rastr_win)
    get_ = GettingParameter(rastr_win=rastr_win)

    # Точность расчета (dP)
    neb_p_get_before = get_.get_cell_row(table=ComRegim.table,
                                         column=ComRegim.neb_p,
                                         row_id=0)
    variable_.make_changes_row(table=ComRegim.table,
                               column=ComRegim.neb_p,
                               row_id=0,
                               value=neb_p)
    neb_p_get_after = get_.get_cell_row(table=ComRegim.table,
                                        column=ComRegim.neb_p,
                                        row_id=0)

    # Максимальное число итераций (It)
    it_max_get_before = get_.get_cell_row(table=ComRegim.table,
                                          column=ComRegim.it_max,
                                          row_id=0)
    variable_.make_changes_row(table=ComRegim.table,
                               column=ComRegim.it_max,
                               row_id=0,
                               value=it_max)
    it_max_get_after = get_.get_cell_row(table=ComRegim.table,
                                         column=ComRegim.it_max,
                                         row_id=0)

    # Стартовый алгоритм (Start)
    start_get_before = get_.get_cell_row(table=ComRegim.table,
                                         column=ComRegim.start,
                                         row_id=0)
    variable_.make_changes_row(table=ComRegim.table,
                               column=ComRegim.start,
                               row_id=0,
                               value=start)
    start_get_after = get_.get_cell_row(table=ComRegim.table,
                                        column=ComRegim.start,
                                        row_id=0)

    # Плоский старт (Пл.старт)
    flot_get_before = get_.get_cell_row(table=ComRegim.table,
                                        column=ComRegim.flot,
                                        row_id=0)
    variable_.make_changes_row(table=ComRegim.table,
                               column=ComRegim.flot,
                               row_id=0,
                               value=flot)
    flot_get_after = get_.get_cell_row(table=ComRegim.table,
                                       column=ComRegim.flot,
                                       row_id=0)

    # Мин. допустимое снижение V (dV-)
    dv_min_get_before = get_.get_cell_row(table=ComRegim.table,
                                          column=ComRegim.dv_min,
                                          row_id=0)
    variable_.make_changes_row(table=ComRegim.table,
                               column=ComRegim.dv_min,
                               row_id=0,
                               value=dv_min)
    dv_min_get_after = get_.get_cell_row(table=ComRegim.table,
                                         column=ComRegim.dv_min,
                                         row_id=0)

    # Макс. допустимое превышение V (dV+)
    dv_max_get_before = get_.get_cell_row(table=ComRegim.table,
                                          column=ComRegim.dv_max,
                                          row_id=0)
    variable_.make_changes_row(table=ComRegim.table,
                               column=ComRegim.dv_max,
                               row_id=0,
                               value=dv_max)
    dv_max_get_after = get_.get_cell_row(table=ComRegim.table,
                                         column=ComRegim.dv_max,
                                         row_id=0)

    # Макс. допустимый угол по связи (dDelta)
    dd_max_get_before = get_.get_cell_row(table=ComRegim.table,
                                          column=ComRegim.dd_max,
                                          row_id=0)
    variable_.make_changes_row(table=ComRegim.table,
                               column=ComRegim.dd_max,
                               row_id=0,
                               value=dd_max)
    dd_max_get_after = get_.get_cell_row(table=ComRegim.table,
                                         column=ComRegim.dd_max,
                                         row_id=0)

    # Состояние расчета режима (Статус)
    status_get_before = get_.get_cell_row(table=ComRegim.table,
                                          column=ComRegim.status,
                                          row_id=0)
    variable_.make_changes_row(table=ComRegim.table,
                               column=ComRegim.status,
                               row_id=0,
                               value=status)
    status_get_after = get_.get_cell_row(table=ComRegim.table,
                                         column=ComRegim.status,
                                         row_id=0)

    # Учет частоты: (W)
    rr_get_before = get_.get_cell_row(table=ComRegim.table,
                                      column=ComRegim.rr,
                                      row_id=0)
    variable_.make_changes_row(table=ComRegim.table,
                               column=ComRegim.rr,
                               row_id=0,
                               value=rr)
    rr_get_after = get_.get_cell_row(table=ComRegim.table,
                                     column=ComRegim.rr,
                                     row_id=0)

    # Отклонение частоты (dF)
    wt_get_before = get_.get_cell_row(table=ComRegim.table,
                                      column=ComRegim.wt,
                                      row_id=0)
    variable_.make_changes_row(table=ComRegim.table,
                               column=ComRegim.wt,
                               row_id=0,
                               value=wt)
    wt_get_after = get_.get_cell_row(table=ComRegim.table,
                                     column=ComRegim.wt,
                                     row_id=0)

    # Пересчитывать P/Q узла по P ген (Ген->P)
    gen_p_get_before = get_.get_cell_row(table=ComRegim.table,
                                         column=ComRegim.gen_p,
                                         row_id=0)
    variable_.make_changes_row(table=ComRegim.table,
                               column=ComRegim.gen_p,
                               row_id=0,
                               value=gen_p)
    gen_p_get_after = get_.get_cell_row(table=ComRegim.table,
                                        column=ComRegim.gen_p,
                                        row_id=0)

    # Метод Расчета (Метод)
    method_get_before = get_.get_cell_row(table=ComRegim.table,
                                          column=ComRegim.method,
                                          row_id=0)
    variable_.make_changes_row(table=ComRegim.table,
                               column=ComRegim.method,
                               row_id=0,
                               value=method)
    method_get_after = get_.get_cell_row(table=ComRegim.table,
                                         column=ComRegim.method,
                                         row_id=0)

    # Метод учета ограничений Q (Метод учета ограничений Q)
    method_ogr_get_before = get_.get_cell_row(table=ComRegim.table,
                                              column=ComRegim.method,
                                              row_id=0)
    variable_.make_changes_row(table=ComRegim.table,
                               column=ComRegim.method,
                               row_id=0,
                               value=method_ogr)
    method_ogr_get_after = get_.get_cell_row(table=ComRegim.table,
                                             column=ComRegim.method_ogr,
                                             row_id=0)

    # Уровень печати (Печать)
    print_mode_get_before = get_.get_cell_row(table=ComRegim.table,
                                              column=ComRegim.print_mode,
                                              row_id=0)
    variable_.make_changes_row(table=ComRegim.table,
                               column=ComRegim.print_mode,
                               row_id=0,
                               value=print_mode)
    print_mode_get_after = get_.get_cell_row(table=ComRegim.table,
                                             column=ComRegim.print_mode,
                                             row_id=0)

    # Точный метод расчета Qmax (Qmax)
    qmax_get_before = get_.get_cell_row(table=ComRegim.table,
                                        column=ComRegim.qmax,
                                        row_id=0)
    variable_.make_changes_row(table=ComRegim.table,
                               column=ComRegim.qmax,
                               row_id=0,
                               value=qmax)
    qmax_get_after = get_.get_cell_row(table=ComRegim.table,
                                       column=ComRegim.qmax,
                                       row_id=0)

    # Сопротивление выключателя (ое на 10-6) (Min_X)
    min_x_get_before = get_.get_cell_row(table=ComRegim.table,
                                         column=ComRegim.min_x,
                                         row_id=0)
    variable_.make_changes_row(table=ComRegim.table,
                               column=ComRegim.min_x,
                               row_id=0,
                               value=min_x)
    min_x_get_after = get_.get_cell_row(table=ComRegim.table,
                                        column=ComRegim.min_x,
                                        row_id=0)

    # Пересчет АТ/3х обм. трансформаторов (Транс.)
    calc_tr_get_before = get_.get_cell_row(table=ComRegim.table,
                                           column=ComRegim.calc_tr,
                                           row_id=0)
    variable_.make_changes_row(table=ComRegim.table,
                               column=ComRegim.calc_tr,
                               row_id=0,
                               value=calc_tr)
    calc_tr_get_after = get_.get_cell_row(table=ComRegim.table,
                                          column=ComRegim.calc_tr,
                                          row_id=0)

    # Пересчитывать (P/Q) нагрузки узла по ВРДО (Наг->P)
    nag_p_get_before = get_.get_cell_row(table=ComRegim.table,
                                         column=ComRegim.nag_p,
                                         row_id=0)
    variable_.make_changes_row(table=ComRegim.table,
                               column=ComRegim.nag_p,
                               row_id=0,
                               value=nag_p)
    nag_p_get_after = get_.get_cell_row(table=ComRegim.table,
                                        column=ComRegim.nag_p,
                                        row_id=0)

    # Удаление выключателей из схемы: (Выкл)
    rem_breaker_get_before = get_.get_cell_row(table=ComRegim.table,
                                               column=ComRegim.rem_breaker,
                                               row_id=0)
    variable_.make_changes_row(table=ComRegim.table,
                               column=ComRegim.rem_breaker,
                               row_id=0,
                               value=rem_breaker)
    rem_breaker_get_after = get_.get_cell_row(table=ComRegim.table,
                                              column=ComRegim.rem_breaker,
                                              row_id=0)

    # Пересчет мощности генератора по ГРАМ: (Грам)
    gram_get_before = get_.get_cell_row(table=ComRegim.table,
                                        column=ComRegim.gram,
                                        row_id=0)
    variable_.make_changes_row(table=ComRegim.table,
                               column=ComRegim.gram,
                               row_id=0,
                               value=gram)
    gram_get_after = get_.get_cell_row(table=ComRegim.table,
                                       column=ComRegim.gram,
                                       row_id=0)

    # Автоматическое создание БУ (БУ)
    ctrl_baza_get_before = get_.get_cell_row(table=ComRegim.table,
                                             column=ComRegim.ctrl_baza,
                                             row_id=0)
    variable_.make_changes_row(table=ComRegim.table,
                               column=ComRegim.gram,
                               row_id=0,
                               value=ctrl_baza)
    ctrl_baza_get_after = get_.get_cell_row(table=ComRegim.table,
                                            column=ComRegim.ctrl_baza,
                                            row_id=0)

    # Стартовый метод: число итераций (Z_it)
    itz_get_before = get_.get_cell_row(table=ComRegim.table,
                                       column=ComRegim.itz,
                                       row_id=0)
    variable_.make_changes_row(table=ComRegim.table,
                               column=ComRegim.itz,
                               row_id=0,
                               value=itz)
    itz_get_after = get_.get_cell_row(table=ComRegim.table,
                                      column=ComRegim.itz,
                                      row_id=0)

    # Стартовый метод: Учет Qmax с итерации (Z_it_max)
    itz_ogr_max_get_before = get_.get_cell_row(table=ComRegim.table,
                                               column=ComRegim.itz_ogr_max,
                                               row_id=0)
    variable_.make_changes_row(table=ComRegim.table,
                               column=ComRegim.itz_ogr_max,
                               row_id=0,
                               value=itz_ogr_max)
    itz_ogr_max_get_after = get_.get_cell_row(table=ComRegim.table,
                                              column=ComRegim.itz_ogr_max,
                                              row_id=0)

    # Стартовый метод: Учет Qmin с итерации (Z_it_min)
    itz_ogr_min_get_before = get_.get_cell_row(table=ComRegim.table,
                                               column=ComRegim.itz_ogr_min,
                                               row_id=0)
    variable_.make_changes_row(table=ComRegim.table,
                               column=ComRegim.itz_ogr_min,
                               row_id=0,
                               value=itz_ogr_min)
    itz_ogr_min_get_after = get_.get_cell_row(table=ComRegim.table,
                                              column=ComRegim.itz_ogr_min,
                                              row_id=0)

    # Минимальное число узлов в острове (Min_nodes)
    min_nodes_in_island_get_before = get_.get_cell_row(table=ComRegim.table,
                                                       column=ComRegim.min_nodes_in_island,
                                                       row_id=0)
    variable_.make_changes_row(table=ComRegim.table,
                               column=ComRegim.min_nodes_in_island,
                               row_id=0,
                               value=min_nodes_in_island)
    min_nodes_in_island_get_after = get_.get_cell_row(table=ComRegim.table,
                                                      column=ComRegim.min_nodes_in_island,
                                                      row_id=0)

    if switch_command_line is not False:
        print(
            f'{Tools.separator_noun}\n'
            f'Таблица параметров (настройки) "Режим" - com_regim:\n'
            f'neb_p: Точность расчета (dP) "до" = {neb_p_get_before}; "после" = {neb_p_get_after};\n'
            f'it_max: Максимальное число итераций (It) "до" = {it_max_get_before}; "после" = {it_max_get_after};\n'
            f'start: Стартовый алгоритм (Start) "до" = {start_get_before}; "после" = {start_get_after};\n'
            f'flot: Плоский старт (Пл.старт) "до" = {flot_get_before}; "после" = {flot_get_after};\n'
            f'dv_min: Мин. допустимое снижение V (dV-) "до" = {dv_min_get_before}; "после" = {dv_min_get_after};\n'
            f'dv_max: Макс. допустимое превышение V (dV+) "до" = {dv_max_get_before}; "после" = {dv_max_get_after};\n'
            f'dd_max: Макс. допустимый угол по связи (dDelta) "до" = {dd_max_get_before}; "после" = {dd_max_get_after};\n'
            f'status: Состояние расчета режима (Статус) "до" = {status_get_before}; "после" = {status_get_after};\n'
            f'rr: Учет частоты: (W) "до" = {rr_get_before}; "после" = {rr_get_after};\n'
            f'wt: Отклонение частоты (dF) "до" = {wt_get_before}; "после" = {wt_get_after};\n'
            f'gen_p: Пересчитывать P/Q узла по P ген (Ген->P) "до" = {gen_p_get_before}; "после" = {gen_p_get_after};\n'
            f'method: Метод Расчета (Метод) "до" = {method_get_before}; "после" = {method_get_after};\n'
            f'method_ogr: Метод учета ограничений Q (Метод учета ограничений Q) "до" = {method_ogr_get_before}; "после" = {method_ogr_get_after};\n'
            f'print_mode: Уровень печати (Печать) "до" = {print_mode_get_before}; "после" = {print_mode_get_after};\n'
            f'qmax: Точный метод расчета Qmax (Qmax) "до" = {qmax_get_before}; "после" = {qmax_get_after};\n'
            f'min_x: Сопротивление выключателя (ое на 10-6) (Min_X) "до" = {min_x_get_before}; "после" = {min_x_get_after};\n'
            f'calc_tr: Пересчет АТ/3х обм. трансформаторов (Транс.) "до" = {calc_tr_get_before}; "после" = {calc_tr_get_after};\n'
            f'nag_p: Пересчитывать (P/Q) нагрузки узла по ВРДО (Наг->P) "до" = {nag_p_get_before}; "после" = {nag_p_get_after};\n'
            f'rem_breaker: Удаление выключателей из схемы: (Выкл) "до" = {rem_breaker_get_before}; "после" = {rem_breaker_get_after};\n'
            f'gram: Пересчет мощности генератора по ГРАМ: (Грам) "до" = {gram_get_before}; "после" = {gram_get_after};\n'
            f'ctrl_baza: Автоматическое создание БУ (БУ) "до" = {ctrl_baza_get_before}; "после" = {ctrl_baza_get_after};\n'
            f'itz: Стартовый метод: число итераций (Z_it)  "до" = {itz_get_before}; "после" = {itz_get_after};\n'
            f'itz_ogr_max: Стартовый метод: Учет Qmax с итерации (Z_it_max) "до" = {itz_ogr_max_get_before}; "после" = {itz_ogr_max_get_after};\n'
            f'itz_ogr_min: Стартовый метод: Учет Qmin с итерации (Z_it_min) "до" = {itz_ogr_min_get_before}; "после" = {itz_ogr_min_get_after};\n'
            f'min_nodes_in_island: Минимальное число узлов в острове (Min_nodes) "до" = {min_nodes_in_island_get_before}; "после" = {min_nodes_in_island_get_after};'
            f'{Tools.separator_noun}\n'
        )
    return (
        f'{Tools.separator_noun}\n'
        f'Таблица параметров (настройки) "Режим" - com_regim:\n\n'
        f'neb_p: Точность расчета (dP) "до" = {neb_p_get_before}; "после" = {neb_p_get_after};\n'
        f'it_max: Максимальное число итераций (It) "до" = {it_max_get_before}; "после" = {it_max_get_after};\n'
        f'start: Стартовый алгоритм (Start) "до" = {start_get_before}; "после" = {start_get_after};\n'
        f'flot: Плоский старт (Пл.старт) "до" = {flot_get_before}; "после" = {flot_get_after};\n'
        f'dv_min: Мин. допустимое снижение V (dV-) "до" = {dv_min_get_before}; "после" = {dv_min_get_after};\n'
        f'dv_max: Макс. допустимое превышение V (dV+) "до" = {dv_max_get_before}; "после" = {dv_max_get_after};\n'
        f'dd_max: Макс. допустимый угол по связи (dDelta) "до" = {dd_max_get_before}; "после" = {dd_max_get_after};\n'
        f'status: Состояние расчета режима (Статус) "до" = {status_get_before}; "после" = {status_get_after};\n'
        f'rr: Учет частоты: (W) "до" = {rr_get_before}; "после" = {rr_get_after};\n'
        f'wt: Отклонение частоты (dF) "до" = {wt_get_before}; "после" = {wt_get_after};\n'
        f'gen_p: Пересчитывать P/Q узла по P ген (Ген->P) "до" = {gen_p_get_before}; "после" = {gen_p_get_after};\n'
        f'method: Метод Расчета (Метод) "до" = {method_get_before}; "после" = {method_get_after};\n'
        f'method_ogr: Метод учета ограничений Q (Метод учета ограничений Q) "до" = {method_ogr_get_before}; "после" = {method_ogr_get_after};\n'
        f'print_mode: Уровень печати (Печать) "до" = {print_mode_get_before}; "после" = {print_mode_get_after};\n'
        f'qmax: Точный метод расчета Qmax (Qmax) "до" = {qmax_get_before}; "после" = {qmax_get_after};\n'
        f'min_x: Сопротивление выключателя (ое на 10-6) (Min_X) "до" = {min_x_get_before}; "после" = {min_x_get_after};\n'
        f'calc_tr: Пересчет АТ/3х обм. трансформаторов (Транс.) "до" = {calc_tr_get_before}; "после" = {calc_tr_get_after};\n'
        f'nag_p: Пересчитывать (P/Q) нагрузки узла по ВРДО (Наг->P) "до" = {nag_p_get_before}; "после" = {nag_p_get_after};\n'
        f'rem_breaker: Удаление выключателей из схемы: (Выкл) "до" = {rem_breaker_get_before}; "после" = {rem_breaker_get_after};\n'
        f'gram: Пересчет мощности генератора по ГРАМ: (Грам) "до" = {gram_get_before}; "после" = {gram_get_after};\n'
        f'ctrl_baza: Автоматическое создание БУ (БУ) "до" = {ctrl_baza_get_before}; "после" = {ctrl_baza_get_after};\n'
        f'itz: Стартовый метод: число итераций (Z_it)  "до" = {itz_get_before}; "после" = {itz_get_after};\n'
        f'itz_ogr_max: Стартовый метод: Учет Qmax с итерации (Z_it_max) "до" = {itz_ogr_max_get_before}; "после" = {itz_ogr_max_get_after};\n'
        f'itz_ogr_min: Стартовый метод: Учет Qmin с итерации (Z_it_min) "до" = {itz_ogr_min_get_before}; "после" = {itz_ogr_min_get_after};\n'
        f'min_nodes_in_island: Минимальное число узлов в острове (Min_nodes) "до" = {min_nodes_in_island_get_before}; "после" = {min_nodes_in_island_get_after};'
        f'{Tools.separator_noun}\n'
    )
Esempio n. 21
0
def delete_generation_switch():
    findNextSelNode = FindNextSel(table=Node.table, rastr_win=RASTR)
    findNextSelNodeROW = FindNextSel_ROW(rastr_win=RASTR, table=Node.table)
    findNextSelGen = FindNextSel(table=Generator.table, rastr_win=RASTR)
    findNextSelGenROW = FindNextSel_ROW(rastr_win=RASTR, table=Generator.table)
    vetv = RASTR.Tables(Vetv.table)
    gen = RASTR.Tables(Generator.table)
    selection(switch_command_line=True)
    getObj = GettingParameter(rastr_win=RASTR)
    variableObj = Variable(rastr_win=RASTR)
    k1 = findNextSelNode.row(key='')

    while k1 != (-1):
        ny1 = getObj.get_cell_row(table=Node.table, column=Node.ny, row_id=k1)

        vetv.SetSel(f'({Vetv.ip}={ny1})|({Vetv.iq}={ny1})')

        if vetv.Count == 1:
            vetv.SetSel(f"x<1 & (tip=0 | tip=2) & ((ip={ny1})|(iq={ny1}))")
            if vetv.Count == 1:
                vetv.SetSel(f'x<1 & (tip=0 | tip=2) & ((ip={ny1})|(iq={ny1}))')
                k3 = vetv.FindNextSel(-1)
                if k3 != (-1):
                    ip_k3 = getObj.get_cell_row(table=Vetv.table,
                                                column=Vetv.ip,
                                                row_id=k3)
                    if ip_k3 == ny1:
                        ny2 = getObj.get_cell_row(table=Vetv.table,
                                                  column=Vetv.iq,
                                                  row_id=k3)
                    else:
                        ny2 = getObj.get_cell_row(table=Vetv.table,
                                                  column=Vetv.ip,
                                                  row_id=k3)

                    k2 = findNextSelGen.row(key=f'{Generator.Node}={ny1}')
                    if k2 != (-1):
                        k4 = findNextSelNode.row(key=f'{Node}={ny1}')

                        if k4 != (-1):
                            pn_k1 = getObj.get_cell_row(table=Node.table,
                                                        column=Node.pn,
                                                        row_id=k1)

                            variableObj.make_changes_row(table=Node.table,
                                                         column=Node.pn,
                                                         row_id=k4,
                                                         value=(pn_k1 + pn_k1))

                            qn_k1 = getObj.get_cell_row(table=Node.table,
                                                        column=Node.qn,
                                                        row_id=k1)
                            variableObj.make_changes_row(table=Node.table,
                                                         column=Node.qn,
                                                         row_id=k4,
                                                         value=(qn_k1 + qn_k1))

                            vzd_k1 = getObj.get_cell_row(table=Node.table,
                                                         column=Node.vzd,
                                                         row_id=k1)
                            variableObj.make_changes_row(table=Node.table,
                                                         column=Node.vzd,
                                                         row_id=k4,
                                                         value=vzd_k1)

                            exist_load_k1 = getObj.get_cell_row(
                                table=Node.table,
                                column=Node.exist_load,
                                row_id=k1)
                            variableObj.make_changes_row(
                                table=Node.table,
                                column=Node.exist_load,
                                row_id=k4,
                                value=exist_load_k1)

                            exist_gen_k1 = getObj.get_cell_row(
                                table=Node.table,
                                column=Node.exist_gen,
                                row_id=k1)
                            variableObj.make_changes_row(table=Node.table,
                                                         column=Node.exist_gen,
                                                         row_id=k4,
                                                         value=exist_gen_k1)

                            pn_max_k1 = getObj.get_cell_row(table=Node.table,
                                                            column=Node.pn_max,
                                                            row_id=k1)
                            pn_max_k4 = getObj.get_cell_row(table=Node.table,
                                                            column=Node.pn_max,
                                                            row_id=k4)
                            variableObj.make_changes_row(table=Node.table,
                                                         column=Node.pn_max,
                                                         row_id=k4,
                                                         value=pn_max_k1 +
                                                         pn_max_k4)

                            if pn_max_k4 >= pn_max_k1:
                                pn_min_k1 = getObj.get_cell_row(
                                    table=Node.table,
                                    column=Node.pn_min,
                                    row_id=k1)

                                variableObj.make_changes_row(
                                    table=Node.table,
                                    column=Node.pn_min,
                                    row_id=k4,
                                    value=pn_min_k1)

                            variableObj.make_changes_row(table=Node.table,
                                                         column=Node.sel,
                                                         row_id=k1,
                                                         value=1)

                            variableObj.make_changes_row(table=Vetv.table,
                                                         column=Vetv.sel,
                                                         row_id=k3,
                                                         value=1)
                            k2 = findNextSelGen.row(
                                key=f'{Generator.Node}={ny}')
                            while k2 != (-1):
                                variableObj.make_changes_row(
                                    table=Generator.table,
                                    column=Generator.Node,
                                    row_id=k2,
                                    value=ny2)
                                k2 = gen.FindNextSel(k2)

        k1 = findNextSelNodeROW.row(key='', row_=k1)
Esempio n. 22
0
def get_parameters(Id: int = None,
                   row_id: int = None,
                   rastr_win=RASTR,
                   switch_command_line: bool = False):
    """

    :param Id: Номер возбудителя;
    :param row_id: порядковый номер в таблице (от 0 до [max.count]);
    :param rastr_win: COM - объект Rastr.Astra (win32com);
    :param switch_command_line: True/False - вывод сообщений в протакол;
    :return: Nothing returns
    """
    get_ = GettingParameter(rastr_win=rastr_win)

    if Id is not None and row_id is None:
        # Ku
        if switch_command_line is not None:
            ku = get_.get_cell_id(table=ExcControl.table,
                                  column=ExcControl.Ku,
                                  Id=Id)
        else:
            ku = None

        # K_Q
        if switch_command_line is not None:
            k_q = get_.get_cell_id(table=ExcControl.table,
                                   column=ExcControl.K_Q,
                                   Id=Id)
        else:
            k_q = None

        # Kif1
        if switch_command_line is not None:
            kif1 = get_.get_cell_id(table=ExcControl.table,
                                    column=ExcControl.Kif1,
                                    Id=Id)
        else:
            kif1 = None

        # T1if
        if switch_command_line is not None:
            t1if = get_.get_cell_id(table=ExcControl.table,
                                    column=ExcControl.T1if,
                                    Id=Id)
        else:
            t1if = None

        # Ku1
        if switch_command_line is not None:
            ku1 = get_.get_cell_id(table=ExcControl.table,
                                   column=ExcControl.Ku1,
                                   Id=Id)
        else:
            ku1 = None

        # T1u1
        if switch_command_line is not None:
            t1u1 = get_.get_cell_id(table=ExcControl.table,
                                    column=ExcControl.T1u1,
                                    Id=Id)
        else:
            t1u1 = None

        # K_P
        if switch_command_line is not None:
            kp = get_.get_cell_id(table=ExcControl.table,
                                  column=ExcControl.K_P,
                                  Id=Id)
        else:
            kp = None

        # K_Ia
        if switch_command_line is not None:
            k_ia = get_.get_cell_id(table=ExcControl.table,
                                    column=ExcControl.K_Ia,
                                    Id=Id)
        else:
            k_ia = None

        # Tf
        if switch_command_line is not None:
            tf = get_.get_cell_id(table=ExcControl.table,
                                  column=ExcControl.Tf,
                                  Id=Id)
        else:
            tf = None

        # Kf
        if switch_command_line is not None:
            kf = get_.get_cell_id(table=ExcControl.table,
                                  column=ExcControl.Kf,
                                  Id=Id)
        else:
            kf = None

        # Kf1
        if switch_command_line is not None:
            kf1 = get_.get_cell_id(table=ExcControl.table,
                                   column=ExcControl.Kf1,
                                   Id=Id)
        else:
            kf1 = None

        # TINT
        if switch_command_line is not None:
            tint = get_.get_cell_id(table=ExcControl.table,
                                    column=ExcControl.TINT,
                                    Id=Id)
        else:
            tint = None

        if switch_command_line is not False:
            print(
                f'{separator_two}\n'
                f'Таблица: "{ExcControl.table}" - {ExcControl.table_name}:\n\n'
                f'- Id: Номер возбудителя: {Id}\n'
                f'- Ku: Коэффициент усиления пропорционального канала регулятора напряжения: {ku};\n'
                f'- K_Q: Коэффициент усиления канала по производной тока ротора: {k_q};\n'
                f'- Kif1: Коэффициент усиления канала по производной тока ротора: {kif1};\n'
                f'- T1if: Постоянная времени дифференцирующего звена в канале по производной тока ротора: {t1if};\n'
                f'- Ku1: Коэффициент усиления канала по производной напряжения: {ku1};\n'
                f'- T1u1: Постоянная времени дифференцирующего звена в канале по производной напряжения: {t1u1};\n'
                f'- K_P: Коэффициент усиления выходного сигнала ОМВ: {kp};\n'
                f'- K_Ia: Уставка ограничителя максимального тока ротора: {k_ia};\n'
                f'- Tf: Постоянная времени дифференцирующего звена в канале по частоте: {tf};\n'
                f'- Kf: Коэффициент усиления в канале по частоте: {kf};\n'
                f'- Kf1: Коэффициент усиления в канале по производной частоты: {kf1};\n'
                f'- TINT: Постоянная времени интегратора: {tint};\n'
                f'{separator_two}\n')
        return (
            f'{separator_two}\n'
            f'Таблица: "{ExcControl.table}" - {ExcControl.table_name}:\n\n'
            f'- Id: Номер возбудителя: {Id}\n'
            f'- Ku: Коэффициент усиления пропорционального канала регулятора напряжения: {ku};\n'
            f'- K_Q: Коэффициент усиления канала по производной тока ротора: {k_q};\n'
            f'- Kif1: Коэффициент усиления канала по производной тока ротора: {kif1};\n'
            f'- T1if: Постоянная времени дифференцирующего звена в канале по производной тока ротора: {t1if};\n'
            f'- Ku1: Коэффициент усиления канала по производной напряжения: {ku1};\n'
            f'- T1u1: Постоянная времени дифференцирующего звена в канале по производной напряжения: {t1u1};\n'
            f'- K_P: Коэффициент усиления выходного сигнала ОМВ: {kp};\n'
            f'- K_Ia: Уставка ограничителя максимального тока ротора: {k_ia};\n'
            f'- Tf: Постоянная времени дифференцирующего звена в канале по частоте: {tf};\n'
            f'- Kf: Коэффициент усиления в канале по частоте: {kf};\n'
            f'- Kf1: Коэффициент усиления в канале по производной частоты: {kf1};\n'
            f'- TINT: Постоянная времени интегратора: {tint};\n'
            f'{separator_two}\n')

    if row_id is not None and Id is None:
        # Ku
        if switch_command_line is not False:
            ku = get_.get_cell_row(table=ExcControl.table,
                                   column=ExcControl.Ku,
                                   row_id=row_id)
        else:
            ku = None

        # K_Q
        if switch_command_line is not False:
            k_q = get_.get_cell_row(table=ExcControl.table,
                                    column=ExcControl.K_Q,
                                    row_id=row_id)
        else:
            k_q = None

        # Kif1
        if switch_command_line is not False:
            kif1 = get_.get_cell_row(table=ExcControl.table,
                                     column=ExcControl.Kif1,
                                     row_id=row_id)
        else:
            kif1 = None

        # T1if
        if switch_command_line is not False:
            t1if = get_.get_cell_row(table=ExcControl.table,
                                     column=ExcControl.T1if,
                                     row_id=row_id)
        else:
            t1if = None

        # Ku1
        if switch_command_line is not False:
            ku1 = get_.get_cell_row(table=ExcControl.table,
                                    column=ExcControl.Ku1,
                                    row_id=row_id)
        else:
            ku1 = None

        # T1u1
        if switch_command_line is not False:
            t1u1 = get_.get_cell_row(table=ExcControl.table,
                                     column=ExcControl.T1u1,
                                     row_id=row_id)
        else:
            t1u1 = None

        # K_P
        if switch_command_line is not False:
            kp = get_.get_cell_row(table=ExcControl.table,
                                   column=ExcControl.K_P,
                                   row_id=row_id)
        else:
            kp = None

        # K_Ia
        if switch_command_line is not False:
            k_ia = get_.get_cell_row(table=ExcControl.table,
                                     column=ExcControl.K_Ia,
                                     row_id=row_id)
        else:
            k_ia = None

        # Tf
        if switch_command_line is not False:
            tf = get_.get_cell_row(table=ExcControl.table,
                                   column=ExcControl.Tf,
                                   row_id=row_id)
        else:
            tf = None

        # Kf
        if switch_command_line is not False:
            kf = get_.get_param(table=ExcControl.table,
                                column=ExcControl.Kf,
                                row_id=row_id)
        else:
            kf = None

        # Kf1
        if switch_command_line is not False:
            kf1 = get_.get_param(table=ExcControl.table,
                                 column=ExcControl.Kf1,
                                 row_id=row_id)
        else:
            kf1 = None

        # TINT
        if switch_command_line is not False:
            tint = get_.get_param(table=ExcControl.table,
                                  column=ExcControl.TINT,
                                  row_id=row_id)
        else:
            tint = None

        if switch_command_line is not False:
            print(
                f'{separator_two}\n'
                f'Таблица: "{ExcControl.table}" - {ExcControl.table_name}:\n\n'
                f'- row_id: порядковый номер в таблице (от 0 до [max.count]);: {row_id}\n'
                f'- Ku: Коэффициент усиления пропорционального канала регулятора напряжения: {ku};\n'
                f'- K_Q: Коэффициент усиления канала по производной тока ротора: {k_q};\n'
                f'- Kif1: Коэффициент усиления канала по производной тока ротора: {kif1};\n'
                f'- T1if: Постоянная времени дифференцирующего звена в канале по производной тока ротора: {t1if};\n'
                f'- Ku1: Коэффициент усиления канала по производной напряжения: {ku1};\n'
                f'- T1u1: Постоянная времени дифференцирующего звена в канале по производной напряжения: {t1u1};\n'
                f'- K_P: Коэффициент усиления выходного сигнала ОМВ: {kp};\n'
                f'- K_Ia: Уставка ограничителя максимального тока ротора: {k_ia};\n'
                f'- Tf: Постоянная времени дифференцирующего звена в канале по частоте: {tf};\n'
                f'- Kf: Коэффициент усиления в канале по частоте: {kf};\n'
                f'- Kf1: Коэффициент усиления в канале по производной частоты: {kf1};\n'
                f'- TINT: Постоянная времени интегратора: {tint};\n'
                f'{separator_two}\n')
        return (
            f'{separator_two}\n'
            f'Таблица: "{ExcControl.table}" - {ExcControl.table_name}:\n\n'
            f'- row_id: порядковый номер в таблице (от 0 до [max.count]);: {row_id}\n'
            f'- Ku: Коэффициент усиления пропорционального канала регулятора напряжения: {ku};\n'
            f'- K_Q: Коэффициент усиления канала по производной тока ротора: {k_q};\n'
            f'- Kif1: Коэффициент усиления канала по производной тока ротора: {kif1};\n'
            f'- T1if: Постоянная времени дифференцирующего звена в канале по производной тока ротора: {t1if};\n'
            f'- Ku1: Коэффициент усиления канала по производной напряжения: {ku1};\n'
            f'- T1u1: Постоянная времени дифференцирующего звена в канале по производной напряжения: {t1u1};\n'
            f'- K_P: Коэффициент усиления выходного сигнала ОМВ: {kp};\n'
            f'- K_Ia: Уставка ограничителя максимального тока ротора: {k_ia};\n'
            f'- Tf: Постоянная времени дифференцирующего звена в канале по частоте: {tf};\n'
            f'- Kf: Коэффициент усиления в канале по частоте: {kf};\n'
            f'- Kf1: Коэффициент усиления в канале по производной частоты: {kf1};\n'
            f'- TINT: Постоянная времени интегратора: {tint};\n'
            f'{separator_two}\n')
    if Id is None and row_id is None:
        print(f'{separator_two}'
              f'Не задано значение Id и/или row_id!'
              f'{separator_two}')
Esempio n. 23
0
def delete_switches(viborka):
    node = RASTR.Tables(Node.table)
    vetv = RASTR.Tables(Vetv.table)
    generator = RASTR.Tables(Generator.table)

    groupCorrVetvGroupidObj = GroupCorr(rastr_win=RASTR,
                                        table=Vetv.table,
                                        column=Vetv.groupid)

    findNextSelNodeObj = FindNextSel(rastr_win=RASTR,
                                     table=Node.table)

    variableObj = Variable(rastr_win=RASTR,
                           switch_command_line=False)

    gettingParameterObj = GettingParameter(rastr_win=RASTR)

    node.SetSel(viborka)
    node.Cols(Node.sel).Calc("1")

    k = findNextSelNodeObj.row(key='iq.sel=1 & ip.sel=0 &!sta')
    while k != (-1):
        iq1 = gettingParameterObj.get_cell_row(table=Vetv.table,
                                               column=Vetv.iq,
                                               row_id=k)
        k2 = findNextSelNodeObj.row(key=f'{Node.ny}={iq1}')
        if k2 != (-1):
            variableObj.make_changes_row(table=Node.table,
                                         column=Node.sel,
                                         row_id=k2,
                                         value=0)
        k = vetv.FindNextSel(k)

    k = findNextSelNodeObj.row(key='iq.sel=0 & ip.sel=1 & !sta')
    while k != (-1):
        ip1 = gettingParameterObj.get_cell_row(table=Vetv.table,
                                               column=Vetv.ip,
                                               row_id=k)
        k2 = findNextSelNodeObj.row(key=f'{Node.ny}={ip1}')
        if k2 != (-1):
            variableObj.make_changes_row(table=Node.table,
                                         column=Node.sel,
                                         row_id=k2,
                                         value=0)
        k = vetv.FindNextSel(k)

    k = findNextSelNodeObj.row(key='(iq.sel=1 & ip.sel=0)|(ip.sel=1 & iq.sel=0) & tip=2')
    while k != (-1):
        iq1 = gettingParameterObj.get_cell_row(table=Vetv.table,
                                               column=Vetv.iq,
                                               row_id=k)
        k2 = findNextSelNodeObj.row(key=f'{Node.ny}={iq1}')
        if k2 != (-1):
            variableObj.make_changes_row(table=Node.table,
                                         column=Node.sel,
                                         row_id=k2,
                                         value=0)
        ip1 = gettingParameterObj.get_cell_row(table=Vetv.table,
                                               column=Vetv.ip,
                                               row_id=k2)
        k2 = findNextSelNodeObj.row(key=f'{Node.ny}={ip1}')
        if k2 != (-1):
            variableObj.make_changes_row(table=Node.table,
                                         column=Node.sel,
                                         row_id=k2,
                                         value=0)

        k = findNextSelNodeObj.row(key='(iq.sel=1 &ip.sel=0) | (ip.sel=1 &iq.sel=0) & tip=2')

    viborka_in_bsh = '(iq.bsh>0 & ip.bsh=0) | (ip.bsh>0 & iq.bsh=0) | (iq.bshr>0 & ip.bshr=0) | (ip.bshr>0 & iq.bshr=0)| ip.sel=0 | iq.sel=0)'

    groupCorrVetvGroupidObj.calc(key='1',
                                 formula='0')

    groupCorrVetvGroupidObj.calc(key=viborka_in_bsh,
                                 formula='1')
    nvet = 0
    flvykl = 0
    for povet in range(0, 10000):
        ivet = findNextSelNodeObj.row(
            key='x<0.01 & x>-0.01 & r<0.005 & r>=0 & (ktr=0 | ktr=1) & !sta & groupid!=1 & b<0.000005')
        if ivet == -1:
            break
        ip = gettingParameterObj.get_cell_row(table=Vetv.table,
                                              column=Vetv.ip,
                                              row_id=ivet)
        iq = gettingParameterObj.get_cell_row(table=Vetv.table,
                                              column=Vetv.iq,
                                              row_id=ivet)

        if ip > iq:
            ny = iq
            ndel = ip
        else:
            ny = ip
            ndel = iq

        ndny = 0
        ndndel = 0