Skip to content

Commit 31bb326

Browse files
committed
Datastore will not return ExceptionResponse. (#2175)
1 parent d43bea3 commit 31bb326

File tree

4 files changed

+6
-19
lines changed

4 files changed

+6
-19
lines changed

pymodbus/bit_read_message.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
# pylint: disable=missing-type-doc
1212
import struct
1313

14-
from pymodbus.pdu import ExceptionResponse, ModbusRequest, ModbusResponse
1514
from pymodbus.pdu import ModbusExceptions as merror
15+
from pymodbus.pdu import ModbusRequest, ModbusResponse
1616
from pymodbus.utilities import pack_bitstring, unpack_bitstring
1717

1818

@@ -172,8 +172,6 @@ async def execute(self, context):
172172
values = await context.async_getValues(
173173
self.function_code, self.address, self.count
174174
)
175-
if isinstance(values, ExceptionResponse):
176-
return values
177175
return ReadCoilsResponse(values)
178176

179177

@@ -242,8 +240,6 @@ async def execute(self, context):
242240
values = await context.async_getValues(
243241
self.function_code, self.address, self.count
244242
)
245-
if isinstance(values, ExceptionResponse):
246-
return values
247243
return ReadDiscreteInputsResponse(values)
248244

249245

pymodbus/bit_write_message.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,6 @@ async def execute(self, context):
9292

9393
await context.async_setValues(self.function_code, self.address, [self.value])
9494
values = await context.async_getValues(self.function_code, self.address, 1)
95-
# if isinstance(values, ExceptionResponse):
96-
# return values
9795
return WriteSingleCoilResponse(self.address, values[0])
9896

9997
def get_response_pdu_size(self):

pymodbus/register_read_message.py

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
# pylint: disable=missing-type-doc
1414
import struct
1515

16-
from pymodbus.pdu import ExceptionResponse, ModbusRequest, ModbusResponse
1716
from pymodbus.pdu import ModbusExceptions as merror
17+
from pymodbus.pdu import ModbusRequest, ModbusResponse
1818

1919

2020
class ReadRegistersRequestBase(ModbusRequest):
@@ -143,7 +143,7 @@ async def execute(self, context):
143143
"""Run a read holding request against a datastore.
144144
145145
:param context: The datastore to request from
146-
:returns: An initialized :py:class:`~pymodbus.register_read_message.ReadHoldingRegistersResponse`, or an :py:class:`~pymodbus.pdu.ExceptionResponse` if an error occurred
146+
:returns: An initialized :py:class:`~pymodbus.register_read_message.ReadHoldingRegistersResponse`
147147
"""
148148
if not (1 <= self.count <= 0x7D):
149149
return self.doException(merror.IllegalValue)
@@ -152,9 +152,6 @@ async def execute(self, context):
152152
values = await context.async_getValues(
153153
self.function_code, self.address, self.count
154154
)
155-
if isinstance(values, ExceptionResponse):
156-
return values
157-
158155
return ReadHoldingRegistersResponse(values)
159156

160157

@@ -206,7 +203,7 @@ async def execute(self, context):
206203
"""Run a read input request against a datastore.
207204
208205
:param context: The datastore to request from
209-
:returns: An initialized :py:class:`~pymodbus.register_read_message.ReadInputRegistersResponse`, or an :py:class:`~pymodbus.pdu.ExceptionResponse` if an error occurred
206+
:returns: An initialized :py:class:`~pymodbus.register_read_message.ReadInputRegistersResponse`
210207
"""
211208
if not (1 <= self.count <= 0x7D):
212209
return self.doException(merror.IllegalValue)
@@ -215,8 +212,6 @@ async def execute(self, context):
215212
values = await context.async_getValues(
216213
self.function_code, self.address, self.count
217214
)
218-
if isinstance(values, ExceptionResponse):
219-
return values
220215
return ReadInputRegistersResponse(values)
221216

222217

@@ -318,7 +313,7 @@ async def execute(self, context):
318313
"""Run a write single register request against a datastore.
319314
320315
:param context: The datastore to request from
321-
:returns: An initialized :py:class:`~pymodbus.register_read_message.ReadWriteMultipleRegistersResponse`, or an :py:class:`~pymodbus.pdu.ExceptionResponse` if an error occurred
316+
:returns: An initialized :py:class:`~pymodbus.register_read_message.ReadWriteMultipleRegistersResponse`
322317
"""
323318
if not (1 <= self.read_count <= 0x07D):
324319
return self.doException(merror.IllegalValue)

pymodbus/register_write_message.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
# pylint: disable=missing-type-doc
1313
import struct
1414

15-
from pymodbus.pdu import ExceptionResponse, ModbusRequest, ModbusResponse
1615
from pymodbus.pdu import ModbusExceptions as merror
16+
from pymodbus.pdu import ModbusRequest, ModbusResponse
1717

1818

1919
class WriteSingleRegisterRequest(ModbusRequest):
@@ -334,8 +334,6 @@ async def execute(self, context):
334334
if not context.validate(self.function_code, self.address, 1):
335335
return self.doException(merror.IllegalAddress)
336336
values = (await context.async_getValues(self.function_code, self.address, 1))[0]
337-
if isinstance(values, ExceptionResponse):
338-
return values
339337
values = (values & self.and_mask) | (self.or_mask & ~self.and_mask)
340338
await context.async_setValues(
341339
self.function_code, self.address, [values]

0 commit comments

Comments
 (0)