You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
432 lines
22 KiB
C++
432 lines
22 KiB
C++
/*
|
|
* PhaseAlertMonitor.cpp
|
|
*
|
|
* Author: Aleksey Gerasimenko
|
|
* gerasimenko.aleksey.n@gmail.com
|
|
*/
|
|
|
|
#include "SYSCTRL/PhaseAlertMonitor.h"
|
|
|
|
namespace SYSCTRL
|
|
{
|
|
//CONSTRUCTOR
|
|
PhaseAlertMonitor::PhaseAlertMonitor():
|
|
m_time_sample(-1.0),
|
|
m_fault(false),
|
|
m_warning(false),
|
|
m_monitor(),
|
|
status(),
|
|
fault(false),
|
|
warning(false),
|
|
m_voltage_ab_exceed_level_1(),
|
|
m_voltage_bc_exceed_level_1(),
|
|
m_voltage_ca_exceed_level_1(),
|
|
m_voltage_ab_exceed_level_2(),
|
|
m_voltage_bc_exceed_level_2(),
|
|
m_voltage_ca_exceed_level_2(),
|
|
m_voltage_ab_exceed_level_3(),
|
|
m_voltage_bc_exceed_level_3(),
|
|
m_voltage_ca_exceed_level_3(),
|
|
m_voltage_ab_exceed_level_4(),
|
|
m_voltage_bc_exceed_level_4(),
|
|
m_voltage_ca_exceed_level_4(),
|
|
m_voltage_ab_decrease_level_1(),
|
|
m_voltage_bc_decrease_level_1(),
|
|
m_voltage_ca_decrease_level_1(),
|
|
m_voltage_ab_decrease_level_2(),
|
|
m_voltage_bc_decrease_level_2(),
|
|
m_voltage_ca_decrease_level_2(),
|
|
m_voltage_ab_decrease_level_3(),
|
|
m_voltage_bc_decrease_level_3(),
|
|
m_voltage_ca_decrease_level_3(),
|
|
m_current_a_overload_level_1(),
|
|
m_current_b_overload_level_1(),
|
|
m_current_c_overload_level_1(),
|
|
m_current_a_overload_level_2(),
|
|
m_current_b_overload_level_2(),
|
|
m_current_c_overload_level_2(),
|
|
m_current_a_overload_level_3(),
|
|
m_current_b_overload_level_3(),
|
|
m_current_c_overload_level_3(),
|
|
//
|
|
m_current_invertor_a_overload_level_1(),
|
|
m_current_invertor_b_overload_level_1(),
|
|
m_current_invertor_c_overload_level_1(),
|
|
m_current_invertor_a_overload_level_2(),
|
|
m_current_invertor_b_overload_level_2(),
|
|
m_current_invertor_c_overload_level_2(),
|
|
m_current_invertor_a_overload_level_3(),
|
|
m_current_invertor_b_overload_level_3(),
|
|
m_current_invertor_c_overload_level_3(),
|
|
//
|
|
m_current_input_a_overload_level_1(),
|
|
m_current_input_b_overload_level_1(),
|
|
m_current_input_c_overload_level_1(),
|
|
m_current_input_a_overload_level_2(),
|
|
m_current_input_b_overload_level_2(),
|
|
m_current_input_c_overload_level_2(),
|
|
m_current_input_a_overload_level_3(),
|
|
m_current_input_b_overload_level_3(),
|
|
m_current_input_c_overload_level_3(),
|
|
//
|
|
_execute(&SYSCTRL::PhaseAlertMonitor::_execute_undef)
|
|
//
|
|
{}//CONSTRUCTOR
|
|
|
|
|
|
void PhaseAlertMonitor::setup(float time_sample)
|
|
{
|
|
m_time_sample = time_sample;
|
|
|
|
m_voltage_ab_exceed_level_1.setup(m_time_sample);
|
|
m_voltage_bc_exceed_level_1.setup(m_time_sample);
|
|
m_voltage_ca_exceed_level_1.setup(m_time_sample);
|
|
m_voltage_ab_exceed_level_2.setup(m_time_sample);
|
|
m_voltage_bc_exceed_level_2.setup(m_time_sample);
|
|
m_voltage_ca_exceed_level_2.setup(m_time_sample);
|
|
m_voltage_ab_exceed_level_3.setup(m_time_sample);
|
|
m_voltage_bc_exceed_level_3.setup(m_time_sample);
|
|
m_voltage_ca_exceed_level_3.setup(m_time_sample);
|
|
m_voltage_ab_exceed_level_4.setup(m_time_sample);
|
|
m_voltage_bc_exceed_level_4.setup(m_time_sample);
|
|
m_voltage_ca_exceed_level_4.setup(m_time_sample);
|
|
m_voltage_ab_decrease_level_1.setup(m_time_sample);
|
|
m_voltage_bc_decrease_level_1.setup(m_time_sample);
|
|
m_voltage_ca_decrease_level_1.setup(m_time_sample);
|
|
m_voltage_ab_decrease_level_2.setup(m_time_sample);
|
|
m_voltage_bc_decrease_level_2.setup(m_time_sample);
|
|
m_voltage_ca_decrease_level_2.setup(m_time_sample);
|
|
m_voltage_ab_decrease_level_3.setup(m_time_sample);
|
|
m_voltage_bc_decrease_level_3.setup(m_time_sample);
|
|
m_voltage_ca_decrease_level_3.setup(m_time_sample);
|
|
m_current_a_overload_level_1.setup(m_time_sample);
|
|
m_current_b_overload_level_1.setup(m_time_sample);
|
|
m_current_c_overload_level_1.setup(m_time_sample);
|
|
m_current_a_overload_level_2.setup(m_time_sample);
|
|
m_current_b_overload_level_2.setup(m_time_sample);
|
|
m_current_c_overload_level_2.setup(m_time_sample);
|
|
m_current_a_overload_level_3.setup(m_time_sample);
|
|
m_current_b_overload_level_3.setup(m_time_sample);
|
|
m_current_c_overload_level_3.setup(m_time_sample);
|
|
m_current_invertor_a_overload_level_1.setup(m_time_sample);
|
|
m_current_invertor_b_overload_level_1.setup(m_time_sample);
|
|
m_current_invertor_c_overload_level_1.setup(m_time_sample);
|
|
m_current_invertor_a_overload_level_2.setup(m_time_sample);
|
|
m_current_invertor_b_overload_level_2.setup(m_time_sample);
|
|
m_current_invertor_c_overload_level_2.setup(m_time_sample);
|
|
m_current_invertor_a_overload_level_3.setup(m_time_sample);
|
|
m_current_invertor_b_overload_level_3.setup(m_time_sample);
|
|
m_current_invertor_c_overload_level_3.setup(m_time_sample);
|
|
|
|
m_current_input_a_overload_level_1.setup(m_time_sample);
|
|
m_current_input_b_overload_level_1.setup(m_time_sample);
|
|
m_current_input_c_overload_level_1.setup(m_time_sample);
|
|
m_current_input_a_overload_level_2.setup(m_time_sample);
|
|
m_current_input_b_overload_level_2.setup(m_time_sample);
|
|
m_current_input_c_overload_level_2.setup(m_time_sample);
|
|
m_current_input_a_overload_level_3.setup(m_time_sample);
|
|
m_current_input_b_overload_level_3.setup(m_time_sample);
|
|
m_current_input_c_overload_level_3.setup(m_time_sample);
|
|
//
|
|
}//setup()
|
|
//
|
|
void PhaseAlertMonitor::configure(const PhaseAlertConfiguration& config)
|
|
{
|
|
m_voltage_ab_exceed_level_1.configure(config.voltage_exceed_level_1);
|
|
m_voltage_bc_exceed_level_1.configure(config.voltage_exceed_level_1);
|
|
m_voltage_ca_exceed_level_1.configure(config.voltage_exceed_level_1);
|
|
m_voltage_ab_exceed_level_2.configure(config.voltage_exceed_level_2);
|
|
m_voltage_bc_exceed_level_2.configure(config.voltage_exceed_level_2);
|
|
m_voltage_ca_exceed_level_2.configure(config.voltage_exceed_level_2);
|
|
m_voltage_ab_exceed_level_3.configure(config.voltage_exceed_level_3);
|
|
m_voltage_bc_exceed_level_3.configure(config.voltage_exceed_level_3);
|
|
m_voltage_ca_exceed_level_3.configure(config.voltage_exceed_level_3);
|
|
m_voltage_ab_exceed_level_4.configure(config.voltage_exceed_level_4);
|
|
m_voltage_bc_exceed_level_4.configure(config.voltage_exceed_level_4);
|
|
m_voltage_ca_exceed_level_4.configure(config.voltage_exceed_level_4);
|
|
m_voltage_ab_decrease_level_1.configure(config.voltage_decrease_level_1);
|
|
m_voltage_bc_decrease_level_1.configure(config.voltage_decrease_level_1);
|
|
m_voltage_ca_decrease_level_1.configure(config.voltage_decrease_level_1);
|
|
m_voltage_ab_decrease_level_2.configure(config.voltage_decrease_level_2);
|
|
m_voltage_bc_decrease_level_2.configure(config.voltage_decrease_level_2);
|
|
m_voltage_ca_decrease_level_2.configure(config.voltage_decrease_level_2);
|
|
m_voltage_ab_decrease_level_3.configure(config.voltage_decrease_level_3);
|
|
m_voltage_bc_decrease_level_3.configure(config.voltage_decrease_level_3);
|
|
m_voltage_ca_decrease_level_3.configure(config.voltage_decrease_level_3);
|
|
m_current_a_overload_level_1.configure(config.current_overload_level_1);
|
|
m_current_b_overload_level_1.configure(config.current_overload_level_1);
|
|
m_current_c_overload_level_1.configure(config.current_overload_level_1);
|
|
m_current_a_overload_level_2.configure(config.current_overload_level_2);
|
|
m_current_b_overload_level_2.configure(config.current_overload_level_2);
|
|
m_current_c_overload_level_2.configure(config.current_overload_level_2);
|
|
m_current_a_overload_level_3.configure(config.current_overload_level_3);
|
|
m_current_b_overload_level_3.configure(config.current_overload_level_3);
|
|
m_current_c_overload_level_3.configure(config.current_overload_level_3);
|
|
//
|
|
m_current_invertor_a_overload_level_1.configure(config.current_invertor_overload_level_1);
|
|
m_current_invertor_b_overload_level_1.configure(config.current_invertor_overload_level_1);
|
|
m_current_invertor_c_overload_level_1.configure(config.current_invertor_overload_level_1);
|
|
m_current_invertor_a_overload_level_2.configure(config.current_invertor_overload_level_2);
|
|
m_current_invertor_b_overload_level_2.configure(config.current_invertor_overload_level_2);
|
|
m_current_invertor_c_overload_level_2.configure(config.current_invertor_overload_level_2);
|
|
m_current_invertor_a_overload_level_3.configure(config.current_invertor_overload_level_3);
|
|
m_current_invertor_b_overload_level_3.configure(config.current_invertor_overload_level_3);
|
|
m_current_invertor_c_overload_level_3.configure(config.current_invertor_overload_level_3);
|
|
//
|
|
m_current_input_a_overload_level_1.configure(config.current_input_overload_level_1);
|
|
m_current_input_b_overload_level_1.configure(config.current_input_overload_level_1);
|
|
m_current_input_c_overload_level_1.configure(config.current_input_overload_level_1);
|
|
m_current_input_a_overload_level_2.configure(config.current_input_overload_level_2);
|
|
m_current_input_b_overload_level_2.configure(config.current_input_overload_level_2);
|
|
m_current_input_c_overload_level_2.configure(config.current_input_overload_level_2);
|
|
m_current_input_a_overload_level_3.configure(config.current_input_overload_level_3);
|
|
m_current_input_b_overload_level_3.configure(config.current_input_overload_level_3);
|
|
m_current_input_c_overload_level_3.configure(config.current_input_overload_level_3);
|
|
|
|
|
|
if((m_time_sample > FP_ZERO))
|
|
{
|
|
_execute = &SYSCTRL::PhaseAlertMonitor::_execute_operational;
|
|
//
|
|
}//if
|
|
//
|
|
}//configure()
|
|
//
|
|
#pragma CODE_SECTION("ramfuncs");
|
|
void PhaseAlertMonitor::get_faults(PhaseFaultRegister& ph_a, PhaseFaultRegister& ph_b, PhaseFaultRegister& ph_c)
|
|
{
|
|
ph_a.all = m_monitor.phase_a.fault.all;
|
|
ph_b.all = m_monitor.phase_b.fault.all;
|
|
ph_c.all = m_monitor.phase_c.fault.all;
|
|
//
|
|
}//
|
|
//
|
|
//
|
|
#pragma CODE_SECTION("ramfuncs");
|
|
void PhaseAlertMonitor::reset()
|
|
{
|
|
m_monitor.phase_a.warning.all = (uint16_t)0;
|
|
m_monitor.phase_a.fault.all = (uint16_t)0;
|
|
m_monitor.phase_b.warning.all = (uint16_t)0;
|
|
m_monitor.phase_b.fault.all = (uint16_t)0;
|
|
m_monitor.phase_c.warning.all = (uint16_t)0;
|
|
m_monitor.phase_c.fault.all = (uint16_t)0;
|
|
//
|
|
m_monitor.phase_a.warning.all = (uint16_t)0;
|
|
m_monitor.phase_a.fault.all = (uint16_t)0;
|
|
m_monitor.phase_b.warning.all = (uint16_t)0;
|
|
m_monitor.phase_b.fault.all = (uint16_t)0;
|
|
m_monitor.phase_c.warning.all = (uint16_t)0;
|
|
m_monitor.phase_c.fault.all = (uint16_t)0;
|
|
//
|
|
m_voltage_ab_exceed_level_1.reset();
|
|
m_voltage_bc_exceed_level_1.reset();
|
|
m_voltage_ca_exceed_level_1.reset();
|
|
m_voltage_ab_exceed_level_2.reset();
|
|
m_voltage_bc_exceed_level_2.reset();
|
|
m_voltage_ca_exceed_level_2.reset();
|
|
m_voltage_ab_exceed_level_3.reset();
|
|
m_voltage_bc_exceed_level_3.reset();
|
|
m_voltage_ca_exceed_level_3.reset();
|
|
m_voltage_ab_exceed_level_4.reset();
|
|
m_voltage_bc_exceed_level_4.reset();
|
|
m_voltage_ca_exceed_level_4.reset();
|
|
m_voltage_ab_decrease_level_1.reset();
|
|
m_voltage_bc_decrease_level_1.reset();
|
|
m_voltage_ca_decrease_level_1.reset();
|
|
m_voltage_ab_decrease_level_2.reset();
|
|
m_voltage_bc_decrease_level_2.reset();
|
|
m_voltage_ca_decrease_level_2.reset();
|
|
m_voltage_ab_decrease_level_3.reset();
|
|
m_voltage_bc_decrease_level_3.reset();
|
|
m_voltage_ca_decrease_level_3.reset();
|
|
m_current_a_overload_level_1.reset();
|
|
m_current_b_overload_level_1.reset();
|
|
m_current_c_overload_level_1.reset();
|
|
m_current_a_overload_level_2.reset();
|
|
m_current_b_overload_level_2.reset();
|
|
m_current_c_overload_level_2.reset();
|
|
m_current_a_overload_level_3.reset();
|
|
m_current_b_overload_level_3.reset();
|
|
m_current_c_overload_level_3.reset();
|
|
m_current_invertor_a_overload_level_1.reset();
|
|
m_current_invertor_b_overload_level_1.reset();
|
|
m_current_invertor_c_overload_level_1.reset();
|
|
m_current_invertor_a_overload_level_2.reset();
|
|
m_current_invertor_b_overload_level_2.reset();
|
|
m_current_invertor_c_overload_level_2.reset();
|
|
m_current_invertor_a_overload_level_3.reset();
|
|
m_current_invertor_b_overload_level_3.reset();
|
|
m_current_invertor_c_overload_level_3.reset();
|
|
//
|
|
m_fault = false;
|
|
m_warning = false;
|
|
warning = m_warning;
|
|
fault = m_fault;
|
|
status = m_monitor;
|
|
//
|
|
}//reset()
|
|
//
|
|
#pragma CODE_SECTION("ramfuncs");
|
|
void PhaseAlertMonitor::execute(float urmsa, float urmsb, float urmsc,
|
|
float irmsa, float irmsb, float irmsc,
|
|
float invrmsa, float invrmsb, float invrmsc,
|
|
float inprmsa, float inprmsb, float inprmsc)
|
|
{
|
|
(this->*_execute)(urmsa, urmsb, urmsc, irmsa, irmsb, irmsc, invrmsa, invrmsb, invrmsc, inprmsa, inprmsb, inprmsc);
|
|
//
|
|
}//execute()
|
|
//
|
|
#pragma CODE_SECTION("ramfuncs");
|
|
void PhaseAlertMonitor::_execute_undef(float urmsa, float urmsb, float urmsc,
|
|
float irmsa, float irmsb, float irmsc,
|
|
float invrmsa, float invrmsb, float invrmsc,
|
|
float inprmsa, float inprmsb, float inprmsc)
|
|
{
|
|
//
|
|
}//_execute_undef()
|
|
//
|
|
#pragma CODE_SECTION("ramfuncs");
|
|
void PhaseAlertMonitor::_execute_operational(float urmsa, float urmsb, float urmsc,
|
|
float irmsa, float irmsb, float irmsc,
|
|
float invrmsa, float invrmsb, float invrmsc,
|
|
float inprmsa, float inprmsb, float inprmsc)
|
|
{
|
|
static bool _warning = false;
|
|
_warning = false;
|
|
|
|
m_monitor.phase_a.warning.all = (uint16_t)0;
|
|
m_monitor.phase_a.fault.all = (uint16_t)0;
|
|
m_monitor.phase_b.warning.all = (uint16_t)0;
|
|
m_monitor.phase_b.fault.all = (uint16_t)0;
|
|
m_monitor.phase_c.warning.all = (uint16_t)0;
|
|
m_monitor.phase_c.fault.all = (uint16_t)0;
|
|
//
|
|
m_voltage_ab_exceed_level_1.execute(urmsa);
|
|
m_voltage_bc_exceed_level_1.execute(urmsb);
|
|
m_voltage_ca_exceed_level_1.execute(urmsc);
|
|
|
|
m_voltage_ab_exceed_level_2.execute(urmsa);
|
|
m_voltage_bc_exceed_level_2.execute(urmsb);
|
|
m_voltage_ca_exceed_level_2.execute(urmsc);
|
|
|
|
m_voltage_ab_exceed_level_3.execute(urmsa);
|
|
m_voltage_bc_exceed_level_3.execute(urmsb);
|
|
m_voltage_ca_exceed_level_3.execute(urmsc);
|
|
|
|
m_voltage_ab_exceed_level_4.execute(urmsa);
|
|
m_voltage_bc_exceed_level_4.execute(urmsb);
|
|
m_voltage_ca_exceed_level_4.execute(urmsc);
|
|
/*
|
|
m_voltage_ab_decrease_level_1.execute(urmsa);
|
|
m_voltage_bc_decrease_level_1.execute(urmsb);
|
|
m_voltage_ca_decrease_level_1.execute(urmsc);
|
|
|
|
m_voltage_ab_decrease_level_2.execute(urmsa);
|
|
m_voltage_bc_decrease_level_2.execute(urmsb);
|
|
m_voltage_ca_decrease_level_2.execute(urmsc);
|
|
*/
|
|
/*
|
|
m_voltage_ab_decrease_level_3.execute(urmsa);
|
|
m_voltage_bc_decrease_level_3.execute(urmsb);
|
|
m_voltage_ca_decrease_level_3.execute(urmsc);
|
|
*/
|
|
m_current_a_overload_level_1.execute(irmsa);
|
|
m_current_b_overload_level_1.execute(irmsb);
|
|
m_current_c_overload_level_1.execute(irmsc);
|
|
m_current_a_overload_level_2.execute(irmsa);
|
|
m_current_b_overload_level_2.execute(irmsb);
|
|
m_current_c_overload_level_2.execute(irmsc);
|
|
m_current_a_overload_level_3.execute(irmsa);
|
|
m_current_b_overload_level_3.execute(irmsb);
|
|
m_current_c_overload_level_3.execute(irmsc);
|
|
m_current_invertor_a_overload_level_1.execute(invrmsa);
|
|
m_current_invertor_b_overload_level_1.execute(invrmsb);
|
|
m_current_invertor_c_overload_level_1.execute(invrmsc);
|
|
m_current_invertor_a_overload_level_2.execute(invrmsa);
|
|
m_current_invertor_b_overload_level_2.execute(invrmsb);
|
|
m_current_invertor_c_overload_level_2.execute(invrmsc);
|
|
m_current_invertor_a_overload_level_3.execute(invrmsa);
|
|
m_current_invertor_b_overload_level_3.execute(invrmsb);
|
|
m_current_invertor_c_overload_level_3.execute(invrmsc);
|
|
//
|
|
m_current_input_a_overload_level_1.execute(inprmsa);
|
|
m_current_input_b_overload_level_1.execute(inprmsb);
|
|
m_current_input_c_overload_level_1.execute(inprmsc);
|
|
m_current_input_a_overload_level_2.execute(inprmsa);
|
|
m_current_input_b_overload_level_2.execute(inprmsb);
|
|
m_current_input_c_overload_level_2.execute(inprmsc);
|
|
m_current_input_a_overload_level_3.execute(inprmsa);
|
|
m_current_input_b_overload_level_3.execute(inprmsb);
|
|
m_current_input_c_overload_level_3.execute(inprmsc);
|
|
//
|
|
// set flags
|
|
m_monitor.phase_a.warning.bit.exceed_voltage_level_1 = m_voltage_ab_exceed_level_1.warning;
|
|
m_monitor.phase_a.warning.bit.exceed_voltage_level_2 = m_voltage_ab_exceed_level_2.warning;
|
|
m_monitor.phase_a.fault.bit.exceed_voltage_level_3 = m_voltage_ab_exceed_level_3.fault;
|
|
m_monitor.phase_a.fault.bit.exceed_voltage_level_4 = m_voltage_ab_exceed_level_4.fault;
|
|
m_monitor.phase_a.warning.bit.decrease_voltage_level_1 = m_voltage_ab_decrease_level_1.warning;
|
|
m_monitor.phase_a.warning.bit.decrease_voltage_level_2 = m_voltage_ab_decrease_level_2.warning;
|
|
m_monitor.phase_a.fault.bit.decrease_voltage_level_3 = m_voltage_ab_decrease_level_3.fault;
|
|
m_monitor.phase_a.fault.bit.overload_current_level_1 = m_current_a_overload_level_1.fault;
|
|
m_monitor.phase_a.fault.bit.overload_current_level_2 = m_current_a_overload_level_2.fault;
|
|
m_monitor.phase_a.fault.bit.overload_current_level_3 = m_current_a_overload_level_3.fault;
|
|
m_monitor.phase_a.fault.bit.overload_invertor_current_level_1 = m_current_invertor_a_overload_level_1.fault;
|
|
m_monitor.phase_a.fault.bit.overload_invertor_current_level_2 = m_current_invertor_a_overload_level_2.fault;
|
|
m_monitor.phase_a.fault.bit.overload_invertor_current_level_3 = m_current_invertor_a_overload_level_3.fault;
|
|
m_monitor.phase_a.fault.bit.overload_input_current_level_1 = m_current_input_a_overload_level_1.fault;
|
|
m_monitor.phase_a.fault.bit.overload_input_current_level_2 = m_current_input_a_overload_level_2.fault;
|
|
m_monitor.phase_a.fault.bit.overload_input_current_level_3 = m_current_input_a_overload_level_3.fault;
|
|
//
|
|
m_monitor.phase_b.warning.bit.exceed_voltage_level_1 = m_voltage_bc_exceed_level_1.warning;
|
|
m_monitor.phase_b.warning.bit.exceed_voltage_level_2 = m_voltage_bc_exceed_level_2.warning;
|
|
m_monitor.phase_b.fault.bit.exceed_voltage_level_3 = m_voltage_bc_exceed_level_3.fault;
|
|
m_monitor.phase_b.fault.bit.exceed_voltage_level_4 = m_voltage_bc_exceed_level_4.fault;
|
|
m_monitor.phase_b.warning.bit.decrease_voltage_level_1 = m_voltage_bc_decrease_level_1.warning;
|
|
m_monitor.phase_b.warning.bit.decrease_voltage_level_2 = m_voltage_bc_decrease_level_2.warning;
|
|
m_monitor.phase_b.fault.bit.decrease_voltage_level_3 = m_voltage_bc_decrease_level_3.fault;
|
|
m_monitor.phase_b.fault.bit.overload_current_level_1 = m_current_b_overload_level_1.fault;
|
|
m_monitor.phase_b.fault.bit.overload_current_level_2 = m_current_b_overload_level_2.fault;
|
|
m_monitor.phase_b.fault.bit.overload_current_level_3 = m_current_b_overload_level_3.fault;
|
|
m_monitor.phase_b.fault.bit.overload_invertor_current_level_1 = m_current_invertor_b_overload_level_1.fault;
|
|
m_monitor.phase_b.fault.bit.overload_invertor_current_level_2 = m_current_invertor_b_overload_level_2.fault;
|
|
m_monitor.phase_b.fault.bit.overload_invertor_current_level_3 = m_current_invertor_b_overload_level_3.fault;
|
|
m_monitor.phase_b.fault.bit.overload_input_current_level_1 = m_current_input_b_overload_level_1.fault;
|
|
m_monitor.phase_b.fault.bit.overload_input_current_level_2 = m_current_input_b_overload_level_2.fault;
|
|
m_monitor.phase_b.fault.bit.overload_input_current_level_3 = m_current_input_b_overload_level_3.fault;
|
|
//
|
|
m_monitor.phase_c.warning.bit.exceed_voltage_level_1 = m_voltage_ca_exceed_level_1.warning;
|
|
m_monitor.phase_c.warning.bit.exceed_voltage_level_2 = m_voltage_ca_exceed_level_2.warning;
|
|
m_monitor.phase_c.fault.bit.exceed_voltage_level_3 = m_voltage_ca_exceed_level_3.fault;
|
|
m_monitor.phase_c.fault.bit.exceed_voltage_level_4 = m_voltage_ca_exceed_level_4.fault;
|
|
m_monitor.phase_c.warning.bit.decrease_voltage_level_1 = m_voltage_ca_decrease_level_1.warning;
|
|
m_monitor.phase_c.warning.bit.decrease_voltage_level_2 = m_voltage_ca_decrease_level_2.warning;
|
|
m_monitor.phase_c.fault.bit.decrease_voltage_level_3 = m_voltage_ca_decrease_level_3.fault;
|
|
m_monitor.phase_c.fault.bit.overload_current_level_1 = m_current_c_overload_level_1.fault;
|
|
m_monitor.phase_c.fault.bit.overload_current_level_2 = m_current_c_overload_level_2.fault;
|
|
m_monitor.phase_c.fault.bit.overload_current_level_3 = m_current_c_overload_level_3.fault;
|
|
m_monitor.phase_c.fault.bit.overload_invertor_current_level_1 = m_current_invertor_c_overload_level_1.fault;
|
|
m_monitor.phase_c.fault.bit.overload_invertor_current_level_2 = m_current_invertor_c_overload_level_2.fault;
|
|
m_monitor.phase_c.fault.bit.overload_invertor_current_level_3 = m_current_invertor_c_overload_level_3.fault;
|
|
m_monitor.phase_c.fault.bit.overload_input_current_level_1 = m_current_input_c_overload_level_1.fault;
|
|
m_monitor.phase_c.fault.bit.overload_input_current_level_2 = m_current_input_c_overload_level_2.fault;
|
|
m_monitor.phase_c.fault.bit.overload_input_current_level_3 = m_current_input_c_overload_level_3.fault;
|
|
//
|
|
status = m_monitor;
|
|
//
|
|
if(m_monitor.phase_a.fault.all != (uint16_t)0){ m_fault = true;}
|
|
if(m_monitor.phase_b.fault.all != (uint16_t)0){ m_fault = true;}
|
|
if(m_monitor.phase_c.fault.all != (uint16_t)0){ m_fault = true;}
|
|
//
|
|
if(m_monitor.phase_a.warning.all != (uint16_t)0){ _warning = true;}
|
|
if(m_monitor.phase_b.warning.all != (uint16_t)0){ _warning = true;}
|
|
if(m_monitor.phase_c.warning.all != (uint16_t)0){ _warning = true;}
|
|
|
|
m_warning = _warning;
|
|
warning = m_warning;
|
|
fault = m_fault;
|
|
//
|
|
}//_execute_operational()
|
|
|
|
} /* namespace SYSCTRL */
|