|
uniset-algorithms
0.2
|
#include <UnionGroups.h>
Открытые члены | |
| UnionGroups (xmlNode *cnode) | |
| UnionGroups (int gnum) | |
| void | addGroup (UnionGroups *gr) |
| void | clearGroup () |
| void | clear () |
| void | updateP (UniversalInterface *ui) |
| void | updateU (UniversalInterface *ui) |
| void | updateF (UniversalInterface *ui) |
| void | updateFdev (UniversalInterface *ui) |
| void | updateUdev (UniversalInterface *ui) |
| void | updateReservPower (UniversalInterface *ui) |
| void | updateNoReserv (UniversalInterface *ui) |
| void | updateReadyForLoading (UniversalInterface *uin) |
| void | step (UniversalInterface *uin) |
| void | update (UniversalInterface *uin) |
| void | sensorInfo (UniSetTypes::SensorMessage *sm) |
| void | askSensors (UniversalInterface *uin, UniversalIO::UIOCommand cmd) |
| bool | isRequiredReserv () |
Открытые статические члены | |
| static void | init_dlog (DebugStream &dlog) |
Открытые атрибуты | |
| UniSetTypes::ObjectId | noReserv_s |
| UniSetTypes::ObjectId | readyForLoading_s |
| UniSetTypes::ObjectId | P_as |
| UniSetTypes::ObjectId | U_as |
| UniSetTypes::ObjectId | f_as |
| UniSetTypes::ObjectId | fdev_c |
| UniSetTypes::ObjectId | Udev_c |
| UniSetTypes::ObjectId | ReservPower_as |
| UniSetTypes::ObjectId | requiredReserv_s |
| SEESGroup * | gr |
Статические открытые данные | |
| static DebugStream | dlog |
Защищенные данные | |
| GroupList | glst |
| std::string | myname |
| bool | in_requiredReserv_s |
Друзья | |
| std::ostream & | operator<< (std::ostream &os, const GroupList &l) |
| std::ostream & | operator<< (std::ostream &os, GroupList *l) |
Просто пока временный класс вынесенный в отдельный файл, что бы не "загромождать" SEESControl
| void UnionGroups::update | ( | UniversalInterface * | uin | ) |
общее обновление
Перекрестные ссылки updateNoReserv() и updateReadyForLoading().
{
try
{
gr->update();
}
catch(...){}
updateNoReserv(uin);
updateReadyForLoading(uin);
}
| void UnionGroups::updateF | ( | UniversalInterface * | ui | ) |
обновление информации(датчиков) Частоты
Перекрестные ссылки f_as и SEESGroup::getF().
{
long F = gr->getF();
// сперва у самой группы сохраняем
try
{
if( f_as != DefaultObjectId )
{
uin->saveValue(f_as,F,UniversalIO::AnalogInput);
}
}
catch( Exception& ex )
{
UnionGroups::dlog[Debug::CRIT] << "(updateF): " << ex << endl;
}
for( GroupList::iterator it=glst.begin(); it!=glst.end(); ++it )
{
if( (*it)->f_as == DefaultObjectId )
continue;
for( int i=0; i<3; i++ )
{
try
{
uin->saveValue((*it)->f_as,F,UniversalIO::AnalogInput);
break;
}
catch( Exception& ex )
{
UnionGroups::dlog[Debug::CRIT] << "(updateF): " << ex << endl;
}
msleep(100);
}
}
}
| void UnionGroups::updateFdev | ( | UniversalInterface * | ui | ) |
обновление информации(датчиков) "отклонение частоты"
Перекрестные ссылки fdev_c и SEESGroup::isFdev().
{
bool Fdev = gr->isFdev();
// сперва у самой группы сохраняем
try
{
if( fdev_c != DefaultObjectId )
{
uin->setState(fdev_c,Fdev);
}
}
catch( Exception& ex )
{
UnionGroups::dlog[Debug::CRIT] << "(updateFdev): " << ex << endl;
}
for( GroupList::iterator it=glst.begin(); it!=glst.end(); ++it )
{
if( (*it)->fdev_c == DefaultObjectId )
continue;
for( int i=0; i<3; i++ )
{
try
{
uin->setState((*it)->fdev_c,Fdev);
break;
}
catch( Exception& ex )
{
UnionGroups::dlog[Debug::CRIT] << "(updateFdev): " << ex << endl;
}
msleep(100);
}
}
}
| void UnionGroups::updateNoReserv | ( | UniversalInterface * | ui | ) |
обновление информации(датчико) "нет резерва"
Перекрестные ссылки noReserv_s.
Используется в update().
{
bool res = gr->isNoReserv();
// сперва у самой группы сохраняем
try
{
if( noReserv_s != DefaultObjectId )
{
uin->saveState(noReserv_s,res,UniversalIO::DigitalInput);
}
}
catch( Exception& ex )
{
UnionGroups::dlog[Debug::CRIT] << "(updateNoReserv): " << ex << endl;
}
for( GroupList::iterator it=glst.begin(); it!=glst.end(); ++it )
{
if( (*it)->noReserv_s == DefaultObjectId )
continue;
for( int i=0; i<3; i++ )
{
try
{
uin->saveState((*it)->noReserv_s,res,UniversalIO::DigitalInput);
break;
}
catch( Exception& ex )
{
UnionGroups::dlog[Debug::CRIT] << "(updateNoReserv): " << ex << endl;
}
msleep(100);
}
}
}
| void UnionGroups::updateP | ( | UniversalInterface * | ui | ) |
обновление информации(датчиков) Мощности
Перекрестные ссылки SEESGroup::getP() и P_as.
{
long P = gr->getP();
// сперва у самой группы сохраняем
try
{
if( P_as != DefaultObjectId )
{
uin->saveValue(P_as,P,UniversalIO::AnalogInput);
}
}
catch( Exception& ex )
{
UnionGroups::dlog[Debug::CRIT] << "(updateP): " << ex << endl;
}
for( GroupList::iterator it=glst.begin(); it!=glst.end(); ++it )
{
if( (*it)->P_as == DefaultObjectId )
continue;
for( int i=0; i<3; i++ )
{
try
{
uin->saveValue( (*it)->P_as,P,UniversalIO::AnalogInput);
break;
}
catch( Exception& ex )
{
UnionGroups::dlog[Debug::CRIT] << "(updateP): " << ex << endl;
}
msleep(100);
}
}
}
| void UnionGroups::updateReadyForLoading | ( | UniversalInterface * | uin | ) |
обновление информаии о "готовности СЭС"
Перекрестные ссылки SEESGroup::isReadyForLoading() и readyForLoading_s.
Используется в update().
{
bool ready = gr->isReadyForLoading();
// сперва у самой группы сохраняем
try
{
if( readyForLoading_s != DefaultObjectId )
{
uin->saveState(readyForLoading_s,ready,UniversalIO::DigitalInput);
}
}
catch( Exception& ex )
{
UnionGroups::dlog[Debug::CRIT] << "(updateReadyForLoading): " << ex << endl;
}
for( GroupList::iterator it=glst.begin(); it!=glst.end(); ++it )
{
if( (*it)->readyForLoading_s == DefaultObjectId )
continue;
for( int i=0; i<3; i++ )
{
try
{
uin->saveState( (*it)->readyForLoading_s,ready,UniversalIO::DigitalInput);
break;
}
catch( Exception& ex )
{
UnionGroups::dlog[Debug::CRIT] << "(updateReadyForLoading): " << ex << endl;
}
msleep(100);
}
}
}
| void UnionGroups::updateReservPower | ( | UniversalInterface * | ui | ) |
обновление информации(датчиков) "резерв мощности"
Перекрестные ссылки SEESGroup::getReservPower() и ReservPower_as.
{
long Preserv = gr->getReservPower();
// сперва у самой группы сохраняем
try
{
if( ReservPower_as != DefaultObjectId )
{
uin->saveValue(ReservPower_as,Preserv,UniversalIO::AnalogInput);
}
}
catch( Exception& ex )
{
UnionGroups::dlog[Debug::CRIT] << "(updateReservPower): " << ex << endl;
}
for( GroupList::iterator it=glst.begin(); it!=glst.end(); ++it )
{
if( (*it)->ReservPower_as == DefaultObjectId )
continue;
for( int i=0; i<3; i++ )
{
try
{
uin->saveValue((*it)->ReservPower_as,Preserv,UniversalIO::AnalogInput);
break;
}
catch( Exception& ex )
{
UnionGroups::dlog[Debug::CRIT] << "(updateReservPower): " << ex << endl;
}
msleep(100);
}
}
}
| void UnionGroups::updateU | ( | UniversalInterface * | ui | ) |
обновление информации(датчиков) Напряжения
Перекрестные ссылки SEESGroup::getU() и U_as.
{
long U = gr->getU();
// сперва у самой группы сохраняем
try
{
if( U_as != DefaultObjectId )
{
uin->saveValue(U_as,U,UniversalIO::AnalogInput);
}
}
catch( Exception& ex )
{
UnionGroups::dlog[Debug::CRIT] << "(updateU): " << ex << endl;
}
for( GroupList::iterator it=glst.begin(); it!=glst.end(); ++it )
{
if( (*it)->U_as == DefaultObjectId )
continue;
for( int i=0; i<3; i++ )
{
try
{
uin->saveValue((*it)->U_as,U,UniversalIO::AnalogInput);
break;
}
catch( Exception& ex )
{
UnionGroups::dlog[Debug::CRIT] << "(updateU): " << ex << endl;
}
msleep(100);
}
}
}
| void UnionGroups::updateUdev | ( | UniversalInterface * | ui | ) |
обновление информации(датчиков) "отклонение напряжения"
Перекрестные ссылки SEESGroup::isUdev() и Udev_c.
{
bool Udev = gr->isUdev();
// сперва у самой группы сохраняем
try
{
if( Udev_c != DefaultObjectId )
{
uin->setState(Udev_c,Udev);
}
}
catch( Exception& ex )
{
UnionGroups::dlog[Debug::CRIT] << "(updateUdev): " << ex << endl;
}
for( GroupList::iterator it=glst.begin(); it!=glst.end(); ++it )
{
if( (*it)->Udev_c == DefaultObjectId )
continue;
for( int i=0; i<3; i++ )
{
try
{
uin->setState((*it)->Udev_c,Udev);
break;
}
catch( Exception& ex )
{
UnionGroups::dlog[Debug::CRIT] << "(updateUdev): " << ex << endl;
}
msleep(100);
}
}
}
| UniSetTypes::ObjectId UnionGroups::f_as |
(выходной): частота на шинах
Используется в updateF().
| UniSetTypes::ObjectId UnionGroups::fdev_c |
(выходной): отклонение частоты
Используется в updateFdev().
bool UnionGroups::in_requiredReserv_s [protected] |
текущее состояние датчика
| UniSetTypes::ObjectId UnionGroups::noReserv_s |
датчик отсутсвия резерва в группе
Используется в updateNoReserv().
| UniSetTypes::ObjectId UnionGroups::P_as |
(выходной): мощность на шинах
Используется в updateP().
| UniSetTypes::ObjectId UnionGroups::readyForLoading_s |
датчик "неготовности" группы к принятию нагрузки По сути. Нет работающих на шины ДГ
Используется в updateReadyForLoading().
| UniSetTypes::ObjectId UnionGroups::requiredReserv_s |
(входной): требуется запуск резерва (внешний датчик)
| UniSetTypes::ObjectId UnionGroups::ReservPower_as |
(выходной): текущий резерв мощности
Используется в updateReservPower().
| UniSetTypes::ObjectId UnionGroups::U_as |
(выходной): напряжение на шинах
Используется в updateU().
| UniSetTypes::ObjectId UnionGroups::Udev_c |
(выходной): отклонение напряжения
Используется в updateUdev().
1.7.6.1