mirror of
https://github.com/JoelBender/modpypes
synced 2025-10-26 21:49:19 +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'
|
__author__ = 'Joel Bender'
|
||||||
__email__ = 'joel@carrickbender.com'
|
__email__ = 'joel@carrickbender.com'
|
||||||
__version__ = '0.2.6'
|
__version__ = '0.2.7'
|
||||||
|
|
||||||
from . import pdu
|
from . import pdu
|
||||||
from . import app
|
from . import app
|
||||||
|
|
|
||||||
|
|
@ -115,10 +115,10 @@ class ConsoleClient(ConsoleCmd):
|
||||||
req = ReadCoilsRequest(register - 1, rcount)
|
req = ReadCoilsRequest(register - 1, rcount)
|
||||||
elif registerType == 1:
|
elif registerType == 1:
|
||||||
# discrete inputs
|
# discrete inputs
|
||||||
req = ReadDiscreteInputsRequest(register - 1, 1)
|
req = ReadDiscreteInputsRequest(register - 1, rcount)
|
||||||
elif registerType == 3:
|
elif registerType == 3:
|
||||||
# input register
|
# input register
|
||||||
req = ReadInputRegistersRequest(register - 1, 1)
|
req = ReadInputRegistersRequest(register - 1, rcount)
|
||||||
elif registerType == 4:
|
elif registerType == 4:
|
||||||
# holding register
|
# holding register
|
||||||
req = ReadMultipleRegistersRequest(register - 1, rcount)
|
req = ReadMultipleRegistersRequest(register - 1, rcount)
|
||||||
|
|
@ -163,6 +163,13 @@ class ConsoleClient(ConsoleCmd):
|
||||||
elif isinstance(resp, ReadInputRegistersResponse):
|
elif isinstance(resp, ReadInputRegistersResponse):
|
||||||
print(" ::= " + str(resp.registers))
|
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):
|
elif isinstance(resp, ReadMultipleRegistersResponse):
|
||||||
print(" ::= " + str(resp.registers))
|
print(" ::= " + str(resp.registers))
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user