|
uniset-algorithms 0.2
|
00001 00002 // -------------------------------------------------------------------------- 00003 /* 00004 DO NOT EDIT THIS FILE. IT IS AUTOGENERATED FILE. 00005 ALL YOUR CHANGES WILL BE LOST. 00006 00007 НЕ РЕДАКТИРУЙТЕ ЭТОТ ФАЙЛ. ЭТОТ ФАЙЛ СОЗДАН АВТОМАТИЧЕСКИ. 00008 ВСЕ ВАШИ ИЗМЕНЕНИЯ БУДУТ ПОТЕРЯНЫ. 00009 */ 00010 // -------------------------------------------------------------------------- 00011 // generate timestamp: 2013-01-24 00012 // ----------------------------------------------------------------------------- 00013 #ifndef CPanel_SK_H_ 00014 #define CPanel_SK_H_ 00015 // ----------------------------------------------------------------------------- 00016 #include "ObjectsManager.h" 00017 #include "LT_Object.h" 00018 #include "UniXML.h" 00019 #include "Trigger.h" 00020 // ----------------------------------------------------------------------------- 00021 class CPanel_SK: 00022 public ObjectsManager, 00023 public LT_Object 00024 { 00025 public: 00026 CPanel_SK( UniSetTypes::ObjectId id, xmlNode* node=UniSetTypes::conf->getNode("CPanel") ); 00027 CPanel_SK(); 00028 virtual ~CPanel_SK(); 00029 00030 00031 00032 bool alarm( UniSetTypes::ObjectId sid, bool state ); 00033 bool getState( UniSetTypes::ObjectId sid ); 00034 bool getValue( UniSetTypes::ObjectId sid ); 00035 void setValue( UniSetTypes::ObjectId sid, long value ); 00036 void setState( UniSetTypes::ObjectId sid, bool state ); 00037 void askState( UniSetTypes::ObjectId sid, UniversalIO::UIOCommand, UniSetTypes::ObjectId node = UniSetTypes::conf->getLocalNode() ); 00038 void askValue( UniSetTypes::ObjectId sid, UniversalIO::UIOCommand, UniSetTypes::ObjectId node = UniSetTypes::conf->getLocalNode() ); 00039 void updateValues(); 00040 void setMsg( UniSetTypes::ObjectId code, bool state ); 00041 00042 00043 // Используемые идентификаторы 00044 const UniSetTypes::ObjectId onPanel; 00045 UniSetTypes::ObjectId node_onPanel; 00046 const UniSetTypes::ObjectId keyTestLamp; 00047 UniSetTypes::ObjectId node_keyTestLamp; 00048 const UniSetTypes::ObjectId idPost; 00049 UniSetTypes::ObjectId node_idPost; 00050 const UniSetTypes::ObjectId ctlMode_s; 00051 UniSetTypes::ObjectId node_ctlMode_s; 00052 const UniSetTypes::ObjectId lmpCtlLocal_c; 00053 UniSetTypes::ObjectId node_lmpCtlLocal_c; 00054 const UniSetTypes::ObjectId lmpCtlPult_c; 00055 UniSetTypes::ObjectId node_lmpCtlPult_c; 00056 const UniSetTypes::ObjectId lmpCtlAuto_c; 00057 UniSetTypes::ObjectId node_lmpCtlAuto_c; 00058 const UniSetTypes::ObjectId btnDG_ON_s; 00059 UniSetTypes::ObjectId node_btnDG_ON_s; 00060 const UniSetTypes::ObjectId btnDG_OFF_s; 00061 UniSetTypes::ObjectId node_btnDG_OFF_s; 00062 const UniSetTypes::ObjectId btnQG_ON_s; 00063 UniSetTypes::ObjectId node_btnQG_ON_s; 00064 const UniSetTypes::ObjectId btnQG_OFF_s; 00065 UniSetTypes::ObjectId node_btnQG_OFF_s; 00066 const UniSetTypes::ObjectId DG_ON_c; 00067 UniSetTypes::ObjectId node_DG_ON_c; 00068 const UniSetTypes::ObjectId DG_OFF_c; 00069 UniSetTypes::ObjectId node_DG_OFF_c; 00070 const UniSetTypes::ObjectId QG_ON_c; 00071 UniSetTypes::ObjectId node_QG_ON_c; 00072 const UniSetTypes::ObjectId QG_OFF_c; 00073 UniSetTypes::ObjectId node_QG_OFF_c; 00074 const UniSetTypes::ObjectId lmpDG_ON_c; 00075 UniSetTypes::ObjectId node_lmpDG_ON_c; 00076 const UniSetTypes::ObjectId lmpDG_OFF_c; 00077 UniSetTypes::ObjectId node_lmpDG_OFF_c; 00078 const UniSetTypes::ObjectId lmpQG_ON_c; 00079 UniSetTypes::ObjectId node_lmpQG_ON_c; 00080 const UniSetTypes::ObjectId lmpQG_OFF_c; 00081 UniSetTypes::ObjectId node_lmpQG_OFF_c; 00082 const UniSetTypes::ObjectId btnResetProtection; 00083 UniSetTypes::ObjectId node_btnResetProtection; 00084 const UniSetTypes::ObjectId needResetProtection; 00085 UniSetTypes::ObjectId node_needResetProtection; 00086 const UniSetTypes::ObjectId lmpResetProtection; 00087 UniSetTypes::ObjectId node_lmpResetProtection; 00088 const UniSetTypes::ObjectId ctlRespond; 00089 UniSetTypes::ObjectId node_ctlRespond; 00090 const UniSetTypes::ObjectId ctlHeartbeat; 00091 UniSetTypes::ObjectId node_ctlHeartbeat; 00092 const UniSetTypes::ObjectId panelFailure; 00093 UniSetTypes::ObjectId node_panelFailure; 00094 00095 00096 // Используемые идентификаторы сообщений 00097 00098 00099 // Текущее значение и предыдущее значение 00100 bool out_onPanel; 00101 bool prev_out_onPanel; 00102 bool in_keyTestLamp; 00103 bool prev_in_keyTestLamp; 00104 long in_idPost; 00105 long prev_in_idPost; 00106 long in_ctlMode_s; 00107 long prev_in_ctlMode_s; 00108 long out_lmpCtlLocal_c; 00109 long prev_out_lmpCtlLocal_c; 00110 long out_lmpCtlPult_c; 00111 long prev_out_lmpCtlPult_c; 00112 long out_lmpCtlAuto_c; 00113 long prev_out_lmpCtlAuto_c; 00114 bool in_btnDG_ON_s; 00115 bool prev_in_btnDG_ON_s; 00116 bool in_btnDG_OFF_s; 00117 bool prev_in_btnDG_OFF_s; 00118 bool in_btnQG_ON_s; 00119 bool prev_in_btnQG_ON_s; 00120 bool in_btnQG_OFF_s; 00121 bool prev_in_btnQG_OFF_s; 00122 long in_DG_ON_c; 00123 long prev_in_DG_ON_c; 00124 long in_DG_OFF_c; 00125 long prev_in_DG_OFF_c; 00126 long in_QG_ON_c; 00127 long prev_in_QG_ON_c; 00128 long in_QG_OFF_c; 00129 long prev_in_QG_OFF_c; 00130 long out_lmpDG_ON_c; 00131 long prev_out_lmpDG_ON_c; 00132 long out_lmpDG_OFF_c; 00133 long prev_out_lmpDG_OFF_c; 00134 long out_lmpQG_ON_c; 00135 long prev_out_lmpQG_ON_c; 00136 long out_lmpQG_OFF_c; 00137 long prev_out_lmpQG_OFF_c; 00138 bool in_btnResetProtection; 00139 bool prev_in_btnResetProtection; 00140 bool in_needResetProtection; 00141 bool prev_in_needResetProtection; 00142 long out_lmpResetProtection; 00143 long prev_out_lmpResetProtection; 00144 bool in_ctlRespond; 00145 bool prev_in_ctlRespond; 00146 bool in_ctlHeartbeat; 00147 bool prev_in_ctlHeartbeat; 00148 bool out_panelFailure; 00149 bool prev_out_panelFailure; 00150 00151 00152 // --- public variables --- 00153 00154 00155 // --- end of public variables --- 00156 00157 protected: 00158 // --- protected variables --- 00159 00160 00161 // ---- end of protected variables ---- 00162 00163 00164 virtual void callback(); 00165 virtual void processingMessage( UniSetTypes::VoidMessage* msg ); 00166 virtual void sysCommand( UniSetTypes::SystemMessage* sm ); 00167 virtual void askSensors( UniversalIO::UIOCommand cmd ){} 00168 virtual void sensorInfo( UniSetTypes::SensorMessage* sm ){} 00169 virtual void timerInfo( UniSetTypes::TimerMessage* tm ){} 00170 virtual void sigterm( int signo ); 00171 virtual bool activateObject(); 00172 virtual void testMode( bool state ); 00173 void updatePreviousValues(); 00174 void checkSensors(); 00175 void updateOutputs( bool force ); 00176 00177 void preAskSensors( UniversalIO::UIOCommand cmd ); 00178 void preSensorInfo( UniSetTypes::SensorMessage* sm ); 00179 void preTimerInfo( UniSetTypes::TimerMessage* tm ); 00180 void waitSM( int wait_msec, UniSetTypes::ObjectId testID = UniSetTypes::DefaultObjectId ); 00181 00182 void resetMsg(); 00183 Trigger trResetMsg; 00184 PassiveTimer ptResetMsg; 00185 int resetMsgTime; 00186 00187 // Выполнение очередного шага программы 00188 virtual void step()=0; 00189 00190 int sleep_msec; 00191 bool active; 00192 00193 UniSetTypes::ObjectId smTestID; 00195 // управление датчиком "сердцебиения" 00196 PassiveTimer ptHeartBeat; 00197 UniSetTypes::ObjectId idHeartBeat; 00198 int maxHeartBeat; 00200 xmlNode* confnode; 00202 int getIntProp(const std::string name) { return UniSetTypes::conf->getIntProp(confnode, name); } 00204 inline const std::string getProp(const std::string name) { return UniSetTypes::conf->getProp(confnode, name); } 00205 00206 int smReadyTimeout; 00207 bool activated; 00208 int activateTimeout; 00209 PassiveTimer ptStartUpTimeout; 00210 int askPause; 00212 IOController_i::SensorInfo si; 00213 00214 00215 private: 00216 00217 // --- private variables --- 00218 // --- end of private variables --- 00219 00220 00221 00222 bool end_private; // вспомогательное поле (для внутреннего использования при генерировании кода) 00223 }; 00224 00225 // ----------------------------------------------------------------------------- 00226 #endif // CPanel_SK_H_
1.7.4