Класс SEES

#include <SEES.h>

Граф наследования:SEES:

Inheritance graph
[см. легенду]
Граф связей класса SEES:

Collaboration graph
[см. легенду]

Полный список членов класса

Открытые типы

enum  Timers {
  OnTimer, RunTimer, OffTimer, DGProtectionStopTimer,
  DGProtectionCheckTimer, QGTimer, AcceptWaitingTimer, AcceptControlTimer,
  Load20Timer, NoPowerTimer, BlockedRunTimer, UpdateStateTimer
}
enum  InputId {
  Load105, Load95, Protection, Fault,
  NoPower, RequiredReserve, ReservOn_Condition, Load20
}
enum  SigState { Sig_None, Sig_Filtrating, Sig_OK }

Открытые члены

 SEES (int gnum, const std::string &name, SEESControl *master, xmlNode *confnode)
virtual char * getName ()
std::string getSESName ()
int getNumber ()
int getGroupNumber ()
void setGroupNumber (int num)
int getReservPower ()
int getNominalPower ()
long getP ()
long getU ()
long getF ()
SEESTypes::ControlMode getControlMode ()
ObjectMode getOMode ()
void requiredReserv (bool set)
bool waitRunning ()
bool waitStopping ()
bool isOnMode ()
bool isAutoMode ()
bool isReservMode ()
bool isProtection ()
bool isAutoControl ()
long getPriority ()
void setLeader (bool set)
bool canReservRunning ()
bool canReservStopping ()
bool isReservOnNeeded ()
bool isReservOffNeeded ()
void onReservCommand ()
void offReservCommand ()
void resetReservCommand ()
void updateReservCommand ()
void setAloneWorking (bool state)
bool setLamp (const UniSetTypes::ObjectId id, UniSetTypes::LampCommand cmd)

Открытые статические члены

static void init_dlog (DebugStream &dlog)

Открытые атрибуты

const int OnTime
const int QGOnTime
const int QGOffTime
const int RunTime
const int OffTime
const int AcceptWaitingTime
const int AcceptControlTime
const int Load20Time
const int CmdPause
const int ReservCount
const int askTimeout
const int askPause
const int filterPause
const int protectionPause
const int initPause
const int NoPowerTime
int BlockedRunTime
const int DGProtectionStopTime
const int DGProtectionCheckTime
const int modeTime
const int updateStateTime
int resetPause
int initAttempts
SEESControlmaster
QGqg
Dieseldis
Generatorgen
TriggerOutput< SEES,
SEES::Timers, int > * 
tm
TriggerOutput< SEES,
UniSetTypes::ObjectId, bool > * 
out
SigState load20_sig
TriggerOutput< SEES,
UniSetTypes::ObjectId, bool > * 
msg
const UniSetTypes::ObjectId myPostID

Статические открытые данные

static DebugStream dlog

Защищенные члены

virtual void step ()
virtual void sigterm (int signo)
virtual void processingMessage (UniSetTypes::VoidMessage *msg)
virtual void sysCommand (UniSetTypes::SystemMessage *sm)
virtual void sensorInfo (UniSetTypes::SensorMessage *sm)
virtual void timerInfo (UniSetTypes::TimerMessage *tm)
void seesInfo (SEESMessage *sm)
void changeMode (SEESMode *m)
void setTimer (SEES::Timers tid, int val)
void setOut (UniSetTypes::ObjectId sid, bool state)
void setProtection (bool state)
void onReservCondition (bool set)
void offReservCondition (bool set)
void updateReservNeeded ()
void resetModeTimer ()
void checkControlMode ()
void setMyControlMode (SEESTypes::ControlMode m)
long getAnalogInput (UniSetTypes::ObjectId id)
bool isHaveQGLock ()
void setQGLock (bool set)

Защищенные данные

TriggerOR< SEES, SEES::InputId > * needReservOn
TriggerAND< SEES, SEES::InputId > * needReservOff

Друзья

class SEESMode
class SEESWaitingMode
class SEESAutoWaitingMode
class SEESProtectionMode
class SEESGroup
std::ostream & operator<< (std::ostream &os, SEES &am)
std::ostream & operator<< (std::ostream &os, SEES *am)


Подробное описание

Реализация алгоритма управления ГДГ (и ГА).

Перечисления

идентификаторы 'входов' для триггеров управления резервом

Элементы перечислений:
Load105  признак 'перегрузка'
Load95  признак 'нагрузка 95'
Protection  признак 'защита'
Fault  признак 'неисправность'
NoPower  секция ГРЩ обесточена'
RequiredReserve  "кому-то"(внешнему) требуется резерв
ReservOn_Condition  признак 'условие включения резерва'
Load20  признак 'нагрузка 20'
00193         {
00194             // для команды включения резерва
00195             Load105,    
00196             Load95,     
00197             Protection, 
00198             Fault,      
00199             NoPower,    
00200             RequiredReserve, 
00202             // для команды отключения резерва
00203             ReservOn_Condition,     
00204             Load20                  
00205         };

Идентификаторы таймеров

00143         {
00144             OnTimer,
00145             RunTimer,
00146             OffTimer,
00147             DGProtectionStopTimer,
00148             DGProtectionCheckTimer,
00149             QGTimer,
00150             AcceptWaitingTimer,
00151             AcceptControlTimer,
00152             Load20Timer,
00153             NoPowerTimer,
00154             BlockedRunTimer,
00155             UpdateStateTimer
00156         };


Методы

bool SEES::isAutoControl (  ) 

включено ли автоматическое управление

Используется в SEESGroup::makeReservList().

00519 {
00520     return (in_CtlMode_f == mAuto );
00521 }

bool SEES::isAutoMode (  ) 

основной ?

00524 {
00525     return ( in_CtlMode_f == mAuto && in_Leader_f );
00526 }

bool SEES::isOnMode (  ) 

включён ?

Используется в SEESGroup::makeReservList().

00488 {
00489     return ( getOMode() == mON );
00490 }

bool SEES::isProtection (  ) 

режим защиты ?

Используется в SEESGroup::reserv().

00555 {
00556     { // lock
00557         UniSetTypes::uniset_mutex_lock lock(protectionMutex, 1000);     
00558         return protection;
00559     }
00560 }

bool SEES::isReservMode (  ) 

в резерве ?

00529 {
00530     return ( in_CtlMode_f == mAuto && !in_Leader_f );
00531 }

bool SEES::waitRunning (  ) 

запускаетcя ?

Перекрестные ссылки SEESMessage::AutoWaitingMode, SEESMessage::OnMode и SEESMessage::RunningMode.

00841 {
00842     uniset_mutex_lock l(modeMutex,300);
00843     
00844     if( mode->getMode() != SEESMessage::AutoWaitingMode )
00845         return false;
00846     
00847     if( !ptMode.checkTime() )
00848         return false;
00849         
00850     if( toMode == SEESMessage::OnMode || 
00851         toMode == SEESMessage::RunningMode )
00852         return true;
00853     
00854     return false;
00855 }

bool SEES::waitStopping (  ) 

останавливается ?

Перекрестные ссылки SEESMessage::AutoWaitingMode и SEESMessage::OffMode.

00858 {
00859     uniset_mutex_lock l(modeMutex,300);
00860 
00861     if( mode->getMode() != SEESMessage::AutoWaitingMode )
00862         return false;
00863 
00864     if( !ptMode.checkTime() )
00865         return false;
00866 
00867     if( toMode == SEESMessage::OffMode ||
00868         toMode == SEESMessage::QGOffWaitingMode )
00869         return true;
00870 
00871     return false;
00872 }


Данные класса

период контроля освобождения "приоритета включения QG"

время ожидания освобождения "приоритета включения QG"

const int SEES::askPause

пауза между попытками заказа

const int SEES::askTimeout

время отводимое на попытку заказа датчиков

время на проверку сняти блокировки

const int SEES::CmdPause

пауза перед началом исполнения команды, мсек

время контроля остановки дизеля

время выключения дизеля в режиме защиты

const int SEES::filterPause

пауза на стабилизацию состояния после блокирования совместного пуска/остановки

const int SEES::initPause

пауза перед инициализацией состояния, для того чтобы qg,dis и gen успели инициализироваться

Используется в SEESInitMode::activate().

SigState SEES::load20_sig

признак фильтрации сигнала 'нагрузка < 20'

const int SEES::Load20Time

задержка на отрабатывание сигнала нагрузка < 20%

количество попыток инициализации в случае неопределённого состояния

TriggerOutput<SEES, UniSetTypes::ObjectId, bool>* SEES::msg

для посылки и сброса сообщений

const int SEES::NoPowerTime

задержка на отрабатывание сигнала "ГРЩ Обезточен"

const int SEES::OffTime

время контроля остановки

const int SEES::OnTime

время включения

пауза перед переходом в ProtectionMode для стабилизации процессов(причин) аварии

const int SEES::QGOffTime

время контроля отключения автомата

const int SEES::QGOnTime

время контроля включения автомата

const int SEES::ReservCount

количество попыток запуска(остановки) резерва

const int SEES::RunTime

время контроля запуска

время не реиницализацию состояния в режиме ProtectionMode


Объявления и описания членов классов находятся в файлах:

Документация по uniset-algorithms. Последние изменения: Fri Dec 12 14:27:17 2014. Создано системой  doxygen 1.5.9