←
Documentation
ADS-IDAC Engine
5.0.0
DisplayComponentState.cpp
Go to the documentation of this file.
1
// DisplayComponentState.cpp: implementation of the DisplayComponentState class.
2
//
4
5
#include "
DisplayComponentState.h
"
6
#include "../Branch/BranchRecord.h"
7
#include <boost/serialization/export.hpp>
8
#include "../Global/SimulationContext.h"
9
#include <boost/archive/binary_oarchive.hpp>
10
#include <boost/archive/binary_iarchive.hpp>
11
BOOST_CLASS_EXPORT_IMPLEMENT(
DisplayComponentState
)
12
using namespace
std;
13
15
// Construction/Destruction
17
DisplayComponentState::DisplayComponentState
() {
18
SystemDisplay::setTypeOfDisplay
(
DisplayType::ComponentState
);
19
DisplayElement::setCorrespondingSystemParameterUnit
(
"state"
);
20
// Deterministic defaults, overwritten by readInfoFromFile for well-formed
21
// inputs.
22
setDisplayedComponentOperationalState
(
sim::None
);
23
setDisplayedComponentOperationalStateWhenFail
(
sim::None
);
24
setThresholdValueToChangeTheComponentState
(0.0);
25
setRelationOperatorToChangeTheComponentState
(
sim::None
);
26
}
27
28
DisplayComponentState::~DisplayComponentState
() {
29
30
}
31
void
DisplayComponentState::readInfoFromFile
(ifstream &fin) {
32
string
str, str1;
33
SystemDisplay::readInfoFromFile
(fin);
34
fin >> str >> str1 >>
threshold_value_to_change_the_component_state
;
35
36
if
(str ==
"ON"
) {
37
displayed_component_operational_state_when_fail
=
sim::State::On
;
38
displayed_component_operational_state
=
sim::State::Off
;
39
}
else
if
(str ==
"OFF"
) {
40
displayed_component_operational_state_when_fail
=
sim::State::Off
;
41
displayed_component_operational_state
=
sim::State::On
;
42
}
else
if
(str ==
"OPEN"
) {
43
displayed_component_operational_state_when_fail
=
sim::State::Open
;
44
displayed_component_operational_state
=
sim::State::Close
;
45
}
else
if
(str ==
"CLOSE"
) {
46
displayed_component_operational_state_when_fail
=
sim::State::Close
;
47
displayed_component_operational_state
=
sim::State::Open
;
48
}
else
if
(str ==
"TRIP"
) {
49
displayed_component_operational_state_when_fail
=
sim::ControlAction::Trip
;
50
displayed_component_operational_state
=
sim::State::On
;
51
}
else
{}
52
53
if
(str1 ==
"GREATER_THEN_ON"
) {
54
relational_operator_to_change_the_component_state
=
sim::ControlAction::GreaterThenOn
;
55
}
else
if
(str1 ==
"SMALLER_THEN_ON"
) {
56
relational_operator_to_change_the_component_state
=
sim::ControlAction::SmallerThenOn
;
57
}
else
if
(str1 ==
"GREATER_THEN_OPEN"
|| str1 ==
"GREATER_THAN_OPEN"
) {
58
relational_operator_to_change_the_component_state
=
sim::ControlAction::GreaterThenOpen
;
59
}
else
if
(str1 ==
"SMALLER_THEN_OPEN"
) {
60
relational_operator_to_change_the_component_state
=
sim::ControlAction::SmallerThenOpen
;
61
}
else
if
(str1 ==
"GREATER_THEN_OFF"
) {
62
relational_operator_to_change_the_component_state
=
sim::ControlAction::GreaterThenOff
;
63
}
else
if
(str1 ==
"SMALLER_THEN_OFF"
) {
64
relational_operator_to_change_the_component_state
=
sim::ControlAction::SmallerThenOff
;
65
}
else
if
(str1 ==
"GREATER_THEN_CLOSE"
) {
66
relational_operator_to_change_the_component_state
=
sim::ControlAction::GreaterThenClose
;
67
}
else
if
(str1 ==
"SMALLER_THEN_CLOSE"
) {
68
relational_operator_to_change_the_component_state
=
sim::ControlAction::SmallerThenClose
;
69
}
else
{
70
cout <<
"DisplayComponentState::readInfoFromFile: the relational operator "
71
<<
relational_operator_to_change_the_component_state
<<
" of "
72
<< this->
getDisplayName
() <<
" is not allowed"
<< endl;
73
ofstream fout(
"err messages.txt"
, ios::app);
74
fout <<
r5pars_
.timesno <<
" DisplayComponentState::readInfoFromFile: the relational operator "
75
<<
relational_operator_to_change_the_component_state
<<
" of "
76
<< this->
getDisplayName
() <<
" is not allowed\n"
;
77
fout.close();
78
r5pars_
.sim_err =
true
;
79
g_sim
.
Branch_center
.
setTempESMessage
(
"DisplayComponentState::updateDisplayedComponentOperationalState err."
);
80
g_sim
.
Branch_center
.
setTempTypeOfConsequence
(
Consequence::AdsSimErr
);
81
}
82
}
83
void
DisplayComponentState::setDisplayedComponentOperationalState
(
int
n) {
displayed_component_operational_state
= n; }
84
void
DisplayComponentState::setDisplayedComponentOperationalStateWhenFail
(
int
n) {
85
displayed_component_operational_state_when_fail
= n;
86
}
87
int
DisplayComponentState::getDisplayedComponentOperationalState
() {
return
displayed_component_operational_state
; }
88
int
DisplayComponentState::getDisplayedComponentOperationalStateWhenFail
() {
return
displayed_component_operational_state_when_fail
; }
89
void
DisplayComponentState::updateDisplayedComponentOperationalState
() {
90
double
system_value;
91
if
(this->
getFunctionalState
() ==
sim::State::Succeed
) {
92
system_value = this->
getCorrespondingSystemParameterValue
();
93
if
(system_value < 0.0) {
94
// relap trip channel is false, system value is set to -1.0
95
switch
(
relational_operator_to_change_the_component_state
) {
96
case
sim::ControlAction::GreaterThenOn
:
97
case
sim::ControlAction::SmallerThenOff
:
displayed_component_operational_state
=
sim::State::Off
;
98
break
;
99
case
sim::ControlAction::SmallerThenOn
:
100
case
sim::ControlAction::GreaterThenOff
:
displayed_component_operational_state
=
sim::State::On
;
101
break
;
102
case
sim::ControlAction::GreaterThenOpen
:
103
case
sim::ControlAction::SmallerThenClose
:
displayed_component_operational_state
=
sim::State::Close
;
104
break
;
105
case
sim::ControlAction::SmallerThenOpen
:
106
case
sim::ControlAction::GreaterThenClose
:
displayed_component_operational_state
=
sim::State::Open
;
107
break
;
108
default
:
displayed_component_operational_state
= -1;
109
cout <<
"DisplayComponentState::updateDisplayedComponentOperationalState: the relational operator "
110
<<
relational_operator_to_change_the_component_state
<<
" of "
111
<< this->
getDisplayName
() <<
" is not allowed"
<< endl;
112
ofstream fout(
"err messages.txt"
, ios::app);
113
fout <<
r5pars_
.timesno
114
<<
" DisplayComponentState::updateDisplayedComponentOperationalState: the relational operator "
115
<<
relational_operator_to_change_the_component_state
<<
" of "
116
<< this->
getDisplayName
() <<
" is not allowed\n"
;
117
fout.close();
118
r5pars_
.sim_err =
true
;
119
g_sim
.
Branch_center
.
setTempESMessage
(
"DisplayComponentState::updateDisplayedComponentOperationalState err."
);
120
g_sim
.
Branch_center
.
setTempTypeOfConsequence
(
Consequence::AdsSimErr
);
121
break
;
122
};
123
}
else
{
124
// RELAP trip channel is true, system_value is last time trip set to true
125
switch
(
relational_operator_to_change_the_component_state
) {
126
case
sim::ControlAction::GreaterThenOn
:
127
case
sim::ControlAction::SmallerThenOff
:
128
if
(
r5pars_
.timesno - system_value >=
threshold_value_to_change_the_component_state
) {
129
// if (system_value >= threshold_value_to_change_the_component_state){
130
displayed_component_operational_state
=
sim::State::On
;
131
}
else
{
132
displayed_component_operational_state
=
sim::State::Off
;
133
}
134
break
;
135
case
sim::ControlAction::SmallerThenOn
:
136
case
sim::ControlAction::GreaterThenOff
:
137
if
(
r5pars_
.timesno - system_value <
threshold_value_to_change_the_component_state
) {
138
displayed_component_operational_state
=
sim::State::On
;
139
}
else
{
140
displayed_component_operational_state
=
sim::State::Off
;
141
}
142
break
;
143
case
sim::ControlAction::GreaterThenOpen
:
144
case
sim::ControlAction::SmallerThenClose
:
145
if
(
r5pars_
.timesno - system_value >=
threshold_value_to_change_the_component_state
) {
146
displayed_component_operational_state
=
sim::State::Open
;
147
}
else
{
148
displayed_component_operational_state
=
sim::State::Close
;
149
}
150
break
;
151
case
sim::ControlAction::SmallerThenOpen
:
152
case
sim::ControlAction::GreaterThenClose
:
153
if
(
r5pars_
.timesno - system_value <
threshold_value_to_change_the_component_state
) {
154
displayed_component_operational_state
=
sim::State::Open
;
155
}
else
{
156
displayed_component_operational_state
=
sim::State::Close
;
157
}
158
break
;
159
default
:
displayed_component_operational_state
= -1;
160
cout <<
"DisplayComponentState::updateDisplayedComponentOperationalState: the relational operator "
161
<<
relational_operator_to_change_the_component_state
<<
" of "
162
<< this->
getDisplayName
() <<
" is not allowed"
<< endl;
163
ofstream fout(
"err messages.txt"
, ios::app);
164
fout <<
r5pars_
.timesno
165
<<
" DisplayComponentState::updateDisplayedComponentOperationalState: the relational operator "
166
<<
relational_operator_to_change_the_component_state
<<
" of "
167
<< this->
getDisplayName
() <<
" is not allowed\n"
;
168
fout.close();
169
r5pars_
.sim_err =
true
;
170
g_sim
.
Branch_center
.
setTempESMessage
(
"DisplayComponentState::updateDisplayedComponentOperationalState err."
);
171
g_sim
.
Branch_center
.
setTempTypeOfConsequence
(
Consequence::AdsSimErr
);
172
break
;
173
};
174
}
175
}
else
{
176
displayed_component_operational_state
=
displayed_component_operational_state_when_fail
;
177
}
178
}
179
void
DisplayComponentState::setThresholdValueToChangeTheComponentState
(
double
x) {
180
threshold_value_to_change_the_component_state
= x;
181
}
182
void
DisplayComponentState::setRelationOperatorToChangeTheComponentState
(
int
n) {
183
relational_operator_to_change_the_component_state
= n;
184
}
185
double
DisplayComponentState::getThresholdValueToChangeTheComponentState
() {
return
threshold_value_to_change_the_component_state
; }
186
int
DisplayComponentState::getRelationOperatorToChangeTheComponentState
() {
return
relational_operator_to_change_the_component_state
; }
187
void
DisplayComponentState::copyDisplayComponentState
(
DisplayComponentState
&_dcs) {
188
displayed_component_operational_state
= _dcs.
getDisplayedComponentOperationalState
();
189
displayed_component_operational_state_when_fail
= _dcs.
getDisplayedComponentOperationalStateWhenFail
();
190
threshold_value_to_change_the_component_state
= _dcs.
getThresholdValueToChangeTheComponentState
();
191
relational_operator_to_change_the_component_state
= _dcs.
getRelationOperatorToChangeTheComponentState
();
192
this->
copySystemDisplay
(_dcs);
193
}
194
void
DisplayComponentState::saveDisplayComponentStateToFile
(ofstream &fout) {
195
this->
saveSystemDisplayToFile
(fout);
196
fout <<
displayed_component_operational_state
<<
' '
<<
displayed_component_operational_state_when_fail
<<
' '
197
<<
threshold_value_to_change_the_component_state
<<
' '
<<
relational_operator_to_change_the_component_state
198
<<
'\n'
;
199
}
200
void
DisplayComponentState::retrieveDisplayComponentStateFromFile
(ifstream &fin) {
201
this->
retrieveSystemDisplayFromFile
(fin);
202
fin >>
displayed_component_operational_state
>>
displayed_component_operational_state_when_fail
203
>>
threshold_value_to_change_the_component_state
>>
relational_operator_to_change_the_component_state
;
204
}
DisplayComponentState.h
DisplayType::ComponentState
@ ComponentState
Consequence::AdsSimErr
@ AdsSimErr
g_sim
SimulationContext g_sim
Global simulation context: the single instance, defined in SimulationContext.cpp.
Definition:
SimulationContext.cpp:7
BranchRecord::setTempTypeOfConsequence
void setTempTypeOfConsequence(Consequence)
Stores the consequence of the end state the running sequence will get.
Definition:
BranchRecord.cpp:1641
BranchRecord::setTempESMessage
void setTempESMessage(std::string)
Stores the description of the end state the running sequence will get if it is terminated (set by mod...
Definition:
BranchRecord.cpp:1640
DisplayComponentState
Definition:
DisplayComponentState.h:13
DisplayComponentState::copyDisplayComponentState
void copyDisplayComponentState(DisplayComponentState &)
Definition:
DisplayComponentState.cpp:187
DisplayComponentState::threshold_value_to_change_the_component_state
double threshold_value_to_change_the_component_state
Definition:
DisplayComponentState.h:32
DisplayComponentState::setDisplayedComponentOperationalStateWhenFail
void setDisplayedComponentOperationalStateWhenFail(int)
Definition:
DisplayComponentState.cpp:84
DisplayComponentState::setRelationOperatorToChangeTheComponentState
void setRelationOperatorToChangeTheComponentState(int)
Definition:
DisplayComponentState.cpp:182
DisplayComponentState::getThresholdValueToChangeTheComponentState
double getThresholdValueToChangeTheComponentState()
Definition:
DisplayComponentState.cpp:185
DisplayComponentState::getDisplayedComponentOperationalStateWhenFail
int getDisplayedComponentOperationalStateWhenFail()
Definition:
DisplayComponentState.cpp:88
DisplayComponentState::getDisplayedComponentOperationalState
int getDisplayedComponentOperationalState()
Definition:
DisplayComponentState.cpp:87
DisplayComponentState::readInfoFromFile
void readInfoFromFile(std::ifstream &)
Definition:
DisplayComponentState.cpp:31
DisplayComponentState::DisplayComponentState
DisplayComponentState()
Definition:
DisplayComponentState.cpp:17
DisplayComponentState::saveDisplayComponentStateToFile
void saveDisplayComponentStateToFile(std::ofstream &)
Definition:
DisplayComponentState.cpp:194
DisplayComponentState::displayed_component_operational_state_when_fail
int displayed_component_operational_state_when_fail
Definition:
DisplayComponentState.h:31
DisplayComponentState::setThresholdValueToChangeTheComponentState
void setThresholdValueToChangeTheComponentState(double)
Definition:
DisplayComponentState.cpp:179
DisplayComponentState::retrieveDisplayComponentStateFromFile
void retrieveDisplayComponentStateFromFile(std::ifstream &)
Definition:
DisplayComponentState.cpp:200
DisplayComponentState::displayed_component_operational_state
int displayed_component_operational_state
Definition:
DisplayComponentState.h:31
DisplayComponentState::updateDisplayedComponentOperationalState
void updateDisplayedComponentOperationalState()
Definition:
DisplayComponentState.cpp:89
DisplayComponentState::setDisplayedComponentOperationalState
void setDisplayedComponentOperationalState(int)
Definition:
DisplayComponentState.cpp:83
DisplayComponentState::getRelationOperatorToChangeTheComponentState
int getRelationOperatorToChangeTheComponentState()
Definition:
DisplayComponentState.cpp:186
DisplayComponentState::relational_operator_to_change_the_component_state
int relational_operator_to_change_the_component_state
Definition:
DisplayComponentState.h:33
DisplayComponentState::~DisplayComponentState
virtual ~DisplayComponentState()
Definition:
DisplayComponentState.cpp:28
DisplayElement::getDisplayName
std::string getDisplayName()
Definition:
DisplayElement.cpp:30
DisplayElement::setCorrespondingSystemParameterUnit
void setCorrespondingSystemParameterUnit(std::string)
Definition:
DisplayElement.cpp:40
SystemDisplay::getCorrespondingSystemParameterValue
double getCorrespondingSystemParameterValue()
Definition:
SystemDisplay.cpp:83
SystemDisplay::setTypeOfDisplay
void setTypeOfDisplay(DisplayType type)
Definition:
SystemDisplay.cpp:31
SystemDisplay::getFunctionalState
int getFunctionalState()
Definition:
SystemDisplay.cpp:34
SystemDisplay::readInfoFromFile
void readInfoFromFile(std::ifstream &)
Definition:
SystemDisplay.cpp:35
SystemDisplay::saveSystemDisplayToFile
void saveSystemDisplayToFile(std::ofstream &)
Definition:
SystemDisplay.cpp:429
SystemDisplay::retrieveSystemDisplayFromFile
void retrieveSystemDisplayFromFile(std::ifstream &)
Definition:
SystemDisplay.cpp:433
SystemDisplay::copySystemDisplay
void copySystemDisplay(SystemDisplay &)
Definition:
SystemDisplay.cpp:423
r5pars_
struct @0 r5pars_
sim::ControlAction::GreaterThenClose
constexpr int GreaterThenClose
Definition:
SimConstants.h:249
sim::ControlAction::GreaterThenOn
constexpr int GreaterThenOn
Definition:
SimConstants.h:243
sim::ControlAction::GreaterThenOpen
constexpr int GreaterThenOpen
Definition:
SimConstants.h:245
sim::ControlAction::SmallerThenOn
constexpr int SmallerThenOn
Definition:
SimConstants.h:244
sim::ControlAction::Trip
constexpr int Trip
Definition:
SimConstants.h:238
sim::ControlAction::GreaterThenOff
constexpr int GreaterThenOff
Definition:
SimConstants.h:247
sim::ControlAction::SmallerThenOpen
constexpr int SmallerThenOpen
Definition:
SimConstants.h:246
sim::ControlAction::SmallerThenOff
constexpr int SmallerThenOff
Definition:
SimConstants.h:248
sim::ControlAction::SmallerThenClose
constexpr int SmallerThenClose
Definition:
SimConstants.h:250
sim::State::On
constexpr int On
Definition:
SimConstants.h:105
sim::State::Off
constexpr int Off
Definition:
SimConstants.h:106
sim::State::Succeed
constexpr int Succeed
Definition:
SimConstants.h:104
sim::State::Open
constexpr int Open
Definition:
SimConstants.h:116
sim::State::Close
constexpr int Close
Definition:
SimConstants.h:117
sim::None
constexpr int None
Definition:
SimConstants.h:75
SimulationContext::Branch_center
BranchRecord Branch_center
Dynamic event tree state.
Definition:
SimulationContext.h:45
src
ADSIDAC
ControlPanel
DisplayComponentState.cpp
Generated by
1.9.4