uniset-algorithms  0.2
CPanel_SK.h
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 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_