CGMES_3_0_0
Loading...
Searching...
No Matches
RegulatingControl.hpp
1#ifndef RegulatingControl_H
2#define RegulatingControl_H
3/*
4Generated from the CGMES files via cimgen: https://github.com/sogno-platform/cimgen
5*/
6
7#include <list>
8#include <map>
9#include <string>
10#include <unordered_map>
11
12#include "PowerSystemResource.hpp"
13#include "BaseClassDefiner.hpp"
14#include "CGMESProfile.hpp"
15#include "CimClassDetails.hpp"
16
17#include "Boolean.hpp"
18#include "Float.hpp"
19#include "RegulatingControlModeKind.hpp"
20#include "UnitMultiplier.hpp"
21
22namespace CIMPP
23{
24 class RegulatingCondEq;
26 class Terminal;
27
29 class RegulatingControl : public PowerSystemResource
30 {
31 public:
32 /* constructor initialising all attributes to null */
33 RegulatingControl();
34 ~RegulatingControl() override;
35
37 std::list<CIMPP::RegulatingCondEq*> RegulatingCondEq;
38
40 std::list<CIMPP::RegulationSchedule*> RegulationSchedule;
41
44
47
50
53
56
59
62
65
68
69 static const char debugName[];
70 const char* debugString() const override;
71
72 const std::list<std::string>& getAttributeNames() const override;
73
74 const std::string& getClassNamespaceUrl() const override;
75 const std::string& getAttributeNamespaceUrl(const std::string& attrName) const override;
76
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;
81
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;
88
89 bool isAssignableFrom(BaseClass* otherObject) const override;
90 static const BaseClassDefiner declare();
91
92 protected:
93 std::map<std::string, AttrDetails> allAttrDetailsMap() const override;
94 };
95
96 BaseClass* RegulatingControl_factory();
97}
98#endif
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