From 9f9af482cf01cd4ce36cfdbacf62f27c9ee79adb Mon Sep 17 00:00:00 2001 From: Razvalyaev Date: Sat, 24 Jan 2026 15:30:19 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A7=D1=83=D1=82=D1=8C=20=D1=80=D0=B5=D1=84?= =?UTF-8?q?=D0=B0=D0=BA=D1=82=D0=BE=D1=80=D0=B8=D0=BD=D0=B3=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MATLAB/upp_r2023.slx | Bin 93452 -> 94055 bytes UPP/Core/Configs/upp_defs.h | 83 +++++- UPP/Core/Inc/main.h | 6 + UPP/Core/PowerMonitor/power_monitor.c | 22 +- UPP/Core/PowerMonitor/power_protect.c | 106 ++++---- UPP/Core/PowerMonitor/power_protect.h | 6 +- UPP/Core/UPP/upp_errors.c | 100 ++++---- UPP/Core/UPP/upp_errors.h | 142 +++++------ UPP/Core/UPP/upp_main.c | 32 +-- UPP/Core/UPP/upp_params.c | 240 +++++++++--------- UPP/MDK-ARM/UPP.uvoptx | 66 ++--- UPP/MDK-ARM/UPP.uvprojx | 40 +-- .../Modbus Карта.docx | Bin 0 -> 14614 bytes 13 files changed, 445 insertions(+), 398 deletions(-) create mode 100644 Информация для программиста (УПП СП СЭД)/Modbus Карта.docx diff --git a/MATLAB/upp_r2023.slx b/MATLAB/upp_r2023.slx index 7899bcfffdc7abdc817682c1eb74e4a80b6d2182..827ce7c4fdb9d16327e78990edcbde3e8aa400d8 100644 GIT binary patch delta 73109 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 PGQGWs=R%D!oTj1w)tA$4Q2l?T&d$!( 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

;)nw$&69?ZxHzoW>JcDt{K8{7W>AtCGv|V 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.U, 10); + float i_base = u2f(PARAM_INTERNAL->nominal.I, 10); for(int i = 0; i < 3; i++) { /* Получение частоты фазы */ @@ -189,8 +189,8 @@ void PowerMonitor_FastCalc(PowerMonitor_t *hpm) { if(hpm == NULL) return; - float u_base = u2f(PARAM_INTERNAL.nominal.U, 10); - float i_base = u2f(PARAM_INTERNAL.nominal.I, 10); + float u_base = u2f(PARAM_INTERNAL->nominal.U, 10); + float i_base = u2f(PARAM_INTERNAL->nominal.I, 10); PowerMonitor_Measured_t *meas = &hpm->measured; /* Считываем АЦП с пересчетами и медианой фильтрацией от выбросов */ @@ -233,8 +233,8 @@ void PowerMonitor_FastCalc(PowerMonitor_t *hpm) } else // если уже запущена - ставим overrun slow calc { - ERR_PRIVATE.overrun_slow_calc = 1; - ERR_PRIVATE_CNT.overrun_slow_calc++; + ERR_PRIVATE->overrun_slow_calc = 1; + ERR_PRIVATE_CNT->overrun_slow_calc++; } } else @@ -258,21 +258,21 @@ int PowerMonitor_Protect(PowerMonitor_t *hpm, uint8_t Running) return 1; PowerMonitor_Measured_t *measure = &hpm->measured; - UPP_PUI_Params_t *protect = &PARAM_PUI; - UPP_ParamsNominal_t *nominal = &PARAM_INTERNAL.nominal; + UPP_PUI_Params_t *params = PARAM_PUI; + UPP_ParamsNominal_t *nominal = &PARAM_INTERNAL->nominal; /*=============== ЗАЩИТЫ ПО НАПРЯЖЕНИЮ ==================*/ - hpm->f.isU = Protect_Voltages(measure, protect, nominal); + hpm->f.isU = Protect_Voltages(measure, params, nominal); /* Если УПП в работе */ if(Running) { /*=============== ЗАЩИТЫ ПО ТОКУ ==================*/ - hpm->f.isI = Protect_Currents(measure, protect, nominal); + hpm->f.isI = Protect_Currents(measure, params, nominal); } /*=============== ЗАЩИТЫ ВСЯКИЕ ДРУГИЕ ==================*/ - Protect_Misc(measure, protect, nominal); + Protect_Misc(measure, params, nominal); if(errors.prvt.f.all) diff --git a/UPP/Core/PowerMonitor/power_protect.c b/UPP/Core/PowerMonitor/power_protect.c index 11ac38b..74e254b 100644 --- a/UPP/Core/PowerMonitor/power_protect.c +++ b/UPP/Core/PowerMonitor/power_protect.c @@ -14,40 +14,40 @@ * Потом в @ref UPP_ErrorsHandle исходя из них заполняются ошибки для ПУИ * @return 1 - напряжение есть, 0 - напряжения нет */ -int Protect_Voltages(PowerMonitor_Measured_t *measure, UPP_PUI_Params_t *protect, UPP_ParamsNominal_t *nominal) +int Protect_Voltages(PowerMonitor_Measured_t *measure, UPP_PUI_Params_t *params, UPP_ParamsNominal_t *nominal) { /* Переводим уставки ПУИ в удобный вид */ - float lUmin = u2f(protect->Umin, 100)/**u2f(nominal->U, 10)*/; - float lUmax = u2f(protect->Umax, 100)/**u2f(nominal->U, 10)*/; + float lUmin = u2f(params->Umin, 100)/**u2f(nominal->U, 10)*/; + float lUmax = u2f(params->Umax, 100)/**u2f(nominal->U, 10)*/; float lPhaseSequence = u2f(nominal->PhaseSequence, 100); /* Общее напряжение */ if(measure->final.Uamp > lUmax) { - ERR_PRIVATE.uamp_max = 1; + ERR_PRIVATE->uamp_max = 1; } else if (measure->final.Uamp < lUmin) { - ERR_PRIVATE.uamp_min = 1; + ERR_PRIVATE->uamp_min = 1; } else { - ERR_PRIVATE.uamp_max = 0; - ERR_PRIVATE.uamp_min = 0; + ERR_PRIVATE->uamp_max = 0; + ERR_PRIVATE->uamp_min = 0; } /* Последовательность фаз */ int realPhaseSequence = 0; if(realPhaseSequence != lPhaseSequence) { - ERR_PRIVATE.interlance = 1; + ERR_PRIVATE->interlance = 1; } else { - ERR_PRIVATE.interlance = 0; + ERR_PRIVATE->interlance = 0; } - return (ERR_PRIVATE.uamp_min == 0); + return (ERR_PRIVATE->uamp_min == 0); } /** @@ -55,72 +55,72 @@ int Protect_Voltages(PowerMonitor_Measured_t *measure, UPP_PUI_Params_t *protect * @note Заполняет флаги prvt ошибок (приватные). * Потом в @ref UPP_ErrorsHandle исходя из них заполняются ошибки для ПУИ */ -int Protect_Currents(PowerMonitor_Measured_t *measure, UPP_PUI_Params_t *protect, UPP_ParamsNominal_t *nominal) +int Protect_Currents(PowerMonitor_Measured_t *measure, UPP_PUI_Params_t *params, UPP_ParamsNominal_t *nominal) { /* Переводим уставки ПУИ в удобный вид */ - float lIref = u2f(protect->Iref, 100)/**u2f(nominal->I, 10)*/; - float lImin = u2f(protect->Imin, 100)/**u2f(nominal->I, 10)*/; - float lImax = u2f(protect->Imax, 100) * 50 / u2f(nominal->I, 10); // Imax процентов от 50 А, в о.е. от номинального + float lIref = u2f(params->Iref, 100)/**u2f(nominal->I, 10)*/; + float lImin = u2f(params->Imin, 100)/**u2f(nominal->I, 10)*/; + float lImax = u2f(params->Imax, 100) * 50 / u2f(nominal->I, 10); // Imax процентов от 50 А, в о.е. от номинального /* Общий ток */ if(measure->final.Iamp > lImax) { - ERR_PRIVATE.iamp_max = 1; + ERR_PRIVATE->iamp_max = 1; } else if (measure->final.Iamp < lImin) { - ERR_PRIVATE.iamp_min = 1; + ERR_PRIVATE->iamp_min = 1; } else { - ERR_PRIVATE.iamp_max = 0; - ERR_PRIVATE.iamp_min = 0; + ERR_PRIVATE->iamp_max = 0; + ERR_PRIVATE->iamp_min = 0; } /* Ток по фазам */ if(measure->final.I[I_A] > lImax) { - ERR_PRIVATE.ia_max = 1; + ERR_PRIVATE->ia_max = 1; } else if (measure->final.I[I_A] < lImin) { - ERR_PRIVATE.ia_min = 1; + ERR_PRIVATE->ia_min = 1; } else { - ERR_PRIVATE.ia_max = 0; - ERR_PRIVATE.ia_min = 0; + ERR_PRIVATE->ia_max = 0; + ERR_PRIVATE->ia_min = 0; } if(measure->final.I[I_B] > lImax) { - ERR_PRIVATE.ib_max = 1; + ERR_PRIVATE->ib_max = 1; } else if (measure->final.I[I_B] < lImin) { - ERR_PRIVATE.ib_min = 1; + ERR_PRIVATE->ib_min = 1; } else { - ERR_PRIVATE.ib_max = 0; - ERR_PRIVATE.ib_min = 0; + ERR_PRIVATE->ib_max = 0; + ERR_PRIVATE->ib_min = 0; } if(measure->final.I[I_C] > lImax) { - ERR_PRIVATE.ic_max = 1; + ERR_PRIVATE->ic_max = 1; } else if (measure->final.I[I_C] < lImin) { - ERR_PRIVATE.ic_min = 1; + ERR_PRIVATE->ic_min = 1; } else { - ERR_PRIVATE.ic_max = 0; - ERR_PRIVATE.ic_min = 0; + ERR_PRIVATE->ic_max = 0; + ERR_PRIVATE->ic_min = 0; } - return (ERR_PRIVATE.iamp_min == 0); + return (ERR_PRIVATE->iamp_min == 0); } @@ -130,58 +130,58 @@ int Protect_Currents(PowerMonitor_Measured_t *measure, UPP_PUI_Params_t *protect * @note Заполняет флаги prvt ошибок (приватные). * Потом в @ref UPP_ErrorsHandle исходя из них заполняются ошибки для ПУИ */ -void Protect_Misc(PowerMonitor_Measured_t *measure, UPP_PUI_Params_t *protect, UPP_ParamsNominal_t *nominal) +void Protect_Misc(PowerMonitor_Measured_t *measure, UPP_PUI_Params_t *params, UPP_ParamsNominal_t *nominal) { /* Переводим внутренние уставки в удобный вид */ - float lFnom = u2f(PARAM_INTERNAL.nominal.F, 100); - float lFmin = lFnom - lFnom*u2f(PARAM_INTERNAL.nominal.F_deviation_minus, 10000); - float lFmax = lFnom + lFnom*u2f(PARAM_INTERNAL.nominal.F_deviation_plus, 10000); + float lFnom = u2f(PARAM_INTERNAL->nominal.F, 100); + float lFmin = lFnom - lFnom*u2f(PARAM_INTERNAL->nominal.F_deviation_minus, 10000); + float lFmax = lFnom + lFnom*u2f(PARAM_INTERNAL->nominal.F_deviation_plus, 10000); - float lTwarn = u2f(PARAM_INTERNAL.setpoints.TemperatureWarn, 100); - float lTerr = u2f(PARAM_INTERNAL.setpoints.TemperatureWarn, 100); + float lTwarn = u2f(PARAM_INTERNAL->setpoints.TemperatureWarn, 100); + float lTerr = u2f(PARAM_INTERNAL->setpoints.TemperatureWarn, 100); /*=============== ЗАЩИТЫ ПО ЧАСТОТЕ ==================*/ if(measure->final.F[U_CA] > lFmax) { - ERR_PRIVATE.fac_max = 1; + ERR_PRIVATE->fac_max = 1; } else if (measure->final.F[U_CA] < lFmin) { - ERR_PRIVATE.fac_min = 1; + ERR_PRIVATE->fac_min = 1; } else { - ERR_PRIVATE.fac_max = 0; - ERR_PRIVATE.fac_min = 0; + ERR_PRIVATE->fac_max = 0; + ERR_PRIVATE->fac_min = 0; } if(measure->final.F[U_AB] > lFmax) { - ERR_PRIVATE.fba_max = 1; + ERR_PRIVATE->fba_max = 1; } else if (measure->final.F[U_AB] < lFmin) { - ERR_PRIVATE.fba_min = 1; + ERR_PRIVATE->fba_min = 1; } else { - ERR_PRIVATE.fba_max = 0; - ERR_PRIVATE.fba_min = 0; + ERR_PRIVATE->fba_max = 0; + ERR_PRIVATE->fba_min = 0; } if(measure->final.F[U_BC] > lFmax) { - ERR_PRIVATE.fbc_max = 1; + ERR_PRIVATE->fbc_max = 1; } else if (measure->final.F[U_BC] < lFmin) { - ERR_PRIVATE.fbc_min = 1; + ERR_PRIVATE->fbc_min = 1; } else { - ERR_PRIVATE.fbc_max = 0; - ERR_PRIVATE.fbc_min = 0; + ERR_PRIVATE->fbc_max = 0; + ERR_PRIVATE->fbc_min = 0; } @@ -189,15 +189,15 @@ void Protect_Misc(PowerMonitor_Measured_t *measure, UPP_PUI_Params_t *protect, U /*=============== ЗАЩИТЫ ПО ТЕМПЕРАТУРЕ ==================*/ if(measure->final.T[TEMP_1] > lTerr) { - ERR_PRIVATE.temp_err = 1; + ERR_PRIVATE->temp_err = 1; } else if (measure->final.T[TEMP_1] > lTwarn) { - ERR_PRIVATE.temp_warn = 1; + ERR_PRIVATE->temp_warn = 1; } else { - ERR_PRIVATE.temp_err = 0; - ERR_PRIVATE.temp_warn = 0; + ERR_PRIVATE->temp_err = 0; + ERR_PRIVATE->temp_warn = 0; } } diff --git a/UPP/Core/PowerMonitor/power_protect.h b/UPP/Core/PowerMonitor/power_protect.h index c19502b..06114d9 100644 --- a/UPP/Core/PowerMonitor/power_protect.h +++ b/UPP/Core/PowerMonitor/power_protect.h @@ -10,9 +10,9 @@ /* Проверяет защиты по напряжению. */ -int Protect_Voltages(PowerMonitor_Measured_t *measure, UPP_PUI_Params_t *protect, UPP_ParamsNominal_t *nominal); +int Protect_Voltages(PowerMonitor_Measured_t *measure, UPP_PUI_Params_t *params, UPP_ParamsNominal_t *nominal); /* Проверяет защиты по току. */ -int Protect_Currents(PowerMonitor_Measured_t *measure, UPP_PUI_Params_t *protect, UPP_ParamsNominal_t *nominal); +int Protect_Currents(PowerMonitor_Measured_t *measure, UPP_PUI_Params_t *params, UPP_ParamsNominal_t *nominal); /* Проверяет всякие другие защиты (частота, температура). */ -void Protect_Misc(PowerMonitor_Measured_t *measure, UPP_PUI_Params_t *protect, UPP_ParamsNominal_t *nominal); +void Protect_Misc(PowerMonitor_Measured_t *measure, UPP_PUI_Params_t *params, UPP_ParamsNominal_t *nominal); #endif /* _POWER_PROTECT_H_ */ diff --git a/UPP/Core/UPP/upp_errors.c b/UPP/Core/UPP/upp_errors.c index 090a843..1ea4619 100644 --- a/UPP/Core/UPP/upp_errors.c +++ b/UPP/Core/UPP/upp_errors.c @@ -7,10 +7,10 @@ Общая логика: В программе выставляются всякие внутренние флаги ошибок: ERR_PRIVATE В этом модуле смотрятся какие флаги выставились и переносят эти флаги -в структуру ошибок ПУИ ERR_PUI. +в структуру ошибок ПУИ ERR_PUI-> Исключение: Программные ошибки и ошибки питания плат, -они пишутся напрямую в ERR_PUI. +они пишутся напрямую в ERR_PUI-> Также реализована защита от дребезга и в целом задержка на выставление ошибок. ******************************************************************************/ @@ -67,17 +67,17 @@ void UPP_Errors_Power(void) int err_5Vsi = GPIO_Read_Switch(&UPP_DIN.err_5Vsi); int err_Va = GPIO_Read_Switch(&UPP_DIN.err_Va); - ERR_PUI.Power_DIO_24V = err_24Vdio; - ERR_PUI.Power_24V = err_24V; - ERR_PUI.Power_Digit_5V = err_5Vd; - ERR_PUI.Power_SCI_5V = err_5Vsi; - ERR_PUI.Power_Analog_5V = err_Va; + ERR_PUI->Power_DIO_24V = err_24Vdio; + ERR_PUI->Power_24V = err_24V; + ERR_PUI->Power_Digit_5V = err_5Vd; + ERR_PUI->Power_SCI_5V = err_5Vsi; + ERR_PUI->Power_Analog_5V = err_Va; } void UPP_Errors_Ranges(void) { /* Преобразуем уставки в нормальные тики */ - float ticksTiMax = u2f(PARAM_PUI.TiMax, 1)/PM_SLOW_PERIOD_US; + float ticksTiMax = u2f(PARAM_PUI->TiMax, 1)/PM_SLOW_PERIOD_US; /* Счетчики для отсчитывания задержки выставления ошибки */ static int IMaxCnt = 0; static int UMaxCnt = 0; @@ -87,48 +87,48 @@ void UPP_Errors_Ranges(void) static int TMaxCnt = 0; /* Напряжения */ - ERR_PUI.OverVoltage = setError(ERR_PRIVATE.uamp_max, - ERR_PUI.OverVoltage, + ERR_PUI->OverVoltage = setError(ERR_PRIVATE->uamp_max, + ERR_PUI->OverVoltage, &UMaxCnt, MS_TO_SLOW_TICKS(ERRORS_DELAY_MS_UAMP_ERR)); - ERR_PUI.UnderVoltage = setError(ERR_PRIVATE.uamp_min, - ERR_PUI.UnderVoltage, + ERR_PUI->UnderVoltage = setError(ERR_PRIVATE->uamp_min, + ERR_PUI->UnderVoltage, &UMinCnt, MS_TO_SLOW_TICKS(ERRORS_DELAY_MS_UAMP_ERR)); /* Токи */ - int i_max = ( ERR_PRIVATE.iamp_max || - ERR_PRIVATE.ia_max || - ERR_PRIVATE.ib_max || - ERR_PRIVATE.ic_max); - ERR_PUI.OverCurrent = setError(i_max, - ERR_PUI.OverCurrent, + int i_max = ( ERR_PRIVATE->iamp_max || + ERR_PRIVATE->ia_max || + ERR_PRIVATE->ib_max || + ERR_PRIVATE->ic_max); + ERR_PUI->OverCurrent = setError(i_max, + ERR_PUI->OverCurrent, &IMaxCnt, ticksTiMax); /* Частота */ - int f_max = ( ERR_PRIVATE.fac_max || - ERR_PRIVATE.fba_max || - ERR_PRIVATE.fbc_max); - int f_min = ( ERR_PRIVATE.fac_min || - ERR_PRIVATE.fba_min || - ERR_PRIVATE.fbc_min); - ERR_PUI.OverFrequency = setError(f_max, - ERR_PUI.OverFrequency, + int f_max = ( ERR_PRIVATE->fac_max || + ERR_PRIVATE->fba_max || + ERR_PRIVATE->fbc_max); + int f_min = ( ERR_PRIVATE->fac_min || + ERR_PRIVATE->fba_min || + ERR_PRIVATE->fbc_min); + ERR_PUI->OverFrequency = setError(f_max, + ERR_PUI->OverFrequency, &FMaxCnt, MS_TO_SLOW_TICKS(ERRORS_DELAY_MS_F_ERR)); - ERR_PUI.UnderFrequency = setError( f_min, - ERR_PUI.UnderFrequency, + ERR_PUI->UnderFrequency = setError( f_min, + ERR_PUI->UnderFrequency, &FMinCnt, MS_TO_SLOW_TICKS(ERRORS_DELAY_MS_F_ERR)); /* Температуры */ - ERR_PUI.OverTemperature = setError(ERR_PRIVATE.temp_err, - ERR_PUI.OverTemperature, + ERR_PUI->OverTemperature = setError(ERR_PRIVATE->temp_err, + ERR_PUI->OverTemperature, &TMaxCnt, MS_TO_SLOW_TICKS(ERRORS_DELAY_MS_DEFAULT)); } @@ -141,39 +141,39 @@ void UPP_Errors_LossPhase(void) static int LossPhaseBCnt = 0; static int LossPhaseCCnt = 0; - int loss_phases_all = ( ERR_PRIVATE.ia_min && - ERR_PRIVATE.ib_min && - ERR_PRIVATE.ic_min ); + int loss_phases_all = ( ERR_PRIVATE->ia_min && + ERR_PRIVATE->ib_min && + ERR_PRIVATE->ic_min ); - ERR_PUI.LossPhaseAll = setError( loss_phases_all, - ERR_PUI.LossPhaseAll, + ERR_PUI->LossPhaseAll = setError( loss_phases_all, + ERR_PUI->LossPhaseAll, &LossPhaseAllCnt, MS_TO_SLOW_TICKS(ERRORS_DELAY_MS_DEFAULT)); /* Если хотя бы одна фаза есть проверяем фазы отдельно */ - if(!ERR_PUI.LossPhaseAll) + if(!ERR_PUI->LossPhaseAll) { - ERR_PUI.LossPhaseA = setError( ERR_PRIVATE.ia_min, - ERR_PUI.LossPhaseA, + ERR_PUI->LossPhaseA = setError( ERR_PRIVATE->ia_min, + ERR_PUI->LossPhaseA, &LossPhaseACnt, MS_TO_SLOW_TICKS(ERRORS_DELAY_MS_DEFAULT)); - ERR_PUI.LossPhaseB = setError( ERR_PRIVATE.ib_min, - ERR_PUI.LossPhaseB, + ERR_PUI->LossPhaseB = setError( ERR_PRIVATE->ib_min, + ERR_PUI->LossPhaseB, &LossPhaseBCnt, MS_TO_SLOW_TICKS(ERRORS_DELAY_MS_DEFAULT)); - ERR_PUI.LossPhaseC = setError( ERR_PRIVATE.ic_min, - ERR_PUI.LossPhaseC, + ERR_PUI->LossPhaseC = setError( ERR_PRIVATE->ic_min, + ERR_PUI->LossPhaseC, &LossPhaseCCnt, MS_TO_SLOW_TICKS(ERRORS_DELAY_MS_DEFAULT)); } /* Если всех фаз нет, то отдельные не смотрим */ else { - ERR_PUI.LossPhaseA = 0; - ERR_PUI.LossPhaseB = 0; - ERR_PUI.LossPhaseC = 0; + ERR_PUI->LossPhaseA = 0; + ERR_PUI->LossPhaseB = 0; + ERR_PUI->LossPhaseC = 0; } } @@ -182,13 +182,13 @@ void UPP_Errors_Other(void) static int InterlaceCnt = 0; - if(ERR_PRIVATE.longstart) - ERR_PUI.LongStart = 1; + if(ERR_PRIVATE->longstart) + ERR_PUI->LongStart = 1; else - ERR_PUI.LongStart = 0; + ERR_PUI->LongStart = 0; - ERR_PUI.Interlace = setError(ERR_PRIVATE.interlance, - ERR_PUI.Interlace, + ERR_PUI->Interlace = setError(ERR_PRIVATE->interlance, + ERR_PUI->Interlace, &InterlaceCnt, MS_TO_SLOW_TICKS(ERRORS_DELAY_MS_DEFAULT)); //Interlance diff --git a/UPP/Core/UPP/upp_errors.h b/UPP/Core/UPP/upp_errors.h index c314ffc..fdebec0 100644 --- a/UPP/Core/UPP/upp_errors.h +++ b/UPP/Core/UPP/upp_errors.h @@ -50,7 +50,62 @@ static const uint8_t UPP_ErrorPriority[] = }; +/** + * @brief Приватные ошибки + * @details Ииспользуются внутри программы и для определение ошибки для ПУИ + */ +typedef struct +{ + unsigned uamp_max:1; + unsigned uamp_min:1; + unsigned iamp_max:1; + unsigned iamp_min:1; + + unsigned ic_max:1; + unsigned ic_min:1; + unsigned ib_max:1; + unsigned ib_min:1; + unsigned ia_max:1; + unsigned ia_min:1; + + unsigned uba_max:1; + unsigned uba_min:1; + unsigned uac_max:1; + unsigned uac_min:1; + unsigned ubc_max:1; + unsigned ubc_min:1; + + unsigned fba_max:1; + unsigned fba_min:1; + unsigned fac_max:1; + unsigned fac_min:1; + unsigned fbc_max:1; + unsigned fbc_min:1; + + + unsigned temp_warn:1; + unsigned temp_err:1; + + unsigned longstart:1; + unsigned interlance:3; + + unsigned overrun_slow_calc:1; + unsigned overrun_fast_calc:1; +}UPP_PrvtErrors_t; +/** + * @brief Счетчики ошибок + */ +typedef struct +{ + uint16_t angle_reinit_err; + uint16_t adc_reinit_err; + uint16_t zc_reinit_err; + uint16_t pwm_reinit_err; + uint16_t overrun_slow_calc; + uint16_t overrun_fast_calc; +}UPP_ErrorsCnt_t; + /** * @brief Структура с всеми ошибками УПП */ @@ -61,97 +116,18 @@ typedef struct union { uint32_t all; - struct - { - /* Програмные ошибки */ - unsigned Internal_1:1; ///< Ошибка 1: Внутренняя неисправность УПП 1 - unsigned Internal_2:1; ///< Ошибка 2: Внутренняя неисправность УПП 2 - unsigned Internal_3:1; ///< Ошибка 3: Внутренняя неисправность УПП 3 - unsigned Internal_4:1; ///< Ошибка 4: Внутренняя неисправность УПП 4 - unsigned Internal_5:1; ///< Ошибка 5: Внутренняя неисправность УПП 5 - unsigned Internal_6:1; ///< Ошибка 6: Внутренняя неисправность УПП 6 - - /* Ошибки по питанию */ - unsigned Power_Digit_5V:1; ///< Ошибка 7: Неисправность цифрового источника питания (5 В) - unsigned Power_24V:1; ///< Ошибка 8: Неисправность источника питания 24 В - unsigned Power_Analog_5V:1; ///< Ошибка 9: Неисправность аналогового источника питания микроконтроллера (± 5 В) - unsigned Power_SCI_5V:1; ///< Ошибка 10: Неисправность источника питания последовательных интерфейсов микроконтроллера (5 В) - unsigned Power_DIO_24V:1; ///< Ошибка 11: Неисправность источника питания дискретных входов/выходов (24 В) - - /* Ошибки по допустимым пределам Наряжений/Токов/Температуры */ - unsigned OverCurrent:1; ///< Ошибка 12: Ток выше допустимого (см. Imax и TiMax в @ref UPP_PUI_Params_t) - unsigned OverVoltage:1; ///< Ошибка 13: Напряжение сети выше допустимого (см. Umах в @ref UPP_PUI_Params_t) - unsigned OverTemperature:1; ///< Ошибка 14: Температура выше допустимой (плюс 85 °C) - unsigned UnderVoltage:1; ///< Ошибка 15: Напряжение сети ниже допустимого (см. Umin в @ref UPP_PUI_Params_t) - - /* Ошибки по обрывам фаз */ - unsigned LossPhaseAll:1; ///< Ошибка 16: Обрыв трёх фаз (см. Imin в @ref UPP_PUI_Params_t) - unsigned LossPhaseA:1; ///< Ошибка 17: Обрыв фазы A (см. Imin в @ref UPP_PUI_Params_t) - unsigned LossPhaseB:1; ///< Ошибка 18: Обрыв фазы B (см. Imin в @ref UPP_PUI_Params_t) - unsigned LossPhaseC:1; ///< Ошибка 19: Обрыв фазы C (см. Imin в @ref UPP_PUI_Params_t) - - /* Другие ошибки */ - unsigned LongStart:1; ///< Ошибка 20: Затянутый пуск (ток не спадает за установленное время) (см. Tdelay в @ref UPP_PUI_Params_t) - unsigned Interlace:1; ///< Ошибка 21: Неправильный порядок чередования фаз (см. Interlace в @ref UPP_PUI_Params_t) - unsigned OverFrequency:1; ///< Ошибка 22: Частота сети выше допустимой - unsigned UnderFrequency:1; ///< Ошибка 23: Частота сети ниже допустимой - }err; - }pui; + UPP_PUI_Error_t err; + }pui; ///< Ошибки ПУИ struct { union { uint64_t all; - struct - { - unsigned uamp_max:1; - unsigned uamp_min:1; - unsigned iamp_max:1; - unsigned iamp_min:1; - - unsigned ic_max:1; - unsigned ic_min:1; - unsigned ib_max:1; - unsigned ib_min:1; - unsigned ia_max:1; - unsigned ia_min:1; - - unsigned uba_max:1; - unsigned uba_min:1; - unsigned uac_max:1; - unsigned uac_min:1; - unsigned ubc_max:1; - unsigned ubc_min:1; - - unsigned fba_max:1; - unsigned fba_min:1; - unsigned fac_max:1; - unsigned fac_min:1; - unsigned fbc_max:1; - unsigned fbc_min:1; - - - unsigned temp_warn:1; - unsigned temp_err:1; - - unsigned longstart:1; - unsigned interlance:3; - - unsigned overrun_slow_calc:1; - unsigned overrun_fast_calc:1; - }err; + UPP_PrvtErrors_t err; }f; - struct - { - uint16_t angle_reinit_err; - uint16_t adc_reinit_err; - uint16_t zc_reinit_err; - uint16_t pwm_reinit_err; - uint16_t overrun_slow_calc; - uint16_t overrun_fast_calc; - }cnt; + UPP_ErrorsCnt_t cnt; }prvt; ///< Приватные ошибки, не идущие напрямую в ПУИ }UPP_Errors_t; diff --git a/UPP/Core/UPP/upp_main.c b/UPP/Core/UPP/upp_main.c index 092f558..6a94ed9 100644 --- a/UPP/Core/UPP/upp_main.c +++ b/UPP/Core/UPP/upp_main.c @@ -30,7 +30,7 @@ int UPP_App_Init(void) BenchTime_Init(); // Подключение указателей upp.errors = &errors; - upp.PUI.params = &PARAM_PUI; + upp.PUI.params = &MB_DATA.HoldRegs.pui_params; upp.PUI.values = &MB_DATA.InRegs.pui; upp.call = &MB_INTERNAL.FuncCalls; @@ -45,7 +45,7 @@ int UPP_App_Init(void) if(PWM_Init(&upp.hpwm) != HAL_OK) { return 1; - } + } if(Angle_Init(&upp.hangle) != HAL_OK) { return 1; @@ -89,13 +89,14 @@ int UPP_While(void) { static uint32_t slow_cnt = 0; upp.Timings.slow_calc_prd_us = BenchTime_Period(BT_SLOWCALC_PRD, angletim.Instance->CNT, HAL_MAX_DELAY)/ANGLE_TIM2_FREQ_MHZ; - BenchTime_Start(BT_SLOWCALC, angletim.Instance->CNT, HAL_MAX_DELAY); + BenchTime_Start(BT_SLOWCALC, angletim.Instance->CNT, HAL_MAX_DELAY); res = HAL_IWDG_Refresh(&hiwdg); // если не вызываются медленные расчеты - что-то не то сбрасываемся по watchdog + + int razgon_done = (fabsf(upp.hangle.Iref - u2f(PARAM_PUI->Iref, 100)) < 0.1); + // Медленные расчеты - PowerMonitor_SlowCalc(&upp.pm); - - int razgon_done = (fabsf(upp.hangle.Iref - u2f(PARAM_PUI.Iref, 100)) < 0.1); - + PowerMonitor_SlowCalc(&upp.pm); + #ifdef UPP_SIMULATE_I // симулируем токи upp.pm.measured.final.Iamp = upp.hangle.Iref/2; // При симуляции тока не включаем его проверку @@ -110,8 +111,6 @@ int UPP_While(void) UPP_Params_Control(); - - #ifndef UPP_DISABLE_ERROR_BLOCK // если ошибка вызываем СТОП upp.call->stop = (errors.common != Err_None); @@ -129,6 +128,7 @@ int UPP_While(void) // Если СТОП - переходим в ошибку if (upp.call->stop) upp.workmode = UPP_Error; + // Автомат состояний УПП switch(upp.workmode) { @@ -146,8 +146,8 @@ int UPP_While(void) } if(slow_cnt > MS_TO_SLOW_TICKS(UPP_INIT_BEFORE_READY_MS)) - { // конец инициализации - сбрасываем чтобы потом еще раз инициализироватся - slow_cnt = 0; + { // конец инициализации + slow_cnt = 0; // сбрасываем счетчик для следующей инициализации upp.workmode = UPP_Ready; } else @@ -188,16 +188,16 @@ int UPP_While(void) // Коррекция для отсчета угла открытия // 30 градусов - сдвиг между линейными и фазными напряжениями - // 30 градусов - фазовое смщеение эксп. фильтра АЦП для сглаживания напряжений + // 0 градусов - фазовое смщеение эксп. фильтра АЦП для сглаживания напряжений float Correction = 30 + 0; // Регулирование тиристоров - Angle_PID(&upp.hangle, u2f(PARAM_PUI.Iref,100), upp.pm.measured.final.Iamp, Correction); + Angle_PID(&upp.hangle, u2f(PARAM_PUI->Iref,100), upp.pm.measured.final.Iamp, Correction); // если слишком долгий запуск if((local_time() - upp.StartTick) > (upp.PUI.params->Tdelay*1000)) { - ERR_PRIVATE.longstart = 1; + ERR_PRIVATE->longstart = 1; } break; @@ -272,8 +272,8 @@ void UPP_ADC_Handle(void) if(upp.pm.f.inIsr) { - ERR_PRIVATE.overrun_fast_calc = 1; - ERR_PRIVATE_CNT.overrun_fast_calc++; + ERR_PRIVATE->overrun_fast_calc = 1; + ERR_PRIVATE_CNT->overrun_fast_calc++; return; } upp.pm.f.inIsr = 1; diff --git a/UPP/Core/UPP/upp_params.c b/UPP/Core/UPP/upp_params.c index 35ce7ca..fe85ad3 100644 --- a/UPP/Core/UPP/upp_params.c +++ b/UPP/Core/UPP/upp_params.c @@ -23,7 +23,7 @@ * * // В UPP_Params_ControlInternal(): * float new_param = module.param; -* if(__CheckParamF(&new_param, PARAM_INTERNAL.new_param, 1000)) +* if(__CheckParamF(&new_param, PARAM_INTERNAL->new_param, 1000)) * { * module_update = 1; * } @@ -36,7 +36,7 @@ * } * * // В UPP_Params_SetDefault(): -* PARAM_INTERNAL.new_param = NEW_PARAM_DEFAULT * 1000; +* PARAM_INTERNAL->new_param = NEW_PARAM_DEFAULT * 1000; * ****************************************************************************** */ @@ -75,7 +75,7 @@ void UPP_Params_ControlPUI(void) return; /* Tnt - Уставка на скорость нарастания пускового тока */ - float angle_ref_alphaPUI = PUI_Tnt_CalcAlpha(u2f(PARAM_PUI.Tnt, 1000), PM_SLOW_PERIOD_US); + float angle_ref_alphaPUI = PUI_Tnt_CalcAlpha(u2f(PARAM_PUI->Tnt, 1000), PM_SLOW_PERIOD_US); float angle_ref_alpha = upp.hangle.refFilter.alpha; if(angle_ref_alpha != angle_ref_alphaPUI) { @@ -85,7 +85,7 @@ void UPP_Params_ControlPUI(void) upp.hangle.pid.Ki, upp.hangle.pid.Kd, angle_ref_alpha) != HAL_OK) - ERR_PRIVATE_CNT.angle_reinit_err++; + ERR_PRIVATE_CNT->angle_reinit_err++; } @@ -133,23 +133,23 @@ void UPP_Params_ControlInternal(void) // Параметры регулятора Угла открытия - if(__CheckParamF(&angle_max, PARAM_INTERNAL.angle.Angle_Max, 65535)) + if(__CheckParamF(&angle_max, PARAM_INTERNAL->angle.Angle_Max, 65535)) { alpha_update = 1; } - if(__CheckParamF(&angle_min, PARAM_INTERNAL.angle.Angle_Min, 65535)) + if(__CheckParamF(&angle_min, PARAM_INTERNAL->angle.Angle_Min, 65535)) { alpha_update = 1; } - if(__CheckParamF(&angle_pid_kp, PARAM_INTERNAL.angle.PID_Kp, 10000)) + if(__CheckParamF(&angle_pid_kp, PARAM_INTERNAL->angle.PID_Kp, 10000)) { alpha_update = 1; } - if(__CheckParamF(&angle_pid_ki, PARAM_INTERNAL.angle.PID_Ki, 10000)) + if(__CheckParamF(&angle_pid_ki, PARAM_INTERNAL->angle.PID_Ki, 10000)) { alpha_update = 1; } - if(__CheckParamF(&angle_pid_kd, PARAM_INTERNAL.angle.PID_Kd, 10000)) + if(__CheckParamF(&angle_pid_kd, PARAM_INTERNAL->angle.PID_Kd, 10000)) { alpha_update = 1; } @@ -162,47 +162,47 @@ void UPP_Params_ControlInternal(void) adc_channel_zero[i] = upp.pm.adc.Coefs[i].lZero; // Максимальное измеряемое напряжение - if(__CheckParamF(&adc_channel_max[i], PARAM_INTERNAL.adc.ADC_Max[i], 10)) + if(__CheckParamF(&adc_channel_max[i], PARAM_INTERNAL->adc.ADC_Max[i], 10)) { adc_channel_update[i] = 1; } // Значение АЦП при нулевом входе - if(__CheckParamU16(&adc_channel_zero[i], PARAM_INTERNAL.adc.ADC_Zero[i])) + if(__CheckParamU16(&adc_channel_zero[i], PARAM_INTERNAL->adc.ADC_Zero[i])) { adc_channel_update[i] = 1; } } // Параметры алгоритма перехода через ноль - if(__CheckParamF(&zc_hysteresis, PARAM_INTERNAL.zc.Hysteresis, 10000)) + if(__CheckParamF(&zc_hysteresis, PARAM_INTERNAL->zc.Hysteresis, 10000)) { zc_update = 1; } - if(__CheckParamU16(&zc_debounce, PARAM_INTERNAL.zc.DebouneCouner)) + if(__CheckParamU16(&zc_debounce, PARAM_INTERNAL->zc.DebouneCouner)) { zc_update = 1; } // Параметры ШИМ - if(__CheckParamU8(&pwm_phase_mask, PARAM_INTERNAL.pwm.PhaseMask, 1)) + if(__CheckParamU8(&pwm_phase_mask, PARAM_INTERNAL->pwm.PhaseMask, 1)) { pwm_update = 1; } - if(__CheckParamU16(&pwm_freq, PARAM_INTERNAL.pwm.Frequency)) + if(__CheckParamU16(&pwm_freq, PARAM_INTERNAL->pwm.Frequency)) { pwm_update = 1; } - if(__CheckParamF(&pwm_duty, PARAM_INTERNAL.pwm.Duty, 100)) + if(__CheckParamF(&pwm_duty, PARAM_INTERNAL->pwm.Duty, 100)) { pwm_update = 1; } - if(__CheckParamF(&pwm_pulse_len, PARAM_INTERNAL.pwm.PulseLength, 65535)) + if(__CheckParamF(&pwm_pulse_len, PARAM_INTERNAL->pwm.PulseLength, 65535)) { pwm_update = 1; } // Параметры мониторинга - if(__CheckParamU16(&pm_rms_widnow_size, PARAM_INTERNAL.pm.rms_window_size)) + if(__CheckParamU16(&pm_rms_widnow_size, PARAM_INTERNAL->pm.rms_window_size)) { for(int i = 0; i < RMS_ALL; i++) { @@ -210,7 +210,7 @@ void UPP_Params_ControlInternal(void) Filter_Start(&upp.pm.rms[i]); } } - if(__CheckParamF(&pm_rms_exp_alpha, PARAM_INTERNAL.pm.rms_exp_alpha, 65535)) + if(__CheckParamF(&pm_rms_exp_alpha, PARAM_INTERNAL->pm.rms_exp_alpha, 65535)) { for(int i = 0; i < RMS_EXP_ALL; i++) { @@ -234,10 +234,10 @@ void UPP_Params_ControlInternal(void) alpha_update = 0; } else - ERR_PRIVATE_CNT.angle_reinit_err++; + ERR_PRIVATE_CNT->angle_reinit_err++; } else - ERR_PRIVATE_CNT.angle_reinit_err++; + ERR_PRIVATE_CNT->angle_reinit_err++; } // Обновление АЦП конфигов for(int i = 0; i < ADC_NUMB_OF_REGULAR_CHANNELS; i++) @@ -247,7 +247,7 @@ void UPP_Params_ControlInternal(void) if(ADC_ConfigChannel(&upp.pm.adc, i, adc_channel_zero[i], adc_channel_max[i], 4095) == HAL_OK) adc_channel_update[i] = 0; else - ERR_PRIVATE_CNT.adc_reinit_err++; + ERR_PRIVATE_CNT->adc_reinit_err++; } } // Обновление Zero-Cross конфигов @@ -256,7 +256,7 @@ void UPP_Params_ControlInternal(void) if(ZC_Init(&upp.pm.zc, upp.pm.zc.Config.NumChannels, zc_hysteresis, zc_debounce) == HAL_OK) zc_update = 0; else - ERR_PRIVATE_CNT.zc_reinit_err++; + ERR_PRIVATE_CNT->zc_reinit_err++; } // Обновление ШИМ конфигов if(pwm_update) @@ -266,7 +266,7 @@ void UPP_Params_ControlInternal(void) pwm_update = 0; } else - ERR_PRIVATE_CNT.pwm_reinit_err++; + ERR_PRIVATE_CNT->pwm_reinit_err++; } } @@ -282,16 +282,16 @@ HAL_StatusTypeDef UPP_Params_Init(void) /*====== ИНИЦИАЛИЗАЦИЯ МОДУЛЯ angle_control ======*/ // Инициализация ПИД if(Angle_PID_Init(&upp.hangle, - u2f(PARAM_INTERNAL.angle.PID_Kp, 10000), - u2f(PARAM_INTERNAL.angle.PID_Ki, 10000)*((float)PM_SLOW_PERIOD_US/1000000), - u2f(PARAM_INTERNAL.angle.PID_Kd, 10000), - PUI_Tnt_CalcAlpha(u2f(PARAM_PUI.Tnt, 1000), PM_SLOW_PERIOD_US)) != HAL_OK) + u2f(PARAM_INTERNAL->angle.PID_Kp, 10000), + u2f(PARAM_INTERNAL->angle.PID_Ki, 10000)*((float)PM_SLOW_PERIOD_US/1000000), + u2f(PARAM_INTERNAL->angle.PID_Kd, 10000), + PUI_Tnt_CalcAlpha(u2f(PARAM_PUI->Tnt, 1000), PM_SLOW_PERIOD_US)) != HAL_OK) return HAL_ERROR; // Инициализация углов if(Angle_SetRange(&upp.hangle, - u2f(PARAM_INTERNAL.angle.Angle_Min, 65535), - u2f(PARAM_INTERNAL.angle.Angle_Max, 65535)) != HAL_OK) + u2f(PARAM_INTERNAL->angle.Angle_Min, 65535), + u2f(PARAM_INTERNAL->angle.Angle_Max, 65535)) != HAL_OK) return HAL_ERROR; @@ -299,46 +299,46 @@ HAL_StatusTypeDef UPP_Params_Init(void) /*===== ИНИЦИАЛИЗАЦИЯ МОДУЛЯ power_monitor ======*/ /* Инициализация каналов АЦП */ if(ADC_ConfigChannel(&upp.pm.adc, ADC_CHANNEL_UBA, - PARAM_INTERNAL.adc.ADC_Zero[ADC_CHANNEL_UBA], - u2f(PARAM_INTERNAL.adc.ADC_Max[ADC_CHANNEL_UBA], 10), + PARAM_INTERNAL->adc.ADC_Zero[ADC_CHANNEL_UBA], + u2f(PARAM_INTERNAL->adc.ADC_Max[ADC_CHANNEL_UBA], 10), 4095) != HAL_OK) return HAL_ERROR; if(ADC_ConfigChannel(&upp.pm.adc, ADC_CHANNEL_UAC, - PARAM_INTERNAL.adc.ADC_Zero[ADC_CHANNEL_UAC], - u2f(PARAM_INTERNAL.adc.ADC_Max[ADC_CHANNEL_UAC], 10), + PARAM_INTERNAL->adc.ADC_Zero[ADC_CHANNEL_UAC], + u2f(PARAM_INTERNAL->adc.ADC_Max[ADC_CHANNEL_UAC], 10), 4095) != HAL_OK) return HAL_ERROR; if(ADC_ConfigChannel(&upp.pm.adc, ADC_CHANNEL_IC, - PARAM_INTERNAL.adc.ADC_Zero[ADC_CHANNEL_IC], - u2f(PARAM_INTERNAL.adc.ADC_Max[ADC_CHANNEL_IC], 10), + PARAM_INTERNAL->adc.ADC_Zero[ADC_CHANNEL_IC], + u2f(PARAM_INTERNAL->adc.ADC_Max[ADC_CHANNEL_IC], 10), 4095) != HAL_OK) return HAL_ERROR; if(ADC_ConfigChannel(&upp.pm.adc, ADC_CHANNEL_IA, - PARAM_INTERNAL.adc.ADC_Zero[ADC_CHANNEL_IA], - u2f(PARAM_INTERNAL.adc.ADC_Max[ADC_CHANNEL_IA], 10), + PARAM_INTERNAL->adc.ADC_Zero[ADC_CHANNEL_IA], + u2f(PARAM_INTERNAL->adc.ADC_Max[ADC_CHANNEL_IA], 10), 4095) != HAL_OK) return HAL_ERROR; /* Инициализация алгоритма перехода через ноль */ - if(ZC_Init(&upp.pm.zc, 3, u2f(PARAM_INTERNAL.zc.Hysteresis, 100), PARAM_INTERNAL.zc.DebouneCouner) != HAL_OK) + if(ZC_Init(&upp.pm.zc, 3, u2f(PARAM_INTERNAL->zc.Hysteresis, 100), PARAM_INTERNAL->zc.DebouneCouner) != HAL_OK) return HAL_ERROR; /* Инициализация RMS фильтра медленного алга */ for(int i = 0; i < RMS_ALL; i++) { - if(FilterRMS_Init(&upp.pm.rms[i], PARAM_INTERNAL.pm.rms_window_size)) + if(FilterRMS_Init(&upp.pm.rms[i], PARAM_INTERNAL->pm.rms_window_size)) return HAL_ERROR; Filter_Start(&upp.pm.rms[i]); } /* Инициализация экпоненциального фильтра медленного алга */ for(int i = 0; i < RMS_EXP_ALL; i++) { - if(FilterExp_Init(&upp.pm.rms_exp[i], u2f(PARAM_INTERNAL.pm.rms_exp_alpha, 65535))) + if(FilterExp_Init(&upp.pm.rms_exp[i], u2f(PARAM_INTERNAL->pm.rms_exp_alpha, 65535))) return HAL_ERROR; Filter_Start(&upp.pm.rms_exp[i]); } @@ -346,10 +346,10 @@ HAL_StatusTypeDef UPP_Params_Init(void) /*====== ИНИЦИАЛИЗАЦИЯ МОДУЛЯ pwm_thyristors ======*/ - if(PWM_SetConfig(&upp.hpwm, PARAM_INTERNAL.pwm.PhaseMask, - PARAM_INTERNAL.pwm.Frequency, - u2f(PARAM_INTERNAL.pwm.Duty, 100), - PARAM_INTERNAL.pwm.PulseLength) != HAL_OK) + if(PWM_SetConfig(&upp.hpwm, PARAM_INTERNAL->pwm.PhaseMask, + PARAM_INTERNAL->pwm.Frequency, + u2f(PARAM_INTERNAL->pwm.Duty, 100), + PARAM_INTERNAL->pwm.PulseLength) != HAL_OK) return HAL_ERROR; return HAL_OK; @@ -362,45 +362,45 @@ HAL_StatusTypeDef UPP_Params_Init(void) */ void UPP_Params_Saturate(void) { - SATURATE_U16(PARAM_PUI.Iref, 100, 500); -// SATURATE_U16(PARAM_PUI.Tnt, 50, 5000); - SATURATE_U16(PARAM_PUI.Umin, 5, 99); - SATURATE_U16(PARAM_PUI.Umax, 100, 120); - SATURATE_U16(PARAM_PUI.Imax, 5, 99); - SATURATE_U16(PARAM_PUI.Imin, 0, 40); - SATURATE_U16(PARAM_PUI.TiMax, 500, 10000); - SATURATE_U16(PARAM_PUI.Tdelay, 5, 60); - SATURATE_U16(PARAM_PUI.Interlace, 0, 1); + SATURATE_U16(PARAM_PUI->Iref, 100, 500); +// SATURATE_U16(PARAM_PUI->Tnt, 50, 5000); + SATURATE_U16(PARAM_PUI->Umin, 5, 99); + SATURATE_U16(PARAM_PUI->Umax, 100, 120); + SATURATE_U16(PARAM_PUI->Imax, 5, 99); + SATURATE_U16(PARAM_PUI->Imin, 0, 40); + SATURATE_U16(PARAM_PUI->TiMax, 500, 10000); + SATURATE_U16(PARAM_PUI->Tdelay, 5, 60); + SATURATE_U16(PARAM_PUI->Interlace, 0, 1); - SATURATE_U16(PARAM_INTERNAL.setpoints.TemperatureWarn, 0, 90); - SATURATE_U16(PARAM_INTERNAL.setpoints.TemperatureErr, 0, 90); + SATURATE_U16(PARAM_INTERNAL->setpoints.TemperatureWarn, 0, 90); + SATURATE_U16(PARAM_INTERNAL->setpoints.TemperatureErr, 0, 90); - SATURATE_U16(PARAM_INTERNAL.nominal.PhaseNumber, 0, 3); - SATURATE_U16(PARAM_INTERNAL.nominal.U, 0, ADC_U_MAX_V_DEFAULT*10); - SATURATE_U16(PARAM_INTERNAL.nominal.U_deviation_plus, 0, 100*100); - SATURATE_U16(PARAM_INTERNAL.nominal.U_deviation_minus, 0, 100*100); - SATURATE_U16(PARAM_INTERNAL.nominal.F, 40*100, 60*100); - SATURATE_U16(PARAM_INTERNAL.nominal.F_deviation_plus, 0, 100*100); - SATURATE_U16(PARAM_INTERNAL.nominal.F_deviation_minus, 0, 100*100); - SATURATE_U16(PARAM_INTERNAL.nominal.I, 0, ADC_I_MAX_A_DEFAULT*10); + SATURATE_U16(PARAM_INTERNAL->nominal.PhaseNumber, 0, 3); + SATURATE_U16(PARAM_INTERNAL->nominal.U, 0, ADC_U_MAX_V_DEFAULT*10); + SATURATE_U16(PARAM_INTERNAL->nominal.U_deviation_plus, 0, 100*100); + SATURATE_U16(PARAM_INTERNAL->nominal.U_deviation_minus, 0, 100*100); + SATURATE_U16(PARAM_INTERNAL->nominal.F, 40*100, 60*100); + SATURATE_U16(PARAM_INTERNAL->nominal.F_deviation_plus, 0, 100*100); + SATURATE_U16(PARAM_INTERNAL->nominal.F_deviation_minus, 0, 100*100); + SATURATE_U16(PARAM_INTERNAL->nominal.I, 0, ADC_I_MAX_A_DEFAULT*10); - SATURATE_U16(PARAM_INTERNAL.adc.ADC_Max[ADC_CHANNEL_UBA], 0, 5000*10); - SATURATE_U16(PARAM_INTERNAL.adc.ADC_Max[ADC_CHANNEL_UAC], 0, 5000*10); - SATURATE_U16(PARAM_INTERNAL.adc.ADC_Max[ADC_CHANNEL_IC], 0, 1000*10); - SATURATE_U16(PARAM_INTERNAL.adc.ADC_Max[ADC_CHANNEL_IA], 0, 1000*10); - SATURATE_U16(PARAM_INTERNAL.adc.ADC_Zero[ADC_CHANNEL_UBA], 1848, 2248); - SATURATE_U16(PARAM_INTERNAL.adc.ADC_Zero[ADC_CHANNEL_UAC], 1848, 2248); - SATURATE_U16(PARAM_INTERNAL.adc.ADC_Zero[ADC_CHANNEL_IC], 1848, 2248); - SATURATE_U16(PARAM_INTERNAL.adc.ADC_Zero[ADC_CHANNEL_IA], 1848, 2248); + SATURATE_U16(PARAM_INTERNAL->adc.ADC_Max[ADC_CHANNEL_UBA], 0, 5000*10); + SATURATE_U16(PARAM_INTERNAL->adc.ADC_Max[ADC_CHANNEL_UAC], 0, 5000*10); + SATURATE_U16(PARAM_INTERNAL->adc.ADC_Max[ADC_CHANNEL_IC], 0, 1000*10); + SATURATE_U16(PARAM_INTERNAL->adc.ADC_Max[ADC_CHANNEL_IA], 0, 1000*10); + SATURATE_U16(PARAM_INTERNAL->adc.ADC_Zero[ADC_CHANNEL_UBA], 1848, 2248); + SATURATE_U16(PARAM_INTERNAL->adc.ADC_Zero[ADC_CHANNEL_UAC], 1848, 2248); + SATURATE_U16(PARAM_INTERNAL->adc.ADC_Zero[ADC_CHANNEL_IC], 1848, 2248); + SATURATE_U16(PARAM_INTERNAL->adc.ADC_Zero[ADC_CHANNEL_IA], 1848, 2248); - SATURATE_U16(PARAM_INTERNAL.pwm.PhaseMask, 0, 7); - SATURATE_U16(PARAM_INTERNAL.pwm.Frequency, 1000, 40000); + SATURATE_U16(PARAM_INTERNAL->pwm.PhaseMask, 0, 7); + SATURATE_U16(PARAM_INTERNAL->pwm.Frequency, 1000, 40000); - SATURATE_U16(PARAM_INTERNAL.zc.Hysteresis, 0, 0.1*100); - SATURATE_U16(PARAM_INTERNAL.zc.DebouneCouner, 0, 1000); + SATURATE_U16(PARAM_INTERNAL->zc.Hysteresis, 0, 0.1*100); + SATURATE_U16(PARAM_INTERNAL->zc.DebouneCouner, 0, 1000); - SATURATE_U16(PARAM_INTERNAL.angle.PulseLengthReserve, 50, 1000); + SATURATE_U16(PARAM_INTERNAL->angle.PulseLengthReserve, 50, 1000); } /** @@ -413,58 +413,58 @@ void UPP_Params_SetDefault(int pui_default, int internal_default) { if(pui_default) { - PARAM_PUI.Iref = PUI_Iref_PERCENT_DEFAULT*100; - PARAM_PUI.Tnt = PUI_Tnt_MS_DEFAULT; - PARAM_PUI.Umin = PUI_Umin_PERCENT_DEFAULT*100; - PARAM_PUI.Umax = PUI_Umax_PERCENT_DEFAULT*100; - PARAM_PUI.Imax = PUI_Imax_PERCENT_DEFAULT*100; - PARAM_PUI.Imin = PUI_Imin_PERCENT_DEFAULT*100; - PARAM_PUI.TiMax = PUI_TiMax_US_DEFAULT; - PARAM_PUI.Tdelay = PUI_Tdelay_SECONDS_DEFAULT; - PARAM_PUI.Interlace = PUI_Interlace_EN_DEFAULT; + PARAM_PUI->Iref = PUI_Iref_PERCENT_DEFAULT*100; + PARAM_PUI->Tnt = PUI_Tnt_MS_DEFAULT; + PARAM_PUI->Umin = PUI_Umin_PERCENT_DEFAULT*100; + PARAM_PUI->Umax = PUI_Umax_PERCENT_DEFAULT*100; + PARAM_PUI->Imax = PUI_Imax_PERCENT_DEFAULT*100; + PARAM_PUI->Imin = PUI_Imin_PERCENT_DEFAULT*100; + PARAM_PUI->TiMax = PUI_TiMax_US_DEFAULT; + PARAM_PUI->Tdelay = PUI_Tdelay_SECONDS_DEFAULT; + PARAM_PUI->Interlace = PUI_Interlace_EN_DEFAULT; } if(internal_default) { - PARAM_INTERNAL.setpoints.TemperatureWarn = SETPOINT_TEMP_WARN*10; - PARAM_INTERNAL.setpoints.TemperatureErr = SETPOINT_TEMP_ERR*10; + PARAM_INTERNAL->setpoints.TemperatureWarn = SETPOINT_TEMP_WARN*10; + PARAM_INTERNAL->setpoints.TemperatureErr = SETPOINT_TEMP_ERR*10; - PARAM_INTERNAL.nominal.PhaseNumber = NOM_PHASE_NUMB; - PARAM_INTERNAL.nominal.U = NOM_U_V_DEFAULT*10; - PARAM_INTERNAL.nominal.U_deviation_plus = NOM_U_DEVIATION_PLUS_PERCENT_DEFAULT*100; - PARAM_INTERNAL.nominal.U_deviation_minus = NOM_U_DEVIATION_MINUS_PERCENT_DEFAULT*100; - PARAM_INTERNAL.nominal.F = NOM_F_HZ_DEFAULT*100; - PARAM_INTERNAL.nominal.F_deviation_plus = NOM_F_DEVIATION_PLUS_PERCENT_DEFAULT*100; - PARAM_INTERNAL.nominal.F_deviation_minus = NOM_F_DEVIATION_MINUS_PERCENT_DEFAULT*100; - PARAM_INTERNAL.nominal.I = NOM_I_A_DEFAULT*10; + PARAM_INTERNAL->nominal.PhaseNumber = NOM_PHASE_NUMB; + PARAM_INTERNAL->nominal.U = NOM_U_V_DEFAULT*10; + PARAM_INTERNAL->nominal.U_deviation_plus = NOM_U_DEVIATION_PLUS_PERCENT_DEFAULT*100; + PARAM_INTERNAL->nominal.U_deviation_minus = NOM_U_DEVIATION_MINUS_PERCENT_DEFAULT*100; + PARAM_INTERNAL->nominal.F = NOM_F_HZ_DEFAULT*100; + PARAM_INTERNAL->nominal.F_deviation_plus = NOM_F_DEVIATION_PLUS_PERCENT_DEFAULT*100; + PARAM_INTERNAL->nominal.F_deviation_minus = NOM_F_DEVIATION_MINUS_PERCENT_DEFAULT*100; + PARAM_INTERNAL->nominal.I = NOM_I_A_DEFAULT*10; - PARAM_INTERNAL.pm.rms_window_size = PM_RMS_WINDOW_PERIOD_US_DEFAULT/PM_SLOW_PERIOD_US; - PARAM_INTERNAL.pm.rms_exp_alpha = FilterExp_CalcAlpha98(PM_RMS_EXT_TAU_US_DEFAULT, PM_SLOW_PERIOD_US)*65535; + PARAM_INTERNAL->pm.rms_window_size = PM_RMS_WINDOW_PERIOD_US_DEFAULT/PM_SLOW_PERIOD_US; + PARAM_INTERNAL->pm.rms_exp_alpha = FilterExp_CalcAlpha98(PM_RMS_EXT_TAU_US_DEFAULT, PM_SLOW_PERIOD_US)*65535; - PARAM_INTERNAL.adc.ADC_Max[ADC_CHANNEL_UBA] = ADC_U_MAX_V_DEFAULT*10; - PARAM_INTERNAL.adc.ADC_Max[ADC_CHANNEL_UAC] = ADC_U_MAX_V_DEFAULT*10; - PARAM_INTERNAL.adc.ADC_Max[ADC_CHANNEL_IC] = ADC_I_MAX_A_DEFAULT*10; - PARAM_INTERNAL.adc.ADC_Max[ADC_CHANNEL_IA] = ADC_I_MAX_A_DEFAULT*10; - PARAM_INTERNAL.adc.ADC_Zero[ADC_CHANNEL_UBA] = ADC_U_ZERO_DEFAULT; - PARAM_INTERNAL.adc.ADC_Zero[ADC_CHANNEL_UAC] = ADC_U_ZERO_DEFAULT; - PARAM_INTERNAL.adc.ADC_Zero[ADC_CHANNEL_IC] = ADC_I_ZERO_DEFAULT; - PARAM_INTERNAL.adc.ADC_Zero[ADC_CHANNEL_IA] = ADC_I_ZERO_DEFAULT; + PARAM_INTERNAL->adc.ADC_Max[ADC_CHANNEL_UBA] = ADC_U_MAX_V_DEFAULT*10; + PARAM_INTERNAL->adc.ADC_Max[ADC_CHANNEL_UAC] = ADC_U_MAX_V_DEFAULT*10; + PARAM_INTERNAL->adc.ADC_Max[ADC_CHANNEL_IC] = ADC_I_MAX_A_DEFAULT*10; + PARAM_INTERNAL->adc.ADC_Max[ADC_CHANNEL_IA] = ADC_I_MAX_A_DEFAULT*10; + PARAM_INTERNAL->adc.ADC_Zero[ADC_CHANNEL_UBA] = ADC_U_ZERO_DEFAULT; + PARAM_INTERNAL->adc.ADC_Zero[ADC_CHANNEL_UAC] = ADC_U_ZERO_DEFAULT; + PARAM_INTERNAL->adc.ADC_Zero[ADC_CHANNEL_IC] = ADC_I_ZERO_DEFAULT; + PARAM_INTERNAL->adc.ADC_Zero[ADC_CHANNEL_IA] = ADC_I_ZERO_DEFAULT; - PARAM_INTERNAL.pwm.PhaseMask = 7; // (все три фазы) - PARAM_INTERNAL.pwm.Frequency = PWM_THYR_FREQUENCY_HZ_DEFAULT; - PARAM_INTERNAL.pwm.Duty = PWM_THYR_DUTY_PERCENT_DEFAULT*100; - PARAM_INTERNAL.pwm.PulseLength = PWM_THYR_PULSE_LENGTH_DEFAULT*65535; + PARAM_INTERNAL->pwm.PhaseMask = 7; // (все три фазы) + PARAM_INTERNAL->pwm.Frequency = PWM_THYR_FREQUENCY_HZ_DEFAULT; + PARAM_INTERNAL->pwm.Duty = PWM_THYR_DUTY_PERCENT_DEFAULT*100; + PARAM_INTERNAL->pwm.PulseLength = PWM_THYR_PULSE_LENGTH_DEFAULT*65535; - PARAM_INTERNAL.zc.Hysteresis = ZERO_CROSS_HYSTERESIS_PERCENT_DEFAULT*100; - PARAM_INTERNAL.zc.DebouneCouner = ZERO_CROSS_DEBOUNCE_CNT_DEFAULT; + PARAM_INTERNAL->zc.Hysteresis = ZERO_CROSS_HYSTERESIS_PERCENT_DEFAULT*100; + PARAM_INTERNAL->zc.DebouneCouner = ZERO_CROSS_DEBOUNCE_CNT_DEFAULT; - PARAM_INTERNAL.angle.PID_Kp = ANGLE_PID_KP_COEF_DEFAULT*10000; - PARAM_INTERNAL.angle.PID_Ki = ANGLE_PID_KI_COEF_DEFAULT*10000; - PARAM_INTERNAL.angle.PID_Kd = ANGLE_PID_KD_COEF_DEFAULT*10000; - PARAM_INTERNAL.angle.Angle_Max = ANGLE_MAX_PERCENT_DEFAULT*65535; - PARAM_INTERNAL.angle.Angle_Min = ANGLE_MIN_PERCENT_DEFAULT*65535; - PARAM_INTERNAL.angle.PulseLengthReserve = ANGLE_PULSE_LENGTH_RESERVE_PERCENT_DEFAULT*100; + PARAM_INTERNAL->angle.PID_Kp = ANGLE_PID_KP_COEF_DEFAULT*10000; + PARAM_INTERNAL->angle.PID_Ki = ANGLE_PID_KI_COEF_DEFAULT*10000; + PARAM_INTERNAL->angle.PID_Kd = ANGLE_PID_KD_COEF_DEFAULT*10000; + PARAM_INTERNAL->angle.Angle_Max = ANGLE_MAX_PERCENT_DEFAULT*65535; + PARAM_INTERNAL->angle.Angle_Min = ANGLE_MIN_PERCENT_DEFAULT*65535; + PARAM_INTERNAL->angle.PulseLengthReserve = ANGLE_PULSE_LENGTH_RESERVE_PERCENT_DEFAULT*100; //__AngleSetLimit(); } } @@ -475,10 +475,10 @@ void UPP_Params_SetDefault(int pui_default, int internal_default) // Перерасчет максимально допустимого угла static void __AngleSetLimit(void) { // Сколько пачка ипульсов занимает процентов от всего периода - float pulses_percent_of_period = (((float)PARAM_INTERNAL.pwm.PulseLength / PARAM_INTERNAL.pwm.Frequency) * 1000) / ANGLE_PERIOD_MS(upp.pm.measured.final.Fmean); + float pulses_percent_of_period = (((float)PARAM_INTERNAL->pwm.PulseLength / PARAM_INTERNAL->pwm.Frequency) * 1000) / ANGLE_PERIOD_MS(upp.pm.measured.final.Fmean); // Вычитаем этот процент из 1 - получаем максимально безопасный угол float angle_limit = 1; - angle_limit -= pulses_percent_of_period*u2f(PARAM_INTERNAL.angle.PulseLengthReserve, 100); // добавляем запас в PulseLengthReserve процентов от пачки импульсов + angle_limit -= pulses_percent_of_period*u2f(PARAM_INTERNAL->angle.PulseLengthReserve, 100); // добавляем запас в PulseLengthReserve процентов от пачки импульсов Angle_SetLimit(&upp.hangle, angle_limit); } diff --git a/UPP/MDK-ARM/UPP.uvoptx b/UPP/MDK-ARM/UPP.uvoptx index 2b61035..671ac78 100644 --- a/UPP/MDK-ARM/UPP.uvoptx +++ b/UPP/MDK-ARM/UPP.uvoptx @@ -742,30 +742,6 @@ 0 0 0 - ..\Core\UPP\pwm_thyristors.c - pwm_thyristors.c - 0 - 0 - - - 2 - 14 - 5 - 0 - 0 - 0 - ..\Core\UPP\pwm_thyristors.h - pwm_thyristors.h - 0 - 0 - - - 2 - 15 - 1 - 0 - 0 - 0 ..\Core\UPP\angle_control.c angle_control.c 0 @@ -773,7 +749,7 @@ 2 - 16 + 14 5 0 0 @@ -785,7 +761,7 @@ 2 - 17 + 15 1 0 0 @@ -797,7 +773,7 @@ 2 - 18 + 16 5 0 0 @@ -809,7 +785,7 @@ 2 - 19 + 17 1 0 0 @@ -821,7 +797,7 @@ 2 - 20 + 18 5 0 0 @@ -833,7 +809,7 @@ 2 - 21 + 19 1 0 0 @@ -845,7 +821,7 @@ 2 - 22 + 20 5 0 0 @@ -857,7 +833,7 @@ 2 - 23 + 21 1 0 0 @@ -869,7 +845,7 @@ 2 - 24 + 22 5 0 0 @@ -879,6 +855,30 @@ 0 0 + + 2 + 23 + 1 + 0 + 0 + 0 + ..\Core\UPP\pwm_thyristors.c + pwm_thyristors.c + 0 + 0 + + + 2 + 24 + 5 + 0 + 0 + 0 + ..\Core\UPP\pwm_thyristors.h + pwm_thyristors.h + 0 + 0 + diff --git a/UPP/MDK-ARM/UPP.uvprojx b/UPP/MDK-ARM/UPP.uvprojx index 3def99e..b764892 100644 --- a/UPP/MDK-ARM/UPP.uvprojx +++ b/UPP/MDK-ARM/UPP.uvprojx @@ -450,16 +450,6 @@ 5 ..\Core\UPP\upp_main.h - - pwm_thyristors.c - 1 - ..\Core\UPP\pwm_thyristors.c - - - pwm_thyristors.h - 5 - ..\Core\UPP\pwm_thyristors.h - angle_control.c 1 @@ -510,6 +500,16 @@ 5 ..\Core\UPP\upp_io.h + + pwm_thyristors.c + 1 + ..\Core\UPP\pwm_thyristors.c + + + pwm_thyristors.h + 5 + ..\Core\UPP\pwm_thyristors.h + @@ -1437,16 +1437,6 @@ 5 ..\Core\UPP\upp_main.h - - pwm_thyristors.c - 1 - ..\Core\UPP\pwm_thyristors.c - - - pwm_thyristors.h - 5 - ..\Core\UPP\pwm_thyristors.h - angle_control.c 1 @@ -1497,6 +1487,16 @@ 5 ..\Core\UPP\upp_io.h + + pwm_thyristors.c + 1 + ..\Core\UPP\pwm_thyristors.c + + + pwm_thyristors.h + 5 + ..\Core\UPP\pwm_thyristors.h + diff --git a/Информация для программиста (УПП СП СЭД)/Modbus Карта.docx b/Информация для программиста (УПП СП СЭД)/Modbus Карта.docx new file mode 100644 index 0000000000000000000000000000000000000000..f2e7e6f9e394cca87141a7485a7cebee5ac5404c GIT binary patch literal 14614 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 literal 0 HcmV?d00001