Commit 4938dfc7 authored by Pavel Vainerman's avatar Pavel Vainerman

(RTUExchange): исправлена ошибка инициализации скорости обмена для

конкретного устройства.
parent 8d27254b
...@@ -12,7 +12,7 @@ RTUExchange::RTUExchange( UniSetTypes::ObjectId objId, UniSetTypes::ObjectId shm ...@@ -12,7 +12,7 @@ RTUExchange::RTUExchange( UniSetTypes::ObjectId objId, UniSetTypes::ObjectId shm
const std::string prefix_ ): const std::string prefix_ ):
MBExchange(objId,shmId,ic,prefix_), MBExchange(objId,shmId,ic,prefix_),
mbrtu(0), mbrtu(0),
defSpeed(ComPort::ComSpeed0), defSpeed(ComPort::ComSpeed38400),
use485F(false), use485F(false),
transmitCtl(false), transmitCtl(false),
rs_pre_clean(false) rs_pre_clean(false)
...@@ -130,7 +130,7 @@ ModbusClient* RTUExchange::initMB( bool reopen ) ...@@ -130,7 +130,7 @@ ModbusClient* RTUExchange::initMB( bool reopen )
mbrtu->setSleepPause(sleepPause_usec); mbrtu->setSleepPause(sleepPause_usec);
dlog[Debug::INFO] << myname << "(init): dev=" << devname << " speed=" << ComPort::getSpeed(defSpeed) << endl; dlog[Debug::INFO] << myname << "(init): dev=" << devname << " speed=" << ComPort::getSpeed( mbrtu->getSpeed() ) << endl;
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
...@@ -216,7 +216,7 @@ void RTUExchange::poll() ...@@ -216,7 +216,7 @@ void RTUExchange::poll()
s = d->speed; s = d->speed;
mbrtu->setSpeed(d->speed); mbrtu->setSpeed(d->speed);
} }
if( d->dtype == MBExchange::dtRTU188 ) if( d->dtype == MBExchange::dtRTU188 )
{ {
if( !d->rtu ) if( !d->rtu )
...@@ -358,6 +358,8 @@ bool RTUExchange::initDeviceInfo( RTUDeviceMap& m, ModbusRTU::ModbusAddr a, UniX ...@@ -358,6 +358,8 @@ bool RTUExchange::initDeviceInfo( RTUDeviceMap& m, ModbusRTU::ModbusAddr a, UniX
return false; return false;
} }
} }
else
d->second->speed = defSpeed;
return true; return true;
} }
......
...@@ -4,13 +4,13 @@ uniset-start.sh -f ./uniset-rtuexchange --confile test.xml \ ...@@ -4,13 +4,13 @@ uniset-start.sh -f ./uniset-rtuexchange --confile test.xml \
--smemory-id SharedMemory \ --smemory-id SharedMemory \
--rs-dev /dev/cbsideA0 \ --rs-dev /dev/cbsideA0 \
--rs-name RTUExchange \ --rs-name RTUExchange \
--rs-speed 38400 \ --rs-speed 115200 \
--rs-filter-field rs \ --rs-filter-field rs \
--rs-filter-value 2 \ --rs-filter-value 2 \
--dlog-add-levels info,crit,warn,level4,level3 \ --dlog-add-levels info,crit,warn,level4,level3 \
--rs-force 0 \ --rs-force 0 \
--rs-force-out 0 \ --rs-force-out 0 \
--rs-polltime 3000 \ --rs-polltime 500 \
--rs-set-prop-prefix rs_\ --rs-set-prop-prefix rs_\
#,level3 #,level3
......
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