54 lines
1.6 KiB
C++
54 lines
1.6 KiB
C++
/*
|
||
* EstimateResistance.hh
|
||
*
|
||
* Created on: 23 июн. 2021 г.
|
||
* Author: titov
|
||
*/
|
||
|
||
#ifndef UMLIBRARY_TECHNOLOGICAL_COMMISSIONING_ESTIMATERESISTANCE_HH_
|
||
#define UMLIBRARY_TECHNOLOGICAL_COMMISSIONING_ESTIMATERESISTANCE_HH_
|
||
|
||
#include "../../control/Vector.hh"
|
||
#include "../../units/PhysicalQuantities.hpp"
|
||
#include "../../units/LogicalEntities.hpp"
|
||
|
||
#include <algorithm>
|
||
#include <vector>
|
||
#include <memory_resource>
|
||
|
||
namespace technological { namespace commissioning {
|
||
|
||
class EstimateResistance {
|
||
public:
|
||
EstimateResistance( std::pmr::memory_resource * buffer );
|
||
void setup( units::ElectricalAngle angle, control::Value current_limit, control::Value voltage_limit,
|
||
control::Value voltage_step, units::Quantity hold_quantity,
|
||
units::Quantity experiment_quantity );
|
||
control::StandingVector execute( control::StandingVector current );
|
||
bool done() const;
|
||
units::Resistance estimate() const;
|
||
|
||
private:
|
||
units::Quantity experiment_number;
|
||
units::Quantity experiment_quantity;
|
||
units::Quantity hold_cycle_number;
|
||
units::Quantity hold_quantity;
|
||
|
||
control::Value target_current_on_experiment( units::Quantity experiment_number );
|
||
|
||
units::ElectricalAngle angle;
|
||
control::Value current_limit;
|
||
|
||
control::Value voltage_limit;
|
||
control::Value voltage_demand;
|
||
control::Value voltage_step;
|
||
|
||
typedef std::pair<control::StandingVector, control::StandingVector> Point;
|
||
typedef std::vector< Point, std::pmr::polymorphic_allocator<Point> > Points;
|
||
Points points;
|
||
};
|
||
|
||
}}
|
||
|
||
#endif /* UMLIBRARY_TECHNOLOGICAL_COMMISSIONING_ESTIMATERESISTANCE_HH_ */
|