268 class MBTCPMultiMaster:
274 const std::string& prefix =
"mbtcp" );
275 virtual ~MBTCPMultiMaster();
278 static std::shared_ptr<MBTCPMultiMaster>
init_mbmaster(
int argc,
const char*
const* argv,
280 const std::string& prefix =
"mbtcp" );
282 static void help_print(
int argc,
const char*
const* argv );
288 virtual void initIterators()
override;
289 virtual std::shared_ptr<ModbusClient> initMB(
bool reopen =
false )
override;
291 virtual bool reconfigure(
const std::shared_ptr<uniset::UniXML>& xml,
const std::shared_ptr<uniset::MBConfig>& mbconf )
override;
292 void initCheckConnectionParameters();
293 void initGateList( uniset::UniXML::iterator it,
const std::shared_ptr<uniset::MBConfig>& mbconf );
300 bool force_disconnect;
302 timeout_t defaultIgnoreTimeout;
303 timeout_t channelTimeout;
310 MBSlaveInfo(): ip(
""), port(0), mbtcp(0), priority(0),
312 recv_timeout(200), aftersend_pause(0), sleepPause_usec(100),
313 force_disconnect(
true),
314 myname(
""), use(
false), initOK(
false), ignore(
false) {}
318 std::shared_ptr<ModbusTCPMaster> mbtcp;
322 ModbusRTU::SlaveFunctionCode checkFunc = { ModbusRTU::fnUnknown };
323 ModbusRTU::ModbusAddr checkAddr = { 0x00 };
324 ModbusRTU::ModbusData checkReg = { 0 };
328 IOController::IOStateList::iterator respond_it;
330 bool respond_init = {
false };
331 bool respond_force = {
false };
333 timeout_t channel_timeout = { 0 };
335 inline bool operator < (
const MBSlaveInfo& mbs )
const noexcept
337 return priority < mbs.priority;
340 bool init( std::shared_ptr<DebugStream>& mblog );
342 void setUse(
bool st );
344 timeout_t recv_timeout;
345 timeout_t aftersend_pause;
346 timeout_t sleepPause_usec;
347 bool force_disconnect;
351 bool use = {
false };
352 bool initOK = {
false };
353 bool ignore = {
false };
356 const std::string getShortInfo()
const;
361 typedef std::list<std::shared_ptr<MBSlaveInfo>> MBGateList;
364 MBGateList::reverse_iterator mbi;
368 std::unique_ptr< ThreadCreator<MBTCPMultiMaster> > pollThread;
369 std::unique_ptr< ThreadCreator<MBTCPMultiMaster> > checkThread;
virtual bool deactivateObject() override
Деактивация объекта (переопределяется для необходимых действий при завершении работы).
Определения MBTCPMultiMaster.cc:575
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")
Определения MBTCPMultiMaster.cc:699