14 #ifndef flowcontrollerH
15 #define flowcontrollerH
17 #include "primarydriverwiththread.h"
18 #include "xnodeconnector.h"
22 class Ui_FrmFlowController;
29 Transaction &tr_meas,
const shared_ptr<XMeasure> &meas);
45 const shared_ptr<XScalarEntry> &
flow()
const {
return m_flow;}
47 const shared_ptr<XDoubleNode> &
target()
const {
return m_target;}
48 const shared_ptr<XDoubleNode> &
valve()
const {
return m_valve;}
49 const shared_ptr<XDoubleNode> &
rampTime()
const {
return m_rampTime;}
50 const shared_ptr<XTouchableNode> &openValve()
const {
return m_openValve;}
51 const shared_ptr<XTouchableNode> &closeValve()
const {
return m_closeValve;}
52 const shared_ptr<XBoolNode> &warning()
const {
return m_warning;}
53 const shared_ptr<XBoolNode> &alarm()
const {
return m_alarm;}
54 const shared_ptr<XBoolNode> &control()
const {
return m_control;}
57 double fullScale()
const {
return m_fullScale;}
62 virtual bool isController() = 0;
63 virtual bool isUnitInSLM() = 0;
64 virtual double getFullScale() = 0;
66 virtual void getStatus(
double &flow_in_slm,
double &valve_v,
bool &alarm,
bool &warning) = 0;
67 virtual void setValveState(
bool open) = 0;
68 virtual void changeControl(
bool ctrl) = 0;
69 virtual void changeSetPoint(
double target) = 0;
70 virtual void setRampTime(
double time) = 0;
72 const shared_ptr<XScalarEntry> m_flow;
74 const shared_ptr<XDoubleNode> m_target;
75 const shared_ptr<XDoubleNode> m_valve;
76 const shared_ptr<XDoubleNode> m_rampTime;
77 const shared_ptr<XTouchableNode> m_openValve;
78 const shared_ptr<XTouchableNode> m_closeValve;
79 const shared_ptr<XBoolNode> m_warning;
80 const shared_ptr<XBoolNode> m_alarm;
81 const shared_ptr<XBoolNode> m_control;
83 shared_ptr<XListener> m_lsnTarget, m_lsnOpenValve, m_lsnCloseValve, m_lsnControl, m_lsnRampTime;
84 xqcon_ptr m_conFlow, m_conAlarm, m_conWarning, m_conTarget,
85 m_conRampTime, m_conValve, m_conControl, m_conOpenValve, m_conCloseValve;