uniset-algorithms 0.2
Открытые типы | Открытые члены | Открытые статические члены | Открытые атрибуты | Статические открытые данные | Защищенные члены | Защищенные данные | Друзья
Класс 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%'

        {
            // для команды включения резерва
            Load105,    
            Load95,     
            Protection, 
            Fault,      
            NoPower,    
            RequiredReserve, 
            // для команды отключения резерва
            ReservOn_Condition,     
            Load20                  
        };

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

        {
            OnTimer,
            RunTimer,
            OffTimer,
            DGProtectionStopTimer,
            DGProtectionCheckTimer,
            QGTimer,
            AcceptWaitingTimer,
            AcceptControlTimer,
            Load20Timer,
            NoPowerTimer,
            BlockedRunTimer,
            UpdateStateTimer
        };

Методы

bool SEES::isAutoControl ( )

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

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

{
    return (in_CtlMode_f == mAuto );
}
bool SEES::isAutoMode ( )

основной ?

{
    return ( in_CtlMode_f == mAuto && in_Leader_f );
}
bool SEES::isOnMode ( )

включён ?

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

{
    return ( getOMode() == mON );
}
bool SEES::isProtection ( )

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

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

{
    { // lock
        UniSetTypes::uniset_mutex_lock lock(protectionMutex, 1000);     
        return protection;
    }
}
bool SEES::isReservMode ( )

в резерве ?

{
    return ( in_CtlMode_f == mAuto && !in_Leader_f );
}
bool SEES::waitRunning ( )

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

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

{
    uniset_mutex_lock l(modeMutex,300);
    
    if( mode->getMode() != SEESMessage::AutoWaitingMode )
        return false;
    
    if( !ptMode.checkTime() )
        return false;
        
    if( toMode == SEESMessage::OnMode || 
        toMode == SEESMessage::RunningMode )
        return true;
    
    return false;
}
bool SEES::waitStopping ( )

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

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

{
    uniset_mutex_lock l(modeMutex,300);

    if( mode->getMode() != SEESMessage::AutoWaitingMode )
        return false;

    if( !ptMode.checkTime() )
        return false;

    if( toMode == SEESMessage::OffMode ||
        toMode == SEESMessage::QGOffWaitingMode )
        return true;

    return false;
}

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

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

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

const int SEES::askPause

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

Переопределяет метод предка SEES_SK.

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


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