#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) |
| void UnionGroups::update | ( | UniversalInterface * | uin | ) |
общее обновление
Перекрестные ссылки updateNoReserv() и updateReadyForLoading().
00161 { 00162 try 00163 { 00164 gr->update(); 00165 } 00166 catch(...){} 00167 00168 updateNoReserv(uin); 00169 updateReadyForLoading(uin); 00170 }
| void UnionGroups::updateF | ( | UniversalInterface * | ui | ) |
обновление информации(датчиков) Частоты
Перекрестные ссылки f_as и SEESGroup::getF().
00249 { 00250 long F = gr->getF(); 00251 00252 // сперва у самой группы сохраняем 00253 try 00254 { 00255 if( f_as != DefaultObjectId ) 00256 { 00257 uin->saveValue(f_as,F,UniversalIO::AnalogInput); 00258 } 00259 } 00260 catch( Exception& ex ) 00261 { 00262 UnionGroups::dlog[Debug::CRIT] << "(updateF): " << ex << endl; 00263 } 00264 00265 for( GroupList::iterator it=glst.begin(); it!=glst.end(); ++it ) 00266 { 00267 if( (*it)->f_as == DefaultObjectId ) 00268 continue; 00269 00270 for( int i=0; i<3; i++ ) 00271 { 00272 try 00273 { 00274 uin->saveValue((*it)->f_as,F,UniversalIO::AnalogInput); 00275 break; 00276 } 00277 catch( Exception& ex ) 00278 { 00279 UnionGroups::dlog[Debug::CRIT] << "(updateF): " << ex << endl; 00280 } 00281 msleep(100); 00282 } 00283 } 00284 }
| void UnionGroups::updateFdev | ( | UniversalInterface * | ui | ) |
обновление информации(датчиков) "отклонение частоты"
Перекрестные ссылки fdev_c и SEESGroup::isFdev().
00287 { 00288 bool Fdev = gr->isFdev(); 00289 00290 // сперва у самой группы сохраняем 00291 try 00292 { 00293 if( fdev_c != DefaultObjectId ) 00294 { 00295 uin->setState(fdev_c,Fdev); 00296 } 00297 } 00298 catch( Exception& ex ) 00299 { 00300 UnionGroups::dlog[Debug::CRIT] << "(updateFdev): " << ex << endl; 00301 } 00302 00303 for( GroupList::iterator it=glst.begin(); it!=glst.end(); ++it ) 00304 { 00305 if( (*it)->fdev_c == DefaultObjectId ) 00306 continue; 00307 00308 for( int i=0; i<3; i++ ) 00309 { 00310 try 00311 { 00312 uin->setState((*it)->fdev_c,Fdev); 00313 break; 00314 } 00315 catch( Exception& ex ) 00316 { 00317 UnionGroups::dlog[Debug::CRIT] << "(updateFdev): " << ex << endl; 00318 } 00319 msleep(100); 00320 } 00321 } 00322 }
| void UnionGroups::updateNoReserv | ( | UniversalInterface * | ui | ) |
обновление информации(датчико) "нет резерва"
Перекрестные ссылки noReserv_s.
Используется в update().
00401 { 00402 bool res = gr->isNoReserv(); 00403 00404 // сперва у самой группы сохраняем 00405 try 00406 { 00407 if( noReserv_s != DefaultObjectId ) 00408 { 00409 uin->saveState(noReserv_s,res,UniversalIO::DigitalInput); 00410 } 00411 } 00412 catch( Exception& ex ) 00413 { 00414 UnionGroups::dlog[Debug::CRIT] << "(updateNoReserv): " << ex << endl; 00415 } 00416 00417 for( GroupList::iterator it=glst.begin(); it!=glst.end(); ++it ) 00418 { 00419 if( (*it)->noReserv_s == DefaultObjectId ) 00420 continue; 00421 00422 for( int i=0; i<3; i++ ) 00423 { 00424 try 00425 { 00426 uin->saveState((*it)->noReserv_s,res,UniversalIO::DigitalInput); 00427 break; 00428 } 00429 catch( Exception& ex ) 00430 { 00431 UnionGroups::dlog[Debug::CRIT] << "(updateNoReserv): " << ex << endl; 00432 } 00433 msleep(100); 00434 } 00435 } 00436 }
| void UnionGroups::updateP | ( | UniversalInterface * | ui | ) |
обновление информации(датчиков) Мощности
Перекрестные ссылки SEESGroup::getP() и P_as.
00173 { 00174 long P = gr->getP(); 00175 00176 // сперва у самой группы сохраняем 00177 try 00178 { 00179 if( P_as != DefaultObjectId ) 00180 { 00181 uin->saveValue(P_as,P,UniversalIO::AnalogInput); 00182 } 00183 } 00184 catch( Exception& ex ) 00185 { 00186 UnionGroups::dlog[Debug::CRIT] << "(updateP): " << ex << endl; 00187 } 00188 00189 for( GroupList::iterator it=glst.begin(); it!=glst.end(); ++it ) 00190 { 00191 if( (*it)->P_as == DefaultObjectId ) 00192 continue; 00193 00194 for( int i=0; i<3; i++ ) 00195 { 00196 try 00197 { 00198 uin->saveValue( (*it)->P_as,P,UniversalIO::AnalogInput); 00199 break; 00200 } 00201 catch( Exception& ex ) 00202 { 00203 UnionGroups::dlog[Debug::CRIT] << "(updateP): " << ex << endl; 00204 } 00205 msleep(100); 00206 } 00207 } 00208 }
| void UnionGroups::updateReadyForLoading | ( | UniversalInterface * | uin | ) |
обновление информаии о "готовности СЭС"
Перекрестные ссылки SEESGroup::isReadyForLoading() и readyForLoading_s.
Используется в update().
00503 { 00504 bool ready = gr->isReadyForLoading(); 00505 00506 // сперва у самой группы сохраняем 00507 try 00508 { 00509 if( readyForLoading_s != DefaultObjectId ) 00510 { 00511 uin->saveState(readyForLoading_s,ready,UniversalIO::DigitalInput); 00512 } 00513 } 00514 catch( Exception& ex ) 00515 { 00516 UnionGroups::dlog[Debug::CRIT] << "(updateReadyForLoading): " << ex << endl; 00517 } 00518 00519 for( GroupList::iterator it=glst.begin(); it!=glst.end(); ++it ) 00520 { 00521 if( (*it)->readyForLoading_s == DefaultObjectId ) 00522 continue; 00523 00524 for( int i=0; i<3; i++ ) 00525 { 00526 try 00527 { 00528 uin->saveState( (*it)->readyForLoading_s,ready,UniversalIO::DigitalInput); 00529 break; 00530 } 00531 catch( Exception& ex ) 00532 { 00533 UnionGroups::dlog[Debug::CRIT] << "(updateReadyForLoading): " << ex << endl; 00534 } 00535 msleep(100); 00536 } 00537 } 00538 }
| void UnionGroups::updateReservPower | ( | UniversalInterface * | ui | ) |
обновление информации(датчиков) "резерв мощности"
Перекрестные ссылки SEESGroup::getReservPower() и ReservPower_as.
00363 { 00364 long Preserv = gr->getReservPower(); 00365 00366 // сперва у самой группы сохраняем 00367 try 00368 { 00369 if( ReservPower_as != DefaultObjectId ) 00370 { 00371 uin->saveValue(ReservPower_as,Preserv,UniversalIO::AnalogInput); 00372 } 00373 } 00374 catch( Exception& ex ) 00375 { 00376 UnionGroups::dlog[Debug::CRIT] << "(updateReservPower): " << ex << endl; 00377 } 00378 00379 for( GroupList::iterator it=glst.begin(); it!=glst.end(); ++it ) 00380 { 00381 if( (*it)->ReservPower_as == DefaultObjectId ) 00382 continue; 00383 00384 for( int i=0; i<3; i++ ) 00385 { 00386 try 00387 { 00388 uin->saveValue((*it)->ReservPower_as,Preserv,UniversalIO::AnalogInput); 00389 break; 00390 } 00391 catch( Exception& ex ) 00392 { 00393 UnionGroups::dlog[Debug::CRIT] << "(updateReservPower): " << ex << endl; 00394 } 00395 msleep(100); 00396 } 00397 } 00398 }
| void UnionGroups::updateU | ( | UniversalInterface * | ui | ) |
обновление информации(датчиков) Напряжения
Перекрестные ссылки SEESGroup::getU() и U_as.
00211 { 00212 long U = gr->getU(); 00213 00214 // сперва у самой группы сохраняем 00215 try 00216 { 00217 if( U_as != DefaultObjectId ) 00218 { 00219 uin->saveValue(U_as,U,UniversalIO::AnalogInput); 00220 } 00221 } 00222 catch( Exception& ex ) 00223 { 00224 UnionGroups::dlog[Debug::CRIT] << "(updateU): " << ex << endl; 00225 } 00226 00227 for( GroupList::iterator it=glst.begin(); it!=glst.end(); ++it ) 00228 { 00229 if( (*it)->U_as == DefaultObjectId ) 00230 continue; 00231 00232 for( int i=0; i<3; i++ ) 00233 { 00234 try 00235 { 00236 uin->saveValue((*it)->U_as,U,UniversalIO::AnalogInput); 00237 break; 00238 } 00239 catch( Exception& ex ) 00240 { 00241 UnionGroups::dlog[Debug::CRIT] << "(updateU): " << ex << endl; 00242 } 00243 msleep(100); 00244 } 00245 } 00246 }
| void UnionGroups::updateUdev | ( | UniversalInterface * | ui | ) |
обновление информации(датчиков) "отклонение напряжения"
Перекрестные ссылки SEESGroup::isUdev() и Udev_c.
00325 { 00326 bool Udev = gr->isUdev(); 00327 00328 // сперва у самой группы сохраняем 00329 try 00330 { 00331 if( Udev_c != DefaultObjectId ) 00332 { 00333 uin->setState(Udev_c,Udev); 00334 } 00335 } 00336 catch( Exception& ex ) 00337 { 00338 UnionGroups::dlog[Debug::CRIT] << "(updateUdev): " << ex << endl; 00339 } 00340 00341 for( GroupList::iterator it=glst.begin(); it!=glst.end(); ++it ) 00342 { 00343 if( (*it)->Udev_c == DefaultObjectId ) 00344 continue; 00345 00346 for( int i=0; i<3; i++ ) 00347 { 00348 try 00349 { 00350 uin->setState((*it)->Udev_c,Udev); 00351 break; 00352 } 00353 catch( Exception& ex ) 00354 { 00355 UnionGroups::dlog[Debug::CRIT] << "(updateUdev): " << ex << endl; 00356 } 00357 msleep(100); 00358 } 00359 } 00360 }
| 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.5.9