|
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-02-14 00012 // ----------------------------------------------------------------------------- 00013 #ifndef SEES_SK_H_ 00014 #define SEES_SK_H_ 00015 // ----------------------------------------------------------------------------- 00016 #include "ObjectsManager.h" 00017 #include "LT_Object.h" 00018 #include "UniXML.h" 00019 #include "Trigger.h" 00020 // ----------------------------------------------------------------------------- 00021 class SEES_SK: 00022 public ObjectsManager, 00023 public LT_Object 00024 { 00025 public: 00026 SEES_SK( UniSetTypes::ObjectId id, xmlNode* node=UniSetTypes::conf->getNode("SEES") ); 00027 SEES_SK(); 00028 virtual ~SEES_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 state_as; 00045 UniSetTypes::ObjectId node_state_as; 00046 const UniSetTypes::ObjectId DG_Start_s; 00047 UniSetTypes::ObjectId node_DG_Start_s; 00048 const UniSetTypes::ObjectId DG_Stop_s; 00049 UniSetTypes::ObjectId node_DG_Stop_s; 00050 const UniSetTypes::ObjectId QG_On_s; 00051 UniSetTypes::ObjectId node_QG_On_s; 00052 const UniSetTypes::ObjectId QG_Off_s; 00053 UniSetTypes::ObjectId node_QG_Off_s; 00054 const UniSetTypes::ObjectId lmpDG_ON_c; 00055 UniSetTypes::ObjectId node_lmpDG_ON_c; 00056 const UniSetTypes::ObjectId lmpDG_OFF_c; 00057 UniSetTypes::ObjectId node_lmpDG_OFF_c; 00058 const UniSetTypes::ObjectId lmpQG_ON_c; 00059 UniSetTypes::ObjectId node_lmpQG_ON_c; 00060 const UniSetTypes::ObjectId lmpQG_OFF_c; 00061 UniSetTypes::ObjectId node_lmpQG_OFF_c; 00062 const UniSetTypes::ObjectId DG_RemoteControl_s; 00063 UniSetTypes::ObjectId node_DG_RemoteControl_s; 00064 const UniSetTypes::ObjectId QG_RemoteControl_s; 00065 UniSetTypes::ObjectId node_QG_RemoteControl_s; 00066 const UniSetTypes::ObjectId CtlMode_Auto_s; 00067 UniSetTypes::ObjectId node_CtlMode_Auto_s; 00068 const UniSetTypes::ObjectId postID; 00069 UniSetTypes::ObjectId node_postID; 00070 const UniSetTypes::ObjectId Leader_f; 00071 UniSetTypes::ObjectId node_Leader_f; 00072 const UniSetTypes::ObjectId Priority_s; 00073 UniSetTypes::ObjectId node_Priority_s; 00074 const UniSetTypes::ObjectId Reserv_f; 00075 UniSetTypes::ObjectId node_Reserv_f; 00076 const UniSetTypes::ObjectId CtlMode_f; 00077 UniSetTypes::ObjectId node_CtlMode_f; 00078 const UniSetTypes::ObjectId ControlMode_f; 00079 UniSetTypes::ObjectId node_ControlMode_f; 00080 const UniSetTypes::ObjectId CtlMode_QG_bs; 00081 UniSetTypes::ObjectId node_CtlMode_QG_bs; 00082 const UniSetTypes::ObjectId cmd_OnReserv_f; 00083 UniSetTypes::ObjectId node_cmd_OnReserv_f; 00084 const UniSetTypes::ObjectId cmd_OffReserv_f; 00085 UniSetTypes::ObjectId node_cmd_OffReserv_f; 00086 const UniSetTypes::ObjectId Reset_s; 00087 UniSetTypes::ObjectId node_Reset_s; 00088 const UniSetTypes::ObjectId Protection_f; 00089 UniSetTypes::ObjectId node_Protection_f; 00090 const UniSetTypes::ObjectId NoPower_S; 00091 UniSetTypes::ObjectId node_NoPower_S; 00092 const UniSetTypes::ObjectId Overload95_S; 00093 UniSetTypes::ObjectId node_Overload95_S; 00094 const UniSetTypes::ObjectId Overload20_S; 00095 UniSetTypes::ObjectId node_Overload20_S; 00096 const UniSetTypes::ObjectId Overload105_S; 00097 UniSetTypes::ObjectId node_Overload105_S; 00098 const UniSetTypes::ObjectId Fault_S; 00099 UniSetTypes::ObjectId node_Fault_S; 00100 const UniSetTypes::ObjectId InfoCode_as; 00101 UniSetTypes::ObjectId node_InfoCode_as; 00102 const UniSetTypes::ObjectId DG_Start_C; 00103 UniSetTypes::ObjectId node_DG_Start_C; 00104 const UniSetTypes::ObjectId DG_Stop_C; 00105 UniSetTypes::ObjectId node_DG_Stop_C; 00106 const UniSetTypes::ObjectId QG_On_C; 00107 UniSetTypes::ObjectId node_QG_On_C; 00108 const UniSetTypes::ObjectId QG_Off_C; 00109 UniSetTypes::ObjectId node_QG_Off_C; 00110 const UniSetTypes::ObjectId OnControl_C; 00111 UniSetTypes::ObjectId node_OnControl_C; 00112 const UniSetTypes::ObjectId Reset_C; 00113 UniSetTypes::ObjectId node_Reset_C; 00114 const UniSetTypes::ObjectId NotAlone_C; 00115 UniSetTypes::ObjectId node_NotAlone_C; 00116 const UniSetTypes::ObjectId NoPower_C; 00117 UniSetTypes::ObjectId node_NoPower_C; 00118 const UniSetTypes::ObjectId Ping_C; 00119 UniSetTypes::ObjectId node_Ping_C; 00120 00121 00122 // Используемые идентификаторы сообщений 00123 00124 const UniSetTypes::ObjectId mid_starting; 00125 UniSetTypes::ObjectId node_mid_starting; 00126 bool m_mid_starting; 00127 bool prev_m_mid_starting; 00129 const UniSetTypes::ObjectId mid_stopping; 00130 UniSetTypes::ObjectId node_mid_stopping; 00131 bool m_mid_stopping; 00132 bool prev_m_mid_stopping; 00134 const UniSetTypes::ObjectId mid_endStarting; 00135 UniSetTypes::ObjectId node_mid_endStarting; 00136 bool m_mid_endStarting; 00137 bool prev_m_mid_endStarting; 00139 const UniSetTypes::ObjectId mid_endStopping; 00140 UniSetTypes::ObjectId node_mid_endStopping; 00141 bool m_mid_endStopping; 00142 bool prev_m_mid_endStopping; 00144 const UniSetTypes::ObjectId mid_BlockedRun; 00145 UniSetTypes::ObjectId node_mid_BlockedRun; 00146 bool m_mid_BlockedRun; 00147 bool prev_m_mid_BlockedRun; 00149 const UniSetTypes::ObjectId mid_SetReserv; 00150 UniSetTypes::ObjectId node_mid_SetReserv; 00151 bool m_mid_SetReserv; 00152 bool prev_m_mid_SetReserv; 00154 const UniSetTypes::ObjectId mid_NotReserv; 00155 UniSetTypes::ObjectId node_mid_NotReserv; 00156 bool m_mid_NotReserv; 00157 bool prev_m_mid_NotReserv; 00159 const UniSetTypes::ObjectId mid_SetReserv_Failure; 00160 UniSetTypes::ObjectId node_mid_SetReserv_Failure; 00161 bool m_mid_SetReserv_Failure; 00162 bool prev_m_mid_SetReserv_Failure; 00164 const UniSetTypes::ObjectId mid_NotOn; 00165 UniSetTypes::ObjectId node_mid_NotOn; 00166 bool m_mid_NotOn; 00167 bool prev_m_mid_NotOn; 00169 const UniSetTypes::ObjectId mid_NotOff; 00170 UniSetTypes::ObjectId node_mid_NotOff; 00171 bool m_mid_NotOff; 00172 bool prev_m_mid_NotOff; 00174 const UniSetTypes::ObjectId mid_QG_NotOn; 00175 UniSetTypes::ObjectId node_mid_QG_NotOn; 00176 bool m_mid_QG_NotOn; 00177 bool prev_m_mid_QG_NotOn; 00179 const UniSetTypes::ObjectId mid_QG_NotOff; 00180 UniSetTypes::ObjectId node_mid_QG_NotOff; 00181 bool m_mid_QG_NotOff; 00182 bool prev_m_mid_QG_NotOff; 00184 const UniSetTypes::ObjectId mid_QG_NotOn_LocalControl; 00185 UniSetTypes::ObjectId node_mid_QG_NotOn_LocalControl; 00186 bool m_mid_QG_NotOn_LocalControl; 00187 bool prev_m_mid_QG_NotOn_LocalControl; 00189 const UniSetTypes::ObjectId mid_QG_NotOff_LocalControl; 00190 UniSetTypes::ObjectId node_mid_QG_NotOff_LocalControl; 00191 bool m_mid_QG_NotOff_LocalControl; 00192 bool prev_m_mid_QG_NotOff_LocalControl; 00194 const UniSetTypes::ObjectId mid_ProtectionNotReset; 00195 UniSetTypes::ObjectId node_mid_ProtectionNotReset; 00196 bool m_mid_ProtectionNotReset; 00197 bool prev_m_mid_ProtectionNotReset; 00199 const UniSetTypes::ObjectId mid_Diesel_NotOn; 00200 UniSetTypes::ObjectId node_mid_Diesel_NotOn; 00201 bool m_mid_Diesel_NotOn; 00202 bool prev_m_mid_Diesel_NotOn; 00204 const UniSetTypes::ObjectId mid_Diesel_NotOff; 00205 UniSetTypes::ObjectId node_mid_Diesel_NotOff; 00206 bool m_mid_Diesel_NotOff; 00207 bool prev_m_mid_Diesel_NotOff; 00209 const UniSetTypes::ObjectId mid_Generator_NotOn; 00210 UniSetTypes::ObjectId node_mid_Generator_NotOn; 00211 bool m_mid_Generator_NotOn; 00212 bool prev_m_mid_Generator_NotOn; 00214 const UniSetTypes::ObjectId mid_Generator_NotOff; 00215 UniSetTypes::ObjectId node_mid_Generator_NotOff; 00216 bool m_mid_Generator_NotOff; 00217 bool prev_m_mid_Generator_NotOff; 00219 const UniSetTypes::ObjectId mid_NA_State; 00220 UniSetTypes::ObjectId node_mid_NA_State; 00221 bool m_mid_NA_State; 00222 bool prev_m_mid_NA_State; 00224 const UniSetTypes::ObjectId mid_BadOperation; 00225 UniSetTypes::ObjectId node_mid_BadOperation; 00226 bool m_mid_BadOperation; 00227 bool prev_m_mid_BadOperation; 00229 const UniSetTypes::ObjectId mid_NotFinished; 00230 UniSetTypes::ObjectId node_mid_NotFinished; 00231 bool m_mid_NotFinished; 00232 bool prev_m_mid_NotFinished; 00234 const UniSetTypes::ObjectId mid_NotDischarge; 00235 UniSetTypes::ObjectId node_mid_NotDischarge; 00236 bool m_mid_NotDischarge; 00237 bool prev_m_mid_NotDischarge; 00239 const UniSetTypes::ObjectId mid_NotAccept; 00240 UniSetTypes::ObjectId node_mid_NotAccept; 00241 bool m_mid_NotAccept; 00242 bool prev_m_mid_NotAccept; 00244 const UniSetTypes::ObjectId mid_ReservBadAction; 00245 UniSetTypes::ObjectId node_mid_ReservBadAction; 00246 bool m_mid_ReservBadAction; 00247 bool prev_m_mid_ReservBadAction; 00249 const UniSetTypes::ObjectId mid_OnReservBadAction; 00250 UniSetTypes::ObjectId node_mid_OnReservBadAction; 00251 bool m_mid_OnReservBadAction; 00252 bool prev_m_mid_OnReservBadAction; 00254 const UniSetTypes::ObjectId mid_ProtectionOn; 00255 UniSetTypes::ObjectId node_mid_ProtectionOn; 00256 bool m_mid_ProtectionOn; 00257 bool prev_m_mid_ProtectionOn; 00259 const UniSetTypes::ObjectId mid_ProtectionOff; 00260 UniSetTypes::ObjectId node_mid_ProtectionOff; 00261 bool m_mid_ProtectionOff; 00262 bool prev_m_mid_ProtectionOff; 00264 const UniSetTypes::ObjectId mid_SetReserv_Att; 00265 UniSetTypes::ObjectId node_mid_SetReserv_Att; 00266 bool m_mid_SetReserv_Att; 00267 bool prev_m_mid_SetReserv_Att; 00270 // Текущее значение и предыдущее значение 00271 long in_state_as; 00272 long prev_in_state_as; 00273 bool in_DG_Start_s; 00274 bool prev_in_DG_Start_s; 00275 bool in_DG_Stop_s; 00276 bool prev_in_DG_Stop_s; 00277 bool in_QG_On_s; 00278 bool prev_in_QG_On_s; 00279 bool in_QG_Off_s; 00280 bool prev_in_QG_Off_s; 00281 long out_lmpDG_ON_c; 00282 long prev_out_lmpDG_ON_c; 00283 long out_lmpDG_OFF_c; 00284 long prev_out_lmpDG_OFF_c; 00285 long out_lmpQG_ON_c; 00286 long prev_out_lmpQG_ON_c; 00287 long out_lmpQG_OFF_c; 00288 long prev_out_lmpQG_OFF_c; 00289 bool in_DG_RemoteControl_s; 00290 bool prev_in_DG_RemoteControl_s; 00291 bool in_QG_RemoteControl_s; 00292 bool prev_in_QG_RemoteControl_s; 00293 bool in_CtlMode_Auto_s; 00294 bool prev_in_CtlMode_Auto_s; 00295 long out_postID; 00296 long prev_out_postID; 00297 bool in_Leader_f; 00298 bool prev_in_Leader_f; 00299 long in_Priority_s; 00300 long prev_in_Priority_s; 00301 bool out_Reserv_f; 00302 bool prev_out_Reserv_f; 00303 long in_CtlMode_f; 00304 long prev_in_CtlMode_f; 00305 long out_ControlMode_f; 00306 long prev_out_ControlMode_f; 00307 long out_CtlMode_QG_bs; 00308 long prev_out_CtlMode_QG_bs; 00309 bool in_cmd_OnReserv_f; 00310 bool prev_in_cmd_OnReserv_f; 00311 bool in_cmd_OffReserv_f; 00312 bool prev_in_cmd_OffReserv_f; 00313 bool in_Reset_s; 00314 bool prev_in_Reset_s; 00315 bool out_Protection_f; 00316 bool prev_out_Protection_f; 00317 bool in_NoPower_S; 00318 bool prev_in_NoPower_S; 00319 bool in_Overload95_S; 00320 bool prev_in_Overload95_S; 00321 bool in_Overload20_S; 00322 bool prev_in_Overload20_S; 00323 bool in_Overload105_S; 00324 bool prev_in_Overload105_S; 00325 bool in_Fault_S; 00326 bool prev_in_Fault_S; 00327 long in_InfoCode_as; 00328 long prev_in_InfoCode_as; 00329 bool out_DG_Start_C; 00330 bool prev_out_DG_Start_C; 00331 bool out_DG_Stop_C; 00332 bool prev_out_DG_Stop_C; 00333 bool out_QG_On_C; 00334 bool prev_out_QG_On_C; 00335 bool out_QG_Off_C; 00336 bool prev_out_QG_Off_C; 00337 bool out_OnControl_C; 00338 bool prev_out_OnControl_C; 00339 bool out_Reset_C; 00340 bool prev_out_Reset_C; 00341 bool out_NotAlone_C; 00342 bool prev_out_NotAlone_C; 00343 bool out_NoPower_C; 00344 bool prev_out_NoPower_C; 00345 bool out_Ping_C; 00346 bool prev_out_Ping_C; 00347 00348 00349 // --- public variables --- 00350 00351 00352 // --- end of public variables --- 00353 00354 protected: 00355 // --- protected variables --- 00356 00357 00358 // ---- end of protected variables ---- 00359 00360 00361 virtual void callback(); 00362 virtual void processingMessage( UniSetTypes::VoidMessage* msg ); 00363 virtual void sysCommand( UniSetTypes::SystemMessage* sm ); 00364 virtual void askSensors( UniversalIO::UIOCommand cmd ){} 00365 virtual void sensorInfo( UniSetTypes::SensorMessage* sm ){} 00366 virtual void timerInfo( UniSetTypes::TimerMessage* tm ){} 00367 virtual void sigterm( int signo ); 00368 virtual bool activateObject(); 00369 virtual void testMode( bool state ); 00370 void updatePreviousValues(); 00371 void checkSensors(); 00372 void updateOutputs( bool force ); 00373 00374 void preAskSensors( UniversalIO::UIOCommand cmd ); 00375 void preSensorInfo( UniSetTypes::SensorMessage* sm ); 00376 void preTimerInfo( UniSetTypes::TimerMessage* tm ); 00377 void waitSM( int wait_msec, UniSetTypes::ObjectId testID = UniSetTypes::DefaultObjectId ); 00378 00379 void resetMsg(); 00380 Trigger trResetMsg; 00381 PassiveTimer ptResetMsg; 00382 int resetMsgTime; 00383 00384 // Выполнение очередного шага программы 00385 virtual void step()=0; 00386 00387 int sleep_msec; 00388 bool active; 00389 00390 UniSetTypes::ObjectId smTestID; 00392 // управление датчиком "сердцебиения" 00393 PassiveTimer ptHeartBeat; 00394 UniSetTypes::ObjectId idHeartBeat; 00395 int maxHeartBeat; 00397 xmlNode* confnode; 00399 int getIntProp(const std::string name) { return UniSetTypes::conf->getIntProp(confnode, name); } 00401 inline const std::string getProp(const std::string name) { return UniSetTypes::conf->getProp(confnode, name); } 00402 00403 int smReadyTimeout; 00404 bool activated; 00405 int activateTimeout; 00406 PassiveTimer ptStartUpTimeout; 00407 int askPause; 00409 IOController_i::SensorInfo si; 00410 00411 00412 private: 00413 00414 // --- private variables --- 00415 // --- end of private variables --- 00416 00417 00418 00419 bool end_private; // вспомогательное поле (для внутреннего использования при генерировании кода) 00420 }; 00421 00422 // ----------------------------------------------------------------------------- 00423 #endif // SEES_SK_H_
1.7.6.1