diff --git a/MATLAB/upp_r2023.slx.original b/MATLAB/upp_r2023.slx.original deleted file mode 100644 index 361b02d..0000000 Binary files a/MATLAB/upp_r2023.slx.original and /dev/null differ diff --git a/UPP/AllLibs/PeriphGeneral b/UPP/AllLibs/PeriphGeneral index 74d692f..11c00f1 160000 --- a/UPP/AllLibs/PeriphGeneral +++ b/UPP/AllLibs/PeriphGeneral @@ -1 +1 @@ -Subproject commit 74d692fdd5c92c6b624391b89f397e4ffcb823cc +Subproject commit 11c00f1e0c94ebd2cae77e17453005e32dfe5a3c diff --git a/UPP/Core/Configs/upp_config.h b/UPP/Core/Configs/upp_config.h index 02aa3ec..847c8ad 100644 --- a/UPP/Core/Configs/upp_config.h +++ b/UPP/Core/Configs/upp_config.h @@ -31,7 +31,7 @@ #define TEMP_2 1 -//#define UPP_DISABLE_ERROR_BLOCK ///< Отключить блокировку УПП при ошибках +#define UPP_DISABLE_ERROR_BLOCK ///< Отключить блокировку УПП при ошибках #define UPP_SIMULATE_I ///< Симулировт токи (Iref/2) а не брать с АЦП #define UPP_DISABLE_PROTECT_BOARDPOWER ///< Отключить проверки питания плат (+24, +5 В) #define UPP_DISABLE_PROTECT_LOSS_PHASE ///< Отключить проверки на потерянные фазы diff --git a/UPP/Core/Inc/main.h b/UPP/Core/Inc/main.h index e801199..9c14f2b 100644 --- a/UPP/Core/Inc/main.h +++ b/UPP/Core/Inc/main.h @@ -178,6 +178,8 @@ extern TIM_HandleTypeDef ustim; void SystemClock_Config_STM32F417(void); #if defined(STM32F417xx) + +/* Ремап входного дискрета Пуск */ #undef ERR_24V_GPIO_Port #undef ERR_24V_Pin #undef DIN1_GPIO_Port @@ -187,6 +189,15 @@ void SystemClock_Config_STM32F417(void); #define DIN1_Pin GPIO_PIN_12 #define DIN1_GPIO_Port GPIOG +/* Ремап выходного дискрета В работе */ +#undef RDO2_GPIO_Port +#undef RDO2_Pin +#undef SCIDE1_GPIO_Port +#undef SCIDE1_Pin +#define RDO2_Pin GPIO_PIN_6 +#define RDO2_GPIO_Port GPIOB +#define SCIDE1_Pin GPIO_PIN_7 +#define SCIDE1_GPIO_Port GPIOB #endif /* USER CODE END Private defines */ diff --git a/UPP/Core/Src/main.c b/UPP/Core/Src/main.c index 3bca677..64019f9 100644 --- a/UPP/Core/Src/main.c +++ b/UPP/Core/Src/main.c @@ -99,7 +99,7 @@ int main(void) /* USER CODE BEGIN SysInit */ #elif defined(STM32F417xx) SystemClock_Config_STM32F417(); -#endif +#endif //defined(STM32F417xx) /* USER CODE END SysInit */ /* Initialize all configured peripherals */ @@ -124,7 +124,7 @@ int main(void) #if defined(STM32F417xx) // т.к. нет епромки выставляем дефолтные UPP_Params_SetDefault(1, 1); -#endif +#endif //defined(STM32F417xx) #else //MATLAB #endif //MATLAB UPP_App_Init(); diff --git a/UPP/Core/UPP/pwm_thyristors.c b/UPP/Core/UPP/pwm_thyristors.c index 8c9db9c..dc47ed3 100644 --- a/UPP/Core/UPP/pwm_thyristors.c +++ b/UPP/Core/UPP/pwm_thyristors.c @@ -98,6 +98,9 @@ HAL_StatusTypeDef PWM_Start(PWM_Handle_t *hpwm, UPP_Phase_t Phase) if (hpwm->Phase[Phase] == NULL || hpwm->Phase[Phase] == &hpwm->AllPhases[PHASE_UNKNOWN]) return HAL_ERROR; + if(!(hpwm->Config.PhaseMask.all&(1<Phase[Phase]->State) { // Если мы НЕ в режиме ожидание - ошибка diff --git a/UPP/Core/UPP/upp_io.c b/UPP/Core/UPP/upp_io.c index 193b5ea..ba2c989 100644 --- a/UPP/Core/UPP/upp_io.c +++ b/UPP/Core/UPP/upp_io.c @@ -44,7 +44,9 @@ void UPP_IO_Init(void) /* Дискретные входы */ GPIO_Switch_Init(&UPP_DIN.Pusk, DIN1_GPIO_Port, DIN1_Pin, 0); + UPP_DIN.Pusk.Sw_FilterDelay = 100; GPIO_Switch_Init(&UPP_DIN.MestDist, DIN2_GPIO_Port, DIN2_Pin, 0); + UPP_DIN.MestDist.Sw_FilterDelay = 100; 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); diff --git a/UPP/Core/UPP/upp_main.c b/UPP/Core/UPP/upp_main.c index 9c1f662..ca998b1 100644 --- a/UPP/Core/UPP/upp_main.c +++ b/UPP/Core/UPP/upp_main.c @@ -123,6 +123,9 @@ int UPP_While(void) { /*======= Состояние Инициализация =========*/ case UPP_Init: + UPP_DO.Ready(DISABLE); + UPP_DO.Work(DISABLE); + UPP_DO.Error(DISABLE); if(slow_cnt == 0) { // начало инициализации - сбрасываем флаги memset(&ERR_PRIVATE, 0, sizeof(ERR_PRIVATE)); diff --git a/UPP/Core/UPP/upp_params.c b/UPP/Core/UPP/upp_params.c index e1530e7..2923658 100644 --- a/UPP/Core/UPP/upp_params.c +++ b/UPP/Core/UPP/upp_params.c @@ -226,7 +226,7 @@ void UPP_Params_SetDefault(int pui_default, int internal_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 = 0x7; // (все три фазы) + PARAM_INTERNAL.pwm.PhaseMask = 1; // (все три фазы) PARAM_INTERNAL.pwm.Frequency = (float)PWM_THYR_FREQUENCY_HZ_DEFAULT; PARAM_INTERNAL.pwm.PulseNumber = PWM_THYR_PULSE_NUMBER_DEFAULT; diff --git a/UPP/MDK-ARM/UPP.uvoptx b/UPP/MDK-ARM/UPP.uvoptx index 3c683fb..c34d833 100644 --- a/UPP/MDK-ARM/UPP.uvoptx +++ b/UPP/MDK-ARM/UPP.uvoptx @@ -331,7 +331,7 @@ 0 407 1 -
134233790
+
134233766
0 0 0 @@ -347,7 +347,7 @@ 0 136 1 -
134256304
+
134256316
0 0 0 @@ -446,6 +446,16 @@ 1 htim2 + + 14 + 1 + UPP_DIN,0x0A + + + 15 + 1 + \\Debug_F417\../Core/UPP/upp_io.c\UPP_DIN.Pusk.Sw_FilterDelay + @@ -534,7 +544,7 @@ 0 0 0 - 1 + 0 0 0 0