|
|
@@ -136,6 +136,8 @@ static void Proc1SecTask(void); //1s
|
|
|
static void over_RelayState(void);
|
|
|
static void all_over_RelayState(void);
|
|
|
|
|
|
+bool handle_status[RelaySlaveChaNum] = {0};
|
|
|
+uint8_t handle_detection[2] = {1,1};
|
|
|
|
|
|
|
|
|
uint8_t consumer_clear_flag = 0;
|
|
|
@@ -862,25 +864,32 @@ static void Proc2msTask_Start(void)
|
|
|
if(Get2msFlag()) //判断2ms标志状态
|
|
|
{
|
|
|
|
|
|
-// if((detection_value & 1) == 0)
|
|
|
-// {
|
|
|
-//
|
|
|
-// EE_ACDC_State_ReadReg[0].ACDC_Cha_On_Off_State=false;
|
|
|
-// EE_ACDC_State_ReadReg[1].ACDC_Cha_On_Off_State=false;
|
|
|
-// EE_ACDC_State_ReadReg[2].ACDC_Cha_On_Off_State=false;
|
|
|
+ if((detection_value & 1) == 0)
|
|
|
+ {
|
|
|
+ handle_detection[0] = 0;
|
|
|
+ handle_status[0] = EE_ACDC_State_ReadReg[0].ACDC_Cha_On_Off_State;
|
|
|
+ handle_status[1] = EE_ACDC_State_ReadReg[1].ACDC_Cha_On_Off_State;
|
|
|
+ handle_status[2] = EE_ACDC_State_ReadReg[2].ACDC_Cha_On_Off_State;
|
|
|
+ EE_ACDC_State_ReadReg[0].ACDC_Cha_On_Off_State=false;
|
|
|
+ EE_ACDC_State_ReadReg[1].ACDC_Cha_On_Off_State=false;
|
|
|
+ EE_ACDC_State_ReadReg[2].ACDC_Cha_On_Off_State=false;
|
|
|
// Relay1State();
|
|
|
// Relay2State();
|
|
|
// Relay3State();
|
|
|
-// }
|
|
|
-// if((detection_value & 2) == 0)
|
|
|
-// {
|
|
|
-// EE_ACDC_State_ReadReg[3].ACDC_Cha_On_Off_State=false;
|
|
|
-// EE_ACDC_State_ReadReg[4].ACDC_Cha_On_Off_State=false;
|
|
|
-// EE_ACDC_State_ReadReg[5].ACDC_Cha_On_Off_State=false;
|
|
|
+ }
|
|
|
+ if((detection_value & 2) == 0)
|
|
|
+ {
|
|
|
+ handle_detection[1] = 0;
|
|
|
+ handle_status[3] = EE_ACDC_State_ReadReg[3].ACDC_Cha_On_Off_State;
|
|
|
+ handle_status[4] = EE_ACDC_State_ReadReg[4].ACDC_Cha_On_Off_State;
|
|
|
+ handle_status[5] = EE_ACDC_State_ReadReg[5].ACDC_Cha_On_Off_State;
|
|
|
+ EE_ACDC_State_ReadReg[3].ACDC_Cha_On_Off_State=false;
|
|
|
+ EE_ACDC_State_ReadReg[4].ACDC_Cha_On_Off_State=false;
|
|
|
+ EE_ACDC_State_ReadReg[5].ACDC_Cha_On_Off_State=false;
|
|
|
// Relay4State();
|
|
|
// Relay5State();
|
|
|
// Relay6State();
|
|
|
-// }
|
|
|
+ }
|
|
|
Delay_Ms_1 = Delay_Ms_1 +1;
|
|
|
|
|
|
#ifdef ACSingPhSmaCurrNew
|
|
|
@@ -1262,10 +1271,11 @@ static void over_RelayState(void)
|
|
|
EE_ACDC_State_ReadRegTrue[i].ACDC_Cha_On_Off_State = false;
|
|
|
}
|
|
|
over_Func_flag[i] = 0;
|
|
|
+ BUFF;
|
|
|
+ LOCK;
|
|
|
}
|
|
|
}
|
|
|
- BUFF;
|
|
|
- LOCK;
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -1290,29 +1300,76 @@ int main(void)
|
|
|
eMBPoll();
|
|
|
Proc100msTask(); //100ms处理任务
|
|
|
//ProcTaskNew();
|
|
|
-
|
|
|
-// if((detection_value & 1) == 0)
|
|
|
-// {
|
|
|
-//
|
|
|
-// EE_ACDC_State_ReadReg[0].ACDC_Cha_On_Off_State=false;
|
|
|
-// EE_ACDC_State_ReadReg[1].ACDC_Cha_On_Off_State=false;
|
|
|
-// EE_ACDC_State_ReadReg[2].ACDC_Cha_On_Off_State=false;
|
|
|
-// Relay1State();
|
|
|
-// Relay2State();
|
|
|
-// Relay3State();
|
|
|
-// }
|
|
|
-// if((detection_value & 2) == 0)
|
|
|
-// {
|
|
|
-// EE_ACDC_State_ReadReg[3].ACDC_Cha_On_Off_State=false;
|
|
|
-// EE_ACDC_State_ReadReg[4].ACDC_Cha_On_Off_State=false;
|
|
|
-// EE_ACDC_State_ReadReg[5].ACDC_Cha_On_Off_State=false;
|
|
|
-// Relay4State();
|
|
|
-// Relay5State();
|
|
|
-// Relay6State();
|
|
|
-// }
|
|
|
+ Proc1SecTask(); //1s处理任务
|
|
|
+ if((detection_value & 1) == 0)
|
|
|
+ {
|
|
|
+ if(handle_detection[0] == 1)
|
|
|
+ {
|
|
|
+ handle_status[0] = EE_ACDC_State_ReadReg[0].ACDC_Cha_On_Off_State;
|
|
|
+ handle_status[1] = EE_ACDC_State_ReadReg[1].ACDC_Cha_On_Off_State;
|
|
|
+ handle_status[2] = EE_ACDC_State_ReadReg[2].ACDC_Cha_On_Off_State;
|
|
|
+ }
|
|
|
+ handle_detection[0] = 0;
|
|
|
+
|
|
|
+ EE_ACDC_State_ReadReg[0].ACDC_Cha_On_Off_State=false;
|
|
|
+ EE_ACDC_State_ReadReg[1].ACDC_Cha_On_Off_State=false;
|
|
|
+ EE_ACDC_State_ReadReg[2].ACDC_Cha_On_Off_State=false;
|
|
|
+ Relay1State();
|
|
|
+ Relay2State();
|
|
|
+ Relay3State();
|
|
|
+ BUFF;
|
|
|
+ LOCK;
|
|
|
+ }else
|
|
|
+ {
|
|
|
+ if(handle_detection[0] == 0)
|
|
|
+ {
|
|
|
+ handle_detection[0] = 1;
|
|
|
+ EE_ACDC_State_ReadReg[0].ACDC_Cha_On_Off_State=handle_status[0];
|
|
|
+ EE_ACDC_State_ReadReg[1].ACDC_Cha_On_Off_State=handle_status[1];
|
|
|
+ EE_ACDC_State_ReadReg[2].ACDC_Cha_On_Off_State=handle_status[2];
|
|
|
+ Relay1State();
|
|
|
+ Relay2State();
|
|
|
+ Relay3State();
|
|
|
+ BUFF;
|
|
|
+ LOCK;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if((detection_value & 2) == 0)
|
|
|
+ {
|
|
|
+ if(handle_detection[1] == 1)
|
|
|
+ {
|
|
|
+ handle_status[3] = EE_ACDC_State_ReadReg[3].ACDC_Cha_On_Off_State;
|
|
|
+ handle_status[4] = EE_ACDC_State_ReadReg[4].ACDC_Cha_On_Off_State;
|
|
|
+ handle_status[5] = EE_ACDC_State_ReadReg[5].ACDC_Cha_On_Off_State;
|
|
|
+ }
|
|
|
+ handle_detection[1] = 0;
|
|
|
+ EE_ACDC_State_ReadReg[3].ACDC_Cha_On_Off_State=false;
|
|
|
+ EE_ACDC_State_ReadReg[4].ACDC_Cha_On_Off_State=false;
|
|
|
+ EE_ACDC_State_ReadReg[5].ACDC_Cha_On_Off_State=false;
|
|
|
+ Relay4State();
|
|
|
+ Relay5State();
|
|
|
+ Relay6State();
|
|
|
+ BUFF;
|
|
|
+ LOCK;
|
|
|
+ }else
|
|
|
+ {
|
|
|
+ if(handle_detection[1] == 0)
|
|
|
+ {
|
|
|
+ handle_detection[1] = 1;
|
|
|
+ EE_ACDC_State_ReadReg[3].ACDC_Cha_On_Off_State=handle_status[3];
|
|
|
+ EE_ACDC_State_ReadReg[4].ACDC_Cha_On_Off_State=handle_status[4];
|
|
|
+ EE_ACDC_State_ReadReg[5].ACDC_Cha_On_Off_State=handle_status[5];
|
|
|
+ Relay4State();
|
|
|
+ Relay5State();
|
|
|
+ Relay6State();
|
|
|
+ BUFF;
|
|
|
+ LOCK;
|
|
|
+ }
|
|
|
+ }
|
|
|
check_channel_reset();
|
|
|
- Proc1SecTask(); //1s处理任务
|
|
|
+
|
|
|
Fwdgt_reload();
|
|
|
+
|
|
|
#ifdef ACSingPhSmaCurrNew
|
|
|
if(write_2_minute_flag == 1)
|
|
|
{
|