OMSimulatorLib
The OMSimulator project is a FMI-based co-simulation environment that supports ordinary (i.e., non-delayed) and TLM connections.
|
Go to the documentation of this file.
32 #ifndef _OMS_COMPONENT_H_
33 #define _OMS_COMPONENT_H_
45 #include "OMSimulator/Types.h"
49 #include <pugixml.hpp>
57 void fmi2logger(fmi2ComponentEnvironment env, fmi2String instanceName, fmi2Status status, fmi2String category, fmi2String message, ...);
65 virtual oms_status_enu_t
exportToSSD(pugi::xml_node& node,
Snapshot& snapshot, std::string variantName)
const = 0;
74 virtual oms_status_enu_t
reset() = 0;
104 virtual oms_status_enu_t
stepUntil(
double stopTime) {
return oms_status_ok; }
119 void setPath(
const std::string& newPath) { this->
path = newPath; }
127 oms_status_enu_t
addTLMBus(
const oms::ComRef&
cref, oms_tlm_domain_t domain,
const int dimensions,
const oms_tlm_interpolation_t interpolation);
oms_status_enu_t addConnectorToTLMBus(const ComRef &busCref, const ComRef &connectorCref, const std::string type)
Definition: Component.cpp:137
Element * getElement()
Definition: Component.h:112
ComRef cref
Definition: Component.h:166
#define logDebugEnabled()
Definition: Logging.h:106
virtual void getFilteredUnitDefinitionsToSSD(std::map< std::string, std::map< std::string, std::string >> &unitDefinitions)
Definition: Component.h:67
Definition: SignalDerivative.h:41
virtual oms_status_enu_t getRealOutputDerivative(const ComRef &cref, SignalDerivative &der)
Definition: Component.h:93
ComRef getFullCref() const
Definition: Component.cpp:100
virtual oms_status_enu_t setBoolean(const ComRef &cref, bool value)
Definition: Component.h:97
#define logError_BusNotInComponent(cref, component)
Definition: Logging.h:123
ComRef - component reference.
Definition: ComRef.h:46
virtual oms_status_enu_t exportToSSD(pugi::xml_node &node, Snapshot &snapshot, std::string variantName) const =0
virtual oms_status_enu_t newResources(const std::string &ssvFileName, const std::string &ssmFileName, bool externalResources)
Definition: Component.h:105
const char * component
Definition: Tags.cpp:45
oms_status_enu_t rename(const ComRef &newCref)
rename submodules, e.g., fmu:s
Definition: Component.cpp:205
System * parentSystem
Definition: Component.h:165
std::vector< TLMBusConnector * > tlmbusconnectors
Definition: Component.h:157
#define logError_NotImplemented
Definition: Logging.h:141
virtual oms_status_enu_t getDirectionalDerivative(const ComRef &unknownCref, const ComRef &knownCref, double &value)
Definition: Component.h:94
virtual oms_status_enu_t addSignalsToResults(const char *regex)=0
#define logError_ConnectorNotInComponent(cref, component)
Definition: Logging.h:128
virtual void getFilteredSignals(std::vector< Connector > &filteredSignals) const =0
std::vector< Connector * > connectors
Definition: Component.h:155
bool fetchAllVars_
Definition: Component.h:162
virtual oms_status_enu_t setInteger(const ComRef &cref, int value)
Definition: Component.h:99
Connector * getConnector(const ComRef &cref)
Definition: Component.cpp:175
void fetchAllVars(bool enableOption)
Definition: Component.h:122
virtual oms_status_enu_t setUnit(const ComRef &cref, const std::string &value)
Definition: Component.h:102
virtual oms_status_enu_t setReal(const ComRef &cref, double value)
Definition: Component.h:100
DirectedGraph outputsGraph
Definition: Component.h:153
static bool isValidIdent(const std::string &ident)
Definition: ComRef.cpp:89
virtual Values & getValues()
Definition: Component.h:83
virtual oms_status_enu_t getString(const ComRef &cref, std::string &value)
Definition: Component.h:92
oms_status_enu_t addTLMBus(const oms::ComRef &cref, oms_tlm_domain_t domain, const int dimensions, const oms_tlm_interpolation_t interpolation)
Definition: Component.cpp:110
Element.
Definition: Element.h:49
virtual Variable * getVariable(const ComRef &cref)=0
virtual oms_status_enu_t addResources(std::string &filename)
Definition: Component.h:106
virtual oms_status_enu_t registerSignalsForResultFile(ResultWriter &resultFile)=0
FMU info.
Definition: FMUInfo.h:44
oms_component_enu_t type
Definition: Component.h:167
Definition: DirectedGraph.h:64
void setGeometry(const ssd::ElementGeometry &geometry)
Definition: Component.h:125
void setTLMBusConnectors(oms::TLMBusConnector **newTLMBusConnectors)
Definition: Element.cpp:90
virtual ~Component()
Definition: Component.cpp:87
oms_status_enu_t deleteConnector(const ComRef &cref)
Definition: Component.cpp:184
const char * connector
Definition: Tags.cpp:49
virtual oms_status_enu_t terminate()=0
#define logDebug(msg)
Definition: Logging.h:109
virtual oms_status_enu_t setFaultInjection(const ComRef &signal, oms_fault_type_enu_t faultType, double faultValue)
Definition: Component.h:98
virtual oms_status_enu_t initialize()=0
oms::TLMBusConnector * getTLMBusConnector(const oms::ComRef &cref)
Definition: Component.cpp:127
virtual void getFilteredEnumerationDefinitionsToSSD(std::map< std::string, std::map< std::string, std::string >> &enumerationDefinitions)
Definition: Component.h:68
Definition: Component.h:59
void setTempDir(const std::string &tempDir)
Definition: Component.h:120
virtual oms_status_enu_t reset()=0
#define logWarning(msg)
Definition: Logging.h:101
Definition: ElementGeometry.h:45
Values values
Definition: Component.h:170
virtual oms_status_enu_t getBoolean(const ComRef &cref, bool &value)
Definition: Component.h:89
Definition: Snapshot.h:46
virtual oms_status_enu_t updateOrDeleteStartValueInReplacedComponent(std::vector< std::string > &warningList)
Definition: Component.h:85
Element element
Definition: Component.h:154
Definition: ResultWriter.h:68
void setGeometry(const oms::ssd::ElementGeometry *newGeometry)
Definition: Element.cpp:67
void getAllResources(std::vector< std::string > &resources) const
Definition: Component.h:116
Connector ** getConnectors()
Definition: Component.h:114
Component & operator=(Component const &)
not implemented
const DirectedGraph & getInitialUnknownsGraph()
Definition: Component.h:135
virtual oms_status_enu_t updateSignals(ResultWriter &resultWriter)=0
virtual oms_status_enu_t exportToSSV(pugi::xml_node &ssvNode)
Definition: Component.h:66
const std::string & getTempDir() const
Definition: Component.h:118
const char * connectors
Definition: Tags.cpp:51
TLMBusConnector ** getTLMBusConnectors()
Definition: Component.h:130
const std::string & getPath() const
Definition: Component.h:117
virtual oms_status_enu_t setString(const ComRef &cref, const std::string &value)
Definition: Component.h:101
void setPath(const std::string &newPath)
Definition: Component.h:119
#define LOG_NO_TLM()
Definition: TLMInterface.h:36
oms_component_enu_t getType() const
Definition: Component.h:121
virtual oms_status_enu_t getReal(const ComRef &cref, double &value)
Definition: Component.h:91
virtual oms_status_enu_t freeState()
Definition: Component.h:88
virtual oms_status_enu_t exportToSSMTemplate(pugi::xml_node &ssmNode)
Definition: Component.h:86
Clock clock
Definition: Component.h:160
const char * bus
Definition: Tags.cpp:36
virtual oms_status_enu_t restoreState()
Definition: Component.h:95
virtual oms_status_enu_t setRealInputDerivative(const ComRef &cref, const SignalDerivative &der)
Definition: Component.h:103
#define logError(msg)
Definition: Logging.h:102
const DirectedGraph & getOutputsGraph()
Definition: Component.h:136
void setConnectors(oms::Connector **newConnectors)
Definition: Element.cpp:79
virtual const FMUInfo * getFMUInfo() const
Definition: Component.h:80
virtual oms_status_enu_t renameValues(const ComRef &oldCref, const ComRef &newCref)
Definition: Component.h:149
virtual oms_status_enu_t deleteReferencesInSSD(const std::string &filename)
Definition: Component.h:107
virtual oms_status_enu_t deleteStartValue(const ComRef &cref)
Definition: Component.h:81
virtual oms_status_enu_t getInteger(const ComRef &cref, int &value)
Definition: Component.h:90
virtual oms_status_enu_t removeSignalsFromResults(const char *regex)=0
System * getParentSystem() const
Definition: Component.h:123
Definition: Variable.h:45
Connector.
Definition: Connector.h:49
TLMBusConnector.
Definition: TLMBusConnector.h:96
virtual oms_status_enu_t saveState()
Definition: Component.h:96
Model & getModel() const
Definition: Component.cpp:105
DirectedGraph initialUnknownsGraph
Definition: Component.h:152
#define logError_TlmBusNotInComponent(cref, component)
Definition: Logging.h:151
virtual oms_status_enu_t instantiate()=0
const char * signal
Definition: Tags.cpp:38
virtual bool getCanGetAndSetState()
Definition: Component.h:79
Component(const ComRef &cref, oms_component_enu_t type, System *parentSystem, const std::string &path)
Definition: Component.cpp:75
virtual oms_status_enu_t stepUntil(double stopTime)
Definition: Component.h:104
virtual std::vector< Values > getValuesResources()
Definition: Component.h:82
virtual oms_status_enu_t setValuesResources(Values &values)
Definition: Component.h:84
void fmi2logger(fmi2ComponentEnvironment env, fmi2String instanceName, fmi2Status status, fmi2String category, fmi2String message,...)
Definition: Component.cpp:42
virtual oms_status_enu_t exportToSSVTemplate(pugi::xml_node &ssvNode, Snapshot &snapshot)
Definition: Component.h:87
unsigned int clock_id
Definition: Component.h:161
oms_status_enu_t deleteConnectorFromTLMBus(const ComRef &busCref, const ComRef &connectorCref)
Definition: Component.cpp:162
std::string tempDir
unzipped fmu
Definition: Component.h:169
virtual oms_status_enu_t deleteResourcesInSSP(const std::string &filename)
Definition: Component.h:108
const ComRef & getCref() const
Definition: Component.h:110
std::string path
resource file (fmu, mat)
Definition: Component.h:168