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

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

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