UniSet  2.6.0
Классы | Открытые члены | Открытые статические члены | Защищенные члены | Защищенные данные
Класс uniset::MBTCPMultiMaster
Граф наследования:uniset::MBTCPMultiMaster:
Inheritance graph
[см. легенду]
Граф связей класса uniset::MBTCPMultiMaster:
Collaboration graph
[см. легенду]

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

Классы

struct  MBSlaveInfo

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

 MBTCPMultiMaster (uniset::ObjectId objId, uniset::ObjectId shmID, const std::shared_ptr< SharedMemory > &ic=nullptr, const std::string &prefix="mbtcp")
virtual uniset::SimpleInfogetInfo (const char *userparam=0) override

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

static std::shared_ptr
< MBTCPMultiMaster
init_mbmaster (int argc, const char *const *argv, uniset::ObjectId shmID, const std::shared_ptr< SharedMemory > &ic=nullptr, const std::string &prefix="mbtcp")
static void help_print (int argc, const char *const *argv)

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

virtual void sysCommand (const uniset::SystemMessage *sm) override
virtual void initIterators () override
virtual std::shared_ptr
< ModbusClient
initMB (bool reopen=false) override
virtual void sigterm (int signo) override
virtual bool deactivateObject () override
 Деактивиция объекта (переопределяется для необходимых действий перед деактивацией)
void initCheckConnectionParameters ()
void poll_thread ()
void check_thread ()
void final_thread ()

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

uniset::uniset_rwmutex mbMutex
bool force_disconnect
timeout_t checktime

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

Реализация Modbus TCP MultiMaster для обмена с многими ModbusRTU устройствами
через один modbus tcp шлюз, доступный по нескольким ip-адресам.
Чтобы не зависеть от таймаутов TCP соединений, которые могут неопределённо зависать
на создании соединения с недоступным хостом. Обмен вынесен в отдельный поток. При этом в этом же потоке обновляются данные в SM. В свою очередь информация о датчиках связи обновляется в основном потоке (чтобы не зависеть от TCP).

Методы

bool MBTCPMultiMaster::deactivateObject ( ) [override, protected, virtual]

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

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

void MBTCPMultiMaster::help_print ( int  argc,
const char *const *  argv 
) [static]

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

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

std::shared_ptr< MBTCPMultiMaster > MBTCPMultiMaster::init_mbmaster ( int  argc,
const char *const *  argv,
uniset::ObjectId  shmID,
const std::shared_ptr< SharedMemory > &  ic = nullptr,
const std::string &  prefix = "mbtcp" 
) [static]

глобальная функция для инициализации объекта

void MBTCPMultiMaster::sigterm ( int  signo) [override, protected, virtual]

Функция вызываемая при приходе сигнала завершения или прерывания процесса. Переопределив ее можно выполнять специфичные для процесса действия по обработке сигнала. Например переход в безопасное состояние.

Предупреждения:
В обработчике сигналов ЗАПРЕЩЕНО вызывать функции подобные exit(..), abort()!!!!

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