Commit ed6bfc9c authored by Pavel Vainerman's avatar Pavel Vainerman

Исправил ошибку: сделал параметр force_disconnect глобальным

parent ec97ede2
...@@ -20,6 +20,7 @@ force_out(false), ...@@ -20,6 +20,7 @@ force_out(false),
mbregFromID(false), mbregFromID(false),
activated(false), activated(false),
noQueryOptimization(false), noQueryOptimization(false),
force_disconnect(false),
allNotRespond(false), allNotRespond(false),
prefix(prefix), prefix(prefix),
no_extimer(false) no_extimer(false)
...@@ -74,6 +75,7 @@ no_extimer(false) ...@@ -74,6 +75,7 @@ no_extimer(false)
force = conf->getArgInt("--" + prefix + "-force",it.getProp("force")); force = conf->getArgInt("--" + prefix + "-force",it.getProp("force"));
force_out = conf->getArgInt("--" + prefix + "-force-out",it.getProp("force_out")); force_out = conf->getArgInt("--" + prefix + "-force-out",it.getProp("force_out"));
force_disconnect = conf->getArgInt("--" + prefix + "-force-disconnect",it.getProp("force_disconnect"));
if( shm->isLocalwork() ) if( shm->isLocalwork() )
{ {
...@@ -161,6 +163,7 @@ void MBTCPMaster::initMB( bool reopen ) ...@@ -161,6 +163,7 @@ void MBTCPMaster::initMB( bool reopen )
ost::InetAddress ia(iaddr.c_str()); ost::InetAddress ia(iaddr.c_str());
mb->connect(ia,port); mb->connect(ia,port);
mb->setForceDisconnect(force_disconnect);
if( recv_timeout > 0 ) if( recv_timeout > 0 )
mb->setTimeout(recv_timeout); mb->setTimeout(recv_timeout);
...@@ -265,8 +268,6 @@ void MBTCPMaster::poll() ...@@ -265,8 +268,6 @@ void MBTCPMaster::poll()
{ {
RTUDevice* d(it1->second); RTUDevice* d(it1->second);
mb->setForceDisconnect(d->force_disconnect);
if( dlog.debugging(Debug::INFO) ) if( dlog.debugging(Debug::INFO) )
dlog[Debug::INFO] << myname << "(poll): ask addr=" << ModbusRTU::addr2str(d->mbaddr) dlog[Debug::INFO] << myname << "(poll): ask addr=" << ModbusRTU::addr2str(d->mbaddr)
<< " regs=" << d->regmap.size() << endl; << " regs=" << d->regmap.size() << endl;
...@@ -1467,10 +1468,8 @@ bool MBTCPMaster::initDeviceInfo( RTUDeviceMap& m, ModbusRTU::ModbusAddr a, UniX ...@@ -1467,10 +1468,8 @@ bool MBTCPMaster::initDeviceInfo( RTUDeviceMap& m, ModbusRTU::ModbusAddr a, UniX
} }
d->second->ask_every_reg = it.getIntProp("ask_every_reg"); d->second->ask_every_reg = it.getIntProp("ask_every_reg");
d->second->force_disconnect = it.getIntProp("force_disconnect");
dlog[Debug::INFO] << myname << "(initDeviceInfo): add addr=" << ModbusRTU::addr2str(a) dlog[Debug::INFO] << myname << "(initDeviceInfo): add addr=" << ModbusRTU::addr2str(a)
<< " force_disconnect=" << d->second->force_disconnect
<< " ask_every_reg=" << d->second->ask_every_reg << endl; << " ask_every_reg=" << d->second->ask_every_reg << endl;
string s(it.getProp("respondSensor")); string s(it.getProp("respondSensor"));
......
...@@ -85,7 +85,9 @@ ...@@ -85,7 +85,9 @@
\b --xxx-force или \b foce [1|0] \b --xxx-force или \b foce [1|0]
- 1 - перечитывать значения входов из SharedMemory на каждом цикле - 1 - перечитывать значения входов из SharedMemory на каждом цикле
- 0 - обновлять значения только по изменению - 0 - обновлять значения только по изменению
\b --xxx-force-disconnect или \b force_disconnect - закрывать соединение после каждого запроса.
\b --xxx-force-out или \b foce_out [1|0] \b --xxx-force-out или \b foce_out [1|0]
- 1 - перечитывать значения выходов из SharedMemory на каждом цикле - 1 - перечитывать значения выходов из SharedMemory на каждом цикле
- 0 - обновлять значения только по изменению - 0 - обновлять значения только по изменению
...@@ -249,8 +251,7 @@ class MBTCPMaster: ...@@ -249,8 +251,7 @@ class MBTCPMaster:
resp_invert(false), resp_invert(false),
resp_real(false), resp_real(false),
resp_init(false), resp_init(false),
ask_every_reg(false), ask_every_reg(false)
force_disconnect(false)
{ {
resp_trTimeout.change(false); resp_trTimeout.change(false);
} }
...@@ -270,7 +271,6 @@ class MBTCPMaster: ...@@ -270,7 +271,6 @@ class MBTCPMaster:
bool resp_real; bool resp_real;
bool resp_init; bool resp_init;
bool ask_every_reg; bool ask_every_reg;
bool force_disconnect;
// return TRUE if state changed // return TRUE if state changed
bool checkRespond(); bool checkRespond();
...@@ -367,6 +367,7 @@ class MBTCPMaster: ...@@ -367,6 +367,7 @@ class MBTCPMaster:
int activateTimeout; int activateTimeout;
bool noQueryOptimization; bool noQueryOptimization;
bool force_disconnect;
bool allNotRespond; bool allNotRespond;
Trigger trAllNotRespond; Trigger trAllNotRespond;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment