Add editable PI controller coefficient fields to GUI

This commit is contained in:
awe
2026-07-29 17:37:50 +03:00
parent 43d490e2f8
commit c6a7e84558
3 changed files with 42 additions and 4 deletions
+20 -3
View File
@@ -19,6 +19,11 @@ SET_MANUAL_MODE_TEXT = 'Ручной режим ввода'
SET_TEXT_WIDTH = 34
SET_INPUT_WIDTH = 5
SET_KP_TEXT_1 = 'Коэфф. P регулятора лазера 1 (0-255):'
SET_KI_TEXT_1 = 'Коэфф. I регулятора лазера 1 (0-255):'
SET_KP_TEXT_2 = 'Коэфф. P регулятора лазера 2 (0-255):'
SET_KI_TEXT_2 = 'Коэфф. I регулятора лазера 2 (0-255):'
SET_MIN_TEMPERATURE_TEXT_1 = 'Минимальная температура лазера 1 (C):'
SET_MAX_TEMPERATURE_TEXT_1 = 'Максимальная температура лазера 1 (C):'
SET_DELTA_TEMPERATURE_TEXT_1 = 'Шаг дискретизации температуры лазера 1 (0.05-1 С):'
@@ -110,7 +115,13 @@ def setup_gui(params):
[sg.Text(SET_CURRENT_TEXT_1, size=(SET_TEXT_WIDTH, 1)), sg.Push(),
sg.Input(params['Iset_1'], disabled_readonly_background_color="Gray", size=(SET_INPUT_WIDTH,1), key='-InputI1-', disabled = True)],
[sg.Text(SET_KP_TEXT_1, size=(SET_TEXT_WIDTH, 1)), sg.Push(),
sg.Input(params['ProportionalCoeff_1']/256, size=(SET_INPUT_WIDTH,1), key='-InputKp1-')],
[sg.Text(SET_KI_TEXT_1, size=(SET_TEXT_WIDTH, 1)), sg.Push(),
sg.Input(params['IntegralCoeff_1']/256, size=(SET_INPUT_WIDTH,1), key='-InputKi1-')],
[sg.HSeparator(pad=H_SEPARATOR_PAD)],
[sg.Push(), sg.Text(READ_TEMPERATURE_TEXT+' 1: ', key='-TOUT_1-')],
@@ -129,9 +140,15 @@ def setup_gui(params):
layout_input_col2 = [[sg.Text(SET_TEMPERATURE_TEXT_2, size=(SET_TEXT_WIDTH, 1)), sg.Push(),
sg.Input(params['Temp_2'], disabled_readonly_background_color="Gray", size=(SET_INPUT_WIDTH,1), key='-InputT2-', disabled = True)],
[sg.Text(SET_CURRENT_TEXT_2, size=(SET_TEXT_WIDTH, 1)), sg.Push(),
[sg.Text(SET_CURRENT_TEXT_2, size=(SET_TEXT_WIDTH, 1)), sg.Push(),
sg.Input(params['Iset_2'], disabled_readonly_background_color="Gray", size=(SET_INPUT_WIDTH,1), key='-InputI2-', disabled = True)],
[sg.Text(SET_KP_TEXT_2, size=(SET_TEXT_WIDTH, 1)), sg.Push(),
sg.Input(params['ProportionalCoeff_2']/256, size=(SET_INPUT_WIDTH,1), key='-InputKp2-')],
[sg.Text(SET_KI_TEXT_2, size=(SET_TEXT_WIDTH, 1)), sg.Push(),
sg.Input(params['IntegralCoeff_2']/256, size=(SET_INPUT_WIDTH,1), key='-InputKi2-')],
[sg.HSeparator(pad=H_SEPARATOR_PAD)],
[sg.Push(), sg.Text(READ_TEMPERATURE_TEXT+' 2: ', key='-TOUT_2-')],