From e1d6f1139dd8db0ed1b0040468dca4730f696216 Mon Sep 17 00:00:00 2001 From: Razvalyaev Date: Tue, 18 Nov 2025 22:29:48 +0300 Subject: [PATCH] =?UTF-8?q?=D1=87=D0=B5=D0=B1=D0=BB=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Src/stm32f4xx_hal_gpio.c | 2 + .../STM32_SIMULINK/stm32_matlab_gpio.c | 12 ++ MATLAB/MCU_STM32_Matlab/stm32_matlab_conf.c | 1 + MATLAB/MCU_Wrapper/mcu_wrapper.c | 10 +- MATLAB/MCU_Wrapper/mcu_wrapper_conf.h | 16 ++- MATLAB/app_wrapper/app_init.c | 1 + MATLAB/app_wrapper/app_io.c | 51 +++++-- MATLAB/upp_r2023.slx | Bin 73046 -> 85820 bytes UPP/Core/Configs/modbus_config.h | 5 +- UPP/Core/Configs/mylibs_config.h | 7 +- UPP/Core/Configs/upp_config.h | 10 +- UPP/Core/Configs/upp_defs.h | 7 + UPP/Core/Inc/main.h | 3 + UPP/Core/PowerMonitor/power_monitor.c | 2 +- UPP/Core/PowerMonitor/power_protect.c | 80 +++++------ UPP/Core/Src/DBG_stm32f417_support.c | 0 UPP/Core/UPP/upp_errors.c | 134 +++++++++--------- UPP/Core/UPP/upp_io.c | 121 ++++++++++++---- UPP/Core/UPP/upp_io.h | 48 ++++--- UPP/Core/UPP/upp_main.c | 54 +++++-- UPP/Core/UPP/upp_main.h | 1 + UPP/MDK-ARM/EventRecorderStub.scvd | 9 ++ UPP/MDK-ARM/UPP.uvoptx | 2 +- UPP/MDK-ARM/UPP.uvprojx | 4 +- 24 files changed, 384 insertions(+), 196 deletions(-) create mode 100644 UPP/Core/Src/DBG_stm32f417_support.c create mode 100644 UPP/MDK-ARM/EventRecorderStub.scvd diff --git a/MATLAB/MCU_STM32_Matlab/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c b/MATLAB/MCU_STM32_Matlab/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c index b3ce9bb..efc8e55 100644 --- a/MATLAB/MCU_STM32_Matlab/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c +++ b/MATLAB/MCU_STM32_Matlab/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c @@ -421,6 +421,7 @@ void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState Pin { GPIOx->BSRR = (uint32_t)GPIO_Pin << 16U; } + __GPIO_BSRR_Sim(GPIOx); } /** @@ -442,6 +443,7 @@ void HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) /* Set selected pins that were at low level, and reset ones that were high */ GPIOx->BSRR = ((odr & GPIO_Pin) << GPIO_NUMBER) | (~odr & GPIO_Pin); + __GPIO_BSRR_Sim(GPIOx); } /** diff --git a/MATLAB/MCU_STM32_Matlab/Drivers/STM32_SIMULINK/stm32_matlab_gpio.c b/MATLAB/MCU_STM32_Matlab/Drivers/STM32_SIMULINK/stm32_matlab_gpio.c index 58ce973..b7145ce 100644 --- a/MATLAB/MCU_STM32_Matlab/Drivers/STM32_SIMULINK/stm32_matlab_gpio.c +++ b/MATLAB/MCU_STM32_Matlab/Drivers/STM32_SIMULINK/stm32_matlab_gpio.c @@ -16,6 +16,18 @@ void Simulate_GPIO_BSRR(void) #ifdef GPIOD __GPIO_BSRR_Sim(GPIOD); #endif +#ifdef GPIOE + __GPIO_BSRR_Sim(GPIOE); +#endif +#ifdef GPIOF + __GPIO_BSRR_Sim(GPIOF); +#endif +#ifdef GPIOG + __GPIO_BSRR_Sim(GPIOG); +#endif +#ifdef GPIOH + __GPIO_BSRR_Sim(GPIOH); +#endif } diff --git a/MATLAB/MCU_STM32_Matlab/stm32_matlab_conf.c b/MATLAB/MCU_STM32_Matlab/stm32_matlab_conf.c index 546224f..4d04c32 100644 --- a/MATLAB/MCU_STM32_Matlab/stm32_matlab_conf.c +++ b/MATLAB/MCU_STM32_Matlab/stm32_matlab_conf.c @@ -26,6 +26,7 @@ void Simulate_Periph_Sim(void) { Simulate_TIMs(); Simulate_ADCs(); + Simulate_GPIO_BSRR(); } // MCU PERIPH DEINIT diff --git a/MATLAB/MCU_Wrapper/mcu_wrapper.c b/MATLAB/MCU_Wrapper/mcu_wrapper.c index 6948f4d..1c02dd0 100644 --- a/MATLAB/MCU_Wrapper/mcu_wrapper.c +++ b/MATLAB/MCU_Wrapper/mcu_wrapper.c @@ -37,9 +37,10 @@ const int inOffsets[IN_PORT_NUMB] = { */ const int outLengths[OUT_PORT_NUMB] = { THYR_PORT_1_WIDTH, - PM_PORT_2_WIDTH, - ANGLE_PORT_3_WIDTH, - OUT_PORT_4_WIDTH + DO_PORT_2_WIDTH, + PM_PORT_3_WIDTH, + ANGLE_PORT_4_WIDTH, + OUT_PORT_5_WIDTH }; /** * @brief Таблица смещений в выходном массиве OUT @@ -48,7 +49,8 @@ const int outOffsets[OUT_PORT_NUMB] = { OFFSET_OUT_ARRAY_1, OFFSET_OUT_ARRAY_2, OFFSET_OUT_ARRAY_3, - OFFSET_OUT_ARRAY_4 + OFFSET_OUT_ARRAY_4, + OFFSET_OUT_ARRAY_5 }; // INPUT/OUTPUTS AUTO-PARAMS END diff --git a/MATLAB/MCU_Wrapper/mcu_wrapper_conf.h b/MATLAB/MCU_Wrapper/mcu_wrapper_conf.h index dcc6ce4..449038e 100644 --- a/MATLAB/MCU_Wrapper/mcu_wrapper_conf.h +++ b/MATLAB/MCU_Wrapper/mcu_wrapper_conf.h @@ -57,11 +57,12 @@ #define ADC_PORT_1_WIDTH 6 #define IN_PORT_2_WIDTH 16 -#define OUT_PORT_NUMB 4 +#define OUT_PORT_NUMB 5 #define THYR_PORT_1_WIDTH 6 -#define PM_PORT_2_WIDTH 32 -#define ANGLE_PORT_3_WIDTH 16 -#define OUT_PORT_4_WIDTH 16 +#define DO_PORT_2_WIDTH 3 +#define PM_PORT_3_WIDTH 32 +#define ANGLE_PORT_4_WIDTH 16 +#define OUT_PORT_5_WIDTH 16 // INPUT/OUTPUTS PARAMS END /** WRAPPER_CONF @@ -100,13 +101,14 @@ #define OFFSET_IN_ARRAY_2 (OFFSET_IN_ARRAY_1 + ADC_PORT_1_WIDTH) /// === Полный размер буфера === -#define TOTAL_OUT_SIZE (THYR_PORT_1_WIDTH + PM_PORT_2_WIDTH + ANGLE_PORT_3_WIDTH + OUT_PORT_4_WIDTH) +#define TOTAL_OUT_SIZE (THYR_PORT_1_WIDTH + DO_PORT_2_WIDTH + PM_PORT_3_WIDTH + ANGLE_PORT_4_WIDTH + OUT_PORT_5_WIDTH) /// === Смещения массивов (внутри общего буфера) === #define OFFSET_OUT_ARRAY_1 0 #define OFFSET_OUT_ARRAY_2 (OFFSET_OUT_ARRAY_1 + THYR_PORT_1_WIDTH) -#define OFFSET_OUT_ARRAY_3 (OFFSET_OUT_ARRAY_2 + PM_PORT_2_WIDTH) -#define OFFSET_OUT_ARRAY_4 (OFFSET_OUT_ARRAY_3 + ANGLE_PORT_3_WIDTH) +#define OFFSET_OUT_ARRAY_3 (OFFSET_OUT_ARRAY_2 + DO_PORT_2_WIDTH) +#define OFFSET_OUT_ARRAY_4 (OFFSET_OUT_ARRAY_3 + PM_PORT_3_WIDTH) +#define OFFSET_OUT_ARRAY_5 (OFFSET_OUT_ARRAY_4 + ANGLE_PORT_4_WIDTH) // INPUT/OUTPUTS AUTO-PARAMS END diff --git a/MATLAB/app_wrapper/app_init.c b/MATLAB/app_wrapper/app_init.c index c399266..f107614 100644 --- a/MATLAB/app_wrapper/app_init.c +++ b/MATLAB/app_wrapper/app_init.c @@ -27,6 +27,7 @@ void app_init(void) { UPP_SetDefault(1, 1); UPP_Init(); UPP_PreWhile(); + UPP_DO.CEN(DISABLE); // USER APP INIT END } diff --git a/MATLAB/app_wrapper/app_io.c b/MATLAB/app_wrapper/app_io.c index 1c8806f..3eca712 100644 --- a/MATLAB/app_wrapper/app_io.c +++ b/MATLAB/app_wrapper/app_io.c @@ -10,7 +10,7 @@ float dbg[16]; extern float iref_dbg; #define PIN_READ(_verbname_) (_verbname_##_GPIO_Port->ODR & (_verbname_##_Pin)) ? 1 : 0 -void Write_Thyristors(real_T* Buffer, int ind_port) +void Write_UPP_Outputs(real_T* Buffer, int ind_port) { int pwm1_pin = PIN_READ(PWM1); int pwm2_pin = PIN_READ(PWM2); @@ -18,14 +18,39 @@ void Write_Thyristors(real_T* Buffer, int ind_port) int pwm4_pin = PIN_READ(PWM4); int pwm5_pin = PIN_READ(PWM5); int pwm6_pin = PIN_READ(PWM6); + int err = PIN_READ(RDO1); + int work = PIN_READ(RDO2); + int ready = PIN_READ(RDO3); + + if (CEN_GPIO_Port->ODR & CEN_Pin) + { + WriteOutputArray(0, ind_port, 0); + WriteOutputArray(0, ind_port, 1); + WriteOutputArray(0, ind_port, 2); + WriteOutputArray(0, ind_port, 3); + WriteOutputArray(0, ind_port, 4); + WriteOutputArray(0, ind_port, 5); + + + WriteOutputArray(0, ind_port+1, 0); + WriteOutputArray(0, ind_port+1, 1); + WriteOutputArray(0, ind_port+1, 2); + } + else + { + WriteOutputArray(pwm1_pin, ind_port, 0); + WriteOutputArray(pwm2_pin, ind_port, 1); + WriteOutputArray(pwm3_pin, ind_port, 2); + WriteOutputArray(pwm4_pin, ind_port, 3); + WriteOutputArray(pwm5_pin, ind_port, 4); + WriteOutputArray(pwm6_pin, ind_port, 5); + + WriteOutputArray(ready, ind_port+1, 0); + WriteOutputArray(work, ind_port+1, 1); + WriteOutputArray(err, ind_port+1, 2); + } - WriteOutputArray(pwm1_pin, ind_port, 0); - WriteOutputArray(pwm2_pin, ind_port, 1); - WriteOutputArray(pwm3_pin, ind_port, 2); - WriteOutputArray(pwm4_pin, ind_port, 3); - WriteOutputArray(pwm5_pin, ind_port, 4); - WriteOutputArray(pwm6_pin, ind_port, 5); } void Write_PowerMonitor(real_T* Buffer, int ind_port) @@ -71,9 +96,9 @@ void Write_AngleControl(real_T* Buffer, int ind_port) WriteOutputArray(upp.hangle.alpha, ind_port, nn++); - WriteOutputArray((long long)(upp.hangle.htim->Instance->CCR1) - upp.hangle.htim->Instance->CNT, 2, nn++); - WriteOutputArray((long long)(upp.hangle.htim->Instance->CCR2) - upp.hangle.htim->Instance->CNT, 2, nn++); - WriteOutputArray((long long)(upp.hangle.htim->Instance->CCR3) - upp.hangle.htim->Instance->CNT, 2, nn++); + WriteOutputArray((long long)(upp.hangle.htim->Instance->CCR1) - upp.hangle.htim->Instance->CNT, ind_port, nn++); + WriteOutputArray((long long)(upp.hangle.htim->Instance->CCR2) - upp.hangle.htim->Instance->CNT, ind_port, nn++); + WriteOutputArray((long long)(upp.hangle.htim->Instance->CCR3) - upp.hangle.htim->Instance->CNT, ind_port, nn++); } @@ -108,11 +133,11 @@ void app_readInputs(const real_T* Buffer) { */ void app_writeOutputBuffer(real_T* Buffer) { // USER APP OUTPUT START - Write_Thyristors(Buffer, 0); + Write_UPP_Outputs(Buffer, 0); - Write_PowerMonitor(Buffer, 1); + Write_PowerMonitor(Buffer, 2); - Write_AngleControl(Buffer, 2); + Write_AngleControl(Buffer, 3); int nn = 0; //WriteOutputArray(upp.hangle.htim->Instance->CNT, 2, nn++); diff --git a/MATLAB/upp_r2023.slx b/MATLAB/upp_r2023.slx index 21d410d79f8f1ebdce2d40275401fa1f399283fa..f9989dc9af13d30964af448806df80c082a752e6 100644 GIT binary patch delta 73041 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 delta 60194 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 z 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
ghr--+PNtoCC@X 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.Uamp > lUmax) { - errors.prvt.f.err.uamp_max = 1; + ERR_PRIVATE.uamp_max = 1; } else if (measure->final.Uamp < lUmin) { - errors.prvt.f.err.uamp_min = 1; + ERR_PRIVATE.uamp_min = 1; } else { - errors.prvt.f.err.uamp_max = 0; - errors.prvt.f.err.uamp_min = 0; + ERR_PRIVATE.uamp_max = 0; + ERR_PRIVATE.uamp_min = 0; } /* Последовательность фаз */ int realPhaseSequence = 0; if(realPhaseSequence != lPhaseSequence) { - errors.prvt.f.err.interlance = 1; + ERR_PRIVATE.interlance = 1; } else { - errors.prvt.f.err.interlance = 0; + ERR_PRIVATE.interlance = 0; } - return (errors.prvt.f.err.uamp_min == 0); + return (ERR_PRIVATE.uamp_min == 0); } /** @@ -65,62 +65,62 @@ int Protect_Currents(PowerMonitor_Measured_t *measure, UPP_PUI_Params_t *protect /* Общий ток */ if(measure->final.Iamp > lImax) { - errors.prvt.f.err.iamp_max = 1; + ERR_PRIVATE.iamp_max = 1; } else if (measure->final.Iamp < lImin) { - errors.prvt.f.err.iamp_min = 1; + ERR_PRIVATE.iamp_min = 1; } else { - errors.prvt.f.err.iamp_max = 0; - errors.prvt.f.err.iamp_min = 0; + ERR_PRIVATE.iamp_max = 0; + ERR_PRIVATE.iamp_min = 0; } /* Ток по фазам */ if(measure->final.I[I_A] > lImax) { - errors.prvt.f.err.ia_max = 1; + ERR_PRIVATE.ia_max = 1; } else if (measure->final.I[I_A] < lImin) { - errors.prvt.f.err.ia_min = 1; + ERR_PRIVATE.ia_min = 1; } else { - errors.prvt.f.err.ia_max = 0; - errors.prvt.f.err.ia_min = 0; + ERR_PRIVATE.ia_max = 0; + ERR_PRIVATE.ia_min = 0; } if(measure->final.I[I_B] > lImax) { - errors.prvt.f.err.ib_max = 1; + ERR_PRIVATE.ib_max = 1; } else if (measure->final.I[I_B] < lImin) { - errors.prvt.f.err.ib_min = 1; + ERR_PRIVATE.ib_min = 1; } else { - errors.prvt.f.err.ib_max = 0; - errors.prvt.f.err.ib_min = 0; + ERR_PRIVATE.ib_max = 0; + ERR_PRIVATE.ib_min = 0; } if(measure->final.I[I_C] > lImax) { - errors.prvt.f.err.ic_max = 1; + ERR_PRIVATE.ic_max = 1; } else if (measure->final.I[I_C] < lImin) { - errors.prvt.f.err.ic_min = 1; + ERR_PRIVATE.ic_min = 1; } else { - errors.prvt.f.err.ic_max = 0; - errors.prvt.f.err.ic_min = 0; + ERR_PRIVATE.ic_max = 0; + ERR_PRIVATE.ic_min = 0; } - return (errors.prvt.f.err.iamp_min == 0); + return (ERR_PRIVATE.iamp_min == 0); } @@ -144,44 +144,44 @@ void Protect_Misc(PowerMonitor_Measured_t *measure, UPP_PUI_Params_t *protect, U /*=============== ЗАЩИТЫ ПО ЧАСТОТЕ ==================*/ if(measure->final.F[U_AC] > lFmax) { - errors.prvt.f.err.fac_max = 1; + ERR_PRIVATE.fac_max = 1; } else if (measure->final.F[U_AC] < lFmin) { - errors.prvt.f.err.fac_min = 1; + ERR_PRIVATE.fac_min = 1; } else { - errors.prvt.f.err.fac_max = 0; - errors.prvt.f.err.fac_min = 0; + ERR_PRIVATE.fac_max = 0; + ERR_PRIVATE.fac_min = 0; } if(measure->final.F[U_BA] > lFmax) { - errors.prvt.f.err.fba_max = 1; + ERR_PRIVATE.fba_max = 1; } else if (measure->final.F[U_BA] < lFmin) { - errors.prvt.f.err.fba_min = 1; + ERR_PRIVATE.fba_min = 1; } else { - errors.prvt.f.err.fba_max = 0; - errors.prvt.f.err.fba_min = 0; + ERR_PRIVATE.fba_max = 0; + ERR_PRIVATE.fba_min = 0; } if(measure->final.F[U_BC] > lFmax) { - errors.prvt.f.err.fbc_max = 1; + ERR_PRIVATE.fbc_max = 1; } else if (measure->final.F[U_BC] < lFmin) { - errors.prvt.f.err.fbc_min = 1; + ERR_PRIVATE.fbc_min = 1; } else { - errors.prvt.f.err.fbc_max = 0; - errors.prvt.f.err.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) { - errors.prvt.f.err.temp_err = 1; + ERR_PRIVATE.temp_err = 1; } else if (measure->final.T[TEMP_1] > lTwarn) { - errors.prvt.f.err.temp_warn = 1; + ERR_PRIVATE.temp_warn = 1; } else { - errors.prvt.f.err.temp_err = 0; - errors.prvt.f.err.temp_warn = 0; + ERR_PRIVATE.temp_err = 0; + ERR_PRIVATE.temp_warn = 0; } } diff --git a/UPP/Core/Src/DBG_stm32f417_support.c b/UPP/Core/Src/DBG_stm32f417_support.c new file mode 100644 index 0000000..e69de29 diff --git a/UPP/Core/UPP/upp_errors.c b/UPP/Core/UPP/upp_errors.c index 1ad798e..1d00369 100644 --- a/UPP/Core/UPP/upp_errors.c +++ b/UPP/Core/UPP/upp_errors.c @@ -4,6 +4,12 @@ * @brief Формирование ошибок в ПУИ ****************************************************************************** * @details +Общая логика: +В программе выставляются всякие внутренние флаги ошибок: ERR_PRIVATE +В этом модуле смотрятся какие флаги выставились и переносят эти флаги +в структуру ошибок ПУИ ERR_PUI. + +Также реализована защита от дребезга и в целом задержка на выставление ошибок. ******************************************************************************/ #include "upp_main.h" // УПП #include "upp_errors.h" // всё остальное по работе с УПП @@ -62,50 +68,50 @@ void UPP_Errors_Ranges(void) static int TMaxCnt = 0; /* Напряжения */ - errors.pui.err.OverVoltage = setError(errors.prvt.f.err.uamp_max, - errors.pui.err.OverVoltage, - &UMaxCnt, - ticksTiMax); - errors.pui.err.UnderVoltage = setError(errors.prvt.f.err.uamp_min, - errors.pui.err.UnderVoltage, - &UMinCnt, - ticksTiMax); + 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, + &UMinCnt, + MS_TO_SLOW_TICKS(ERRORS_DELAY_MS_UAMP_ERR)); /* Токи */ - int i_max = ( errors.prvt.f.err.iamp_max || - errors.prvt.f.err.ia_max || - errors.prvt.f.err.ib_max || - errors.prvt.f.err.ic_max); - errors.pui.err.OverCurrent = setError(i_max, - errors.pui.err.OverCurrent, - &IMaxCnt, - ticksTiMax); + 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 = ( errors.prvt.f.err.fac_max || - errors.prvt.f.err.fba_max || - errors.prvt.f.err.fbc_max); - int f_min = ( errors.prvt.f.err.fac_max || - errors.prvt.f.err.fba_max || - errors.prvt.f.err.fbc_max); - errors.pui.err.OverFrequency = setError(f_max, - errors.pui.err.OverFrequency, - &FMaxCnt, - ERRORS_DELAY_TICKS_DEFAULT); + int f_max = ( ERR_PRIVATE.fac_max || + ERR_PRIVATE.fba_max || + ERR_PRIVATE.fbc_max); + int f_min = ( ERR_PRIVATE.fac_max || + ERR_PRIVATE.fba_max || + ERR_PRIVATE.fbc_max); + ERR_PUI.OverFrequency = setError(f_max, + ERR_PUI.OverFrequency, + &FMaxCnt, + MS_TO_SLOW_TICKS(ERRORS_DELAY_MS_F_ERR)); - errors.pui.err.UnderFrequency = setError( f_min, - errors.pui.err.UnderFrequency, - &FMinCnt, - ERRORS_DELAY_TICKS_DEFAULT); + ERR_PUI.UnderFrequency = setError( f_min, + ERR_PUI.UnderFrequency, + &FMinCnt, + MS_TO_SLOW_TICKS(ERRORS_DELAY_MS_F_ERR)); /* Температуры */ - errors.pui.err.OverTemperature = setError(errors.prvt.f.err.temp_err, - errors.pui.err.OverTemperature, - &TMaxCnt, - ERRORS_DELAY_TICKS_DEFAULT); + ERR_PUI.OverTemperature = setError(ERR_PRIVATE.temp_err, + ERR_PUI.OverTemperature, + &TMaxCnt, + MS_TO_SLOW_TICKS(ERRORS_DELAY_MS_DEFAULT)); } void UPP_Errors_LossPhase(void) @@ -116,39 +122,39 @@ void UPP_Errors_LossPhase(void) static int LossPhaseBCnt = 0; static int LossPhaseCCnt = 0; - int loss_phases_all = ( errors.prvt.f.err.ia_min && - errors.prvt.f.err.ib_min && - errors.prvt.f.err.ic_min ); + int loss_phases_all = ( ERR_PRIVATE.ia_min && + ERR_PRIVATE.ib_min && + ERR_PRIVATE.ic_min ); - errors.pui.err.LossPhaseAll = setError( loss_phases_all, - errors.pui.err.LossPhaseAll, - &LossPhaseAllCnt, - ERRORS_DELAY_TICKS_DEFAULT); + ERR_PUI.LossPhaseAll = setError( loss_phases_all, + ERR_PUI.LossPhaseAll, + &LossPhaseAllCnt, + MS_TO_SLOW_TICKS(ERRORS_DELAY_MS_DEFAULT)); /* Если хотя бы одна фаза есть проверяем фазы отдельно */ - if(!errors.pui.err.LossPhaseAll) + if(!ERR_PUI.LossPhaseAll) { - errors.pui.err.LossPhaseA = setError( errors.prvt.f.err.ia_min, - errors.pui.err.LossPhaseA, - &LossPhaseACnt, - ERRORS_DELAY_TICKS_DEFAULT); + ERR_PUI.LossPhaseA = setError( ERR_PRIVATE.ia_min, + ERR_PUI.LossPhaseA, + &LossPhaseACnt, + MS_TO_SLOW_TICKS(ERRORS_DELAY_MS_DEFAULT)); - errors.pui.err.LossPhaseB = setError( errors.prvt.f.err.ib_min, - errors.pui.err.LossPhaseB, - &LossPhaseBCnt, - ERRORS_DELAY_TICKS_DEFAULT); + ERR_PUI.LossPhaseB = setError( ERR_PRIVATE.ib_min, + ERR_PUI.LossPhaseB, + &LossPhaseBCnt, + MS_TO_SLOW_TICKS(ERRORS_DELAY_MS_DEFAULT)); - errors.pui.err.LossPhaseC = setError( errors.prvt.f.err.ic_min, - errors.pui.err.LossPhaseC, - &LossPhaseCCnt, - ERRORS_DELAY_TICKS_DEFAULT); + ERR_PUI.LossPhaseC = setError( ERR_PRIVATE.ic_min, + ERR_PUI.LossPhaseC, + &LossPhaseCCnt, + MS_TO_SLOW_TICKS(ERRORS_DELAY_MS_DEFAULT)); } /* Если всех фаз нет, то отдельные не смотрим */ else { - errors.pui.err.LossPhaseA = 0; - errors.pui.err.LossPhaseB = 0; - errors.pui.err.LossPhaseC = 0; + ERR_PUI.LossPhaseA = 0; + ERR_PUI.LossPhaseB = 0; + ERR_PUI.LossPhaseC = 0; } } @@ -156,15 +162,15 @@ void UPP_Errors_Other(void) { static int InterlaceCnt = 0; - if(errors.prvt.f.err.longstart) - errors.pui.err.LongStart = 1; + if(ERR_PRIVATE.longstart) + ERR_PUI.LongStart = 1; else - errors.pui.err.LongStart = 0; + ERR_PUI.LongStart = 0; - errors.pui.err.Interlace = setError(errors.prvt.f.err.interlance, - errors.pui.err.Interlace, - &InterlaceCnt, - ERRORS_DELAY_TICKS_DEFAULT); + 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_io.c b/UPP/Core/UPP/upp_io.c index a8e4607..193b5ea 100644 --- a/UPP/Core/UPP/upp_io.c +++ b/UPP/Core/UPP/upp_io.c @@ -7,62 +7,131 @@ ******************************************************************************/ #include "upp_io.h" #include "main.h" +UPP_LEDs_t UPP_LEDS; UPP_DiscreteInputs_t UPP_DIN; UPP_DiscreteOutputs_t UPP_DO; +static void UPP_CEN_Write(int state); +static void UPP_RDO1_Write(int state); +static void UPP_RDO2_Write(int state); +static void UPP_RDO3_Write(int state); +static void UPP_RDO4_Write(int state); +static void UPP_DO1_Write(int state); +static void UPP_DO2_Write(int state); +static void UPP_DO3_Write(int state); +static void UPP_DO4_Write(int state); +static void UPP_DO5_Write(int state); -void UPP_CEN_Write(int state) + + +/** + * @brief Инициализация дискретных входов/выходов УПП + */ +void UPP_IO_Init(void) { - HAL_GPIO_WritePin(CEN_GPIO_Port, CEN_Pin, state); + /* Дискретне выходы */ + UPP_DO.CEN = &UPP_CEN_Write; + UPP_DO.Ready = &UPP_RDO3_Write; + UPP_DO.Work = &UPP_RDO2_Write; + UPP_DO.Error = &UPP_RDO1_Write; + UPP_DO.RDO4 = &UPP_RDO4_Write; + UPP_DO.DO1 = &UPP_DO1_Write; + UPP_DO.DO2 = &UPP_DO2_Write; + UPP_DO.DO3 = &UPP_DO3_Write; + UPP_DO.DO4 = &UPP_DO4_Write; + UPP_DO.DO5 = &UPP_DO5_Write; + + + /* Дискретные входы */ + GPIO_Switch_Init(&UPP_DIN.Pusk, DIN1_GPIO_Port, DIN1_Pin, 0); + GPIO_Switch_Init(&UPP_DIN.MestDist, DIN2_GPIO_Port, DIN2_Pin, 0); + GPIO_Switch_Init(&UPP_DIN.DIN3, DIN3_GPIO_Port, DIN3_Pin, 0); + GPIO_Switch_Init(&UPP_DIN.err_24Vdio, ERR_24VDIO_GPIO_Port, ERR_24VDIO_Pin, 1); + GPIO_Switch_Init(&UPP_DIN.err_24V, ERR_24V_GPIO_Port, ERR_24V_Pin, 1); + GPIO_Switch_Init(&UPP_DIN.err_5Vsi, ERR_5VSI_GPIO_Port, ERR_5VSI_Pin, 0); + + /* Дискретные входы платы УМ */ + GPIO_Switch_Init(&UPP_DIN.err_5Vd, UM_ERR_5VD_GPIO_Port, UM_ERR_5VD_Pin, 0); + GPIO_Switch_Init(&UPP_DIN.err_Va, UM_ERR_VA_GPIO_Port, UM_ERR_VA_Pin, 1); + + /* Светодиоды платы УМ */ + GPIO_LED_Init(&UPP_LEDS.green1, UM_LED_GREEN1_GPIO_Port, UM_LED_GREEN1_Pin, 0); + GPIO_LED_Init(&UPP_LEDS.green2, UM_LED_GREEN2_GPIO_Port, UM_LED_GREEN2_Pin, 0); + GPIO_LED_Init(&UPP_LEDS.red, UM_LED_RED_GPIO_Port, UM_LED_RED_Pin, 0); + + + /* Очищаем выходы */ + UPP_DO.CEN(DISABLE); + UPP_DO.Error(DISABLE); + UPP_DO.Work(DISABLE); + UPP_DO.Ready(DISABLE); + UPP_DO.RDO4(DISABLE); + UPP_DO.DO1(DISABLE); + UPP_DO.DO2(DISABLE); + UPP_DO.DO3(DISABLE); + UPP_DO.DO4(DISABLE); + UPP_DO.DO5(DISABLE); + GPIO_LED_Off(&UPP_LEDS.green1); + GPIO_LED_Off(&UPP_LEDS.green2); + GPIO_LED_Off(&UPP_LEDS.red); + } -void UPP_RDO1_Write(int state) + + +/** + * @brief Выставить направление UART1 (STM USART2) + */ +void UPP_UART1_SetDirection(int state) +{ + HAL_GPIO_WritePin(SCIDE1_GPIO_Port, SCIDE1_Pin, state); +} +/** + * @brief Выставить направление UART2 (STM USART5) + */ +void UPP_UART2_SetDirection(int state) +{ + HAL_GPIO_WritePin(SCIDE2_GPIO_Port, SCIDE2_Pin, state); +} + + + +static void UPP_CEN_Write(int state) +{ + HAL_GPIO_WritePin(CEN_GPIO_Port, CEN_Pin, !state); +} +static void UPP_RDO1_Write(int state) { HAL_GPIO_WritePin(RDO1_GPIO_Port, RDO1_Pin, state); } -void UPP_RDO2_Write(int state) +static void UPP_RDO2_Write(int state) { HAL_GPIO_WritePin(RDO2_GPIO_Port, RDO2_Pin, state); } -void UPP_RDO3_Write(int state) +static void UPP_RDO3_Write(int state) { HAL_GPIO_WritePin(RDO3_GPIO_Port, RDO3_Pin, state); } -void UPP_RDO4_Write(int state) +static void UPP_RDO4_Write(int state) { HAL_GPIO_WritePin(RDO4_GPIO_Port, RDO4_Pin, state); } -void UPP_DO1_Write(int state) +static void UPP_DO1_Write(int state) { HAL_GPIO_WritePin(DO1_GPIO_Port, DO1_Pin, state); } -void UPP_DO2_Write(int state) +static void UPP_DO2_Write(int state) { HAL_GPIO_WritePin(DO2_GPIO_Port, DO2_Pin, state); } -void UPP_DO3_Write(int state) +static void UPP_DO3_Write(int state) { HAL_GPIO_WritePin(DO3_GPIO_Port, DO3_Pin, state); } -void UPP_DO4_Write(int state) +static void UPP_DO4_Write(int state) { HAL_GPIO_WritePin(DO4_GPIO_Port, DO4_Pin, state); } -void UPP_DO5_Write(int state) +static void UPP_DO5_Write(int state) { HAL_GPIO_WritePin(DO5_GPIO_Port, DO5_Pin, state); } - - -void UPP_Connect_Discrete(void) -{ - UPP_DO.CEN = &UPP_CEN_Write; - UPP_DO.RDO_Error = &UPP_RDO1_Write; - UPP_DO.RDO_Work = &UPP_RDO2_Write; - UPP_DO.RDO_Ready = &UPP_RDO3_Write; - UPP_DO.RDO4_Reserved = &UPP_RDO4_Write; - UPP_DO.DO1_Reserved = &UPP_DO1_Write; - UPP_DO.DO2_Reserved = &UPP_DO2_Write; - UPP_DO.DO3_Reserved = &UPP_DO3_Write; - UPP_DO.DO4_Reserved = &UPP_DO4_Write; - UPP_DO.DO5_Reserved = &UPP_DO5_Write; -} diff --git a/UPP/Core/UPP/upp_io.h b/UPP/Core/UPP/upp_io.h index cec4a15..7d369d6 100644 --- a/UPP/Core/UPP/upp_io.h +++ b/UPP/Core/UPP/upp_io.h @@ -6,10 +6,12 @@ * @details ******************************************************************************/ -#ifndef _UPP_ERRORS_H -#define _UPP_ERRORS_H +#ifndef _UPP_IO_H +#define _UPP_IO_H #include "mylibs_include.h" + + typedef struct { /* Отладочные светодиоды */ @@ -21,13 +23,15 @@ extern UPP_LEDs_t UPP_LEDS; typedef struct { - GPIO_SwitchTypeDef in1; - GPIO_SwitchTypeDef in2; - GPIO_SwitchTypeDef in3; + GPIO_SwitchTypeDef Pusk; ///< Команда «ПУСК» + GPIO_SwitchTypeDef MestDist; ///< Мест/дист управление + GPIO_SwitchTypeDef DIN3; ///< Резерв - GPIO_SwitchTypeDef err_24V; - GPIO_SwitchTypeDef err_5Vd; - GPIO_SwitchTypeDef err_5Vsi; + GPIO_SwitchTypeDef err_24Vdio;///< Сигнал ошибки источника питания цифровых входов/выходов + GPIO_SwitchTypeDef err_24V; ///< Сигнал ошибки основного источника питания 24В + GPIO_SwitchTypeDef err_5Vsi; ///< Сигнал ошибки источника питания цифровых интерфейсов + GPIO_SwitchTypeDef err_5Vd; ///< Вход сигнала неисправности цифрового источника питания 5В(+5Vd) микроконтроллера и микросхем ввода-вывода (5 В). + GPIO_SwitchTypeDef err_Va; ///< Вход обобщенного сигнала неисправности аналоговых источников питания +3,3В(+3Va), 5В(+5Vа), +15В(+15Va). }UPP_DiscreteInputs_t; extern UPP_DiscreteInputs_t UPP_DIN; @@ -35,17 +39,25 @@ typedef struct { void (*CEN)(int state); - void (*RDO_Error)(int state); - void (*RDO_Work)(int state); - void (*RDO_Ready)(int state); - void (*RDO4_Reserved)(int state); + void (*Error)(int state); + void (*Work)(int state); + void (*Ready)(int state); + void (*RDO4)(int state); - void (*DO1_Reserved)(int state); - void (*DO2_Reserved)(int state); - void (*DO3_Reserved)(int state); - void (*DO4_Reserved)(int state); - void (*DO5_Reserved)(int state); + void (*DO1)(int state); + void (*DO2)(int state); + void (*DO3)(int state); + void (*DO4)(int state); + void (*DO5)(int state); }UPP_DiscreteOutputs_t; extern UPP_DiscreteOutputs_t UPP_DO; -#endif //_UPP_ERRORS_H \ No newline at end of file + +/* Инициализация дискретных входов/выходов УПП */ +void UPP_IO_Init(void); + +/* Выставить направление UART1 (STM USART2) */ +void UPP_UART1_SetDirection(int state); +/* Выставить направление UART2 (STM USART5) */ +void UPP_UART2_SetDirection(int state); +#endif //_UPP_IO_H \ No newline at end of file diff --git a/UPP/Core/UPP/upp_main.c b/UPP/Core/UPP/upp_main.c index 54158dc..29f2788 100644 --- a/UPP/Core/UPP/upp_main.c +++ b/UPP/Core/UPP/upp_main.c @@ -18,6 +18,9 @@ float iref_dbg = 0; */ int UPP_Init(void) { + /* Очищаем входы */ + UPP_IO_Init(); + BenchTime_Init(); // Подключение указателей upp.errors = &errors; @@ -43,6 +46,8 @@ int UPP_PreWhile(void) UPP_Params_InternalControl(); Angle_SetRange(&upp.hangle, 0.0, 0.8); PowerMonitor_Start(&upp.pm); + + return 0; } @@ -52,8 +57,12 @@ int UPP_PreWhile(void) */ int UPP_While(void) { + int retval = 0; if(upp.pm.f.runSlow) { + BenchTime_Start(BT_SLOWCALC, angletim.Instance->CNT, HAL_MAX_DELAY); + + UPP_DO.CEN(ENABLE); // если ошибка вызываем СТОП if(errors.pui.all) { @@ -84,7 +93,14 @@ int UPP_While(void) // Автомат состояний УПП switch(upp.workmode) { + /* Состояние готовности */ case WM_Ready: + PWM_Stop(&upp.hpwm, 0, 1); // Останавливаем ВЕСЬ ШИМ + // Индикация + UPP_DO.Ready(ENABLE); + UPP_DO.Work(DISABLE); + UPP_DO.Error(DISABLE); + // если пришла команда на запуск if (upp.call->go) { @@ -94,7 +110,12 @@ int UPP_While(void) } break; + /* Состояние В работе */ case WM_Running: + // Индикация + UPP_DO.Ready(DISABLE); + UPP_DO.Work(ENABLE); + UPP_DO.Error(DISABLE); // если пришла команда на остановку if (!upp.call->go) upp.workmode = WM_Ready; @@ -105,32 +126,43 @@ int UPP_While(void) // если слишком долгий запуск if((local_time() - upp.StartTick) > (upp.PUI.params->Tdelay*1000)) { - errors.pui.err.LongStart = 1; + ERR_PRIVATE.longstart = 1; } break; - + +// /* Состояние Работа завершена */ +// case WM_Done: +// // Индикация +// UPP_DO.Ready(DISABLE); +// UPP_DO.Work(DISABLE); +// UPP_DO.Error(DISABLE); +// PWM_Stop(&upp.hpwm, 0, 1); // Останавливаем ВЕСЬ ШИМ +// break; + + /* Состояние Ошибки */ case WM_Error: + default: + PWM_Stop(&upp.hpwm, 0, 1); // Останавливаем ВЕСЬ ШИМ + // Индикация + UPP_DO.Ready(ENABLE); + UPP_DO.Work(DISABLE); + UPP_DO.Error(ENABLE); + // Находимся до тех пор пока ошибки не будет устранена if(errors.common == Err_None) upp.workmode = WM_Ready; - PWM_Stop(&upp.hpwm, 0, 1); // Останавливаем ВЕСЬ ШИМ - break; - - case WM_Done: - PWM_Stop(&upp.hpwm, 0, 1); // Останавливаем ВЕСЬ ШИМ - break; - - default: + retval = 1; break; } upp.pm.f.runSlow = 0; + upp.Timings.slow_calc = BenchTime_End(BT_SLOWCALC, angletim.Instance->CNT); }//if(upp.pm.f.runSlow) else { } - return 0; + return retval; } diff --git a/UPP/Core/UPP/upp_main.h b/UPP/Core/UPP/upp_main.h index d134455..86af664 100644 --- a/UPP/Core/UPP/upp_main.h +++ b/UPP/Core/UPP/upp_main.h @@ -39,6 +39,7 @@ typedef struct struct { + uint32_t slow_calc; uint32_t isr_adc; uint32_t isr_pwm; uint32_t isr_systick; diff --git a/UPP/MDK-ARM/EventRecorderStub.scvd b/UPP/MDK-ARM/EventRecorderStub.scvd new file mode 100644 index 0000000..2956b29 --- /dev/null +++ b/UPP/MDK-ARM/EventRecorderStub.scvd @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/UPP/MDK-ARM/UPP.uvoptx b/UPP/MDK-ARM/UPP.uvoptx index e1d7eaf..b782c81 100644 --- a/UPP/MDK-ARM/UPP.uvoptx +++ b/UPP/MDK-ARM/UPP.uvoptx @@ -900,7 +900,7 @@ Modbus - 0 + 1 0 0 0 diff --git a/UPP/MDK-ARM/UPP.uvprojx b/UPP/MDK-ARM/UPP.uvprojx index 6f05408..3d8dd09 100644 --- a/UPP/MDK-ARM/UPP.uvprojx +++ b/UPP/MDK-ARM/UPP.uvprojx @@ -17,8 +17,8 @@ STM32F427ZGTx STMicroelectronics - Keil.STM32F4xx_DFP.2.17.1 - https://www.keil.com/pack/ + Keil.STM32F4xx_DFP.2.16.0 + http://www.keil.com/pack/ IRAM(0x20000000-0x2002FFFF) IRAM2(0x10000000-0x1000FFFF) IROM(0x8000000-0x80FFFFF) CLOCK(25000000) FPU2 CPUTYPE("Cortex-M4") TZ