1#ifndef RegulatingControl_H
2#define RegulatingControl_H
10#include <unordered_map>
12#include "PowerSystemResource.hpp"
13#include "BaseClassDefiner.hpp"
14#include "CGMESProfile.hpp"
15#include "CimClassDetails.hpp"
19#include "RegulatingControlModeKind.hpp"
20#include "UnitMultiplier.hpp"
29 class RegulatingControl :
public PowerSystemResource
34 ~RegulatingControl()
override;
69 static const char debugName[];
70 const char* debugString()
const override;
72 const std::list<std::string>& getAttributeNames()
const override;
74 const std::string& getClassNamespaceUrl()
const override;
75 const std::string& getAttributeNamespaceUrl(
const std::string& attrName)
const override;
77 const std::list<CGMESProfile>& getPossibleProfiles()
const override;
78 const CGMESProfile& getRecommendedProfile()
const override;
79 const std::list<CGMESProfile>& getPossibleAttributeProfiles(
const std::string& attrName)
const override;
80 const std::list<CGMESProfile>& getPossibleProfilesIncludingAttributes()
const override;
82 static void addConstructToMap(std::unordered_map<std::string,
BaseClass* (*)()>& factory_map);
83 static void addPrimitiveAssignFnsToMap(std::unordered_map<std::string, assign_function>& assign_map);
84 static void addClassAssignFnsToMap(std::unordered_map<std::string, class_assign_function>& assign_map);
85 void addPrimitiveGetFnsToMap(std::map<std::string, get_function>& get_map)
const override;
86 void addClassGetFnsToMap(std::map<std::string, class_get_function>& get_map)
const override;
87 void addEnumGetFnsToMap(std::map<std::string, get_function>& get_map)
const override;
89 bool isAssignableFrom(
BaseClass* otherObject)
const override;
93 std::map<std::string, AttrDetails> allAttrDetailsMap()
const override;
Definition BaseClass.hpp:22
Definition BaseClassDefiner.hpp:12
Definition Boolean.hpp:13
A floating point number. The range is unspecified and not limited.
Definition Float.hpp:14
A type of conducting equipment that can regulate a quantity (i.e. voltage or flow) at a specific poin...
Definition RegulatingCondEq.hpp:25
The kind of regulation model. For example regulating voltage, reactive power, active power,...
Definition RegulatingControlModeKind.hpp:14
std::list< CIMPP::RegulatingCondEq * > RegulatingCondEq
The equipment that participates in this regulating control scheme. Default: {}.
Definition RegulatingControl.hpp:37
CIMPP::UnitMultiplier targetValueUnitMultiplier
Specify the multiplier for used for the targetValue. Default: 0.
Definition RegulatingControl.hpp:67
std::list< CIMPP::RegulationSchedule * > RegulationSchedule
Schedule for this regulating control. Default: {}.
Definition RegulatingControl.hpp:40
CIMPP::Terminal * Terminal
The terminal associated with this regulating control. The terminal is associated instead of a node,...
Definition RegulatingControl.hpp:43
CIMPP::Float minAllowedTargetValue
Minimum allowed target value (RegulatingControl.targetValue). Default: 0.0.
Definition RegulatingControl.hpp:55
CIMPP::Float targetValue
The target value specified for case input. This value can be used for the target value without the us...
Definition RegulatingControl.hpp:64
CIMPP::Boolean discrete
The regulation is performed in a discrete mode. This applies to equipment with discrete controls,...
Definition RegulatingControl.hpp:46
CIMPP::Float maxAllowedTargetValue
Maximum allowed target value (RegulatingControl.targetValue). Default: 0.0.
Definition RegulatingControl.hpp:52
CIMPP::Float targetDeadband
This is a deadband used with discrete control to avoid excessive update of controls like tap changers...
Definition RegulatingControl.hpp:61
CIMPP::Boolean enabled
The flag tells if regulation is enabled. Default: false.
Definition RegulatingControl.hpp:49
CIMPP::RegulatingControlModeKind mode
The regulating control mode presently available. This specification allows for determining the kind o...
Definition RegulatingControl.hpp:58
A pre-established pattern over time for a controlled variable, e.g., busbar voltage.
Definition RegulationSchedule.hpp:24
An AC electrical connection point to a piece of conducting equipment. Terminals are connected at phys...
Definition Terminal.hpp:35
The unit multipliers defined for the CIM. When applied to unit symbols, the unit symbol is treated as...
Definition UnitMultiplier.hpp:14