Commit 05fa7898 authored by Pavel Vainerman's avatar Pavel Vainerman

(ModbusSlave): добавил логов побольше

parent 2a9f1eb1
......@@ -13,7 +13,7 @@
Name: libuniset2
Version: 2.1
Release: alt20
Release: alt21
Summary: UniSet - library for building distributed industrial control systems
......@@ -456,6 +456,9 @@ mv -f %buildroot%python_sitelibdir_noarch/* %buildroot%python_sitelibdir/%oname
# ..
%changelog
* Sat Sep 05 2015 Pavel Vainerman <pv@altlinux.ru> 2.1-alt21
- (modbus slave): add more logs..
* Sat Aug 29 2015 Pavel Vainerman <pv@altlinux.ru> 2.1-alt20
- (ModbusSession): add setKeepAliveParams()
......
......@@ -1906,36 +1906,39 @@ ModbusRTU::mbErrCode MBSlave::real_read_prop( IOProperty* p, ModbusRTU::ModbusDa
else
return ModbusRTU::erBadDataAddress;
mbinfo << myname << "(real_read_prop): read OK. sid=" << p->si.id << " val=" << val << endl;
pingOK = true;
return ModbusRTU::erNoError;
}
catch( UniSetTypes::NameNotFound& ex )
{
mbwarn << myname << "(real_read_it): " << ex << endl;
mbwarn << myname << "(real_read_prop): " << ex << endl;
return ModbusRTU::erBadDataAddress;
}
catch( UniSetTypes::OutOfRange& ex )
{
mbwarn << myname << "(real_read_it): " << ex << endl;
mbwarn << myname << "(real_read_prop): " << ex << endl;
return ModbusRTU::erBadDataValue;
}
catch( const Exception& ex )
{
if( pingOK )
mbcrit << myname << "(real_read_it): " << ex << endl;
mbcrit << myname << "(real_read_prop): " << ex << endl;
}
catch( const CORBA::SystemException& ex )
{
if( pingOK )
mbcrit << myname << "(real_read_it): CORBA::SystemException: "
mbcrit << myname << "(real_read_prop): CORBA::SystemException: "
<< ex.NP_minorString() << endl;
}
catch(...)
{
if( pingOK )
mbcrit << myname << "(real_read_it) catch ..." << endl;
mbcrit << myname << "(real_read_prop) catch ..." << endl;
}
mbwarn << myname << "(real_read_prop): read sid=" << p->si.id << " FAILED!!" << endl;
pingOK = false;
return ModbusRTU::erTimeOut;
}
......@@ -2249,6 +2252,8 @@ UniSetTypes::SimpleInfo* MBSlave::getInfo()
inf << i->info << endl;
inf << vmon.pretty_str() << endl;
inf << "LogServer: " << logserv_host << ":" << logserv_port << endl;
inf << " iomap=" << iomap.size() << endl;
inf << "Statistic: askCount=" << askCount << " pingOK=" << pingOK << endl;
i->info = inf.str().c_str();
return i._retn();
......
......@@ -499,7 +499,7 @@ int UniSetTypes::uni_atoi( const char* str )
// чтобы корректно обрабатывать большие числа типа std::numeric_limits<unsigned int>::max()
// \warning есть сомнения, что на 64bit-тах это будет корректно работать..
int n = 0;
unsigned int n = 0;
if( strlen(str) > 2 )
{
......@@ -511,7 +511,7 @@ int UniSetTypes::uni_atoi( const char* str )
}
n = std::atoll(str); // универсальнее получать unsigned..чтобы не потерять "большие числа"..
return n;
return n; // а возвращаем int..
}
//--------------------------------------------------------------------------------------------
char* UniSetTypes::uni_strdup( const string& src )
......
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