32 lines
943 B
Plaintext
32 lines
943 B
Plaintext
@startuml
|
||
start
|
||
|
||
:Считать DATA_FROM_PCON;
|
||
:Обновить фильтры DINPUT (DFILTER_COUNTER, DINP_FILTER*);
|
||
:Обработать CALC_SM_STATE (0..6)\nADC -> физ. величины;
|
||
|
||
:Обновить VIN/VOUT/CURRENT фильтры;
|
||
:Рассчитать защиты\n(OVERCURRENT, OVERVOLTAGE, OVERTEMP);
|
||
:Обновить BRAKE_ENERGY_*;
|
||
|
||
if (CHOPPER_ENABLE && !GlobalError) then (yes)
|
||
:PI-регулятор\n(REG_INPUT, REG_OUTPUT, REG_CURRENT_LIMIT);
|
||
else (no)
|
||
:Сброс регулятора\n(REG_INTEGRATOR и др.);
|
||
endif
|
||
|
||
:Расчёт CHOPPER_PWM_WIDTH_LIMIT;
|
||
:Генерация ШИМ для CHOPP_BOT_IGBT;
|
||
|
||
if (GlobalError || !BRAKE_ENABLE || BRAKE_ERROR) then (off)
|
||
:BRAKE_TOP_IGBT = 0;
|
||
else (on)
|
||
:Генерация ШИМ для BRAKE_TOP_IGBT;
|
||
endif
|
||
|
||
:Логика вентилятора (DIGITAL_OUTPUT[2]);
|
||
:Формирование DATA_TO_PCON\nи разбор DATA_FROM_PCON;
|
||
|
||
stop
|
||
@enduml
|