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

#include <MBTCPMultiMaster.h>

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

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

Классы

struct  MBSlaveInfo

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

 MBTCPMultiMaster (UniSetTypes::ObjectId objId, UniSetTypes::ObjectId shmID, SharedMemory *ic=0, const std::string prefix="mbtcp")
 MBTCPMultiMaster (UniSetTypes::ObjectId objId, UniSetTypes::ObjectId shmID, SharedMemory *ic=0, const std::string prefix="mbtcp")

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

static MBTCPMultiMasterinit_mbmaster (int argc, const char *const *argv, UniSetTypes::ObjectId shmID, SharedMemory *ic=0, const std::string prefix="mbtcp")
static void help_print (int argc, const char *const *argv)
static MBTCPMultiMasterinit_mbmaster (int argc, const char *const *argv, UniSetTypes::ObjectId shmID, SharedMemory *ic=0, const std::string prefix="mbtcp")
static void help_print (int argc, const char *const *argv)

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

virtual void sysCommand (UniSetTypes::SystemMessage *sm)
virtual void initIterators ()
virtual ModbusClientinitMB (bool reopen=false)
void poll_thread ()
void check_thread ()
virtual void sysCommand (UniSetTypes::SystemMessage *sm)
virtual void initIterators ()
virtual ModbusClientinitMB (bool reopen=false)
void poll_thread ()
void check_thread ()

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

UniSetTypes::uniset_mutex mbMutex
int recv_timeout
bool force_disconnect
int checktime

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

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

Методы

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

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

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

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

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

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

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

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

Перекрестные ссылки UniSetTypes::conf, UniSetTypes::DefaultObjectId и UniSetTypes::Configuration::getArgParam().

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

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


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