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. 1 #ifndef TLMBUSCONNECTOR_H
2 #define TLMBUSCONNECTOR_H
6 #include "OMSimulator/Types.h"
9 #include "../../OMTLMSimulator/common/Plugin/PluginImplementer.h"
15 #include <pugixml.hpp>
42 std::vector<int>
c = {2,3,4,5,6,7,8,9,10,11};
43 std::vector<int>
t = {12,13,14,15,16,17,18,19,20,21};
48 std::vector<int>
x = {0,1};
49 std::vector<int>
phi = {2};
50 std::vector<int>
v = {3,4};
51 std::vector<int>
w = {5};
52 std::vector<int>
f = {6,7,8};
56 std::vector<int>
x = {0,1,2};
57 std::vector<int>
A = {3,4,5,6,7,8,9,10,11};
58 std::vector<int>
v = {12,13,14};
59 std::vector<int>
w = {15,16,17};
60 std::vector<int>
f = {18,19,20,21,22,23};
64 std::vector<int>
x = {0,1,2};
65 std::vector<int>
A = {3,4,5,6,7,8,9,10,11};
66 std::vector<int>
v = {12,13,14};
67 std::vector<int>
w = {15,16,17};
68 std::vector<int>
c = {18,19,20,21,22,23};
74 std::vector<int>
x = {0,1,2};
75 std::vector<int>
A = {3,4,5,6,7,8,9,10,11};
76 std::vector<int>
v = {12,13,14};
77 std::vector<int>
w = {15,16,17};
78 std::vector< std::vector<int> >
c = { {18,28,38,48,58,68},
87 {27,37,47,57,67,77} };
88 std::vector<int>
t = { 78,79,80,81,82,83,84,85,86,87};
102 oms_status_enu_t
exportToSSD(pugi::xml_node& root)
const;
111 void setReal(
int i,
double value);
112 void getReal(
int i,
double &value);
113 void setReals(std::vector<int> i, std::vector<double> values);
114 void getReals(std::vector<int> i, std::vector<double>& values);
123 void setDelay(
double delay) { this->delay = delay; }
126 std::vector<oms::ComRef>
getConnectors(std::vector<int> ids)
const;
139 static std::vector<std::string>
getVariableTypes(oms_tlm_domain_t domain,
int dimensions, oms_tlm_interpolation_t interpolation);
140 static std::vector<std::string>
getVariableDescriptions(oms_tlm_domain_t domain,
int dimensions, oms_tlm_interpolation_t interpolation);
158 #endif // TLMBUSCONNECTOR_H
std::vector< int > w
Definition: TLMBusConnector.h:51
std::vector< int > f
Definition: TLMBusConnector.h:60
const oms::ComRef getName() const
Definition: TLMBusConnector.h:117
void setReal(int i, double value)
Definition: TLMBusConnector.cpp:136
int v
Definition: TLMBusConnector.h:28
std::vector< int > x
Definition: TLMBusConnector.h:64
const char * system
Definition: Tags.cpp:57
int v
Definition: TLMBusConnector.h:41
int c
Definition: TLMBusConnector.h:35
oms_status_enu_t addConnector(const oms::ComRef &cref, std::string vartype)
Definition: TLMBusConnector.cpp:210
int Zr
Definition: TLMBusConnector.h:90
ComRef - component reference.
Definition: ComRef.h:46
oms_status_enu_t deleteConnector(const oms::ComRef &cref)
Definition: TLMBusConnector.cpp:227
std::vector< int > A
Definition: TLMBusConnector.h:57
std::vector< int > v
Definition: TLMBusConnector.h:76
const oms::ssd::ConnectorGeometry * getGeometry() const
Definition: TLMBusConnector.h:127
struct oms::oms_tlm_sigrefs_3d_cg_t oms_tlm_sigrefs_3d_cg_t
const std::string getDomainString() const
Definition: TLMBusConnector.cpp:181
std::vector< oms::ComRef > getConnectors(std::vector< int > ids) const
Definition: TLMBusConnector.cpp:201
const oms_causality_enu_t getCausality() const
Definition: TLMBusConnector.h:121
std::vector< int > v
Definition: TLMBusConnector.h:66
Definition: TLMBusConnector.h:22
struct oms::oms_tlm_sigrefs_1d_cg_t oms_tlm_sigrefs_1d_cg_t
Definition: TLMBusConnector.h:55
std::vector< int > t
Definition: TLMBusConnector.h:88
int x
Definition: TLMBusConnector.h:27
oms::TLMBusConnector * getActualBus()
Definition: TLMBusConnector.cpp:322
std::vector< int > f
Definition: TLMBusConnector.h:52
TLMBusConnector * actualBus
Definition: TLMBusConnector.h:152
std::vector< int > t
Definition: TLMBusConnector.h:43
std::vector< std::string > variableTypes
Definition: TLMBusConnector.h:149
std::vector< int > x
Definition: TLMBusConnector.h:74
std::vector< int > A
Definition: TLMBusConnector.h:75
static std::vector< std::string > getVariableDescriptions(oms_tlm_domain_t domain, int dimensions, oms_tlm_interpolation_t interpolation)
Definition: TLMBusConnector.cpp:412
static std::vector< std::string > getVariableTypes(oms_tlm_domain_t domain, int dimensions, oms_tlm_interpolation_t interpolation)
Definition: TLMBusConnector.cpp:364
struct oms::oms_tlm_sigrefs_3d_fg_t oms_tlm_sigrefs_3d_fg_t
oms::Component * getComponent()
Recursively find component (i.e. FMU) connected to the TLM bus. Return NULL if not found.
Definition: TLMBusConnector.cpp:311
int Zt
Definition: TLMBusConnector.h:69
Definition: Component.h:59
void updateConnectors()
Definition: TLMBusConnector.cpp:566
TLMBusConnector(const oms::ComRef &name, oms_tlm_domain_t domain, const int dimensions, const oms_tlm_interpolation_t interpolation, System *parentSystem=nullptr, Component *component=nullptr)
Definition: TLMBusConnector.cpp:9
System * parentSystem
Definition: TLMBusConnector.h:150
std::vector< oms::ComRef > sortedConnectors
Definition: TLMBusConnector.h:148
int id
Definition: TLMBusConnector.h:154
int x
Definition: TLMBusConnector.h:33
struct oms::oms_tlm_sigrefs_3d_t oms_tlm_sigrefs_3d_t
struct oms::oms_tlm_sigrefs_signal_t oms_tlm_sigrefs_signal_t
oms_causality_enu_t causality
Definition: TLMBusConnector.h:146
std::vector< int > x
Definition: TLMBusConnector.h:56
void setName(const oms::ComRef &name)
Definition: TLMBusConnector.cpp:114
void setRealInputDerivatives(int i, int order, double value)
Definition: TLMBusConnector.cpp:176
Definition: TLMBusConnector.h:73
std::vector< int > x
Definition: TLMBusConnector.h:48
void getReal(int i, double &value)
Definition: TLMBusConnector.cpp:144
int Z
Definition: TLMBusConnector.h:44
void getReals(std::vector< int > i, std::vector< double > &values)
Definition: TLMBusConnector.cpp:164
Definition: TLMBusConnector.h:39
int Zt
Definition: TLMBusConnector.h:89
TLMBusConnector & operator=(const TLMBusConnector &rhs)
Definition: TLMBusConnector.cpp:93
int getId() const
Definition: TLMBusConnector.h:134
Definition: TLMBusConnector.h:63
int f
Definition: TLMBusConnector.h:29
std::vector< int > phi
Definition: TLMBusConnector.h:49
Definition: TLMBusConnector.h:32
double getDelay()
Definition: TLMBusConnector.h:124
struct oms::oms_tlm_sigrefs_1d_fg_t oms_tlm_sigrefs_1d_fg_t
void setReals(std::vector< int > i, std::vector< double > values)
Definition: TLMBusConnector.cpp:152
oms_status_enu_t exportToSSD(pugi::xml_node &root) const
Definition: TLMBusConnector.cpp:49
std::vector< int > w
Definition: TLMBusConnector.h:59
void setDelay(double delay)
Definition: TLMBusConnector.h:123
std::map< std::string, oms::ComRef > connectors
Definition: TLMBusConnector.h:147
int x
Definition: TLMBusConnector.h:40
struct oms::oms_tlm_sigrefs_2d_t oms_tlm_sigrefs_2d_t
Definition: ConnectorGeometry.h:45
std::vector< int > v
Definition: TLMBusConnector.h:50
oms_status_enu_t registerToSockets(TLMPlugin *plugin)
Definition: TLMBusConnector.cpp:250
const oms_tlm_interpolation_t getInterpolation() const
Definition: TLMBusConnector.h:122
void sortConnectors()
Definition: TLMBusConnector.cpp:240
std::vector< int > c
Definition: TLMBusConnector.h:68
~TLMBusConnector()
Definition: TLMBusConnector.cpp:33
int Zr
Definition: TLMBusConnector.h:70
void setGeometry(const oms::ssd::ConnectorGeometry *newGeometry)
Definition: TLMBusConnector.cpp:124
int y
Definition: TLMBusConnector.h:23
std::vector< int > w
Definition: TLMBusConnector.h:77
Definition: TLMBusConnector.h:26
const int getDimensions() const
Definition: TLMBusConnector.h:120
oms_tlm_domain_t getDomain() const
Definition: TLMBusConnector.h:118
TLMBusConnector.
Definition: TLMBusConnector.h:96
oms::ComRef getConnector(int id) const
Definition: TLMBusConnector.cpp:196
std::vector< int > w
Definition: TLMBusConnector.h:67
Definition: TLMBusConnector.h:47
std::vector< int > A
Definition: TLMBusConnector.h:65
int Z
Definition: TLMBusConnector.h:36
std::vector< int > c
Definition: TLMBusConnector.h:42
Component * component
Definition: TLMBusConnector.h:151
struct oms::oms_tlm_sigrefs_1d_t oms_tlm_sigrefs_1d_t
int v
Definition: TLMBusConnector.h:34
std::vector< std::vector< int > > c
Definition: TLMBusConnector.h:78
std::vector< int > v
Definition: TLMBusConnector.h:58