UniSet 2.32.1
Открытые типы | Открытые члены | Открытые статические члены | Защищенные члены | Защищенные данные | Полный список членов класса
Класс uniset::MBExchangeabstract

#include <MBExchange.h>

Граф наследования:uniset::MBExchange:
Inheritance graph
[см. легенду]
Граф связей класса uniset::MBExchange:
Collaboration graph
[см. легенду]

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

enum  Timer { tmExchange }
 

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

 MBExchange (uniset::ObjectId objId, uniset::ObjectId shmID, const std::shared_ptr< SharedMemory > &ic=nullptr, const std::string &prefix="mb")
 
void execute ()
 
std::shared_ptr< LogAgregatorgetLogAggregator ()
 
std::shared_ptr< DebugStreamlog ()
 
virtual uniset::SimpleInfogetInfo (const char *userparam=0) override
 
bool reload (const std::string &confile)
 
- Открытые члены унаследованные от uniset::UniSetObject
 UniSetObject (const std::string &name, const std::string &section)
 
 UniSetObject (uniset::ObjectId id)
 
virtual CORBA::Boolean exist () override
 
virtual uniset::ObjectId getId () override
 
const uniset::ObjectId getId () const
 
std::string getName () const
 
virtual uniset::ObjectType getType () override
 
const std::string getStrType ()
 
virtual uniset::SimpleInfoapiRequest (const char *query) override
 
virtual void push (const uniset::TransportMessage &msg) override
 поместить сообщение в очередь
 
virtual void pushMessage (const char *msg, ::CORBA::Long mtype, const ::uniset::Timespec &tm, const ::uniset::ProducerInfo &pi, ::CORBA::Long priority, ::CORBA::Long consumer) override
 поместить текстовое сообщение в очередь
 
virtual Poco::JSON::Object::Ptr httpGet (const Poco::URI::QueryParameters &p) override
 
uniset::ObjectPtr getRef () const
 
std::shared_ptr< UniSetObjectget_ptr ()
 
virtual timeout_t askTimer (uniset::TimerId timerid, timeout_t timeMS, clock_t ticks=-1, uniset::Message::Priority p=uniset::Message::High) override
 
- Открытые члены унаследованные от uniset::LT_Object
timeout_t checkTimers (UniSetObject *obj)
 
timeout_t getTimeInterval (uniset::TimerId timerid) const
 
timeout_t getTimeLeft (uniset::TimerId timerid) const
 

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

static void help_print (int argc, const char *const *argv)
 
static uint8_t firstBit (uint16_t mask)
 
static uint16_t getBits (uint16_t value, uint16_t mask, uint8_t offset)
 
static uint16_t setBits (uint16_t value, uint16_t set, uint16_t mask, uint8_t offset)
 
static uint16_t forceSetBits (uint16_t value, uint16_t set, uint16_t mask, uint8_t offset)
 

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

virtual void step ()
 
virtual void sysCommand (const uniset::SystemMessage *msg) override
 
virtual void sensorInfo (const uniset::SensorMessage *sm) override
 
virtual void timerInfo (const uniset::TimerMessage *tm) override
 
virtual void askSensors (UniversalIO::UIOCommand cmd)
 
virtual void initOutput ()
 
virtual bool deactivateObject () override
 Деактивация объекта (переопределяется для необходимых действий при завершении работы)
 
virtual bool activateObject () override
 Активизация объекта (переопределяется для необходимых действий после активизации)
 
virtual void initIterators ()
 
virtual void initValues ()
 
virtual bool reconfigure (const std::shared_ptr< uniset::UniXML > &xml, const std::shared_ptr< uniset::MBConfig > &mbconf)
 
virtual Poco::JSON::Object::Ptr httpHelp (const Poco::URI::QueryParameters &p) override
 
virtual Poco::JSON::Object::Ptr httpRequest (const std::string &req, const Poco::URI::QueryParameters &p) override
 
void firstInitRegisters ()
 
bool preInitRead (MBConfig::InitList::iterator &p)
 
bool initSMValue (ModbusRTU::ModbusData *data, int count, MBConfig::RSProperty *p)
 
virtual std::shared_ptr< ModbusClientinitMB (bool reopen=false)=0
 
virtual bool poll ()
 
bool pollRTU (std::shared_ptr< MBConfig::RTUDevice > &dev, MBConfig::RegMap::iterator &it)
 
void updateSM ()
 
void updateRTU (MBConfig::RegMap::iterator &it)
 
void updateMTR (MBConfig::RegMap::iterator &it)
 
void updateRTU188 (MBConfig::RegMap::iterator &it)
 
void updateRSProperty (MBConfig::RSProperty *p, bool write_only=false)
 
virtual void updateRespondSensors ()
 
bool isUpdateSM (bool wrFunc, long devMode) const noexcept
 
bool isPollEnabled (bool wrFunc) const noexcept
 
bool isSafeMode (std::shared_ptr< MBConfig::RTUDevice > &dev) const noexcept
 
bool isProcActive () const
 
void setProcActive (bool st)
 
bool waitSMReady ()
 
bool readItem (const std::shared_ptr< UniXML > &xml, UniXML::iterator &it, xmlNode *sec)
 
bool initItem (UniXML::iterator &it)
 
void initOffsetList ()
 
std::string initPropPrefix (const std::string &def_prop_prefix)
 
- Защищенные члены унаследованные от uniset::UniSetObject
virtual void processingMessage (const uniset::VoidMessage *msg)
 
virtual void onTextMessage (const uniset::TextMessage *tm)
 
VoidMessagePtr receiveMessage ()
 
VoidMessagePtr waitMessage (timeout_t msec=UniSetTimer::WaitUpTime)
 
void termWaiting ()
 
size_t countMessages ()
 
size_t getCountOfLostMessages () const
 
void uterminate ()
 
void thread (bool create)
 
void offThread ()
 
void onThread ()
 
virtual void callback ()
 
void setID (uniset::ObjectId id)
 
void setThreadPriority (Poco::Thread::Priority p)
 
void setMaxSizeOfMessageQueue (size_t s)
 
size_t getMaxSizeOfMessageQueue () const
 
bool isActive () const
 
void setActive (bool set)
 
virtual Poco::JSON::Object::Ptr httpGetMyInfo (Poco::JSON::Object::Ptr root)
 
Poco::JSON::Object::Ptr request_configure (const std::string &req, const Poco::URI::QueryParameters &p)
 
Poco::JSON::Object::Ptr request_configure_get (const std::string &req, const Poco::URI::QueryParameters &p)
 
Poco::JSON::Object::Ptr request_configure_by_name (const std::string &name, const std::string &props)
 
Poco::JSON::Object::Ptr request_params (const std::string &req, const Poco::URI::QueryParameters &p)
 
virtual Poco::JSON::Object::Ptr request_params_get (const std::string &req, const Poco::URI::QueryParameters &p)
 
virtual Poco::JSON::Object::Ptr request_params_set (const std::string &req, const Poco::URI::QueryParameters &p)
 
- Защищенные члены унаследованные от uniset::LT_Object
virtual std::string getTimerName (int id) const
 
TimersList getTimersList () const
 

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

bool allInitOK
 
xmlNode * cnode = { 0 }
 
std::shared_ptr< SMInterfaceshm
 
timeout_t initPause = { 3000 }
 
uniset::uniset_rwmutex mutex_start
 
bool force = { false }
 
bool force_out = { false }
 
PassiveTimer ptHeartBeat
 
uniset::ObjectId sidHeartBeat = { uniset::DefaultObjectId }
 
long maxHeartBeat = { 10 }
 
IOController::IOStateList::iterator itHeartBeat
 
uniset::ObjectId sidTestSMReady = {uniset::DefaultObjectId }
 
uniset::ObjectId sidExchangeMode = { uniset::DefaultObjectId }
 
IOController::IOStateList::iterator itExchangeMode
 
long exchangeMode = { MBConfig::emNone }
 
std::atomic_bool activated = { false }
 
std::atomic_bool canceled = { false }
 
timeout_t activateTimeout = { 20000 }
 
bool notUseExchangeTimer = { false }
 
timeout_t stat_time = { 0 }
 
size_t poll_count = { 0 }
 
PassiveTimer ptStatistic
 
std::string statInfo = { "" }
 
std::shared_ptr< ModbusClientmb
 
PassiveTimer ptReopen
 
Trigger trReopen
 
PassiveTimer ptInitChannel
 
std::shared_ptr< LogAgregatorloga
 
std::shared_ptr< DebugStreammblog
 
std::shared_ptr< LogServerlogserv
 
std::string logserv_host = {""}
 
int logserv_port = {0}
 
const std::shared_ptr< SharedMemoryic
 
VMonitor vmon
 
size_t ncycle = { 0 }
 
std::shared_ptr< uniset::MBConfigmbconf
 
uniset::uniset_rwmutex mutex_conf
 
- Защищенные данные унаследованные от uniset::UniSetObject
std::shared_ptr< UInterfaceui
 
std::string myname
 
std::weak_ptr< UniSetManagermymngr
 
- Защищенные данные унаследованные от uniset::LT_Object
timeout_t sleepTime
 

Дополнительные унаследованные члены

- Защищенные типы унаследованные от uniset::LT_Object
typedef std::deque< TimerInfoTimersList
 

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

Базовый класс для реализация обмена по протоколу Modbus [RTU|TCP].

Методы

◆ activateObject()

bool uniset::MBExchange::activateObject ( )
overrideprotectedvirtual

Активизация объекта (переопределяется для необходимых действий после активизации)

Переопределяет метод предка uniset::UniSetObject.

◆ deactivateObject()

bool uniset::MBExchange::deactivateObject ( )
overrideprotectedvirtual

Деактивация объекта (переопределяется для необходимых действий при завершении работы)

Переопределяет метод предка uniset::UniSetObject.

Переопределяется в uniset::MBTCPMaster и uniset::MBTCPMultiMaster.

◆ getInfo()

uniset::SimpleInfo * uniset::MBExchange::getInfo ( const char * userparam = 0)
overridevirtual

Переопределяет метод предка uniset::UniSetObject.

◆ help_print()

void uniset::MBExchange::help_print ( int argc,
const char *const * argv )
static

глобальная функция для вывода help-а

◆ httpHelp()

Poco::JSON::Object::Ptr uniset::MBExchange::httpHelp ( const Poco::URI::QueryParameters & p)
overrideprotectedvirtual

Переопределяет метод предка uniset::UniSetObject.

◆ httpRequest()

Poco::JSON::Object::Ptr uniset::MBExchange::httpRequest ( const std::string & req,
const Poco::URI::QueryParameters & p )
overrideprotectedvirtual

Переопределяет метод предка uniset::UHttp::IHttpRequest.

◆ sensorInfo()

void uniset::MBExchange::sensorInfo ( const uniset::SensorMessage * sm)
overrideprotectedvirtual

Переопределяет метод предка uniset::UniSetObject.

◆ sysCommand()

void uniset::MBExchange::sysCommand ( const uniset::SystemMessage * msg)
overrideprotectedvirtual

Переопределяет метод предка uniset::UniSetObject.

◆ timerInfo()

void uniset::MBExchange::timerInfo ( const uniset::TimerMessage * tm)
overrideprotectedvirtual

Переопределяет метод предка uniset::UniSetObject.

◆ updateMTR()

void uniset::MBExchange::updateMTR ( MBConfig::RegMap::iterator & it)
protected
Предупреждения
НЕ РЕШЕНО safeval --> float !
НЕ РЕШЕНО safeval --> float !
НЕ РЕШЕНО safeval --> float !

◆ updateRSProperty()

void uniset::MBExchange::updateRSProperty ( MBConfig::RSProperty * p,
bool write_only = false )
protected
Предупреждения
НЕ РЕШЕНО safeval --> float !
НЕ РЕШЕНО safeval --> float !

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

◆ exchangeMode

long uniset::MBExchange::exchangeMode = { MBConfig::emNone }
protected

режим работы см. ExchangeMode

◆ force

bool uniset::MBExchange::force = { false }
protected

флаг означающий, что надо сохранять в SM, даже если значение не менялось

◆ force_out

bool uniset::MBExchange::force_out = { false }
protected

флаг означающий, принудительного чтения выходов

◆ ncycle

size_t uniset::MBExchange::ncycle = { 0 }
protected

текущий номер цикла опроса

◆ ptInitChannel

PassiveTimer uniset::MBExchange::ptInitChannel
protected

задержка не инициализацию связи

◆ ptReopen

PassiveTimer uniset::MBExchange::ptReopen
protected

таймер для переоткрытия соединения

◆ ptStatistic

PassiveTimer uniset::MBExchange::ptStatistic
protected

таймер для сбора статистики обмена

◆ sidExchangeMode

uniset::ObjectId uniset::MBExchange::sidExchangeMode = { uniset::DefaultObjectId }
protected

идентификатор для датчика режима работы

◆ stat_time

timeout_t uniset::MBExchange::stat_time = { 0 }
protected

время сбора статистики обмена, 0 - отключена