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

#include <MBTCPMaster.h>

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

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

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

 MBTCPMaster (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
< MBTCPMaster
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 std::shared_ptr
< ModbusClient
initMB (bool reopen=false) override
virtual void sigterm (int signo) override
void poll_thread ()
void final_thread ()

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

UniSetTypes::uniset_rwmutex mbMutex
std::string iaddr
int port
bool force_disconnect

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

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

Методы

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

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

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

std::shared_ptr< MBTCPMaster > MBTCPMaster::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 MBTCPMaster::sigterm ( int  signo) [override, protected, virtual]

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

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

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


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