/* * AlgoritmStart.h * * Author: Aleksey Gerasimenko * gerasimenko.aleksey.n@gmail.com */ #include #include #ifndef SYSCTRL_ALGORITMPRESTART_H_ #define SYSCTRL_ALGORITMPRESTART_H_ #include "SYSCTRL/AlgorithmBase.h" #include "SYSCTRL/HeadersFLTSYSLIB.h" namespace SYSCTRL { class AlgorithmStart: public SYSCTRL::AlgorithmBase { private: SYSCTRL::SystemEnvironment& m_env; #if TYPECONTROL == VECTORCONTROL private: float m_reference_zero; float m_reference_current_cell_direct; float m_reference_current_cell_quadrature; #endif #if TYPECONTROL == DIRECTREVERSECONTROL float m_reference_zero; float m_reference_current_cell_direct; float m_reference_current_cell_quadrature; #endif public: AlgorithmStart(SYSCTRL::SystemEnvironment& env); public: void setup(); public: void reset(); public: void execute(); private: void (AlgorithmStart::*_execute)(); void _execute_run(); #if TYPECONTROL == SCALARCONTROL private: inline void _execute_single_phase(SYSCTRL::AlgorithmStartSinglePhaseControl& phase, SYSCTRL::VectorOrthogonalProjection& orts, float dc_voltage_reciprocal, FLTSYSLIB::PIController& referencer_active, FLTSYSLIB::PIController& referencer_reactive, FLTSYSLIB::PIController& regulator_active, FLTSYSLIB::PIController& regulator_reactive); #endif // };//AlgoritmPrestart } /* namespace SYSCTRL */ #endif /* SYSCTRL_ALGORITMPRESTART_H_ */