1#ifndef AsynchronousMachine_H
2#define AsynchronousMachine_H
10#include <unordered_map>
12#include "RotatingMachine.hpp"
13#include "BaseClassDefiner.hpp"
14#include "CGMESProfile.hpp"
15#include "CimClassDetails.hpp"
17#include "ActivePower.hpp"
18#include "AsynchronousMachineKind.hpp"
21#include "Frequency.hpp"
24#include "RotationSpeed.hpp"
31 class AsynchronousMachine :
public RotatingMachine
35 AsynchronousMachine();
36 ~AsynchronousMachine()
override;
71 static const char debugName[];
72 const char* debugString()
const override;
74 const std::list<std::string>& getAttributeNames()
const override;
76 const std::string& getClassNamespaceUrl()
const override;
77 const std::string& getAttributeNamespaceUrl(
const std::string& attrName)
const override;
79 const std::list<CGMESProfile>& getPossibleProfiles()
const override;
80 const CGMESProfile& getRecommendedProfile()
const override;
81 const std::list<CGMESProfile>& getPossibleAttributeProfiles(
const std::string& attrName)
const override;
82 const std::list<CGMESProfile>& getPossibleProfilesIncludingAttributes()
const override;
84 static void addConstructToMap(std::unordered_map<std::string,
BaseClass* (*)()>& factory_map);
85 static void addPrimitiveAssignFnsToMap(std::unordered_map<std::string, assign_function>& assign_map);
86 static void addClassAssignFnsToMap(std::unordered_map<std::string, class_assign_function>& assign_map);
87 void addPrimitiveGetFnsToMap(std::map<std::string, get_function>& get_map)
const override;
88 void addClassGetFnsToMap(std::map<std::string, class_get_function>& get_map)
const override;
89 void addEnumGetFnsToMap(std::map<std::string, get_function>& get_map)
const override;
91 bool isAssignableFrom(
BaseClass* otherObject)
const override;
95 std::map<std::string, AttrDetails> allAttrDetailsMap()
const override;
Definition BaseClass.hpp:22
Product of RMS value of the voltage and the RMS value of the in-phase component of the current.
Definition ActivePower.hpp:14
Asynchronous machine whose behaviour is described by reference to a standard model expressed in eithe...
Definition AsynchronousMachineDynamics.hpp:27
Kind of Asynchronous Machine.
Definition AsynchronousMachineKind.hpp:14
CIMPP::Boolean reversible
Indicates for converter drive motors if the power can be reversible. Used for short circuit data exch...
Definition AsynchronousMachine.hpp:66
CIMPP::PerCent efficiency
Efficiency of the asynchronous machine at nominal operation as a percentage. Indicator for converter ...
Definition AsynchronousMachine.hpp:48
CIMPP::AsynchronousMachineKind asynchronousMachineType
Indicates the type of Asynchronous Machine (motor or generator). Default: 0.
Definition AsynchronousMachine.hpp:42
CIMPP::AsynchronousMachineDynamics * AsynchronousMachineDynamics
Asynchronous machine dynamics model used to describe dynamic behaviour of this asynchronous machine....
Definition AsynchronousMachine.hpp:39
CIMPP::Frequency nominalFrequency
Nameplate data indicates if the machine is 50 Hz or 60 Hz. Default: 0.0.
Definition AsynchronousMachine.hpp:54
CIMPP::Boolean converterFedDrive
Indicates whether the machine is a converter fed drive. Used for short circuit data exchange accordin...
Definition AsynchronousMachine.hpp:45
CIMPP::Float iaIrRatio
Ratio of locked-rotor current to the rated current of the motor (Ia/Ir). Used for short circuit data ...
Definition AsynchronousMachine.hpp:51
CIMPP::Integer polePairNumber
Number of pole pairs of stator. Used for short circuit data exchange according to IEC 60909....
Definition AsynchronousMachine.hpp:60
CIMPP::RotationSpeed nominalSpeed
Nameplate data. Depends on the slip and number of pole pairs. Default: 0.0.
Definition AsynchronousMachine.hpp:57
CIMPP::ActivePower ratedMechanicalPower
Rated mechanical power (Pr in IEC 60909-0). Used for short circuit data exchange according to IEC 609...
Definition AsynchronousMachine.hpp:63
CIMPP::Float rxLockedRotorRatio
Locked rotor ratio (R/X). Used for short circuit data exchange according to IEC 60909....
Definition AsynchronousMachine.hpp:69
Definition BaseClassDefiner.hpp:12
Definition Boolean.hpp:13
A floating point number. The range is unspecified and not limited.
Definition Float.hpp:14
Cycles per second.
Definition Frequency.hpp:14
Definition Integer.hpp:13
Percentage on a defined base. For example, specify as 100 to indicate at the defined base.
Definition PerCent.hpp:14
Number of revolutions per second.
Definition RotationSpeed.hpp:14