UniSet  2.2.1
Классы | Открытые члены | Открытые статические члены | Защищенные члены | Защищенные данные
Класс MBTCPMultiMaster

#include <MBTCPMultiMaster.h>

Граф наследования:MBTCPMultiMaster:
MBExchange UniSetObject LT_Object

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

Классы

struct  MBSlaveInfo

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

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

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

static std::shared_ptr
< MBTCPMultiMaster
init_mbmaster (int argc, const char *const *argv, UniSetTypes::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 UniSetTypes::SystemMessage *sm) override
virtual void initIterators () override
virtual std::shared_ptr
< ModbusClient
initMB (bool reopen=false) override
virtual void sigterm (int signo) override
void poll_thread ()
void check_thread ()
void final_thread ()

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

UniSetTypes::uniset_rwmutex mbMutex
bool force_disconnect
int checktime

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

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

Методы

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

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

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

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

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

Перекрестные ссылки UniSetTypes::DefaultObjectId и UniSetTypes::uniset_conf().

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

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

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

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


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