Skip to content

Commit f2599e1

Browse files
committed
fix: Update ModbusMultiServer to initialize global unit map and address space for new device IDs
1 parent 19ecce3 commit f2599e1

4 files changed

Lines changed: 15 additions & 6 deletions

File tree

src/modbusmultiserver.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,11 @@ void ModbusMultiServer::addUnitMap(int id, quint8 deviceId, QModbusDataUnit::Reg
120120
return;
121121
}
122122

123+
if(!_modbusDataUnitMaps.contains(deviceId)) {
124+
_modbusDataUnitMaps[deviceId].setGlobalMap(_definitions.UseGlobalUnitMap);
125+
_modbusDataUnitMaps[deviceId].setAddressSpace(_definitions.AddrSpace);
126+
}
127+
123128
_modbusDataUnitMaps[deviceId].addUnitMap(id, pointType, pointAddress, length);
124129
reconfigureServers();
125130
}
@@ -356,6 +361,10 @@ void ModbusMultiServer::setModbusDefinitions(const ModbusDefinitions& defs)
356361

357362
_definitions = defs;
358363

364+
for(auto& map : _modbusDataUnitMaps) {
365+
map.setGlobalMap(defs.UseGlobalUnitMap);
366+
}
367+
359368
for(auto&& s : _modbusServerList) {
360369
s->setDefinitions(defs);
361370
}

src/translations/omodsim_ru.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2723,12 +2723,12 @@ Script.onInit(()=>{
27232723
<context>
27242724
<name>ModbusMultiServer</name>
27252725
<message>
2726-
<location filename="../modbusmultiserver.cpp" line="470"/>
2726+
<location filename="../modbusmultiserver.cpp" line="479"/>
27272727
<source>An incorrect device id was specified (%1)</source>
27282728
<translation>Некорректно знаяение номера устройства (%1)</translation>
27292729
</message>
27302730
<message>
2731-
<location filename="../modbusmultiserver.cpp" line="983"/>
2731+
<location filename="../modbusmultiserver.cpp" line="992"/>
27322732
<source>Connection error. %1</source>
27332733
<translation>Ошибка подключения. %1</translation>
27342734
</message>

src/translations/omodsim_zh_CN.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2729,12 +2729,12 @@ Script.onInit(()=&gt;{
27292729
<context>
27302730
<name>ModbusMultiServer</name>
27312731
<message>
2732-
<location filename="../modbusmultiserver.cpp" line="470"/>
2732+
<location filename="../modbusmultiserver.cpp" line="479"/>
27332733
<source>An incorrect device id was specified (%1)</source>
27342734
<translation>指定了错误的设备地址(%1)</translation>
27352735
</message>
27362736
<message>
2737-
<location filename="../modbusmultiserver.cpp" line="983"/>
2737+
<location filename="../modbusmultiserver.cpp" line="992"/>
27382738
<source>Connection error. %1</source>
27392739
<translation>连接错误 %1</translation>
27402740
</message>

src/translations/omodsim_zh_TW.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2729,12 +2729,12 @@ Script.onInit(()=&gt;{
27292729
<context>
27302730
<name>ModbusMultiServer</name>
27312731
<message>
2732-
<location filename="../modbusmultiserver.cpp" line="470"/>
2732+
<location filename="../modbusmultiserver.cpp" line="479"/>
27332733
<source>An incorrect device id was specified (%1)</source>
27342734
<translation>指定了錯誤的裝置地址(%1)</translation>
27352735
</message>
27362736
<message>
2737-
<location filename="../modbusmultiserver.cpp" line="983"/>
2737+
<location filename="../modbusmultiserver.cpp" line="992"/>
27382738
<source>Connection error. %1</source>
27392739
<translation>連線錯誤 %1</translation>
27402740
</message>

0 commit comments

Comments
 (0)