mirror of
https://github.com/JoelBender/modpypes
synced 2025-10-19 22:08:20 +08:00
pass along the register count for reading input registers and decode the results like holding registers
This commit is contained in:
parent
a413d5f5c9
commit
901471c9fc
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
__author__ = 'Joel Bender'
|
||||
__email__ = 'joel@carrickbender.com'
|
||||
__version__ = '0.2.6'
|
||||
__version__ = '0.2.7'
|
||||
|
||||
from . import pdu
|
||||
from . import app
|
||||
|
|
|
|||
|
|
@ -115,10 +115,10 @@ class ConsoleClient(ConsoleCmd):
|
|||
req = ReadCoilsRequest(register - 1, rcount)
|
||||
elif registerType == 1:
|
||||
# discrete inputs
|
||||
req = ReadDiscreteInputsRequest(register - 1, 1)
|
||||
req = ReadDiscreteInputsRequest(register - 1, rcount)
|
||||
elif registerType == 3:
|
||||
# input register
|
||||
req = ReadInputRegistersRequest(register - 1, 1)
|
||||
req = ReadInputRegistersRequest(register - 1, rcount)
|
||||
elif registerType == 4:
|
||||
# holding register
|
||||
req = ReadMultipleRegistersRequest(register - 1, rcount)
|
||||
|
|
@ -163,6 +163,13 @@ class ConsoleClient(ConsoleCmd):
|
|||
elif isinstance(resp, ReadInputRegistersResponse):
|
||||
print(" ::= " + str(resp.registers))
|
||||
|
||||
for dtype, codec in ModbusStruct.items():
|
||||
try:
|
||||
value = codec.unpack(resp.registers)
|
||||
print(" " + dtype + " ::= " + str(value))
|
||||
except Exception as err:
|
||||
if _debug: ConsoleClient._debug("unpack exception %r: %r", codec, err)
|
||||
|
||||
elif isinstance(resp, ReadMultipleRegistersResponse):
|
||||
print(" ::= " + str(resp.registers))
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user