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

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

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

 MBTCPMaster (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
< MBTCPMaster
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 std::shared_ptr
< ModbusClient
initMB (bool reopen=false) override
virtual void sigterm (int signo) override
virtual bool deactivateObject () override
 Деактивиция объекта (переопределяется для необходимых действий перед деактивацией)
void poll_thread ()
void final_thread ()

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

std::string iaddr
int port
bool force_disconnect

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

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

Методы

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

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

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

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

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

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

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

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

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

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