Modbus — The Modbus Testing Framework

htf includes a full-stack Modbus implementation since version 1.3 with the following features:

  • Serial RTU, Serial ASCII, TCP, TLS and UDP support

  • client support

  • device simulator support

  • default Modbus protocol

  • extended Modbus protocol

  • supported endianness: little endian, big endian, word aligned and half-word aligned

  • protocol abstraction is based on oser

  • working with data oser structures instead of bits and bytes

  • fault insertion

  • possibility to extend client and device simulator with own commands

The Modbus implementation is capable of testing Modbus clients and servers.

Examples

Simulating a Modbus-Device

import htf
from htf.modbus import ModbusTCPDevice, ModbusTCPClient


ADDRESS = 'localhost'
PORT = 10502  # must be able to run for non-root users


@htf.fixture(scope='class', name='device')
def create_device_simulator():
    device = ModbusTCPDevice(ADDRESS, port=PORT)
    yield device
    device.close()


@htf.fixture(scope='test', name='client')
def create_client():
    client = ModbusTCPClient(ADDRESS,
                             port=PORT,
                             references_start_at_one=False,
                             auto_disconnect=False,
                             debuglevel=0)  # set debuglevel to 1 or 2
    yield client
    client.close()


class ModbusTCPTests:
    """
    This tests shows how to simulate a modbus device and how to use the client to
    query it via TCP/IP.
    """

    def test_holding_registers(self, device, client, assertions):
        registers = client.read_multiple_holding_registers(0, 8)
        assertions.assert_equal(registers, [0] * 8)

        for address in range(10):
            client.write_multiple_holding_registers(address, [0, 1, 0, 1, 1, 0, 1, 0])
            registers = client.read_multiple_holding_registers(address, 8)
            assertions.assert_equal(registers, [0, 1, 0, 1, 1, 0, 1, 0])

            device.write_multiple_holding_registers(address, [1, 1, 0, 0, 1, 0, 1, 0])
            registers = client.read_multiple_holding_registers(address, 8)
            assertions.assert_equal(registers, [1, 1, 0, 0, 1, 0, 1, 0])

    def test_input_registers(self, device, client, assertions):
        device.write_multiple_input_registers(0, list(range(10)))

        registers = client.read_multiple_input_registers(0, 10)
        assertions.assert_equal(registers, list(range(10)))

        registers = device.read_multiple_input_registers(0, 10)
        assertions.assert_equal(registers, list(range(10)))

        device.write_multiple_input_registers(10, list(range(20, 31)))

        registers = client.read_multiple_input_registers(5, 15)
        assertions.assert_equal(registers, list(range(5, 10)) + list(range(20, 30)))

        for i in range(10):
            r = client.read_input_register(i)
            assertions.assert_equal(r, i)

            r = device.read_input_register(i)
            assertions.assert_equal(r, i)

        for i in range(10, 20):
            r = client.read_input_register(i)
            assertions.assert_equal(r, i+10)

            r = device.read_input_register(i)
            assertions.assert_equal(r, i + 10)

        device.write_input_register(2323, 1)
        r = client.read_input_register(2323)
        assertions.assert_equal(r, 1)


if __name__ == '__main__':
    htf.main()

Special Modbus Data Structures

import htf
import oser
from datetime import datetime
from htf.modbus import ModbusTCPDevice, ModbusTCPClient


ADDRESS = 'localhost'
PORT = 10502  # must be able to run for non-root users


class DateTime(oser.ByteStruct):
    def __init__(self, value=None):
        """
        ``DateTime`` data type.

        Args:
            value (datetime): a datetime instance to be used
        """
        super(DateTime, self).__init__()

        self.year = oser.UBInt16()
        self.month = oser.UBInt8()
        self.day = oser.UBInt8()

        self.hour = oser.UBInt8()
        self.minute = oser.UBInt8()
        self.second = oser.UBInt8()

        if value is not None:
            self.set(value)

    def set(self, value):
        """
        Set values from a ``datetime`` instance.

        Args:
            value (datetime): a ``datetime`` instance to be used
        """
        if not isinstance(value, datetime):
            raise ValueError("value must be of type datetime")

        self.year.set(value.year)
        self.month.set(value.month)
        self.day.set(value.day)

        self.hour.set(value.hour)
        self.minute.set(value.minute)
        self.second.set(value.second)

    def get(self):
        """
        Get values as datetime.

        Returns:
            datetime: an instance of ``datetime`` containing the current values
        """
        return datetime(year=self.year.get(), month=self.month.get(), day=self.day.get(),
                        hour=self.hour.get(), minute=self.minute.get(), second=self.second.get())


@htf.fixture(scope='class', name='device')
def create_device_simulator():
    device = ModbusTCPDevice(ADDRESS, port=PORT)
    yield device
    device.close()


@htf.fixture(scope='test', name='client')
def create_client():
    client = ModbusTCPClient(ADDRESS,
                             port=PORT,
                             references_start_at_one=False,
                             auto_disconnect=False,
                             debuglevel=0)  # set debuglevel to 1 or 2
    yield client
    client.close()


class ModbusDataStructureTests:
    """
    This test shows how to read and write own data structures using Modbus.
    """

    def test_datetime_data_structure(self, device, client, assertions):
        """
        A DateTime data type can be read from input registers at address 23.
        """
        now = datetime.now()
        device.write_input_register_data(23, DateTime(now))

        current_date_struct = client.read_input_register_data(23, DateTime)

        assertions.assert_equal(current_date_struct.year, now.year)
        assertions.assert_equal(current_date_struct.month, now.month)
        assertions.assert_equal(current_date_struct.day, now.day)

        assertions.assert_equal(current_date_struct.hour, now.hour)
        assertions.assert_equal(current_date_struct.minute, now.minute)
        assertions.assert_equal(current_date_struct.second, now.second)

        print("device date time is:", current_date_struct.get())


if __name__ == '__main__':
    htf.main()

Interfaces

Interfaces are used to implement communication. The user may add other interfaces if needed.

Serial RTU Client Interface

class htf.modbus.ModbusSerialRTUClientInterface(com_port: str | None = None, baud: int = 9600, bytesize: int = 8, parity: str = 'E', stopbits: int = 1, rtscts: bool = False, timeout: int | float = 1.0, response_parser: ByteStruct | BitStruct | ByteType | BitType = <class 'htf.modbus.protocol.SerialRTUModbusResponse'>)
Parameters:
  • com_port – the com port to be used

  • baud – the baud rate

  • bytesize – number of bits in a byte

  • parity – serial.PARITY_NONE, serial.PARITY_ODD or serial.PARITY_EVEN

  • stopbits – number of stopbits (1, 1.5 or 2)

  • rtscts – if True use flow control

  • timeout – the timeout in seconds

  • response_parser – the parser to parse responses

close() None

Close serial port.

read() Tuple[bytes, None]

Read Modbus serial RTU responses from server.

Returns:

a tuple containing buffer, None

write(adu: SerialRTUModbusRequest) None

Write adu.

Parameters:

adu – serializable RTU adu

Serial RTU Server Interface

class htf.modbus.ModbusSerialRTUServerInterface(com_port: str | None = None, baud: int = 9600, bytesize: int = 8, parity: str = 'E', stopbits: int = 1, rtscts: bool = False, timeout: int | float = 1.0, response_parser: ByteStruct | BitStruct | ByteType | BitType = <class 'htf.modbus.protocol.SerialRTUModbusRequest'>)
Parameters:
  • com_port – the com port to be used

  • baud – the baud rate

  • bytesize – number of bits in a byte

  • parity – serial.PARITY_NONE, serial.PARITY_ODD or serial.PARITY_EVEN

  • stopbits – number of stopbits (1, 1.5 or 2)

  • rtscts – if True use flow control

  • timeout – the timeout in seconds

  • response_parser – the parser to parse responses

close() None

Close serial port.

read() Tuple[bytes, None]

Read Modbus serial RTU requests from client.

Returns:

a tuple containing buffer, None

write(adu: SerialRTUModbusRequest) None

Write adu.

Parameters:

adu – serializable RTU adu

Serial ASCII Client Interface

class htf.modbus.ModbusSerialASCIIClientInterface(com_port: str | None = None, baud: int = 9600, bytesize: int = 8, parity: str = 'E', stopbits: int = 1, rtscts: bool = False, timeout: int | float = 1.0, response_parser: ByteStruct | BitStruct | ByteType | BitType = <class 'htf.modbus.protocol.SerialASCIIModbusResponse'>)
Parameters:
  • com_port – the com port to be used

  • baud – the baud rate

  • bytesize – number of bits in a byte

  • parity – serial.PARITY_NONE, serial.PARITY_ODD or serial.PARITY_EVEN

  • stopbits – number of stopbits (1, 1.5 or 2)

  • rtscts – if True use flow control

  • timeout – the timeout in seconds

  • response_parser – the parser to parse responses

change_ascii_delimiter(delimiter: bytes) None

Change LF character to delimiter.

Parameters:

delimiter – bytes of length 1 containing the new ASCII delimiter

close() None

Close serial port.

read() Tuple[bytes, None]

Read Modbus serial ASCII responses from server. Read until line feed character.

Returns:

a tuple containing buffer, None

write(adu: SerialASCIIModbusRequest) None

Write adu.

Parameters:

adu – serializable RTU adu

Serial ASCII Server Interface

class htf.modbus.ModbusSerialASCIIServerInterface(com_port: str | None = None, baud: int = 9600, bytesize: int = 8, parity: str = 'E', stopbits: int = 1, rtscts: bool = False, timeout: int | float = 1.0, response_parser: ByteStruct | BitStruct | ByteType | BitType = <class 'htf.modbus.protocol.SerialASCIIModbusRequest'>)
Parameters:
  • com_port – the com port to be used

  • baud – the baud rate

  • bytesize – number of bits in a byte

  • parity – serial.PARITY_NONE, serial.PARITY_ODD or serial.PARITY_EVEN

  • stopbits – number of stopbits (1, 1.5 or 2)

  • rtscts – if True use flow control

  • timeout – the timeout in seconds

  • response_parser – the parser to parse responses

change_ascii_delimiter(delimiter: bytes) None

Change LF character to delimiter.

Parameters:

delimiter – bytes of length 1 containing the new ASCII delimiter

close() None

Close serial port.

read() Tuple[bytes, None]

Read serial ASCII Modbus requests from client.

Returns:

a tuple containing buffer, None

write(adu: SerialASCIIModbusRequest) None

Write adu.

Parameters:

adu – serializable RTU adu

TCP Client Interface

class htf.modbus.ModbusTCPClientInterface(address: str, port: int = 502, timeout: int | float = 1.0, connect: bool = True)
Parameters:
  • address – the ip-address to connect to

  • port – the port

  • timeout – the timeout in seconds

  • connect – if set to True the socket connects automatically

close() None

Close TCP connection.

open() None

Open a socket.

read() Tuple[bytes | None, None]

Read a TCP request from TCP server.

Returns:

a tuple containing buffer, None

reconnect() None

Close socket and create a new one.

write(adu: TCPModbusRequest) None

Write adu.

Parameters:

adu – serializable TCP adu

TCP Server Interface

class htf.modbus.ModbusTCPServerInterface(address: str, port: int = 502, timeout: int | float = 1.0)
Parameters:
  • address – the ip-address to listen on

  • port – the port to listen on

  • timeout – the timeout in seconds

accept() Tuple[socket, Any]

Accept a new connection.

Returns:

a tuple containing connection, address

close() None

Close TCP socket.

close_connection(connection: socket) None

Close TCP connection.

read(connection: socket) bytes

Read a TCP request from TLS client.

Returns:

a tuple containing buffer, None

write(connection: socket, adu: TCPModbusRequest) None

Write adu.

Parameters:

adu – serializable TCP adu

UDP Client Interface

class htf.modbus.ModbusUDPClientInterface(address: str, port: int = 502, timeout: int | float = 1.0)
Parameters:
  • address – the ip-address to connect to

  • port – the port

  • timeout – the timeout in seconds

close() None

Close TCP connection.

open() None

Open a socket.

read() Tuple[bytes | None, None]

Read a TLS request from TLS server.

Returns:

a tuple containing buffer, None

reconnect() None

Close socket and create a new one.

write(adu: TCPModbusRequest) None

Write adu.

Parameters:

adu – serializable TCP adu

UDP Server Interface

class htf.modbus.ModbusUDPServerInterface(address: str, port: int = 502, timeout: Tuple[int, float] | None = None)
Parameters:
  • address – the ip-address to listen on

  • port – the port to listen on

  • timeout=None – the timeout in seconds

close() None

Close UDP socket.

read(bufsize: int = 300) Tuple[bytes, Any]

Read a request from an UDP client.

Parameters:

bufsize – buffer size

Returns:

the received request

write(address: str, adu: TCPModbusRequest) None

Write adu.

Parameters:
  • address – the target ip-address

  • adu – serializable TCP adu

TLS Client Interface

class htf.modbus.ModbusTLSClientInterface(address: str, port: int = 502, timeout: int | float = 1.0, verify: bool = True, connect: bool = True, cafile: str | None = None, capath: str | None = None, cadata: str | None = None)
Parameters:
  • address – the ip-address to connect to

  • port – the port

  • timeout – the timeout in seconds

  • verify – set to False to disable TLS certificate verification

  • connect – if set to True the socket connects automatically

  • cafile – path to a file of concatenated CA certificates in PEM format

  • capath – path to a directory containing several CA certificates in PEM format

  • cadata – either an ASCII string of one or more PEM-encoded certificates or a bytes-like object of DER-encoded certificates

close() None

Close TCP connection.

open() None

Open a socket.

read() Tuple[bytes | None, None]

Read a TCP request from TCP server.

Returns:

a tuple containing buffer, None

reconnect() None

Close socket and create a new one.

write(adu: TCPModbusRequest) None

Write adu.

Parameters:

adu – serializable TCP adu

TLS Server Interface

class htf.modbus.ModbusTLSServerInterface(address: str, port: int = 502, timeout: int | float = 1.0, certfile: str | None = None, keyfile: str | None = None, password: str | None = None)
Parameters:
  • address – the ip-address to listen on

  • port – the port to listen on

  • timeout – the timeout in seconds

  • certfile – path to TLS certificate

  • keyfile – path to TLS keyfile

  • password – TLS password

accept() Tuple[socket, Any]

Accept a new connection.

Returns:

a tuple containing connection, address

close() None

Close TLS socket.

close_connection(connection: socket) None

Close TCP connection.

read(connection: socket) bytes

Read a TCP request from TLS client.

Returns:

a tuple containing buffer, None

write(connection: socket, adu: TCPModbusRequest) None

Write adu.

Parameters:

adu – serializable TCP adu

Clients

Clients are used to query Modbus devices. Users can add own clients using own interfaces.

Base Client

class htf.modbus.ModbusBaseClient(interface: ModbusBaseInterface, request_parser: Type[SerialRTUModbusRequest] | Type[SerialASCIIModbusRequest] | Type[TCPModbusRequest], response_parser: Type[SerialRTUModbusResponse] | Type[SerialASCIIModbusResponse] | Type[TCPModbusResponse], retries: int | None = None, references_start_at_one: bool = True, debuglevel: int | None = None)
Parameters:
  • interface – an interface to be used for communication

  • request_parser – a parser for requests

  • response_parser – a parser for responses

  • retries=None – the number of retries until an exception is raised

  • references_start_at_one=True – if set to True all references start at 1 else 0

  • debuglevel – the debuglevel (None disables debug, 1 prints requests and responses and 2 prints introspection)

build_request() SerialRTUModbusRequest | SerialASCIIModbusRequest | TCPModbusRequest

Build and return an instance of the desired request parser.

Returns:

request parser

build_response() SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Build and return an instance of the desired response parser.

Returns:

response parser

close() None

Close the interface.

get_device_identification() Dict[int, bytes]

Query and return the device identification using Modbus function code 43.14.

Returns:

containing key values pairs with the device identifiers

get_fifo_queue_content(address: int) List[int]

Query and return the fifo content of address using Modbus function code 24.

Parameters:

address – the fifo queue pointer address

Returns:

list of content from the fifo queue at address

mask_holding_register(reference: int, and_mask: int, or_mask: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Mask write single holding register using Modbus function code 22.

Parameters:
  • reference – the register reference

  • and_mask – the and mask

  • or_mask – the or mask

mask_multiple_holding_registers(reference: int, quantity: int, and_mask: int, or_mask: int) None

Mask write multiple holding registers using Modbus function code 16.

Parameters:
  • reference – the register reference

  • quantity – the number of registers to be masked

  • and_mask – the and mask

  • or_mask – the or mask

query(adu: SerialRTUModbusRequest | SerialASCIIModbusRequest | TCPModbusRequest) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Query adu using the interface and return the decoded response. This method is thread-safe.

Parameters:

adu – a serializable adu

Returns:

the decoded response if no exception occurred

Return type:

adu

Raises:

ModbusException – in case of an exception response

read() SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Read a message from the interface and decode it.

Returns:

the decoded adu as is

Return type:

adu

Raises:

Exception if no answer was received

read_coil(reference: int) int

Read a single coil using Modbus function code 1.

Parameters:

reference – the register reference.

Returns:

1 if the coil is set and 0 else.

read_coil_bitfield(reference: int, length: int) int

Read a bitfield from coil memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

int value read from reference

read_coil_bitfield_list(reference: int, quantity: int, length: int) List[int]

Read a list of bitfields from coil memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_coil_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) ByteStruct | ByteType

Read data from coils using Modbus function code 1.

Parameters:
  • reference – the coil reference

  • data – the type or instance or the decoder for the data

Returns:

instance of datatype containing the read data

read_coil_flag(reference: int) bool

Read a bit from coil memory.

Parameters:

reference – the reference to read from

Returns:

bool value read from reference

read_coil_flag_list(reference: int, quantity: int) List[bool]

Read a list of bits from coil memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of bool values read from reference

read_coil_nibble(reference: int) int

Read a nibble from coil memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_coil_nibble_list(reference: int, quantity: int) List[int]

Read a list of nibbles from coil memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_discrete_input(reference: int) int

Read single discrete input using Modbus function code 2.

Parameters:

reference – the register reference.

Returns:

1 if the discrete input is set and 0 else.

read_discrete_input_bitfield(reference: int, length: int) int

Read a bitfield from discrete input memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

int value read from reference

read_discrete_input_bitfield_list(reference: int, quantity: int, length: int) List[int]

Read a list of bitfields from discrete input memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_discrete_input_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) ByteStruct | ByteType

Read data from discrete inputs using Modbus function code 2.

Parameters:
  • reference – the discrete input reference

  • data – the type or instance or the decoder for the data

Returns:

instance of datatype containing the read data

read_discrete_input_flag(reference: int) bool

Read a bit from discrete input memory.

Parameters:

reference – the reference to read from

Returns:

bool value read from reference

read_discrete_input_flag_list(reference: int, quantity: int) List[bool]

Read a list of bits from discrete input memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of bool values read from reference

read_discrete_input_nibble(reference: int) int

Read a nibble from discrete input memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_discrete_input_nibble_list(reference: int, quantity: int) List[int]

Read a list of nibbles from discrete input memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_extended_memory(memory_number: int, record_number: int, record_length: int) List[int]

Query and return extended memory from device using Modbus function code 20.

Parameters:
  • memory_number – the memory number (0x0001 to 0xffff)

  • record_number – the record to start reading from

  • record_length – the length of records

Returns:

the read records

read_holding_register(reference: int) int

Read a single holding register using Modbus function code 3.

Parameters:

reference – the register reference.

Returns:

the holding register value

read_holding_register_bdouble(reference: int) float

Read a double from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_bdouble_list(reference: int, quantity: int) List[float]

Read a list of doubles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_bfloat(reference: int) float

Read a float from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_bfloat_list(reference: int, quantity: int) List[float]

Read a list of floats from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_bitfield(reference: int, length: int) int

Read a bitfield from holding register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

int value read from reference

read_holding_register_bitfield_list(reference: int, quantity: int, length: int) List[int]

Read a list of bitfields from holding register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) ByteStruct | ByteType

Read data from holding registers using Modbus function code 3.

Parameters:
  • reference – the register reference

  • data – the type or instance or the decoder for the data

Returns:

instance of datatype containing the read data

read_holding_register_double21436587(reference: int) float

Read a 21436587-endian double from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_double21436587_list(reference: int, quantity: int) List[float]

Read a list of 21436587-endian doubles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_double78563412(reference: int) float

Read a 78563412-endian double from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_double78563412_list(reference: int, quantity: int) List[float]

Read a list of 78563412-endian doubles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_flag(reference: int) bool

Read a bit from holding register memory.

Parameters:

reference – the reference to read from

Returns:

bool value read from reference

read_holding_register_flag_list(reference: int, quantity: int) List[bool]

Read a list of bits from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of bool values read from reference

read_holding_register_float2143(reference: int) float

Read a 2143-endian float from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_float2143_list(reference: int, quantity: int) List[float]

Read a list of 2143-endian floats from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_float3412(reference: int) float

Read a 3412-endian float from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_float3412_list(reference: int, quantity: int) List[float]

Read a list of 3412-endian floats from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_ldouble(reference: int) float

Read a double from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_ldouble_list(reference: int, quantity: int) List[float]

Read a list of doubles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_lfloat(reference: int) float

Read a float from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_lfloat_list(reference: int, quantity: int) List[float]

Read a list of floats from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_nibble(reference: int) int

Read a nibble from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_nibble_list(reference: int, quantity: int) List[int]

Read a list of nibbles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sbint16(reference: int) int

Read a signed 16-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sbint16_list(reference: int, quantity: int) List[int]

Read a list of signed 16-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sbint32(reference: int) int

Read a signed 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sbint32_list(reference: int, quantity: int) List[int]

Read a list of signed 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sbint64(reference: int) int

Read a signed 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sbint64_list(reference: int, quantity: int) List[int]

Read a list of signed 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sbint8(reference: int) int

Read a signed 8-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sbint8_list(reference: int, quantity: int) List[int]

Read a list of signed 8-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sint2143(reference: int) int

Read a signed 2143-endian 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sint21436587(reference: int) int

Read a signed 21436587-endian 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sint21436587_list(reference: int, quantity: int) List[int]

Read a list of signed 21436587-endian 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sint2143_list(reference: int, quantity: int) List[int]

Read a list of signed 2143-endian 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sint3412(reference: int) int

Read a signed 3412-endian 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sint3412_list(reference: int, quantity: int) List[int]

Read a list of signed 3412-endian 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sint78563412(reference: int) int

Read a signed 78563412-endian 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sint78563412_list(reference: int, quantity: int) List[int]

Read a list of signed 78563412-endian 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_slint16(reference: int) int

Read a signed 16-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_slint16_list(reference: int, quantity: int) List[int]

Read a list of signed 16-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_slint32(reference: int) int

Read a signed 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_slint32_list(reference: int, quantity: int) List[int]

Read a list of signed 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_slint64(reference: int) int

Read a signed 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_slint64_list(reference: int, quantity: int) List[int]

Read a list of signed 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_slint8(reference: int) int

Read a signed 8-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_slint8_list(reference: int, quantity: int) List[int]

Read a list of signed 8-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_string(reference: int, length: int) bytes

Read a string from holding register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

bytes value read from reference

read_holding_register_string_list(reference: int, quantity: int, length: int) List[bytes]

Read a list of strings from holding register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of bytes values read from reference

read_holding_register_ubint16(reference: int) int

Read an unsigned 16-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ubint16_list(reference: int, quantity: int) List[int]

Read a list of unsigned 16-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ubint32(reference: int) int

Read an unsigned 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ubint32_list(reference: int, quantity: int) List[int]

Read a list of unsigned 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ubint64(reference: int) int

Read an unsigned 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ubint64_list(reference: int, quantity: int) List[int]

Read a list of unsigned 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ubint8(reference: int) int

Read an unsigned 8-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ubint8_list(reference: int, quantity: int) List[int]

Read a list of unsigned 8-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_uint2143(reference: int) int

Read an unsigned 2143-endian 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_uint21436587(reference: int) int

Read an unsigned 21436587-endian 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_uint21436587_list(reference: int, quantity: int) List[int]

Read a list of unsigned 21436587-endian 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_uint2143_list(reference: int, quantity: int) List[int]

Read a list of unsigned 2143-endian 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_uint3412(reference: int) int

Read an unsigned 3412-endian 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_uint3412_list(reference: int, quantity: int) List[int]

Read a list of unsigned 3412-endian 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_uint78563412(reference: int) int

Read an unsigned 78563412-endian 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_uint78563412_list(reference: int, quantity: int) List[int]

Read a list of unsigned 78563412-endian 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ulint16(reference: int) int

Read an unsigned 16-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ulint16_list(reference: int, quantity: int) List[int]

Read a list of unsigned 16-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ulint32(reference: int) int

Read an unsigned 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ulint32_list(reference: int, quantity: int) List[int]

Read a list of unsigned 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ulint64(reference: int) int

Read an unsigned 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ulint64_list(reference: int, quantity: int) List[int]

Read a list of unsigned 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ulint8(reference: int) int

Read an unsigned 8-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ulint8_list(reference: int, quantity: int) List[int]

Read a list of unsigned 8-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register(reference: int) int

Read a single input register using Modbus function code 4.

Parameters:

reference – the register reference.

Returns:

the input register value

read_input_register_bdouble(reference: int) float

Read a double from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_bdouble_list(reference: int, quantity: int) List[float]

Read a list of doubles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_bfloat(reference: int) float

Read a float from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_bfloat_list(reference: int, quantity: int) List[float]

Read a list of floats from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_bitfield(reference: int, length: int) int

Read a bitfield from input register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

int value read from reference

read_input_register_bitfield_list(reference: int, quantity: int, length: int) List[int]

Read a list of bitfields from input register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) ByteStruct | ByteType

Read data from input registers using Modbus function code 4.

Parameters:
  • reference – the register reference

  • data – the type or instance or the decoder for the data

Returns:

instance of datatype containing the read data

read_input_register_double21436587(reference: int) float

Read a 21436587-endian double from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_double21436587_list(reference: int, quantity: int) List[float]

Read a list of 21436587-endian doubles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_double78563412(reference: int) float

Read a 78563412-endian double from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_double78563412_list(reference: int, quantity: int) List[float]

Read a list of 78563412-endian doubles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_flag(reference: int) bool

Read a bit from input register memory.

Parameters:

reference – the reference to read from

Returns:

bool value read from reference

read_input_register_flag_list(reference: int, quantity: int) List[bool]

Read a list of bits from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of bool values read from reference

read_input_register_float2143(reference: int) float

Read a 2143-endian float from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_float2143_list(reference: int, quantity: int) List[float]

Read a list of 2143-endian floats from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_float3412(reference: int) float

Read a 3412-endian float from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_float3412_list(reference: int, quantity: int) List[float]

Read a list of 3412-endian floats from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_ldouble(reference: int) float

Read a double from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_ldouble_list(reference: int, quantity: int) List[float]

Read a list of doubles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_lfloat(reference: int) float

Read a float from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_lfloat_list(reference: int, quantity: int) List[float]

Read a list of floats from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_nibble(reference: int) int

Read a nibble from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_nibble_list(reference: int, quantity: int) List[int]

Read a list of nibbles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sbint16(reference: int) int

Read a signed 16-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sbint16_list(reference: int, quantity: int) List[int]

Read a list of signed 16-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sbint32(reference: int) int

Read a signed 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sbint32_list(reference: int, quantity: int) List[int]

Read a list of signed 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sbint64(reference: int) int

Read a signed 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sbint64_list(reference: int, quantity: int) List[int]

Read a list of signed 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sbint8(reference: int) int

Read a signed 8-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sbint8_list(reference: int, quantity: int) List[int]

Read a list of signed 8-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sint2143(reference: int) int

Read a signed 2143-endian 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sint21436587(reference: int) int

Read a signed 21436587-endian 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sint21436587_list(reference: int, quantity: int) List[int]

Read a list of signed 21436587-endian 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sint2143_list(reference: int, quantity: int) List[int]

Read a list of signed 2143-endian 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sint3412(reference: int) int

Read a signed 3412-endian 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sint3412_list(reference: int, quantity: int) List[int]

Read a list of signed 3412-endian 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sint78563412(reference: int) int

Read a signed 78563412-endian 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sint78563412_list(reference: int, quantity: int) List[int]

Read a list of signed 78563412-endian 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_slint16(reference: int) int

Read a signed 16-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_slint16_list(reference: int, quantity: int) List[int]

Read a list of signed 16-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_slint32(reference: int) int

Read a signed 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_slint32_list(reference: int, quantity: int) List[int]

Read a list of signed 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_slint64(reference: int) int

Read a signed 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_slint64_list(reference: int, quantity: int) List[int]

Read a list of signed 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_slint8(reference: int) int

Read a signed 8-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_slint8_list(reference: int, quantity: int) List[int]

Read a list of signed 8-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_string(reference: int, length: int) bytes

Read a string from input register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

bytes value read from reference

read_input_register_string_list(reference: int, quantity: int, length: int) List[bytes]

Read a list of strings from input register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of bytes values read from reference

read_input_register_ubint16(reference: int) int

Read an unsigned 16-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ubint16_list(reference: int, quantity: int) List[int]

Read a list of unsigned 16-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ubint32(reference: int) int

Read an unsigned 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ubint32_list(reference: int, quantity: int) List[int]

Read a list of unsigned 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ubint64(reference: int) int

Read an unsigned 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ubint64_list(reference: int, quantity: int) List[int]

Read a list of unsigned 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ubint8(reference: int) int

Read an unsigned 8-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ubint8_list(reference: int, quantity: int) List[int]

Read a list of unsigned 8-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_uint2143(reference: int) int

Read an unsigned 2143-endian 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_uint21436587(reference: int) int

Read an unsigned 21436587-endian 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_uint21436587_list(reference: int, quantity: int) List[int]

Read a list of unsigned 21436587-endian 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_uint2143_list(reference: int, quantity: int) List[int]

Read a list of unsigned 2143-endian 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_uint3412(reference: int) int

Read an unsigned 3412-endian 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_uint3412_list(reference: int, quantity: int) List[int]

Read a list of unsigned 3412-endian 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_uint78563412(reference: int) int

Read an unsigned 78563412-endian 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_uint78563412_list(reference: int, quantity: int) List[int]

Read a list of unsigned 78563412-endian 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ulint16(reference: int) int

Read an unsigned 16-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ulint16_list(reference: int, quantity: int) List[int]

Read a list of unsigned 16-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ulint32(reference: int) int

Read an unsigned 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ulint32_list(reference: int, quantity: int) List[int]

Read a list of unsigned 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ulint64(reference: int) int

Read an unsigned 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ulint64_list(reference: int, quantity: int) List[int]

Read a list of unsigned 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ulint8(reference: int) int

Read an unsigned 8-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ulint8_list(reference: int, quantity: int) List[int]

Read a list of unsigned 8-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_multiple_coils(reference: int, quantity: int) List[int]

Read multiple coils using Modbus function code 1.

Parameters:
  • reference – the register reference.

  • quantity – the number of coils to be read.

Returns:

a list of coil states where each element is 1 if the corresponding coil is set and 0 else.

read_multiple_discrete_inputs(reference: int, quantity: int) List[int]

Read multiple discrete inputs using Modbus function code 2.

Parameters:
  • reference – the register reference.

  • quantity – the number of discrete inputs to be read.

Returns:

a list of discrete inputs where each element is 1 if the corresponding discrete input is set and 0 else.

read_multiple_holding_registers(reference: int, quantity: int) List[int]

Read multiple holding registers using Modbus function code 3.

Parameters:
  • reference – the register reference.

  • quantity – the number of registers to be read.

Returns:

the holding register values

read_multiple_input_registers(reference: int, quantity: int) List[int]

Read multiple input registers using Modbus function code 4.

Parameters:
  • reference – the register reference.

  • quantity – the number of registers to be read.

Returns:

the input register values

read_write_multiple_holding_registers(read_reference: int, read_quantity: int, write_reference: int, write_values: List[int]) List[int]

Read/Write multiple holding registers using Modbus function code 23.

Parameters:
  • read_reference – the register reference to read from.

  • read_quantity – the number of registers to read.

  • write_reference – the register reference to to write to.

  • write_values – the values to be written.

Returns:

the read registers

write(adu: SerialRTUModbusRequest | SerialASCIIModbusRequest | TCPModbusRequest) None

Write adu encoded using the interface.

Parameters:

adu – a serializable adu

write_coil(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a single coil using Modbus function code 5.

Parameters:
  • reference – the register reference.

  • value – the value to be written.

write_coil_bitfield(reference: int, value: int, length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bitfield to coil memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

  • length – the length of the value

write_coil_bitfield_list(reference: int, values: List[int], length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bitfields to coil memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

  • length – the length of the value

write_coil_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write data to coils using Modbus function code 15.

Parameters:
  • reference – the coil reference.

  • data – the type or instance or the decoder for the data

write_coil_flag(reference: int, value: bool) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bit to coil memory.

Parameters:
  • reference – the reference to write to

  • value – the bool value to be written

write_coil_flag_list(reference: int, values: List[bool]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bits to coil memory.

Parameters:
  • reference – the reference to write to

  • values – a list of bool values to be written

write_coil_nibble(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a nibble to coil memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_coil_nibble_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of nibbles to coil memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_extended_memory(memory_number: int, record_number: int, records: List[int]) None

Write extended memory using Modbus function code 21.

Parameters:
  • memory_number – the memory number (0x0001 to 0xffff)

  • record_number – the record to write to

  • records – the records to be written

write_holding_register(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write single holding register using Modbus function code 6.

Parameters:
  • reference – the register reference.

  • value – the value to be written into the corresponding register.

write_holding_register_bdouble(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a double to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_bdouble_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of doubles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_bfloat(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a float to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_bfloat_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of floats to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_bitfield(reference: int, value: int, length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bitfield to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

  • length – the length of the value

write_holding_register_bitfield_list(reference: int, values: List[int], length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bitfields to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

  • length – the length of the value

write_holding_register_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write data to holding registers using Modbus function code 16.

Parameters:
  • reference – the register reference.

  • data – the type or instance or the decoder for the data

write_holding_register_double21436587(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 21436587-endian double to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_double21436587_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 21436587-endian doubles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_double78563412(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 78563412-endian double to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_double78563412_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 78563412-endian doubles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_flag(reference: int, value: bool) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bit to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the bool value to be written

write_holding_register_flag_list(reference: int, values: List[bool]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bits to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of bool values to be written

write_holding_register_float2143(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 2143-endian float to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_float2143_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 2143-endian floats to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_float3412(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 3412-endian float to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_float3412_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 3412-endian floats to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_ldouble(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a double to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_ldouble_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of doubles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_lfloat(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a float to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_lfloat_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of floats to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_nibble(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a nibble to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_nibble_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of nibbles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sbint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 16-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sbint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 16-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sbint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sbint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sbint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sbint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sbint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 8-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sbint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 8-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sint2143(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 2143-endian 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sint21436587(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 21436587-endian 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sint21436587_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 21436587-endian 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sint2143_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 2143-endian 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sint3412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 3412-endian 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sint3412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 3412-endian 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sint78563412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 78563412-endian 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sint78563412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 78563412-endian 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_slint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 16-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_slint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 16-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_slint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_slint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_slint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_slint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_slint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 8-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_slint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 8-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_string(reference: int, value: bytes, length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a string to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the bytes value to be written

  • length – the length of the value

write_holding_register_string_list(reference: int, values: List[bytes], length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of strings to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of bytes values to be written

  • length – the length of the value

write_holding_register_ubint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 16-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ubint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 16-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ubint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ubint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ubint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ubint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ubint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 8-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ubint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 8-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_uint2143(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 2143-endian 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_uint21436587(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 21436587-endian 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_uint21436587_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 21436587-endian 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_uint2143_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 2143-endian 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_uint3412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 3412-endian 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_uint3412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 3412-endian 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_uint78563412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 78563412-endian 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_uint78563412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 78563412-endian 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ulint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 16-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ulint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 16-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ulint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ulint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ulint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ulint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ulint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 8-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ulint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 8-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_multiple_coils(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write multiple coils using Modbus function code 15.

Parameters:
  • reference – the register reference.

  • values – the values to be written.

write_multiple_holding_registers(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write multiple holding registers using Modbus function code 16.

Parameters:
  • reference – the register reference.

  • values – the values to be written.

Serial RTU Client

class htf.modbus.ModbusSerialRTUClient(com_port: str, baud: int = 9600, bytesize: int = 8, parity: str = 'E', stopbits: int = 1, rtscts: bool = False, device_address: int = 1, timeout: int | float = 1.0, retries: int | None = None, references_start_at_one: bool = True, request_parser: ~typing.Type[~htf.modbus.protocol.SerialRTUModbusRequest] | ~typing.Type[~htf.modbus.protocol.SerialASCIIModbusRequest] | ~typing.Type[~htf.modbus.protocol.TCPModbusRequest] = <class 'htf.modbus.protocol.SerialRTUModbusRequest'>, response_parser: ~typing.Type[~htf.modbus.protocol.SerialRTUModbusResponse] | ~typing.Type[~htf.modbus.protocol.SerialASCIIModbusResponse] | ~typing.Type[~htf.modbus.protocol.TCPModbusResponse] = <class 'htf.modbus.protocol.SerialRTUModbusResponse'>, debuglevel: int | None = None)
Parameters:
  • com_port – the com port to be used

  • baud – the baud rate

  • bytesize – number of bits in a byte

  • parity – serial.PARITY_NONE, serial.PARITY_ODD or serial.PARITY_EVEN

  • stopbits – number of stopbits (1, 1.5 or 2)

  • rtscts – if True use flow control

  • device_address – the device address (Slave ID)

  • timeout – the timeout in seconds

  • retries=None – the number of retries until an exception is raised

  • references_start_at_one=True – if set to True all references start at 1 else 0

  • request_parser – a parser for requests

  • response_parser – a parser for responses

  • debuglevel – the debuglevel (None disables debug, 1 prints requests and responses and 2 prints introspection)

build_request() SerialRTUModbusRequest | SerialASCIIModbusRequest | TCPModbusRequest

Build and return an instance of the desired request parser.

Returns:

request parser

build_response() SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Build and return an instance of the desired response parser.

Returns:

response parser

clear_counters_and_diagnostic_register() None

Clear counters and diagnostic register using Modbus function code 8.10.

clear_overrun_counter_and_flag() None

Clear overrun counter and reset the error flag using Modbus function code 8.20.

close() None

Close the interface.

disable_broken_checksums() None

Disable broken checksums for testing purposes.

echo(data: bytes) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Query data and return echo using Modbus function code 8.0. An exception is raised if the received data differ from the sent data or the request is too long.

Parameters:

data – The bytes to be sent.

Returns:

response

enable_broken_checksums() None

Enable broken checksums for testing purposes.

get_bus_character_overrun_count() int

Query and return the bus character overrun count from the device using Modbus function code 8.18.

Returns:

the bus character overrun count

get_bus_communication_error_count() int

Query and return the bus communication error count from the device using Modbus function code 8.12.

Returns:

the bus communication error count

get_bus_exception_error_count() int

Query and return the bus exception error count from the device using Modbus function code 8.13.

Returns:

the bus exception error count

get_bus_message_count() int

Query and return the bus message count from the device using Modbus function code 8.11.

Returns:

the bus message count

get_busy_count() int

Query and return the slave busy count from the device using Modbus function code 8.17.

Returns:

the slave busy count

get_busy_status() bool

Query and return busy status using Modbus function code 11.

Returns:

busy_status

get_communication_event_counter_and_busy_status() Tuple[int, bool]

Query and return communication event counter and busy status using Modbus function code 11.

Returns:

a tuple containing communication_event_counter (int), busy_status (bool)

get_device_identification() Dict[int, bytes]

Query and return the device identification using Modbus function code 43.14.

Returns:

containing key values pairs with the device identifiers

get_diagnostic_register() bytes

Query and return the diagnostic register using Modbus function 8.2.

Returns:

the content of the diagnostic register

get_event_count() int

Query and return event count status using Modbus function code 11.

Returns:

communication_event_counter

get_event_log() Tuple[int, int, int, List[int]]

Query and return the event log using Modbus function code 12.

Returns:

a tuple containing busy_status (int), event_count (int), message_count (int), events (list of int)

get_exception_status() int

Read and return exception status using Modbus function code 7.

Returns:

the current exception status

get_fifo_queue_content(address: int) List[int]

Query and return the fifo content of address using Modbus function code 24.

Parameters:

address – the fifo queue pointer address

Returns:

list of content from the fifo queue at address

get_slave_id() Tuple[int, bool, bytes]

Query and return the slave id using Modbus function code 17.

Returns:

a tuple containing slave-id, running, data

get_slave_message_count() int

Query and return the slave message count from the device using Modbus function code 8.14.

Returns:

the slave message count

get_slave_nak_count() int

Query and return the slave nak count from the device using Modbus function code 8.16.

Returns:

the slave nak count

get_slave_no_response_count() int

Query and return the slave no response count from the device using Modbus function code 8.15.

Returns:

the slave no response count

mask_holding_register(reference: int, and_mask: int, or_mask: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Mask write single holding register using Modbus function code 22.

Parameters:
  • reference – the register reference

  • and_mask – the and mask

  • or_mask – the or mask

mask_multiple_holding_registers(reference: int, quantity: int, and_mask: int, or_mask: int) None

Mask write multiple holding registers using Modbus function code 16.

Parameters:
  • reference – the register reference

  • quantity – the number of registers to be masked

  • and_mask – the and mask

  • or_mask – the or mask

query(adu: SerialRTUModbusRequest | SerialASCIIModbusRequest | TCPModbusRequest) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Query adu using the interface and return the decoded response. This method is thread-safe.

Parameters:

adu – a serializable adu

Returns:

the decoded response if no exception occurred

Return type:

adu

Raises:

ModbusException – in case of an exception response

read() SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Read a message from the interface and decode it.

Returns:

the decoded adu as is

Return type:

adu

Raises:

Exception if no answer was received

read_coil(reference: int) int

Read a single coil using Modbus function code 1.

Parameters:

reference – the register reference.

Returns:

1 if the coil is set and 0 else.

read_coil_bitfield(reference: int, length: int) int

Read a bitfield from coil memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

int value read from reference

read_coil_bitfield_list(reference: int, quantity: int, length: int) List[int]

Read a list of bitfields from coil memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_coil_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) ByteStruct | ByteType

Read data from coils using Modbus function code 1.

Parameters:
  • reference – the coil reference

  • data – the type or instance or the decoder for the data

Returns:

instance of datatype containing the read data

read_coil_flag(reference: int) bool

Read a bit from coil memory.

Parameters:

reference – the reference to read from

Returns:

bool value read from reference

read_coil_flag_list(reference: int, quantity: int) List[bool]

Read a list of bits from coil memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of bool values read from reference

read_coil_nibble(reference: int) int

Read a nibble from coil memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_coil_nibble_list(reference: int, quantity: int) List[int]

Read a list of nibbles from coil memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_discrete_input(reference: int) int

Read single discrete input using Modbus function code 2.

Parameters:

reference – the register reference.

Returns:

1 if the discrete input is set and 0 else.

read_discrete_input_bitfield(reference: int, length: int) int

Read a bitfield from discrete input memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

int value read from reference

read_discrete_input_bitfield_list(reference: int, quantity: int, length: int) List[int]

Read a list of bitfields from discrete input memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_discrete_input_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) ByteStruct | ByteType

Read data from discrete inputs using Modbus function code 2.

Parameters:
  • reference – the discrete input reference

  • data – the type or instance or the decoder for the data

Returns:

instance of datatype containing the read data

read_discrete_input_flag(reference: int) bool

Read a bit from discrete input memory.

Parameters:

reference – the reference to read from

Returns:

bool value read from reference

read_discrete_input_flag_list(reference: int, quantity: int) List[bool]

Read a list of bits from discrete input memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of bool values read from reference

read_discrete_input_nibble(reference: int) int

Read a nibble from discrete input memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_discrete_input_nibble_list(reference: int, quantity: int) List[int]

Read a list of nibbles from discrete input memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_extended_memory(memory_number: int, record_number: int, record_length: int) List[int]

Query and return extended memory from device using Modbus function code 20.

Parameters:
  • memory_number – the memory number (0x0001 to 0xffff)

  • record_number – the record to start reading from

  • record_length – the length of records

Returns:

the read records

read_holding_register(reference: int) int

Read a single holding register using Modbus function code 3.

Parameters:

reference – the register reference.

Returns:

the holding register value

read_holding_register_bdouble(reference: int) float

Read a double from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_bdouble_list(reference: int, quantity: int) List[float]

Read a list of doubles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_bfloat(reference: int) float

Read a float from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_bfloat_list(reference: int, quantity: int) List[float]

Read a list of floats from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_bitfield(reference: int, length: int) int

Read a bitfield from holding register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

int value read from reference

read_holding_register_bitfield_list(reference: int, quantity: int, length: int) List[int]

Read a list of bitfields from holding register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) ByteStruct | ByteType

Read data from holding registers using Modbus function code 3.

Parameters:
  • reference – the register reference

  • data – the type or instance or the decoder for the data

Returns:

instance of datatype containing the read data

read_holding_register_double21436587(reference: int) float

Read a 21436587-endian double from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_double21436587_list(reference: int, quantity: int) List[float]

Read a list of 21436587-endian doubles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_double78563412(reference: int) float

Read a 78563412-endian double from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_double78563412_list(reference: int, quantity: int) List[float]

Read a list of 78563412-endian doubles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_flag(reference: int) bool

Read a bit from holding register memory.

Parameters:

reference – the reference to read from

Returns:

bool value read from reference

read_holding_register_flag_list(reference: int, quantity: int) List[bool]

Read a list of bits from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of bool values read from reference

read_holding_register_float2143(reference: int) float

Read a 2143-endian float from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_float2143_list(reference: int, quantity: int) List[float]

Read a list of 2143-endian floats from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_float3412(reference: int) float

Read a 3412-endian float from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_float3412_list(reference: int, quantity: int) List[float]

Read a list of 3412-endian floats from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_ldouble(reference: int) float

Read a double from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_ldouble_list(reference: int, quantity: int) List[float]

Read a list of doubles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_lfloat(reference: int) float

Read a float from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_lfloat_list(reference: int, quantity: int) List[float]

Read a list of floats from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_nibble(reference: int) int

Read a nibble from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_nibble_list(reference: int, quantity: int) List[int]

Read a list of nibbles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sbint16(reference: int) int

Read a signed 16-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sbint16_list(reference: int, quantity: int) List[int]

Read a list of signed 16-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sbint32(reference: int) int

Read a signed 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sbint32_list(reference: int, quantity: int) List[int]

Read a list of signed 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sbint64(reference: int) int

Read a signed 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sbint64_list(reference: int, quantity: int) List[int]

Read a list of signed 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sbint8(reference: int) int

Read a signed 8-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sbint8_list(reference: int, quantity: int) List[int]

Read a list of signed 8-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sint2143(reference: int) int

Read a signed 2143-endian 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sint21436587(reference: int) int

Read a signed 21436587-endian 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sint21436587_list(reference: int, quantity: int) List[int]

Read a list of signed 21436587-endian 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sint2143_list(reference: int, quantity: int) List[int]

Read a list of signed 2143-endian 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sint3412(reference: int) int

Read a signed 3412-endian 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sint3412_list(reference: int, quantity: int) List[int]

Read a list of signed 3412-endian 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sint78563412(reference: int) int

Read a signed 78563412-endian 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sint78563412_list(reference: int, quantity: int) List[int]

Read a list of signed 78563412-endian 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_slint16(reference: int) int

Read a signed 16-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_slint16_list(reference: int, quantity: int) List[int]

Read a list of signed 16-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_slint32(reference: int) int

Read a signed 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_slint32_list(reference: int, quantity: int) List[int]

Read a list of signed 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_slint64(reference: int) int

Read a signed 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_slint64_list(reference: int, quantity: int) List[int]

Read a list of signed 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_slint8(reference: int) int

Read a signed 8-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_slint8_list(reference: int, quantity: int) List[int]

Read a list of signed 8-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_string(reference: int, length: int) bytes

Read a string from holding register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

bytes value read from reference

read_holding_register_string_list(reference: int, quantity: int, length: int) List[bytes]

Read a list of strings from holding register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of bytes values read from reference

read_holding_register_ubint16(reference: int) int

Read an unsigned 16-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ubint16_list(reference: int, quantity: int) List[int]

Read a list of unsigned 16-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ubint32(reference: int) int

Read an unsigned 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ubint32_list(reference: int, quantity: int) List[int]

Read a list of unsigned 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ubint64(reference: int) int

Read an unsigned 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ubint64_list(reference: int, quantity: int) List[int]

Read a list of unsigned 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ubint8(reference: int) int

Read an unsigned 8-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ubint8_list(reference: int, quantity: int) List[int]

Read a list of unsigned 8-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_uint2143(reference: int) int

Read an unsigned 2143-endian 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_uint21436587(reference: int) int

Read an unsigned 21436587-endian 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_uint21436587_list(reference: int, quantity: int) List[int]

Read a list of unsigned 21436587-endian 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_uint2143_list(reference: int, quantity: int) List[int]

Read a list of unsigned 2143-endian 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_uint3412(reference: int) int

Read an unsigned 3412-endian 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_uint3412_list(reference: int, quantity: int) List[int]

Read a list of unsigned 3412-endian 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_uint78563412(reference: int) int

Read an unsigned 78563412-endian 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_uint78563412_list(reference: int, quantity: int) List[int]

Read a list of unsigned 78563412-endian 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ulint16(reference: int) int

Read an unsigned 16-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ulint16_list(reference: int, quantity: int) List[int]

Read a list of unsigned 16-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ulint32(reference: int) int

Read an unsigned 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ulint32_list(reference: int, quantity: int) List[int]

Read a list of unsigned 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ulint64(reference: int) int

Read an unsigned 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ulint64_list(reference: int, quantity: int) List[int]

Read a list of unsigned 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ulint8(reference: int) int

Read an unsigned 8-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ulint8_list(reference: int, quantity: int) List[int]

Read a list of unsigned 8-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register(reference: int) int

Read a single input register using Modbus function code 4.

Parameters:

reference – the register reference.

Returns:

the input register value

read_input_register_bdouble(reference: int) float

Read a double from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_bdouble_list(reference: int, quantity: int) List[float]

Read a list of doubles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_bfloat(reference: int) float

Read a float from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_bfloat_list(reference: int, quantity: int) List[float]

Read a list of floats from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_bitfield(reference: int, length: int) int

Read a bitfield from input register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

int value read from reference

read_input_register_bitfield_list(reference: int, quantity: int, length: int) List[int]

Read a list of bitfields from input register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) ByteStruct | ByteType

Read data from input registers using Modbus function code 4.

Parameters:
  • reference – the register reference

  • data – the type or instance or the decoder for the data

Returns:

instance of datatype containing the read data

read_input_register_double21436587(reference: int) float

Read a 21436587-endian double from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_double21436587_list(reference: int, quantity: int) List[float]

Read a list of 21436587-endian doubles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_double78563412(reference: int) float

Read a 78563412-endian double from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_double78563412_list(reference: int, quantity: int) List[float]

Read a list of 78563412-endian doubles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_flag(reference: int) bool

Read a bit from input register memory.

Parameters:

reference – the reference to read from

Returns:

bool value read from reference

read_input_register_flag_list(reference: int, quantity: int) List[bool]

Read a list of bits from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of bool values read from reference

read_input_register_float2143(reference: int) float

Read a 2143-endian float from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_float2143_list(reference: int, quantity: int) List[float]

Read a list of 2143-endian floats from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_float3412(reference: int) float

Read a 3412-endian float from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_float3412_list(reference: int, quantity: int) List[float]

Read a list of 3412-endian floats from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_ldouble(reference: int) float

Read a double from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_ldouble_list(reference: int, quantity: int) List[float]

Read a list of doubles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_lfloat(reference: int) float

Read a float from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_lfloat_list(reference: int, quantity: int) List[float]

Read a list of floats from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_nibble(reference: int) int

Read a nibble from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_nibble_list(reference: int, quantity: int) List[int]

Read a list of nibbles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sbint16(reference: int) int

Read a signed 16-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sbint16_list(reference: int, quantity: int) List[int]

Read a list of signed 16-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sbint32(reference: int) int

Read a signed 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sbint32_list(reference: int, quantity: int) List[int]

Read a list of signed 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sbint64(reference: int) int

Read a signed 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sbint64_list(reference: int, quantity: int) List[int]

Read a list of signed 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sbint8(reference: int) int

Read a signed 8-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sbint8_list(reference: int, quantity: int) List[int]

Read a list of signed 8-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sint2143(reference: int) int

Read a signed 2143-endian 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sint21436587(reference: int) int

Read a signed 21436587-endian 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sint21436587_list(reference: int, quantity: int) List[int]

Read a list of signed 21436587-endian 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sint2143_list(reference: int, quantity: int) List[int]

Read a list of signed 2143-endian 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sint3412(reference: int) int

Read a signed 3412-endian 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sint3412_list(reference: int, quantity: int) List[int]

Read a list of signed 3412-endian 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sint78563412(reference: int) int

Read a signed 78563412-endian 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sint78563412_list(reference: int, quantity: int) List[int]

Read a list of signed 78563412-endian 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_slint16(reference: int) int

Read a signed 16-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_slint16_list(reference: int, quantity: int) List[int]

Read a list of signed 16-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_slint32(reference: int) int

Read a signed 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_slint32_list(reference: int, quantity: int) List[int]

Read a list of signed 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_slint64(reference: int) int

Read a signed 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_slint64_list(reference: int, quantity: int) List[int]

Read a list of signed 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_slint8(reference: int) int

Read a signed 8-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_slint8_list(reference: int, quantity: int) List[int]

Read a list of signed 8-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_string(reference: int, length: int) bytes

Read a string from input register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

bytes value read from reference

read_input_register_string_list(reference: int, quantity: int, length: int) List[bytes]

Read a list of strings from input register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of bytes values read from reference

read_input_register_ubint16(reference: int) int

Read an unsigned 16-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ubint16_list(reference: int, quantity: int) List[int]

Read a list of unsigned 16-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ubint32(reference: int) int

Read an unsigned 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ubint32_list(reference: int, quantity: int) List[int]

Read a list of unsigned 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ubint64(reference: int) int

Read an unsigned 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ubint64_list(reference: int, quantity: int) List[int]

Read a list of unsigned 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ubint8(reference: int) int

Read an unsigned 8-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ubint8_list(reference: int, quantity: int) List[int]

Read a list of unsigned 8-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_uint2143(reference: int) int

Read an unsigned 2143-endian 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_uint21436587(reference: int) int

Read an unsigned 21436587-endian 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_uint21436587_list(reference: int, quantity: int) List[int]

Read a list of unsigned 21436587-endian 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_uint2143_list(reference: int, quantity: int) List[int]

Read a list of unsigned 2143-endian 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_uint3412(reference: int) int

Read an unsigned 3412-endian 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_uint3412_list(reference: int, quantity: int) List[int]

Read a list of unsigned 3412-endian 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_uint78563412(reference: int) int

Read an unsigned 78563412-endian 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_uint78563412_list(reference: int, quantity: int) List[int]

Read a list of unsigned 78563412-endian 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ulint16(reference: int) int

Read an unsigned 16-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ulint16_list(reference: int, quantity: int) List[int]

Read a list of unsigned 16-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ulint32(reference: int) int

Read an unsigned 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ulint32_list(reference: int, quantity: int) List[int]

Read a list of unsigned 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ulint64(reference: int) int

Read an unsigned 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ulint64_list(reference: int, quantity: int) List[int]

Read a list of unsigned 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ulint8(reference: int) int

Read an unsigned 8-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ulint8_list(reference: int, quantity: int) List[int]

Read a list of unsigned 8-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_multiple_coils(reference: int, quantity: int) List[int]

Read multiple coils using Modbus function code 1.

Parameters:
  • reference – the register reference.

  • quantity – the number of coils to be read.

Returns:

a list of coil states where each element is 1 if the corresponding coil is set and 0 else.

read_multiple_discrete_inputs(reference: int, quantity: int) List[int]

Read multiple discrete inputs using Modbus function code 2.

Parameters:
  • reference – the register reference.

  • quantity – the number of discrete inputs to be read.

Returns:

a list of discrete inputs where each element is 1 if the corresponding discrete input is set and 0 else.

read_multiple_holding_registers(reference: int, quantity: int) List[int]

Read multiple holding registers using Modbus function code 3.

Parameters:
  • reference – the register reference.

  • quantity – the number of registers to be read.

Returns:

the holding register values

read_multiple_input_registers(reference: int, quantity: int) List[int]

Read multiple input registers using Modbus function code 4.

Parameters:
  • reference – the register reference.

  • quantity – the number of registers to be read.

Returns:

the input register values

read_write_multiple_holding_registers(read_reference: int, read_quantity: int, write_reference: int, write_values: List[int]) List[int]

Read/Write multiple holding registers using Modbus function code 23.

Parameters:
  • read_reference – the register reference to read from.

  • read_quantity – the number of registers to read.

  • write_reference – the register reference to to write to.

  • write_values – the values to be written.

Returns:

the read registers

restart_communications(reset_eventlog: bool = False) None

Restart communications using Modbus function code 8.1.

set_device_address(device_address: int) None

Set device address.

Parameters:

device_address – the device address to be used for the next requests.

set_listen_only_mode() None

Set listen only mode in server using Modbus function code 8.4.

write(adu: SerialRTUModbusRequest | SerialASCIIModbusRequest | TCPModbusRequest) None

Write adu encoded using the interface.

Parameters:

adu – a serializable adu

write_coil(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a single coil using Modbus function code 5.

Parameters:
  • reference – the register reference.

  • value – the value to be written.

write_coil_bitfield(reference: int, value: int, length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bitfield to coil memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

  • length – the length of the value

write_coil_bitfield_list(reference: int, values: List[int], length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bitfields to coil memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

  • length – the length of the value

write_coil_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write data to coils using Modbus function code 15.

Parameters:
  • reference – the coil reference.

  • data – the type or instance or the decoder for the data

write_coil_flag(reference: int, value: bool) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bit to coil memory.

Parameters:
  • reference – the reference to write to

  • value – the bool value to be written

write_coil_flag_list(reference: int, values: List[bool]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bits to coil memory.

Parameters:
  • reference – the reference to write to

  • values – a list of bool values to be written

write_coil_nibble(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a nibble to coil memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_coil_nibble_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of nibbles to coil memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_extended_memory(memory_number: int, record_number: int, records: List[int]) None

Write extended memory using Modbus function code 21.

Parameters:
  • memory_number – the memory number (0x0001 to 0xffff)

  • record_number – the record to write to

  • records – the records to be written

write_holding_register(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write single holding register using Modbus function code 6.

Parameters:
  • reference – the register reference.

  • value – the value to be written into the corresponding register.

write_holding_register_bdouble(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a double to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_bdouble_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of doubles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_bfloat(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a float to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_bfloat_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of floats to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_bitfield(reference: int, value: int, length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bitfield to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

  • length – the length of the value

write_holding_register_bitfield_list(reference: int, values: List[int], length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bitfields to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

  • length – the length of the value

write_holding_register_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write data to holding registers using Modbus function code 16.

Parameters:
  • reference – the register reference.

  • data – the type or instance or the decoder for the data

write_holding_register_double21436587(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 21436587-endian double to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_double21436587_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 21436587-endian doubles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_double78563412(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 78563412-endian double to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_double78563412_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 78563412-endian doubles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_flag(reference: int, value: bool) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bit to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the bool value to be written

write_holding_register_flag_list(reference: int, values: List[bool]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bits to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of bool values to be written

write_holding_register_float2143(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 2143-endian float to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_float2143_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 2143-endian floats to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_float3412(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 3412-endian float to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_float3412_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 3412-endian floats to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_ldouble(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a double to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_ldouble_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of doubles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_lfloat(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a float to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_lfloat_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of floats to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_nibble(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a nibble to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_nibble_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of nibbles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sbint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 16-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sbint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 16-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sbint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sbint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sbint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sbint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sbint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 8-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sbint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 8-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sint2143(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 2143-endian 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sint21436587(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 21436587-endian 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sint21436587_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 21436587-endian 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sint2143_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 2143-endian 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sint3412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 3412-endian 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sint3412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 3412-endian 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sint78563412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 78563412-endian 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sint78563412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 78563412-endian 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_slint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 16-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_slint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 16-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_slint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_slint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_slint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_slint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_slint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 8-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_slint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 8-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_string(reference: int, value: bytes, length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a string to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the bytes value to be written

  • length – the length of the value

write_holding_register_string_list(reference: int, values: List[bytes], length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of strings to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of bytes values to be written

  • length – the length of the value

write_holding_register_ubint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 16-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ubint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 16-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ubint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ubint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ubint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ubint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ubint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 8-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ubint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 8-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_uint2143(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 2143-endian 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_uint21436587(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 21436587-endian 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_uint21436587_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 21436587-endian 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_uint2143_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 2143-endian 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_uint3412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 3412-endian 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_uint3412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 3412-endian 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_uint78563412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 78563412-endian 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_uint78563412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 78563412-endian 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ulint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 16-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ulint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 16-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ulint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ulint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ulint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ulint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ulint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 8-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ulint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 8-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_multiple_coils(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write multiple coils using Modbus function code 15.

Parameters:
  • reference – the register reference.

  • values – the values to be written.

write_multiple_holding_registers(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write multiple holding registers using Modbus function code 16.

Parameters:
  • reference – the register reference.

  • values – the values to be written.

Serial ASCII Client

class htf.modbus.ModbusSerialASCIIClient(com_port: str, baud: int = 9600, bytesize: int = 8, parity: str = 'E', stopbits: int = 1, rtscts: bool = False, device_address: int = 1, timeout: int | float = 1.0, retries: int | None = None, references_start_at_one: bool = True, ascii_delimiter: bytes = b'\n', request_parser: ~typing.Type[~htf.modbus.protocol.SerialRTUModbusRequest] | ~typing.Type[~htf.modbus.protocol.SerialASCIIModbusRequest] | ~typing.Type[~htf.modbus.protocol.TCPModbusRequest] = <class 'htf.modbus.protocol.SerialASCIIModbusRequest'>, response_parser: ~typing.Type[~htf.modbus.protocol.SerialRTUModbusResponse] | ~typing.Type[~htf.modbus.protocol.SerialASCIIModbusResponse] | ~typing.Type[~htf.modbus.protocol.TCPModbusResponse] = <class 'htf.modbus.protocol.SerialASCIIModbusResponse'>, debuglevel: int | None = None)
Parameters:
  • com_port – the com port to be used

  • baud – the baud rate

  • bytesize – number of bits in a byte

  • parity – serial.PARITY_NONE, serial.PARITY_ODD or serial.PARITY_EVEN

  • stopbits – number of stopbits (1, 1.5 or 2)

  • rtscts – if True use flow control

  • device_address – the device address (Slave ID)

  • timeout – the timeout in seconds

  • retries=None – the number of retries until an exception is raised

  • references_start_at_one=True – if set to True all references start at 1 else 0

  • ascii_delimiter – the ascii delimiter to be used

  • request_parser – a parser for requests

  • response_parser – a parser for responses

  • debuglevel – the debuglevel (None disables debug, 1 prints requests and responses and 2 prints introspection)

build_request() SerialRTUModbusRequest | SerialASCIIModbusRequest | TCPModbusRequest

Build and return an instance of the desired request parser.

Returns:

request parser

build_response() SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Build and return an instance of the desired response parser.

Returns:

response parser

change_ascii_delimiter(delimiter: bytes) None

Change ASCII delimiter in the device.

Parameters:

delimiter – the new ASCII delimiter.

clear_counters_and_diagnostic_register() None

Clear counters and diagnostic register using Modbus function code 8.10.

clear_overrun_counter_and_flag() None

Clear overrun counter and reset the error flag using Modbus function code 8.20.

close() None

Close the interface.

disable_broken_checksums() None

Disable broken checksums for testing purposes.

echo(data: bytes) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Query data and return echo using Modbus function code 8.0. An exception is raised if the received data differ from the sent data or the request is too long.

Parameters:

data – The bytes to be sent.

Returns:

response

enable_broken_checksums() None

Enable broken checksums for testing purposes.

get_bus_character_overrun_count() int

Query and return the bus character overrun count from the device using Modbus function code 8.18.

Returns:

the bus character overrun count

get_bus_communication_error_count() int

Query and return the bus communication error count from the device using Modbus function code 8.12.

Returns:

the bus communication error count

get_bus_exception_error_count() int

Query and return the bus exception error count from the device using Modbus function code 8.13.

Returns:

the bus exception error count

get_bus_message_count() int

Query and return the bus message count from the device using Modbus function code 8.11.

Returns:

the bus message count

get_busy_count() int

Query and return the slave busy count from the device using Modbus function code 8.17.

Returns:

the slave busy count

get_busy_status() bool

Query and return busy status using Modbus function code 11.

Returns:

busy_status

get_communication_event_counter_and_busy_status() Tuple[int, bool]

Query and return communication event counter and busy status using Modbus function code 11.

Returns:

a tuple containing communication_event_counter (int), busy_status (bool)

get_device_identification() Dict[int, bytes]

Query and return the device identification using Modbus function code 43.14.

Returns:

containing key values pairs with the device identifiers

get_diagnostic_register() bytes

Query and return the diagnostic register using Modbus function 8.2.

Returns:

the content of the diagnostic register

get_event_count() int

Query and return event count status using Modbus function code 11.

Returns:

communication_event_counter

get_event_log() Tuple[int, int, int, List[int]]

Query and return the event log using Modbus function code 12.

Returns:

a tuple containing busy_status (int), event_count (int), message_count (int), events (list of int)

get_exception_status() int

Read and return exception status using Modbus function code 7.

Returns:

the current exception status

get_fifo_queue_content(address: int) List[int]

Query and return the fifo content of address using Modbus function code 24.

Parameters:

address – the fifo queue pointer address

Returns:

list of content from the fifo queue at address

get_slave_id() Tuple[int, bool, bytes]

Query and return the slave id using Modbus function code 17.

Returns:

a tuple containing slave-id, running, data

get_slave_message_count() int

Query and return the slave message count from the device using Modbus function code 8.14.

Returns:

the slave message count

get_slave_nak_count() int

Query and return the slave nak count from the device using Modbus function code 8.16.

Returns:

the slave nak count

get_slave_no_response_count() int

Query and return the slave no response count from the device using Modbus function code 8.15.

Returns:

the slave no response count

mask_holding_register(reference: int, and_mask: int, or_mask: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Mask write single holding register using Modbus function code 22.

Parameters:
  • reference – the register reference

  • and_mask – the and mask

  • or_mask – the or mask

mask_multiple_holding_registers(reference: int, quantity: int, and_mask: int, or_mask: int) None

Mask write multiple holding registers using Modbus function code 16.

Parameters:
  • reference – the register reference

  • quantity – the number of registers to be masked

  • and_mask – the and mask

  • or_mask – the or mask

query(adu: SerialRTUModbusRequest | SerialASCIIModbusRequest | TCPModbusRequest) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Query adu using the interface and return the decoded response. This method is thread-safe.

Parameters:

adu – a serializable adu

Returns:

the decoded response if no exception occurred

Return type:

adu

Raises:

ModbusException – in case of an exception response

read() SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Read a message from the interface and decode it.

Returns:

the decoded adu as is

Return type:

adu

Raises:

Exception if no answer was received

read_coil(reference: int) int

Read a single coil using Modbus function code 1.

Parameters:

reference – the register reference.

Returns:

1 if the coil is set and 0 else.

read_coil_bitfield(reference: int, length: int) int

Read a bitfield from coil memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

int value read from reference

read_coil_bitfield_list(reference: int, quantity: int, length: int) List[int]

Read a list of bitfields from coil memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_coil_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) ByteStruct | ByteType

Read data from coils using Modbus function code 1.

Parameters:
  • reference – the coil reference

  • data – the type or instance or the decoder for the data

Returns:

instance of datatype containing the read data

read_coil_flag(reference: int) bool

Read a bit from coil memory.

Parameters:

reference – the reference to read from

Returns:

bool value read from reference

read_coil_flag_list(reference: int, quantity: int) List[bool]

Read a list of bits from coil memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of bool values read from reference

read_coil_nibble(reference: int) int

Read a nibble from coil memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_coil_nibble_list(reference: int, quantity: int) List[int]

Read a list of nibbles from coil memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_discrete_input(reference: int) int

Read single discrete input using Modbus function code 2.

Parameters:

reference – the register reference.

Returns:

1 if the discrete input is set and 0 else.

read_discrete_input_bitfield(reference: int, length: int) int

Read a bitfield from discrete input memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

int value read from reference

read_discrete_input_bitfield_list(reference: int, quantity: int, length: int) List[int]

Read a list of bitfields from discrete input memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_discrete_input_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) ByteStruct | ByteType

Read data from discrete inputs using Modbus function code 2.

Parameters:
  • reference – the discrete input reference

  • data – the type or instance or the decoder for the data

Returns:

instance of datatype containing the read data

read_discrete_input_flag(reference: int) bool

Read a bit from discrete input memory.

Parameters:

reference – the reference to read from

Returns:

bool value read from reference

read_discrete_input_flag_list(reference: int, quantity: int) List[bool]

Read a list of bits from discrete input memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of bool values read from reference

read_discrete_input_nibble(reference: int) int

Read a nibble from discrete input memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_discrete_input_nibble_list(reference: int, quantity: int) List[int]

Read a list of nibbles from discrete input memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_extended_memory(memory_number: int, record_number: int, record_length: int) List[int]

Query and return extended memory from device using Modbus function code 20.

Parameters:
  • memory_number – the memory number (0x0001 to 0xffff)

  • record_number – the record to start reading from

  • record_length – the length of records

Returns:

the read records

read_holding_register(reference: int) int

Read a single holding register using Modbus function code 3.

Parameters:

reference – the register reference.

Returns:

the holding register value

read_holding_register_bdouble(reference: int) float

Read a double from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_bdouble_list(reference: int, quantity: int) List[float]

Read a list of doubles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_bfloat(reference: int) float

Read a float from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_bfloat_list(reference: int, quantity: int) List[float]

Read a list of floats from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_bitfield(reference: int, length: int) int

Read a bitfield from holding register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

int value read from reference

read_holding_register_bitfield_list(reference: int, quantity: int, length: int) List[int]

Read a list of bitfields from holding register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) ByteStruct | ByteType

Read data from holding registers using Modbus function code 3.

Parameters:
  • reference – the register reference

  • data – the type or instance or the decoder for the data

Returns:

instance of datatype containing the read data

read_holding_register_double21436587(reference: int) float

Read a 21436587-endian double from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_double21436587_list(reference: int, quantity: int) List[float]

Read a list of 21436587-endian doubles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_double78563412(reference: int) float

Read a 78563412-endian double from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_double78563412_list(reference: int, quantity: int) List[float]

Read a list of 78563412-endian doubles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_flag(reference: int) bool

Read a bit from holding register memory.

Parameters:

reference – the reference to read from

Returns:

bool value read from reference

read_holding_register_flag_list(reference: int, quantity: int) List[bool]

Read a list of bits from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of bool values read from reference

read_holding_register_float2143(reference: int) float

Read a 2143-endian float from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_float2143_list(reference: int, quantity: int) List[float]

Read a list of 2143-endian floats from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_float3412(reference: int) float

Read a 3412-endian float from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_float3412_list(reference: int, quantity: int) List[float]

Read a list of 3412-endian floats from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_ldouble(reference: int) float

Read a double from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_ldouble_list(reference: int, quantity: int) List[float]

Read a list of doubles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_lfloat(reference: int) float

Read a float from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_lfloat_list(reference: int, quantity: int) List[float]

Read a list of floats from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_nibble(reference: int) int

Read a nibble from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_nibble_list(reference: int, quantity: int) List[int]

Read a list of nibbles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sbint16(reference: int) int

Read a signed 16-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sbint16_list(reference: int, quantity: int) List[int]

Read a list of signed 16-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sbint32(reference: int) int

Read a signed 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sbint32_list(reference: int, quantity: int) List[int]

Read a list of signed 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sbint64(reference: int) int

Read a signed 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sbint64_list(reference: int, quantity: int) List[int]

Read a list of signed 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sbint8(reference: int) int

Read a signed 8-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sbint8_list(reference: int, quantity: int) List[int]

Read a list of signed 8-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sint2143(reference: int) int

Read a signed 2143-endian 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sint21436587(reference: int) int

Read a signed 21436587-endian 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sint21436587_list(reference: int, quantity: int) List[int]

Read a list of signed 21436587-endian 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sint2143_list(reference: int, quantity: int) List[int]

Read a list of signed 2143-endian 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sint3412(reference: int) int

Read a signed 3412-endian 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sint3412_list(reference: int, quantity: int) List[int]

Read a list of signed 3412-endian 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sint78563412(reference: int) int

Read a signed 78563412-endian 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sint78563412_list(reference: int, quantity: int) List[int]

Read a list of signed 78563412-endian 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_slint16(reference: int) int

Read a signed 16-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_slint16_list(reference: int, quantity: int) List[int]

Read a list of signed 16-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_slint32(reference: int) int

Read a signed 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_slint32_list(reference: int, quantity: int) List[int]

Read a list of signed 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_slint64(reference: int) int

Read a signed 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_slint64_list(reference: int, quantity: int) List[int]

Read a list of signed 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_slint8(reference: int) int

Read a signed 8-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_slint8_list(reference: int, quantity: int) List[int]

Read a list of signed 8-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_string(reference: int, length: int) bytes

Read a string from holding register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

bytes value read from reference

read_holding_register_string_list(reference: int, quantity: int, length: int) List[bytes]

Read a list of strings from holding register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of bytes values read from reference

read_holding_register_ubint16(reference: int) int

Read an unsigned 16-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ubint16_list(reference: int, quantity: int) List[int]

Read a list of unsigned 16-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ubint32(reference: int) int

Read an unsigned 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ubint32_list(reference: int, quantity: int) List[int]

Read a list of unsigned 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ubint64(reference: int) int

Read an unsigned 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ubint64_list(reference: int, quantity: int) List[int]

Read a list of unsigned 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ubint8(reference: int) int

Read an unsigned 8-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ubint8_list(reference: int, quantity: int) List[int]

Read a list of unsigned 8-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_uint2143(reference: int) int

Read an unsigned 2143-endian 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_uint21436587(reference: int) int

Read an unsigned 21436587-endian 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_uint21436587_list(reference: int, quantity: int) List[int]

Read a list of unsigned 21436587-endian 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_uint2143_list(reference: int, quantity: int) List[int]

Read a list of unsigned 2143-endian 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_uint3412(reference: int) int

Read an unsigned 3412-endian 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_uint3412_list(reference: int, quantity: int) List[int]

Read a list of unsigned 3412-endian 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_uint78563412(reference: int) int

Read an unsigned 78563412-endian 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_uint78563412_list(reference: int, quantity: int) List[int]

Read a list of unsigned 78563412-endian 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ulint16(reference: int) int

Read an unsigned 16-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ulint16_list(reference: int, quantity: int) List[int]

Read a list of unsigned 16-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ulint32(reference: int) int

Read an unsigned 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ulint32_list(reference: int, quantity: int) List[int]

Read a list of unsigned 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ulint64(reference: int) int

Read an unsigned 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ulint64_list(reference: int, quantity: int) List[int]

Read a list of unsigned 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ulint8(reference: int) int

Read an unsigned 8-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ulint8_list(reference: int, quantity: int) List[int]

Read a list of unsigned 8-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register(reference: int) int

Read a single input register using Modbus function code 4.

Parameters:

reference – the register reference.

Returns:

the input register value

read_input_register_bdouble(reference: int) float

Read a double from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_bdouble_list(reference: int, quantity: int) List[float]

Read a list of doubles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_bfloat(reference: int) float

Read a float from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_bfloat_list(reference: int, quantity: int) List[float]

Read a list of floats from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_bitfield(reference: int, length: int) int

Read a bitfield from input register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

int value read from reference

read_input_register_bitfield_list(reference: int, quantity: int, length: int) List[int]

Read a list of bitfields from input register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) ByteStruct | ByteType

Read data from input registers using Modbus function code 4.

Parameters:
  • reference – the register reference

  • data – the type or instance or the decoder for the data

Returns:

instance of datatype containing the read data

read_input_register_double21436587(reference: int) float

Read a 21436587-endian double from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_double21436587_list(reference: int, quantity: int) List[float]

Read a list of 21436587-endian doubles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_double78563412(reference: int) float

Read a 78563412-endian double from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_double78563412_list(reference: int, quantity: int) List[float]

Read a list of 78563412-endian doubles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_flag(reference: int) bool

Read a bit from input register memory.

Parameters:

reference – the reference to read from

Returns:

bool value read from reference

read_input_register_flag_list(reference: int, quantity: int) List[bool]

Read a list of bits from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of bool values read from reference

read_input_register_float2143(reference: int) float

Read a 2143-endian float from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_float2143_list(reference: int, quantity: int) List[float]

Read a list of 2143-endian floats from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_float3412(reference: int) float

Read a 3412-endian float from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_float3412_list(reference: int, quantity: int) List[float]

Read a list of 3412-endian floats from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_ldouble(reference: int) float

Read a double from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_ldouble_list(reference: int, quantity: int) List[float]

Read a list of doubles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_lfloat(reference: int) float

Read a float from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_lfloat_list(reference: int, quantity: int) List[float]

Read a list of floats from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_nibble(reference: int) int

Read a nibble from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_nibble_list(reference: int, quantity: int) List[int]

Read a list of nibbles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sbint16(reference: int) int

Read a signed 16-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sbint16_list(reference: int, quantity: int) List[int]

Read a list of signed 16-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sbint32(reference: int) int

Read a signed 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sbint32_list(reference: int, quantity: int) List[int]

Read a list of signed 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sbint64(reference: int) int

Read a signed 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sbint64_list(reference: int, quantity: int) List[int]

Read a list of signed 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sbint8(reference: int) int

Read a signed 8-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sbint8_list(reference: int, quantity: int) List[int]

Read a list of signed 8-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sint2143(reference: int) int

Read a signed 2143-endian 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sint21436587(reference: int) int

Read a signed 21436587-endian 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sint21436587_list(reference: int, quantity: int) List[int]

Read a list of signed 21436587-endian 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sint2143_list(reference: int, quantity: int) List[int]

Read a list of signed 2143-endian 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sint3412(reference: int) int

Read a signed 3412-endian 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sint3412_list(reference: int, quantity: int) List[int]

Read a list of signed 3412-endian 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sint78563412(reference: int) int

Read a signed 78563412-endian 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sint78563412_list(reference: int, quantity: int) List[int]

Read a list of signed 78563412-endian 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_slint16(reference: int) int

Read a signed 16-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_slint16_list(reference: int, quantity: int) List[int]

Read a list of signed 16-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_slint32(reference: int) int

Read a signed 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_slint32_list(reference: int, quantity: int) List[int]

Read a list of signed 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_slint64(reference: int) int

Read a signed 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_slint64_list(reference: int, quantity: int) List[int]

Read a list of signed 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_slint8(reference: int) int

Read a signed 8-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_slint8_list(reference: int, quantity: int) List[int]

Read a list of signed 8-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_string(reference: int, length: int) bytes

Read a string from input register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

bytes value read from reference

read_input_register_string_list(reference: int, quantity: int, length: int) List[bytes]

Read a list of strings from input register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of bytes values read from reference

read_input_register_ubint16(reference: int) int

Read an unsigned 16-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ubint16_list(reference: int, quantity: int) List[int]

Read a list of unsigned 16-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ubint32(reference: int) int

Read an unsigned 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ubint32_list(reference: int, quantity: int) List[int]

Read a list of unsigned 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ubint64(reference: int) int

Read an unsigned 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ubint64_list(reference: int, quantity: int) List[int]

Read a list of unsigned 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ubint8(reference: int) int

Read an unsigned 8-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ubint8_list(reference: int, quantity: int) List[int]

Read a list of unsigned 8-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_uint2143(reference: int) int

Read an unsigned 2143-endian 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_uint21436587(reference: int) int

Read an unsigned 21436587-endian 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_uint21436587_list(reference: int, quantity: int) List[int]

Read a list of unsigned 21436587-endian 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_uint2143_list(reference: int, quantity: int) List[int]

Read a list of unsigned 2143-endian 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_uint3412(reference: int) int

Read an unsigned 3412-endian 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_uint3412_list(reference: int, quantity: int) List[int]

Read a list of unsigned 3412-endian 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_uint78563412(reference: int) int

Read an unsigned 78563412-endian 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_uint78563412_list(reference: int, quantity: int) List[int]

Read a list of unsigned 78563412-endian 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ulint16(reference: int) int

Read an unsigned 16-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ulint16_list(reference: int, quantity: int) List[int]

Read a list of unsigned 16-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ulint32(reference: int) int

Read an unsigned 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ulint32_list(reference: int, quantity: int) List[int]

Read a list of unsigned 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ulint64(reference: int) int

Read an unsigned 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ulint64_list(reference: int, quantity: int) List[int]

Read a list of unsigned 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ulint8(reference: int) int

Read an unsigned 8-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ulint8_list(reference: int, quantity: int) List[int]

Read a list of unsigned 8-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_multiple_coils(reference: int, quantity: int) List[int]

Read multiple coils using Modbus function code 1.

Parameters:
  • reference – the register reference.

  • quantity – the number of coils to be read.

Returns:

a list of coil states where each element is 1 if the corresponding coil is set and 0 else.

read_multiple_discrete_inputs(reference: int, quantity: int) List[int]

Read multiple discrete inputs using Modbus function code 2.

Parameters:
  • reference – the register reference.

  • quantity – the number of discrete inputs to be read.

Returns:

a list of discrete inputs where each element is 1 if the corresponding discrete input is set and 0 else.

read_multiple_holding_registers(reference: int, quantity: int) List[int]

Read multiple holding registers using Modbus function code 3.

Parameters:
  • reference – the register reference.

  • quantity – the number of registers to be read.

Returns:

the holding register values

read_multiple_input_registers(reference: int, quantity: int) List[int]

Read multiple input registers using Modbus function code 4.

Parameters:
  • reference – the register reference.

  • quantity – the number of registers to be read.

Returns:

the input register values

read_write_multiple_holding_registers(read_reference: int, read_quantity: int, write_reference: int, write_values: List[int]) List[int]

Read/Write multiple holding registers using Modbus function code 23.

Parameters:
  • read_reference – the register reference to read from.

  • read_quantity – the number of registers to read.

  • write_reference – the register reference to to write to.

  • write_values – the values to be written.

Returns:

the read registers

restart_communications(reset_eventlog: bool = False) None

Restart communications using Modbus function code 8.1.

set_device_address(device_address: int) None

Set device address.

Parameters:

device_address – the device address to be used for the next requests.

set_listen_only_mode() None

Set listen only mode in server using Modbus function code 8.4.

write(adu: SerialRTUModbusRequest | SerialASCIIModbusRequest | TCPModbusRequest) None

Write adu encoded using the interface.

Parameters:

adu – a serializable adu

write_coil(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a single coil using Modbus function code 5.

Parameters:
  • reference – the register reference.

  • value – the value to be written.

write_coil_bitfield(reference: int, value: int, length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bitfield to coil memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

  • length – the length of the value

write_coil_bitfield_list(reference: int, values: List[int], length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bitfields to coil memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

  • length – the length of the value

write_coil_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write data to coils using Modbus function code 15.

Parameters:
  • reference – the coil reference.

  • data – the type or instance or the decoder for the data

write_coil_flag(reference: int, value: bool) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bit to coil memory.

Parameters:
  • reference – the reference to write to

  • value – the bool value to be written

write_coil_flag_list(reference: int, values: List[bool]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bits to coil memory.

Parameters:
  • reference – the reference to write to

  • values – a list of bool values to be written

write_coil_nibble(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a nibble to coil memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_coil_nibble_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of nibbles to coil memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_extended_memory(memory_number: int, record_number: int, records: List[int]) None

Write extended memory using Modbus function code 21.

Parameters:
  • memory_number – the memory number (0x0001 to 0xffff)

  • record_number – the record to write to

  • records – the records to be written

write_holding_register(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write single holding register using Modbus function code 6.

Parameters:
  • reference – the register reference.

  • value – the value to be written into the corresponding register.

write_holding_register_bdouble(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a double to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_bdouble_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of doubles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_bfloat(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a float to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_bfloat_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of floats to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_bitfield(reference: int, value: int, length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bitfield to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

  • length – the length of the value

write_holding_register_bitfield_list(reference: int, values: List[int], length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bitfields to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

  • length – the length of the value

write_holding_register_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write data to holding registers using Modbus function code 16.

Parameters:
  • reference – the register reference.

  • data – the type or instance or the decoder for the data

write_holding_register_double21436587(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 21436587-endian double to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_double21436587_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 21436587-endian doubles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_double78563412(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 78563412-endian double to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_double78563412_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 78563412-endian doubles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_flag(reference: int, value: bool) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bit to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the bool value to be written

write_holding_register_flag_list(reference: int, values: List[bool]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bits to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of bool values to be written

write_holding_register_float2143(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 2143-endian float to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_float2143_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 2143-endian floats to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_float3412(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 3412-endian float to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_float3412_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 3412-endian floats to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_ldouble(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a double to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_ldouble_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of doubles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_lfloat(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a float to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_lfloat_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of floats to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_nibble(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a nibble to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_nibble_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of nibbles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sbint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 16-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sbint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 16-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sbint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sbint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sbint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sbint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sbint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 8-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sbint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 8-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sint2143(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 2143-endian 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sint21436587(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 21436587-endian 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sint21436587_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 21436587-endian 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sint2143_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 2143-endian 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sint3412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 3412-endian 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sint3412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 3412-endian 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sint78563412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 78563412-endian 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sint78563412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 78563412-endian 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_slint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 16-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_slint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 16-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_slint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_slint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_slint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_slint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_slint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 8-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_slint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 8-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_string(reference: int, value: bytes, length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a string to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the bytes value to be written

  • length – the length of the value

write_holding_register_string_list(reference: int, values: List[bytes], length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of strings to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of bytes values to be written

  • length – the length of the value

write_holding_register_ubint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 16-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ubint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 16-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ubint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ubint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ubint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ubint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ubint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 8-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ubint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 8-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_uint2143(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 2143-endian 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_uint21436587(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 21436587-endian 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_uint21436587_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 21436587-endian 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_uint2143_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 2143-endian 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_uint3412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 3412-endian 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_uint3412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 3412-endian 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_uint78563412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 78563412-endian 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_uint78563412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 78563412-endian 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ulint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 16-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ulint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 16-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ulint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ulint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ulint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ulint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ulint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 8-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ulint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 8-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_multiple_coils(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write multiple coils using Modbus function code 15.

Parameters:
  • reference – the register reference.

  • values – the values to be written.

write_multiple_holding_registers(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write multiple holding registers using Modbus function code 16.

Parameters:
  • reference – the register reference.

  • values – the values to be written.

TCP Client

class htf.modbus.ModbusTCPClient(address: str, port: int = 502, unit_identifier: int = 0, timeout: int | float = 1.0, retries: int | None = None, references_start_at_one: bool = True, transaction_identifier: int = 0, auto_disconnect: bool = False, request_parser: ~typing.Type[~htf.modbus.protocol.SerialRTUModbusRequest] | ~typing.Type[~htf.modbus.protocol.SerialASCIIModbusRequest] | ~typing.Type[~htf.modbus.protocol.TCPModbusRequest] = <class 'htf.modbus.protocol.TCPModbusRequest'>, response_parser: ~typing.Type[~htf.modbus.protocol.SerialRTUModbusResponse] | ~typing.Type[~htf.modbus.protocol.SerialASCIIModbusResponse] | ~typing.Type[~htf.modbus.protocol.TCPModbusResponse] = <class 'htf.modbus.protocol.TCPModbusResponse'>, debuglevel: int | None = None)
Parameters:
  • address – the ip address to connect to

  • port – the port to be used

  • unit_identifier – the unit identifier for Modbus TCP

  • timeout – the timeout in seconds

  • retries=None – the number of retries until an exception is raised

  • references_start_at_one=True – if set to True all references start at 1 else 0

  • transaction_identifier – the initial transaction identifier

  • auto_disconnect=False – if set to True the TCP connection is closed immediately and re-opened on next request

  • request_parser – a parser for requests

  • response_parser – a parser for responses

  • debuglevel – the debuglevel (None disables debug, 1 prints requests and responses and 2 prints introspection)

build_request() SerialRTUModbusRequest | SerialASCIIModbusRequest | TCPModbusRequest

Build and return an instance of the desired request parser.

Returns:

request parser

build_response() SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Build and return an instance of the desired response parser.

Returns:

response parser

close() None

Close the interface.

get_device_identification() Dict[int, bytes]

Query and return the device identification using Modbus function code 43.14.

Returns:

containing key values pairs with the device identifiers

get_fifo_queue_content(address: int) List[int]

Query and return the fifo content of address using Modbus function code 24.

Parameters:

address – the fifo queue pointer address

Returns:

list of content from the fifo queue at address

get_transaction_identifier() int

Create and return a new transaction identifer. Is thread-safe.

Returns:

the next transaction identifier

mask_holding_register(reference: int, and_mask: int, or_mask: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Mask write single holding register using Modbus function code 22.

Parameters:
  • reference – the register reference

  • and_mask – the and mask

  • or_mask – the or mask

mask_multiple_holding_registers(reference: int, quantity: int, and_mask: int, or_mask: int) None

Mask write multiple holding registers using Modbus function code 16.

Parameters:
  • reference – the register reference

  • quantity – the number of registers to be masked

  • and_mask – the and mask

  • or_mask – the or mask

query(adu: SerialRTUModbusRequest | SerialASCIIModbusRequest | TCPModbusRequest) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Query adu using the interface and return the decoded response.

Parameters:

adu – a serializable adu

Returns:

the decoded response if no exception occurred

Return type:

adu

Raises:

ModbusException – in case of an exception response

read() SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Read a message from the interface and decode it.

Returns:

the decoded adu as is

Return type:

adu

Raises:

Exception if no answer was received

read_coil(reference: int) int

Read a single coil using Modbus function code 1.

Parameters:

reference – the register reference.

Returns:

1 if the coil is set and 0 else.

read_coil_bitfield(reference: int, length: int) int

Read a bitfield from coil memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

int value read from reference

read_coil_bitfield_list(reference: int, quantity: int, length: int) List[int]

Read a list of bitfields from coil memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_coil_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) ByteStruct | ByteType

Read data from coils using Modbus function code 1.

Parameters:
  • reference – the coil reference

  • data – the type or instance or the decoder for the data

Returns:

instance of datatype containing the read data

read_coil_flag(reference: int) bool

Read a bit from coil memory.

Parameters:

reference – the reference to read from

Returns:

bool value read from reference

read_coil_flag_list(reference: int, quantity: int) List[bool]

Read a list of bits from coil memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of bool values read from reference

read_coil_nibble(reference: int) int

Read a nibble from coil memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_coil_nibble_list(reference: int, quantity: int) List[int]

Read a list of nibbles from coil memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_discrete_input(reference: int) int

Read single discrete input using Modbus function code 2.

Parameters:

reference – the register reference.

Returns:

1 if the discrete input is set and 0 else.

read_discrete_input_bitfield(reference: int, length: int) int

Read a bitfield from discrete input memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

int value read from reference

read_discrete_input_bitfield_list(reference: int, quantity: int, length: int) List[int]

Read a list of bitfields from discrete input memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_discrete_input_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) ByteStruct | ByteType

Read data from discrete inputs using Modbus function code 2.

Parameters:
  • reference – the discrete input reference

  • data – the type or instance or the decoder for the data

Returns:

instance of datatype containing the read data

read_discrete_input_flag(reference: int) bool

Read a bit from discrete input memory.

Parameters:

reference – the reference to read from

Returns:

bool value read from reference

read_discrete_input_flag_list(reference: int, quantity: int) List[bool]

Read a list of bits from discrete input memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of bool values read from reference

read_discrete_input_nibble(reference: int) int

Read a nibble from discrete input memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_discrete_input_nibble_list(reference: int, quantity: int) List[int]

Read a list of nibbles from discrete input memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_extended_memory(memory_number: int, record_number: int, record_length: int) List[int]

Query and return extended memory from device using Modbus function code 20.

Parameters:
  • memory_number – the memory number (0x0001 to 0xffff)

  • record_number – the record to start reading from

  • record_length – the length of records

Returns:

the read records

read_holding_register(reference: int) int

Read a single holding register using Modbus function code 3.

Parameters:

reference – the register reference.

Returns:

the holding register value

read_holding_register_bdouble(reference: int) float

Read a double from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_bdouble_list(reference: int, quantity: int) List[float]

Read a list of doubles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_bfloat(reference: int) float

Read a float from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_bfloat_list(reference: int, quantity: int) List[float]

Read a list of floats from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_bitfield(reference: int, length: int) int

Read a bitfield from holding register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

int value read from reference

read_holding_register_bitfield_list(reference: int, quantity: int, length: int) List[int]

Read a list of bitfields from holding register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) ByteStruct | ByteType

Read data from holding registers using Modbus function code 3.

Parameters:
  • reference – the register reference

  • data – the type or instance or the decoder for the data

Returns:

instance of datatype containing the read data

read_holding_register_double21436587(reference: int) float

Read a 21436587-endian double from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_double21436587_list(reference: int, quantity: int) List[float]

Read a list of 21436587-endian doubles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_double78563412(reference: int) float

Read a 78563412-endian double from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_double78563412_list(reference: int, quantity: int) List[float]

Read a list of 78563412-endian doubles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_flag(reference: int) bool

Read a bit from holding register memory.

Parameters:

reference – the reference to read from

Returns:

bool value read from reference

read_holding_register_flag_list(reference: int, quantity: int) List[bool]

Read a list of bits from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of bool values read from reference

read_holding_register_float2143(reference: int) float

Read a 2143-endian float from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_float2143_list(reference: int, quantity: int) List[float]

Read a list of 2143-endian floats from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_float3412(reference: int) float

Read a 3412-endian float from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_float3412_list(reference: int, quantity: int) List[float]

Read a list of 3412-endian floats from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_ldouble(reference: int) float

Read a double from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_ldouble_list(reference: int, quantity: int) List[float]

Read a list of doubles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_lfloat(reference: int) float

Read a float from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_lfloat_list(reference: int, quantity: int) List[float]

Read a list of floats from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_nibble(reference: int) int

Read a nibble from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_nibble_list(reference: int, quantity: int) List[int]

Read a list of nibbles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sbint16(reference: int) int

Read a signed 16-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sbint16_list(reference: int, quantity: int) List[int]

Read a list of signed 16-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sbint32(reference: int) int

Read a signed 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sbint32_list(reference: int, quantity: int) List[int]

Read a list of signed 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sbint64(reference: int) int

Read a signed 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sbint64_list(reference: int, quantity: int) List[int]

Read a list of signed 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sbint8(reference: int) int

Read a signed 8-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sbint8_list(reference: int, quantity: int) List[int]

Read a list of signed 8-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sint2143(reference: int) int

Read a signed 2143-endian 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sint21436587(reference: int) int

Read a signed 21436587-endian 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sint21436587_list(reference: int, quantity: int) List[int]

Read a list of signed 21436587-endian 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sint2143_list(reference: int, quantity: int) List[int]

Read a list of signed 2143-endian 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sint3412(reference: int) int

Read a signed 3412-endian 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sint3412_list(reference: int, quantity: int) List[int]

Read a list of signed 3412-endian 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sint78563412(reference: int) int

Read a signed 78563412-endian 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sint78563412_list(reference: int, quantity: int) List[int]

Read a list of signed 78563412-endian 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_slint16(reference: int) int

Read a signed 16-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_slint16_list(reference: int, quantity: int) List[int]

Read a list of signed 16-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_slint32(reference: int) int

Read a signed 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_slint32_list(reference: int, quantity: int) List[int]

Read a list of signed 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_slint64(reference: int) int

Read a signed 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_slint64_list(reference: int, quantity: int) List[int]

Read a list of signed 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_slint8(reference: int) int

Read a signed 8-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_slint8_list(reference: int, quantity: int) List[int]

Read a list of signed 8-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_string(reference: int, length: int) bytes

Read a string from holding register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

bytes value read from reference

read_holding_register_string_list(reference: int, quantity: int, length: int) List[bytes]

Read a list of strings from holding register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of bytes values read from reference

read_holding_register_ubint16(reference: int) int

Read an unsigned 16-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ubint16_list(reference: int, quantity: int) List[int]

Read a list of unsigned 16-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ubint32(reference: int) int

Read an unsigned 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ubint32_list(reference: int, quantity: int) List[int]

Read a list of unsigned 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ubint64(reference: int) int

Read an unsigned 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ubint64_list(reference: int, quantity: int) List[int]

Read a list of unsigned 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ubint8(reference: int) int

Read an unsigned 8-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ubint8_list(reference: int, quantity: int) List[int]

Read a list of unsigned 8-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_uint2143(reference: int) int

Read an unsigned 2143-endian 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_uint21436587(reference: int) int

Read an unsigned 21436587-endian 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_uint21436587_list(reference: int, quantity: int) List[int]

Read a list of unsigned 21436587-endian 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_uint2143_list(reference: int, quantity: int) List[int]

Read a list of unsigned 2143-endian 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_uint3412(reference: int) int

Read an unsigned 3412-endian 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_uint3412_list(reference: int, quantity: int) List[int]

Read a list of unsigned 3412-endian 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_uint78563412(reference: int) int

Read an unsigned 78563412-endian 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_uint78563412_list(reference: int, quantity: int) List[int]

Read a list of unsigned 78563412-endian 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ulint16(reference: int) int

Read an unsigned 16-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ulint16_list(reference: int, quantity: int) List[int]

Read a list of unsigned 16-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ulint32(reference: int) int

Read an unsigned 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ulint32_list(reference: int, quantity: int) List[int]

Read a list of unsigned 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ulint64(reference: int) int

Read an unsigned 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ulint64_list(reference: int, quantity: int) List[int]

Read a list of unsigned 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ulint8(reference: int) int

Read an unsigned 8-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ulint8_list(reference: int, quantity: int) List[int]

Read a list of unsigned 8-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register(reference: int) int

Read a single input register using Modbus function code 4.

Parameters:

reference – the register reference.

Returns:

the input register value

read_input_register_bdouble(reference: int) float

Read a double from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_bdouble_list(reference: int, quantity: int) List[float]

Read a list of doubles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_bfloat(reference: int) float

Read a float from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_bfloat_list(reference: int, quantity: int) List[float]

Read a list of floats from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_bitfield(reference: int, length: int) int

Read a bitfield from input register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

int value read from reference

read_input_register_bitfield_list(reference: int, quantity: int, length: int) List[int]

Read a list of bitfields from input register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) ByteStruct | ByteType

Read data from input registers using Modbus function code 4.

Parameters:
  • reference – the register reference

  • data – the type or instance or the decoder for the data

Returns:

instance of datatype containing the read data

read_input_register_double21436587(reference: int) float

Read a 21436587-endian double from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_double21436587_list(reference: int, quantity: int) List[float]

Read a list of 21436587-endian doubles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_double78563412(reference: int) float

Read a 78563412-endian double from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_double78563412_list(reference: int, quantity: int) List[float]

Read a list of 78563412-endian doubles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_flag(reference: int) bool

Read a bit from input register memory.

Parameters:

reference – the reference to read from

Returns:

bool value read from reference

read_input_register_flag_list(reference: int, quantity: int) List[bool]

Read a list of bits from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of bool values read from reference

read_input_register_float2143(reference: int) float

Read a 2143-endian float from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_float2143_list(reference: int, quantity: int) List[float]

Read a list of 2143-endian floats from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_float3412(reference: int) float

Read a 3412-endian float from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_float3412_list(reference: int, quantity: int) List[float]

Read a list of 3412-endian floats from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_ldouble(reference: int) float

Read a double from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_ldouble_list(reference: int, quantity: int) List[float]

Read a list of doubles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_lfloat(reference: int) float

Read a float from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_lfloat_list(reference: int, quantity: int) List[float]

Read a list of floats from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_nibble(reference: int) int

Read a nibble from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_nibble_list(reference: int, quantity: int) List[int]

Read a list of nibbles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sbint16(reference: int) int

Read a signed 16-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sbint16_list(reference: int, quantity: int) List[int]

Read a list of signed 16-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sbint32(reference: int) int

Read a signed 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sbint32_list(reference: int, quantity: int) List[int]

Read a list of signed 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sbint64(reference: int) int

Read a signed 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sbint64_list(reference: int, quantity: int) List[int]

Read a list of signed 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sbint8(reference: int) int

Read a signed 8-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sbint8_list(reference: int, quantity: int) List[int]

Read a list of signed 8-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sint2143(reference: int) int

Read a signed 2143-endian 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sint21436587(reference: int) int

Read a signed 21436587-endian 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sint21436587_list(reference: int, quantity: int) List[int]

Read a list of signed 21436587-endian 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sint2143_list(reference: int, quantity: int) List[int]

Read a list of signed 2143-endian 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sint3412(reference: int) int

Read a signed 3412-endian 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sint3412_list(reference: int, quantity: int) List[int]

Read a list of signed 3412-endian 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sint78563412(reference: int) int

Read a signed 78563412-endian 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sint78563412_list(reference: int, quantity: int) List[int]

Read a list of signed 78563412-endian 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_slint16(reference: int) int

Read a signed 16-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_slint16_list(reference: int, quantity: int) List[int]

Read a list of signed 16-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_slint32(reference: int) int

Read a signed 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_slint32_list(reference: int, quantity: int) List[int]

Read a list of signed 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_slint64(reference: int) int

Read a signed 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_slint64_list(reference: int, quantity: int) List[int]

Read a list of signed 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_slint8(reference: int) int

Read a signed 8-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_slint8_list(reference: int, quantity: int) List[int]

Read a list of signed 8-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_string(reference: int, length: int) bytes

Read a string from input register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

bytes value read from reference

read_input_register_string_list(reference: int, quantity: int, length: int) List[bytes]

Read a list of strings from input register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of bytes values read from reference

read_input_register_ubint16(reference: int) int

Read an unsigned 16-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ubint16_list(reference: int, quantity: int) List[int]

Read a list of unsigned 16-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ubint32(reference: int) int

Read an unsigned 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ubint32_list(reference: int, quantity: int) List[int]

Read a list of unsigned 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ubint64(reference: int) int

Read an unsigned 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ubint64_list(reference: int, quantity: int) List[int]

Read a list of unsigned 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ubint8(reference: int) int

Read an unsigned 8-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ubint8_list(reference: int, quantity: int) List[int]

Read a list of unsigned 8-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_uint2143(reference: int) int

Read an unsigned 2143-endian 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_uint21436587(reference: int) int

Read an unsigned 21436587-endian 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_uint21436587_list(reference: int, quantity: int) List[int]

Read a list of unsigned 21436587-endian 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_uint2143_list(reference: int, quantity: int) List[int]

Read a list of unsigned 2143-endian 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_uint3412(reference: int) int

Read an unsigned 3412-endian 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_uint3412_list(reference: int, quantity: int) List[int]

Read a list of unsigned 3412-endian 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_uint78563412(reference: int) int

Read an unsigned 78563412-endian 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_uint78563412_list(reference: int, quantity: int) List[int]

Read a list of unsigned 78563412-endian 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ulint16(reference: int) int

Read an unsigned 16-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ulint16_list(reference: int, quantity: int) List[int]

Read a list of unsigned 16-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ulint32(reference: int) int

Read an unsigned 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ulint32_list(reference: int, quantity: int) List[int]

Read a list of unsigned 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ulint64(reference: int) int

Read an unsigned 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ulint64_list(reference: int, quantity: int) List[int]

Read a list of unsigned 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ulint8(reference: int) int

Read an unsigned 8-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ulint8_list(reference: int, quantity: int) List[int]

Read a list of unsigned 8-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_multiple_coils(reference: int, quantity: int) List[int]

Read multiple coils using Modbus function code 1.

Parameters:
  • reference – the register reference.

  • quantity – the number of coils to be read.

Returns:

a list of coil states where each element is 1 if the corresponding coil is set and 0 else.

read_multiple_discrete_inputs(reference: int, quantity: int) List[int]

Read multiple discrete inputs using Modbus function code 2.

Parameters:
  • reference – the register reference.

  • quantity – the number of discrete inputs to be read.

Returns:

a list of discrete inputs where each element is 1 if the corresponding discrete input is set and 0 else.

read_multiple_holding_registers(reference: int, quantity: int) List[int]

Read multiple holding registers using Modbus function code 3.

Parameters:
  • reference – the register reference.

  • quantity – the number of registers to be read.

Returns:

the holding register values

read_multiple_input_registers(reference: int, quantity: int) List[int]

Read multiple input registers using Modbus function code 4.

Parameters:
  • reference – the register reference.

  • quantity – the number of registers to be read.

Returns:

the input register values

read_write_multiple_holding_registers(read_reference: int, read_quantity: int, write_reference: int, write_values: List[int]) List[int]

Read/Write multiple holding registers using Modbus function code 23.

Parameters:
  • read_reference – the register reference to read from.

  • read_quantity – the number of registers to read.

  • write_reference – the register reference to to write to.

  • write_values – the values to be written.

Returns:

the read registers

reconnect() None

Reconnect socket.

write(adu: SerialRTUModbusRequest | SerialASCIIModbusRequest | TCPModbusRequest, auto_length: bool = True) None

Write adu encoded using the interface. The transaction identifier is set automatically. The unit identifier is put into the adu automatically, too.

Parameters:
  • adu – a serializable adu

  • auto_length=True – if set to True the length is calculated automatically

write_coil(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a single coil using Modbus function code 5.

Parameters:
  • reference – the register reference.

  • value – the value to be written.

write_coil_bitfield(reference: int, value: int, length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bitfield to coil memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

  • length – the length of the value

write_coil_bitfield_list(reference: int, values: List[int], length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bitfields to coil memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

  • length – the length of the value

write_coil_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write data to coils using Modbus function code 15.

Parameters:
  • reference – the coil reference.

  • data – the type or instance or the decoder for the data

write_coil_flag(reference: int, value: bool) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bit to coil memory.

Parameters:
  • reference – the reference to write to

  • value – the bool value to be written

write_coil_flag_list(reference: int, values: List[bool]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bits to coil memory.

Parameters:
  • reference – the reference to write to

  • values – a list of bool values to be written

write_coil_nibble(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a nibble to coil memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_coil_nibble_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of nibbles to coil memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_extended_memory(memory_number: int, record_number: int, records: List[int]) None

Write extended memory using Modbus function code 21.

Parameters:
  • memory_number – the memory number (0x0001 to 0xffff)

  • record_number – the record to write to

  • records – the records to be written

write_holding_register(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write single holding register using Modbus function code 6.

Parameters:
  • reference – the register reference.

  • value – the value to be written into the corresponding register.

write_holding_register_bdouble(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a double to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_bdouble_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of doubles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_bfloat(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a float to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_bfloat_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of floats to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_bitfield(reference: int, value: int, length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bitfield to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

  • length – the length of the value

write_holding_register_bitfield_list(reference: int, values: List[int], length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bitfields to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

  • length – the length of the value

write_holding_register_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write data to holding registers using Modbus function code 16.

Parameters:
  • reference – the register reference.

  • data – the type or instance or the decoder for the data

write_holding_register_double21436587(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 21436587-endian double to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_double21436587_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 21436587-endian doubles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_double78563412(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 78563412-endian double to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_double78563412_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 78563412-endian doubles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_flag(reference: int, value: bool) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bit to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the bool value to be written

write_holding_register_flag_list(reference: int, values: List[bool]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bits to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of bool values to be written

write_holding_register_float2143(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 2143-endian float to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_float2143_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 2143-endian floats to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_float3412(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 3412-endian float to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_float3412_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 3412-endian floats to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_ldouble(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a double to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_ldouble_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of doubles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_lfloat(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a float to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_lfloat_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of floats to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_nibble(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a nibble to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_nibble_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of nibbles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sbint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 16-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sbint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 16-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sbint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sbint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sbint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sbint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sbint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 8-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sbint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 8-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sint2143(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 2143-endian 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sint21436587(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 21436587-endian 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sint21436587_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 21436587-endian 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sint2143_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 2143-endian 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sint3412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 3412-endian 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sint3412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 3412-endian 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sint78563412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 78563412-endian 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sint78563412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 78563412-endian 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_slint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 16-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_slint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 16-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_slint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_slint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_slint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_slint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_slint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 8-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_slint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 8-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_string(reference: int, value: bytes, length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a string to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the bytes value to be written

  • length – the length of the value

write_holding_register_string_list(reference: int, values: List[bytes], length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of strings to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of bytes values to be written

  • length – the length of the value

write_holding_register_ubint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 16-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ubint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 16-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ubint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ubint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ubint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ubint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ubint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 8-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ubint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 8-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_uint2143(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 2143-endian 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_uint21436587(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 21436587-endian 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_uint21436587_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 21436587-endian 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_uint2143_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 2143-endian 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_uint3412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 3412-endian 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_uint3412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 3412-endian 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_uint78563412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 78563412-endian 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_uint78563412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 78563412-endian 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ulint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 16-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ulint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 16-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ulint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ulint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ulint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ulint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ulint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 8-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ulint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 8-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_multiple_coils(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write multiple coils using Modbus function code 15.

Parameters:
  • reference – the register reference.

  • values – the values to be written.

write_multiple_holding_registers(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write multiple holding registers using Modbus function code 16.

Parameters:
  • reference – the register reference.

  • values – the values to be written.

TLS Client

class htf.modbus.ModbusTLSClient(address: str, port: int = 502, unit_identifier: int = 0, timeout: int | float = 1.0, retries: int | None = None, references_start_at_one: bool = True, transaction_identifier: int = 0, auto_disconnect: bool = False, verify: bool = True, cafile: str | None = None, capath: str | None = None, cadata: str | None = None, request_parser: ~typing.Type[~htf.modbus.protocol.SerialRTUModbusRequest] | ~typing.Type[~htf.modbus.protocol.SerialASCIIModbusRequest] | ~typing.Type[~htf.modbus.protocol.TCPModbusRequest] = <class 'htf.modbus.protocol.TCPModbusRequest'>, response_parser: ~typing.Type[~htf.modbus.protocol.SerialRTUModbusResponse] | ~typing.Type[~htf.modbus.protocol.SerialASCIIModbusResponse] | ~typing.Type[~htf.modbus.protocol.TCPModbusResponse] = <class 'htf.modbus.protocol.TCPModbusResponse'>, debuglevel: int | None = None)
Parameters:
  • address – the ip address to connect to

  • port – the port to be used

  • unit_identifier – the unit identifier for Modbus TCP

  • timeout – the timeout in seconds

  • retries=None – the number of retries until an exception is raised

  • references_start_at_one=True – if set to True all references start at 1 else 0

  • transaction_identifier – the initial transaction identifier

  • auto_disconnect=False – if set to True the TCP connection is closed immediately and re-opened on next request

  • cafile – path to a file of concatenated CA certificates in PEM format

  • capath – path to a directory containing several CA certificates in PEM format

  • cadata – either an ASCII string of one or more PEM-encoded certificates or a bytes-like object of DER-encoded certificates

  • request_parser – a parser for requests

  • response_parser – a parser for responses

  • debuglevel – the debuglevel (None disables debug, 1 prints requests and responses and 2 prints introspection)

build_request() SerialRTUModbusRequest | SerialASCIIModbusRequest | TCPModbusRequest

Build and return an instance of the desired request parser.

Returns:

request parser

build_response() SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Build and return an instance of the desired response parser.

Returns:

response parser

close() None

Close the interface.

get_device_identification() Dict[int, bytes]

Query and return the device identification using Modbus function code 43.14.

Returns:

containing key values pairs with the device identifiers

get_fifo_queue_content(address: int) List[int]

Query and return the fifo content of address using Modbus function code 24.

Parameters:

address – the fifo queue pointer address

Returns:

list of content from the fifo queue at address

get_transaction_identifier() int

Create and return a new transaction identifer. Is thread-safe.

Returns:

the next transaction identifier

mask_holding_register(reference: int, and_mask: int, or_mask: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Mask write single holding register using Modbus function code 22.

Parameters:
  • reference – the register reference

  • and_mask – the and mask

  • or_mask – the or mask

mask_multiple_holding_registers(reference: int, quantity: int, and_mask: int, or_mask: int) None

Mask write multiple holding registers using Modbus function code 16.

Parameters:
  • reference – the register reference

  • quantity – the number of registers to be masked

  • and_mask – the and mask

  • or_mask – the or mask

query(adu: SerialRTUModbusRequest | SerialASCIIModbusRequest | TCPModbusRequest) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Query adu using the interface and return the decoded response.

Parameters:

adu – a serializable adu

Returns:

the decoded response if no exception occurred

Return type:

adu

Raises:

ModbusException – in case of an exception response

read() SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Read a message from the interface and decode it.

Returns:

the decoded adu as is

Return type:

adu

Raises:

Exception if no answer was received

read_coil(reference: int) int

Read a single coil using Modbus function code 1.

Parameters:

reference – the register reference.

Returns:

1 if the coil is set and 0 else.

read_coil_bitfield(reference: int, length: int) int

Read a bitfield from coil memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

int value read from reference

read_coil_bitfield_list(reference: int, quantity: int, length: int) List[int]

Read a list of bitfields from coil memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_coil_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) ByteStruct | ByteType

Read data from coils using Modbus function code 1.

Parameters:
  • reference – the coil reference

  • data – the type or instance or the decoder for the data

Returns:

instance of datatype containing the read data

read_coil_flag(reference: int) bool

Read a bit from coil memory.

Parameters:

reference – the reference to read from

Returns:

bool value read from reference

read_coil_flag_list(reference: int, quantity: int) List[bool]

Read a list of bits from coil memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of bool values read from reference

read_coil_nibble(reference: int) int

Read a nibble from coil memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_coil_nibble_list(reference: int, quantity: int) List[int]

Read a list of nibbles from coil memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_discrete_input(reference: int) int

Read single discrete input using Modbus function code 2.

Parameters:

reference – the register reference.

Returns:

1 if the discrete input is set and 0 else.

read_discrete_input_bitfield(reference: int, length: int) int

Read a bitfield from discrete input memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

int value read from reference

read_discrete_input_bitfield_list(reference: int, quantity: int, length: int) List[int]

Read a list of bitfields from discrete input memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_discrete_input_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) ByteStruct | ByteType

Read data from discrete inputs using Modbus function code 2.

Parameters:
  • reference – the discrete input reference

  • data – the type or instance or the decoder for the data

Returns:

instance of datatype containing the read data

read_discrete_input_flag(reference: int) bool

Read a bit from discrete input memory.

Parameters:

reference – the reference to read from

Returns:

bool value read from reference

read_discrete_input_flag_list(reference: int, quantity: int) List[bool]

Read a list of bits from discrete input memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of bool values read from reference

read_discrete_input_nibble(reference: int) int

Read a nibble from discrete input memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_discrete_input_nibble_list(reference: int, quantity: int) List[int]

Read a list of nibbles from discrete input memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_extended_memory(memory_number: int, record_number: int, record_length: int) List[int]

Query and return extended memory from device using Modbus function code 20.

Parameters:
  • memory_number – the memory number (0x0001 to 0xffff)

  • record_number – the record to start reading from

  • record_length – the length of records

Returns:

the read records

read_holding_register(reference: int) int

Read a single holding register using Modbus function code 3.

Parameters:

reference – the register reference.

Returns:

the holding register value

read_holding_register_bdouble(reference: int) float

Read a double from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_bdouble_list(reference: int, quantity: int) List[float]

Read a list of doubles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_bfloat(reference: int) float

Read a float from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_bfloat_list(reference: int, quantity: int) List[float]

Read a list of floats from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_bitfield(reference: int, length: int) int

Read a bitfield from holding register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

int value read from reference

read_holding_register_bitfield_list(reference: int, quantity: int, length: int) List[int]

Read a list of bitfields from holding register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) ByteStruct | ByteType

Read data from holding registers using Modbus function code 3.

Parameters:
  • reference – the register reference

  • data – the type or instance or the decoder for the data

Returns:

instance of datatype containing the read data

read_holding_register_double21436587(reference: int) float

Read a 21436587-endian double from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_double21436587_list(reference: int, quantity: int) List[float]

Read a list of 21436587-endian doubles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_double78563412(reference: int) float

Read a 78563412-endian double from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_double78563412_list(reference: int, quantity: int) List[float]

Read a list of 78563412-endian doubles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_flag(reference: int) bool

Read a bit from holding register memory.

Parameters:

reference – the reference to read from

Returns:

bool value read from reference

read_holding_register_flag_list(reference: int, quantity: int) List[bool]

Read a list of bits from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of bool values read from reference

read_holding_register_float2143(reference: int) float

Read a 2143-endian float from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_float2143_list(reference: int, quantity: int) List[float]

Read a list of 2143-endian floats from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_float3412(reference: int) float

Read a 3412-endian float from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_float3412_list(reference: int, quantity: int) List[float]

Read a list of 3412-endian floats from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_ldouble(reference: int) float

Read a double from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_ldouble_list(reference: int, quantity: int) List[float]

Read a list of doubles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_lfloat(reference: int) float

Read a float from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_lfloat_list(reference: int, quantity: int) List[float]

Read a list of floats from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_nibble(reference: int) int

Read a nibble from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_nibble_list(reference: int, quantity: int) List[int]

Read a list of nibbles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sbint16(reference: int) int

Read a signed 16-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sbint16_list(reference: int, quantity: int) List[int]

Read a list of signed 16-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sbint32(reference: int) int

Read a signed 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sbint32_list(reference: int, quantity: int) List[int]

Read a list of signed 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sbint64(reference: int) int

Read a signed 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sbint64_list(reference: int, quantity: int) List[int]

Read a list of signed 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sbint8(reference: int) int

Read a signed 8-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sbint8_list(reference: int, quantity: int) List[int]

Read a list of signed 8-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sint2143(reference: int) int

Read a signed 2143-endian 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sint21436587(reference: int) int

Read a signed 21436587-endian 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sint21436587_list(reference: int, quantity: int) List[int]

Read a list of signed 21436587-endian 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sint2143_list(reference: int, quantity: int) List[int]

Read a list of signed 2143-endian 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sint3412(reference: int) int

Read a signed 3412-endian 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sint3412_list(reference: int, quantity: int) List[int]

Read a list of signed 3412-endian 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sint78563412(reference: int) int

Read a signed 78563412-endian 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sint78563412_list(reference: int, quantity: int) List[int]

Read a list of signed 78563412-endian 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_slint16(reference: int) int

Read a signed 16-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_slint16_list(reference: int, quantity: int) List[int]

Read a list of signed 16-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_slint32(reference: int) int

Read a signed 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_slint32_list(reference: int, quantity: int) List[int]

Read a list of signed 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_slint64(reference: int) int

Read a signed 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_slint64_list(reference: int, quantity: int) List[int]

Read a list of signed 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_slint8(reference: int) int

Read a signed 8-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_slint8_list(reference: int, quantity: int) List[int]

Read a list of signed 8-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_string(reference: int, length: int) bytes

Read a string from holding register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

bytes value read from reference

read_holding_register_string_list(reference: int, quantity: int, length: int) List[bytes]

Read a list of strings from holding register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of bytes values read from reference

read_holding_register_ubint16(reference: int) int

Read an unsigned 16-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ubint16_list(reference: int, quantity: int) List[int]

Read a list of unsigned 16-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ubint32(reference: int) int

Read an unsigned 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ubint32_list(reference: int, quantity: int) List[int]

Read a list of unsigned 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ubint64(reference: int) int

Read an unsigned 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ubint64_list(reference: int, quantity: int) List[int]

Read a list of unsigned 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ubint8(reference: int) int

Read an unsigned 8-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ubint8_list(reference: int, quantity: int) List[int]

Read a list of unsigned 8-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_uint2143(reference: int) int

Read an unsigned 2143-endian 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_uint21436587(reference: int) int

Read an unsigned 21436587-endian 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_uint21436587_list(reference: int, quantity: int) List[int]

Read a list of unsigned 21436587-endian 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_uint2143_list(reference: int, quantity: int) List[int]

Read a list of unsigned 2143-endian 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_uint3412(reference: int) int

Read an unsigned 3412-endian 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_uint3412_list(reference: int, quantity: int) List[int]

Read a list of unsigned 3412-endian 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_uint78563412(reference: int) int

Read an unsigned 78563412-endian 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_uint78563412_list(reference: int, quantity: int) List[int]

Read a list of unsigned 78563412-endian 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ulint16(reference: int) int

Read an unsigned 16-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ulint16_list(reference: int, quantity: int) List[int]

Read a list of unsigned 16-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ulint32(reference: int) int

Read an unsigned 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ulint32_list(reference: int, quantity: int) List[int]

Read a list of unsigned 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ulint64(reference: int) int

Read an unsigned 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ulint64_list(reference: int, quantity: int) List[int]

Read a list of unsigned 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ulint8(reference: int) int

Read an unsigned 8-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ulint8_list(reference: int, quantity: int) List[int]

Read a list of unsigned 8-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register(reference: int) int

Read a single input register using Modbus function code 4.

Parameters:

reference – the register reference.

Returns:

the input register value

read_input_register_bdouble(reference: int) float

Read a double from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_bdouble_list(reference: int, quantity: int) List[float]

Read a list of doubles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_bfloat(reference: int) float

Read a float from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_bfloat_list(reference: int, quantity: int) List[float]

Read a list of floats from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_bitfield(reference: int, length: int) int

Read a bitfield from input register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

int value read from reference

read_input_register_bitfield_list(reference: int, quantity: int, length: int) List[int]

Read a list of bitfields from input register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) ByteStruct | ByteType

Read data from input registers using Modbus function code 4.

Parameters:
  • reference – the register reference

  • data – the type or instance or the decoder for the data

Returns:

instance of datatype containing the read data

read_input_register_double21436587(reference: int) float

Read a 21436587-endian double from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_double21436587_list(reference: int, quantity: int) List[float]

Read a list of 21436587-endian doubles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_double78563412(reference: int) float

Read a 78563412-endian double from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_double78563412_list(reference: int, quantity: int) List[float]

Read a list of 78563412-endian doubles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_flag(reference: int) bool

Read a bit from input register memory.

Parameters:

reference – the reference to read from

Returns:

bool value read from reference

read_input_register_flag_list(reference: int, quantity: int) List[bool]

Read a list of bits from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of bool values read from reference

read_input_register_float2143(reference: int) float

Read a 2143-endian float from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_float2143_list(reference: int, quantity: int) List[float]

Read a list of 2143-endian floats from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_float3412(reference: int) float

Read a 3412-endian float from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_float3412_list(reference: int, quantity: int) List[float]

Read a list of 3412-endian floats from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_ldouble(reference: int) float

Read a double from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_ldouble_list(reference: int, quantity: int) List[float]

Read a list of doubles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_lfloat(reference: int) float

Read a float from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_lfloat_list(reference: int, quantity: int) List[float]

Read a list of floats from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_nibble(reference: int) int

Read a nibble from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_nibble_list(reference: int, quantity: int) List[int]

Read a list of nibbles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sbint16(reference: int) int

Read a signed 16-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sbint16_list(reference: int, quantity: int) List[int]

Read a list of signed 16-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sbint32(reference: int) int

Read a signed 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sbint32_list(reference: int, quantity: int) List[int]

Read a list of signed 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sbint64(reference: int) int

Read a signed 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sbint64_list(reference: int, quantity: int) List[int]

Read a list of signed 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sbint8(reference: int) int

Read a signed 8-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sbint8_list(reference: int, quantity: int) List[int]

Read a list of signed 8-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sint2143(reference: int) int

Read a signed 2143-endian 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sint21436587(reference: int) int

Read a signed 21436587-endian 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sint21436587_list(reference: int, quantity: int) List[int]

Read a list of signed 21436587-endian 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sint2143_list(reference: int, quantity: int) List[int]

Read a list of signed 2143-endian 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sint3412(reference: int) int

Read a signed 3412-endian 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sint3412_list(reference: int, quantity: int) List[int]

Read a list of signed 3412-endian 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sint78563412(reference: int) int

Read a signed 78563412-endian 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sint78563412_list(reference: int, quantity: int) List[int]

Read a list of signed 78563412-endian 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_slint16(reference: int) int

Read a signed 16-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_slint16_list(reference: int, quantity: int) List[int]

Read a list of signed 16-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_slint32(reference: int) int

Read a signed 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_slint32_list(reference: int, quantity: int) List[int]

Read a list of signed 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_slint64(reference: int) int

Read a signed 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_slint64_list(reference: int, quantity: int) List[int]

Read a list of signed 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_slint8(reference: int) int

Read a signed 8-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_slint8_list(reference: int, quantity: int) List[int]

Read a list of signed 8-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_string(reference: int, length: int) bytes

Read a string from input register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

bytes value read from reference

read_input_register_string_list(reference: int, quantity: int, length: int) List[bytes]

Read a list of strings from input register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of bytes values read from reference

read_input_register_ubint16(reference: int) int

Read an unsigned 16-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ubint16_list(reference: int, quantity: int) List[int]

Read a list of unsigned 16-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ubint32(reference: int) int

Read an unsigned 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ubint32_list(reference: int, quantity: int) List[int]

Read a list of unsigned 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ubint64(reference: int) int

Read an unsigned 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ubint64_list(reference: int, quantity: int) List[int]

Read a list of unsigned 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ubint8(reference: int) int

Read an unsigned 8-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ubint8_list(reference: int, quantity: int) List[int]

Read a list of unsigned 8-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_uint2143(reference: int) int

Read an unsigned 2143-endian 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_uint21436587(reference: int) int

Read an unsigned 21436587-endian 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_uint21436587_list(reference: int, quantity: int) List[int]

Read a list of unsigned 21436587-endian 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_uint2143_list(reference: int, quantity: int) List[int]

Read a list of unsigned 2143-endian 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_uint3412(reference: int) int

Read an unsigned 3412-endian 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_uint3412_list(reference: int, quantity: int) List[int]

Read a list of unsigned 3412-endian 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_uint78563412(reference: int) int

Read an unsigned 78563412-endian 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_uint78563412_list(reference: int, quantity: int) List[int]

Read a list of unsigned 78563412-endian 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ulint16(reference: int) int

Read an unsigned 16-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ulint16_list(reference: int, quantity: int) List[int]

Read a list of unsigned 16-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ulint32(reference: int) int

Read an unsigned 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ulint32_list(reference: int, quantity: int) List[int]

Read a list of unsigned 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ulint64(reference: int) int

Read an unsigned 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ulint64_list(reference: int, quantity: int) List[int]

Read a list of unsigned 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ulint8(reference: int) int

Read an unsigned 8-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ulint8_list(reference: int, quantity: int) List[int]

Read a list of unsigned 8-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_multiple_coils(reference: int, quantity: int) List[int]

Read multiple coils using Modbus function code 1.

Parameters:
  • reference – the register reference.

  • quantity – the number of coils to be read.

Returns:

a list of coil states where each element is 1 if the corresponding coil is set and 0 else.

read_multiple_discrete_inputs(reference: int, quantity: int) List[int]

Read multiple discrete inputs using Modbus function code 2.

Parameters:
  • reference – the register reference.

  • quantity – the number of discrete inputs to be read.

Returns:

a list of discrete inputs where each element is 1 if the corresponding discrete input is set and 0 else.

read_multiple_holding_registers(reference: int, quantity: int) List[int]

Read multiple holding registers using Modbus function code 3.

Parameters:
  • reference – the register reference.

  • quantity – the number of registers to be read.

Returns:

the holding register values

read_multiple_input_registers(reference: int, quantity: int) List[int]

Read multiple input registers using Modbus function code 4.

Parameters:
  • reference – the register reference.

  • quantity – the number of registers to be read.

Returns:

the input register values

read_write_multiple_holding_registers(read_reference: int, read_quantity: int, write_reference: int, write_values: List[int]) List[int]

Read/Write multiple holding registers using Modbus function code 23.

Parameters:
  • read_reference – the register reference to read from.

  • read_quantity – the number of registers to read.

  • write_reference – the register reference to to write to.

  • write_values – the values to be written.

Returns:

the read registers

reconnect() None

Reconnect socket.

write(adu: SerialRTUModbusRequest | SerialASCIIModbusRequest | TCPModbusRequest, auto_length: bool = True) None

Write adu encoded using the interface. The transaction identifier is set automatically. The unit identifier is put into the adu automatically, too.

Parameters:
  • adu – a serializable adu

  • auto_length=True – if set to True the length is calculated automatically

write_coil(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a single coil using Modbus function code 5.

Parameters:
  • reference – the register reference.

  • value – the value to be written.

write_coil_bitfield(reference: int, value: int, length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bitfield to coil memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

  • length – the length of the value

write_coil_bitfield_list(reference: int, values: List[int], length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bitfields to coil memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

  • length – the length of the value

write_coil_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write data to coils using Modbus function code 15.

Parameters:
  • reference – the coil reference.

  • data – the type or instance or the decoder for the data

write_coil_flag(reference: int, value: bool) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bit to coil memory.

Parameters:
  • reference – the reference to write to

  • value – the bool value to be written

write_coil_flag_list(reference: int, values: List[bool]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bits to coil memory.

Parameters:
  • reference – the reference to write to

  • values – a list of bool values to be written

write_coil_nibble(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a nibble to coil memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_coil_nibble_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of nibbles to coil memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_extended_memory(memory_number: int, record_number: int, records: List[int]) None

Write extended memory using Modbus function code 21.

Parameters:
  • memory_number – the memory number (0x0001 to 0xffff)

  • record_number – the record to write to

  • records – the records to be written

write_holding_register(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write single holding register using Modbus function code 6.

Parameters:
  • reference – the register reference.

  • value – the value to be written into the corresponding register.

write_holding_register_bdouble(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a double to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_bdouble_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of doubles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_bfloat(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a float to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_bfloat_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of floats to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_bitfield(reference: int, value: int, length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bitfield to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

  • length – the length of the value

write_holding_register_bitfield_list(reference: int, values: List[int], length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bitfields to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

  • length – the length of the value

write_holding_register_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write data to holding registers using Modbus function code 16.

Parameters:
  • reference – the register reference.

  • data – the type or instance or the decoder for the data

write_holding_register_double21436587(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 21436587-endian double to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_double21436587_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 21436587-endian doubles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_double78563412(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 78563412-endian double to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_double78563412_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 78563412-endian doubles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_flag(reference: int, value: bool) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bit to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the bool value to be written

write_holding_register_flag_list(reference: int, values: List[bool]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bits to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of bool values to be written

write_holding_register_float2143(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 2143-endian float to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_float2143_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 2143-endian floats to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_float3412(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 3412-endian float to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_float3412_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 3412-endian floats to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_ldouble(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a double to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_ldouble_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of doubles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_lfloat(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a float to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_lfloat_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of floats to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_nibble(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a nibble to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_nibble_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of nibbles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sbint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 16-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sbint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 16-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sbint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sbint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sbint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sbint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sbint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 8-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sbint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 8-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sint2143(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 2143-endian 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sint21436587(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 21436587-endian 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sint21436587_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 21436587-endian 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sint2143_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 2143-endian 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sint3412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 3412-endian 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sint3412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 3412-endian 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sint78563412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 78563412-endian 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sint78563412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 78563412-endian 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_slint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 16-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_slint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 16-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_slint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_slint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_slint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_slint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_slint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 8-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_slint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 8-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_string(reference: int, value: bytes, length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a string to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the bytes value to be written

  • length – the length of the value

write_holding_register_string_list(reference: int, values: List[bytes], length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of strings to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of bytes values to be written

  • length – the length of the value

write_holding_register_ubint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 16-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ubint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 16-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ubint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ubint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ubint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ubint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ubint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 8-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ubint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 8-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_uint2143(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 2143-endian 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_uint21436587(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 21436587-endian 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_uint21436587_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 21436587-endian 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_uint2143_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 2143-endian 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_uint3412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 3412-endian 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_uint3412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 3412-endian 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_uint78563412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 78563412-endian 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_uint78563412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 78563412-endian 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ulint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 16-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ulint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 16-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ulint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ulint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ulint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ulint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ulint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 8-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ulint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 8-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_multiple_coils(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write multiple coils using Modbus function code 15.

Parameters:
  • reference – the register reference.

  • values – the values to be written.

write_multiple_holding_registers(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write multiple holding registers using Modbus function code 16.

Parameters:
  • reference – the register reference.

  • values – the values to be written.

UDP Client

class htf.modbus.ModbusUDPClient(address: str, port: int = 502, unit_identifier: int = 0, timeout: int | float = 1.0, retries: int | None = None, references_start_at_one: bool = True, transaction_identifier: int = 0, request_parser: ~typing.Type[~htf.modbus.protocol.SerialRTUModbusRequest] | ~typing.Type[~htf.modbus.protocol.SerialASCIIModbusRequest] | ~typing.Type[~htf.modbus.protocol.TCPModbusRequest] = <class 'htf.modbus.protocol.TCPModbusRequest'>, response_parser: ~typing.Type[~htf.modbus.protocol.SerialRTUModbusResponse] | ~typing.Type[~htf.modbus.protocol.SerialASCIIModbusResponse] | ~typing.Type[~htf.modbus.protocol.TCPModbusResponse] = <class 'htf.modbus.protocol.TCPModbusResponse'>, debuglevel: int | None = None)
Parameters:
  • address – the ip address to connect to

  • port – the port to be used

  • unit_identifier – the unit identifier for Modbus TCP

  • timeout – the timeout in seconds

  • retries=None – the number of retries until an exception is raised

  • references_start_at_one=True – if set to True all references start at 1 else 0

  • transaction_identifier – the initial transaction identifier

  • request_parser – a parser for requests

  • response_parser – a parser for responses

  • debuglevel – the debuglevel (None disables debug, 1 prints requests and responses and 2 prints introspection)

build_request() SerialRTUModbusRequest | SerialASCIIModbusRequest | TCPModbusRequest

Build and return an instance of the desired request parser.

Returns:

request parser

build_response() SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Build and return an instance of the desired response parser.

Returns:

response parser

close() None

Close the interface.

get_device_identification() Dict[int, bytes]

Query and return the device identification using Modbus function code 43.14.

Returns:

containing key values pairs with the device identifiers

get_fifo_queue_content(address: int) List[int]

Query and return the fifo content of address using Modbus function code 24.

Parameters:

address – the fifo queue pointer address

Returns:

list of content from the fifo queue at address

get_transaction_identifier() int

Create and return a new transaction identifer. Is thread-safe.

Returns:

the next transaction identifier

mask_holding_register(reference: int, and_mask: int, or_mask: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Mask write single holding register using Modbus function code 22.

Parameters:
  • reference – the register reference

  • and_mask – the and mask

  • or_mask – the or mask

mask_multiple_holding_registers(reference: int, quantity: int, and_mask: int, or_mask: int) None

Mask write multiple holding registers using Modbus function code 16.

Parameters:
  • reference – the register reference

  • quantity – the number of registers to be masked

  • and_mask – the and mask

  • or_mask – the or mask

query(adu: SerialRTUModbusRequest | SerialASCIIModbusRequest | TCPModbusRequest) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Query adu using the interface and return the decoded response.

Parameters:

adu – a serializable adu

Returns:

the decoded response if no exception occurred

Return type:

adu

Raises:

ModbusException – in case of an exception response

read() SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Read a message from the interface and decode it.

Returns:

the decoded adu as is

Return type:

adu

Raises:

Exception if no answer was received

read_coil(reference: int) int

Read a single coil using Modbus function code 1.

Parameters:

reference – the register reference.

Returns:

1 if the coil is set and 0 else.

read_coil_bitfield(reference: int, length: int) int

Read a bitfield from coil memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

int value read from reference

read_coil_bitfield_list(reference: int, quantity: int, length: int) List[int]

Read a list of bitfields from coil memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_coil_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) ByteStruct | ByteType

Read data from coils using Modbus function code 1.

Parameters:
  • reference – the coil reference

  • data – the type or instance or the decoder for the data

Returns:

instance of datatype containing the read data

read_coil_flag(reference: int) bool

Read a bit from coil memory.

Parameters:

reference – the reference to read from

Returns:

bool value read from reference

read_coil_flag_list(reference: int, quantity: int) List[bool]

Read a list of bits from coil memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of bool values read from reference

read_coil_nibble(reference: int) int

Read a nibble from coil memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_coil_nibble_list(reference: int, quantity: int) List[int]

Read a list of nibbles from coil memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_discrete_input(reference: int) int

Read single discrete input using Modbus function code 2.

Parameters:

reference – the register reference.

Returns:

1 if the discrete input is set and 0 else.

read_discrete_input_bitfield(reference: int, length: int) int

Read a bitfield from discrete input memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

int value read from reference

read_discrete_input_bitfield_list(reference: int, quantity: int, length: int) List[int]

Read a list of bitfields from discrete input memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_discrete_input_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) ByteStruct | ByteType

Read data from discrete inputs using Modbus function code 2.

Parameters:
  • reference – the discrete input reference

  • data – the type or instance or the decoder for the data

Returns:

instance of datatype containing the read data

read_discrete_input_flag(reference: int) bool

Read a bit from discrete input memory.

Parameters:

reference – the reference to read from

Returns:

bool value read from reference

read_discrete_input_flag_list(reference: int, quantity: int) List[bool]

Read a list of bits from discrete input memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of bool values read from reference

read_discrete_input_nibble(reference: int) int

Read a nibble from discrete input memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_discrete_input_nibble_list(reference: int, quantity: int) List[int]

Read a list of nibbles from discrete input memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_extended_memory(memory_number: int, record_number: int, record_length: int) List[int]

Query and return extended memory from device using Modbus function code 20.

Parameters:
  • memory_number – the memory number (0x0001 to 0xffff)

  • record_number – the record to start reading from

  • record_length – the length of records

Returns:

the read records

read_holding_register(reference: int) int

Read a single holding register using Modbus function code 3.

Parameters:

reference – the register reference.

Returns:

the holding register value

read_holding_register_bdouble(reference: int) float

Read a double from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_bdouble_list(reference: int, quantity: int) List[float]

Read a list of doubles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_bfloat(reference: int) float

Read a float from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_bfloat_list(reference: int, quantity: int) List[float]

Read a list of floats from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_bitfield(reference: int, length: int) int

Read a bitfield from holding register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

int value read from reference

read_holding_register_bitfield_list(reference: int, quantity: int, length: int) List[int]

Read a list of bitfields from holding register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) ByteStruct | ByteType

Read data from holding registers using Modbus function code 3.

Parameters:
  • reference – the register reference

  • data – the type or instance or the decoder for the data

Returns:

instance of datatype containing the read data

read_holding_register_double21436587(reference: int) float

Read a 21436587-endian double from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_double21436587_list(reference: int, quantity: int) List[float]

Read a list of 21436587-endian doubles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_double78563412(reference: int) float

Read a 78563412-endian double from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_double78563412_list(reference: int, quantity: int) List[float]

Read a list of 78563412-endian doubles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_flag(reference: int) bool

Read a bit from holding register memory.

Parameters:

reference – the reference to read from

Returns:

bool value read from reference

read_holding_register_flag_list(reference: int, quantity: int) List[bool]

Read a list of bits from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of bool values read from reference

read_holding_register_float2143(reference: int) float

Read a 2143-endian float from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_float2143_list(reference: int, quantity: int) List[float]

Read a list of 2143-endian floats from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_float3412(reference: int) float

Read a 3412-endian float from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_float3412_list(reference: int, quantity: int) List[float]

Read a list of 3412-endian floats from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_ldouble(reference: int) float

Read a double from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_ldouble_list(reference: int, quantity: int) List[float]

Read a list of doubles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_lfloat(reference: int) float

Read a float from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_lfloat_list(reference: int, quantity: int) List[float]

Read a list of floats from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_nibble(reference: int) int

Read a nibble from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_nibble_list(reference: int, quantity: int) List[int]

Read a list of nibbles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sbint16(reference: int) int

Read a signed 16-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sbint16_list(reference: int, quantity: int) List[int]

Read a list of signed 16-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sbint32(reference: int) int

Read a signed 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sbint32_list(reference: int, quantity: int) List[int]

Read a list of signed 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sbint64(reference: int) int

Read a signed 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sbint64_list(reference: int, quantity: int) List[int]

Read a list of signed 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sbint8(reference: int) int

Read a signed 8-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sbint8_list(reference: int, quantity: int) List[int]

Read a list of signed 8-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sint2143(reference: int) int

Read a signed 2143-endian 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sint21436587(reference: int) int

Read a signed 21436587-endian 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sint21436587_list(reference: int, quantity: int) List[int]

Read a list of signed 21436587-endian 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sint2143_list(reference: int, quantity: int) List[int]

Read a list of signed 2143-endian 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sint3412(reference: int) int

Read a signed 3412-endian 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sint3412_list(reference: int, quantity: int) List[int]

Read a list of signed 3412-endian 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sint78563412(reference: int) int

Read a signed 78563412-endian 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sint78563412_list(reference: int, quantity: int) List[int]

Read a list of signed 78563412-endian 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_slint16(reference: int) int

Read a signed 16-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_slint16_list(reference: int, quantity: int) List[int]

Read a list of signed 16-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_slint32(reference: int) int

Read a signed 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_slint32_list(reference: int, quantity: int) List[int]

Read a list of signed 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_slint64(reference: int) int

Read a signed 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_slint64_list(reference: int, quantity: int) List[int]

Read a list of signed 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_slint8(reference: int) int

Read a signed 8-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_slint8_list(reference: int, quantity: int) List[int]

Read a list of signed 8-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_string(reference: int, length: int) bytes

Read a string from holding register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

bytes value read from reference

read_holding_register_string_list(reference: int, quantity: int, length: int) List[bytes]

Read a list of strings from holding register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of bytes values read from reference

read_holding_register_ubint16(reference: int) int

Read an unsigned 16-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ubint16_list(reference: int, quantity: int) List[int]

Read a list of unsigned 16-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ubint32(reference: int) int

Read an unsigned 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ubint32_list(reference: int, quantity: int) List[int]

Read a list of unsigned 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ubint64(reference: int) int

Read an unsigned 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ubint64_list(reference: int, quantity: int) List[int]

Read a list of unsigned 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ubint8(reference: int) int

Read an unsigned 8-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ubint8_list(reference: int, quantity: int) List[int]

Read a list of unsigned 8-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_uint2143(reference: int) int

Read an unsigned 2143-endian 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_uint21436587(reference: int) int

Read an unsigned 21436587-endian 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_uint21436587_list(reference: int, quantity: int) List[int]

Read a list of unsigned 21436587-endian 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_uint2143_list(reference: int, quantity: int) List[int]

Read a list of unsigned 2143-endian 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_uint3412(reference: int) int

Read an unsigned 3412-endian 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_uint3412_list(reference: int, quantity: int) List[int]

Read a list of unsigned 3412-endian 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_uint78563412(reference: int) int

Read an unsigned 78563412-endian 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_uint78563412_list(reference: int, quantity: int) List[int]

Read a list of unsigned 78563412-endian 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ulint16(reference: int) int

Read an unsigned 16-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ulint16_list(reference: int, quantity: int) List[int]

Read a list of unsigned 16-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ulint32(reference: int) int

Read an unsigned 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ulint32_list(reference: int, quantity: int) List[int]

Read a list of unsigned 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ulint64(reference: int) int

Read an unsigned 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ulint64_list(reference: int, quantity: int) List[int]

Read a list of unsigned 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ulint8(reference: int) int

Read an unsigned 8-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ulint8_list(reference: int, quantity: int) List[int]

Read a list of unsigned 8-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register(reference: int) int

Read a single input register using Modbus function code 4.

Parameters:

reference – the register reference.

Returns:

the input register value

read_input_register_bdouble(reference: int) float

Read a double from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_bdouble_list(reference: int, quantity: int) List[float]

Read a list of doubles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_bfloat(reference: int) float

Read a float from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_bfloat_list(reference: int, quantity: int) List[float]

Read a list of floats from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_bitfield(reference: int, length: int) int

Read a bitfield from input register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

int value read from reference

read_input_register_bitfield_list(reference: int, quantity: int, length: int) List[int]

Read a list of bitfields from input register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) ByteStruct | ByteType

Read data from input registers using Modbus function code 4.

Parameters:
  • reference – the register reference

  • data – the type or instance or the decoder for the data

Returns:

instance of datatype containing the read data

read_input_register_double21436587(reference: int) float

Read a 21436587-endian double from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_double21436587_list(reference: int, quantity: int) List[float]

Read a list of 21436587-endian doubles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_double78563412(reference: int) float

Read a 78563412-endian double from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_double78563412_list(reference: int, quantity: int) List[float]

Read a list of 78563412-endian doubles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_flag(reference: int) bool

Read a bit from input register memory.

Parameters:

reference – the reference to read from

Returns:

bool value read from reference

read_input_register_flag_list(reference: int, quantity: int) List[bool]

Read a list of bits from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of bool values read from reference

read_input_register_float2143(reference: int) float

Read a 2143-endian float from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_float2143_list(reference: int, quantity: int) List[float]

Read a list of 2143-endian floats from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_float3412(reference: int) float

Read a 3412-endian float from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_float3412_list(reference: int, quantity: int) List[float]

Read a list of 3412-endian floats from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_ldouble(reference: int) float

Read a double from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_ldouble_list(reference: int, quantity: int) List[float]

Read a list of doubles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_lfloat(reference: int) float

Read a float from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_lfloat_list(reference: int, quantity: int) List[float]

Read a list of floats from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_nibble(reference: int) int

Read a nibble from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_nibble_list(reference: int, quantity: int) List[int]

Read a list of nibbles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sbint16(reference: int) int

Read a signed 16-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sbint16_list(reference: int, quantity: int) List[int]

Read a list of signed 16-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sbint32(reference: int) int

Read a signed 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sbint32_list(reference: int, quantity: int) List[int]

Read a list of signed 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sbint64(reference: int) int

Read a signed 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sbint64_list(reference: int, quantity: int) List[int]

Read a list of signed 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sbint8(reference: int) int

Read a signed 8-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sbint8_list(reference: int, quantity: int) List[int]

Read a list of signed 8-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sint2143(reference: int) int

Read a signed 2143-endian 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sint21436587(reference: int) int

Read a signed 21436587-endian 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sint21436587_list(reference: int, quantity: int) List[int]

Read a list of signed 21436587-endian 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sint2143_list(reference: int, quantity: int) List[int]

Read a list of signed 2143-endian 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sint3412(reference: int) int

Read a signed 3412-endian 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sint3412_list(reference: int, quantity: int) List[int]

Read a list of signed 3412-endian 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sint78563412(reference: int) int

Read a signed 78563412-endian 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sint78563412_list(reference: int, quantity: int) List[int]

Read a list of signed 78563412-endian 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_slint16(reference: int) int

Read a signed 16-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_slint16_list(reference: int, quantity: int) List[int]

Read a list of signed 16-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_slint32(reference: int) int

Read a signed 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_slint32_list(reference: int, quantity: int) List[int]

Read a list of signed 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_slint64(reference: int) int

Read a signed 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_slint64_list(reference: int, quantity: int) List[int]

Read a list of signed 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_slint8(reference: int) int

Read a signed 8-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_slint8_list(reference: int, quantity: int) List[int]

Read a list of signed 8-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_string(reference: int, length: int) bytes

Read a string from input register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

bytes value read from reference

read_input_register_string_list(reference: int, quantity: int, length: int) List[bytes]

Read a list of strings from input register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of bytes values read from reference

read_input_register_ubint16(reference: int) int

Read an unsigned 16-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ubint16_list(reference: int, quantity: int) List[int]

Read a list of unsigned 16-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ubint32(reference: int) int

Read an unsigned 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ubint32_list(reference: int, quantity: int) List[int]

Read a list of unsigned 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ubint64(reference: int) int

Read an unsigned 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ubint64_list(reference: int, quantity: int) List[int]

Read a list of unsigned 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ubint8(reference: int) int

Read an unsigned 8-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ubint8_list(reference: int, quantity: int) List[int]

Read a list of unsigned 8-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_uint2143(reference: int) int

Read an unsigned 2143-endian 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_uint21436587(reference: int) int

Read an unsigned 21436587-endian 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_uint21436587_list(reference: int, quantity: int) List[int]

Read a list of unsigned 21436587-endian 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_uint2143_list(reference: int, quantity: int) List[int]

Read a list of unsigned 2143-endian 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_uint3412(reference: int) int

Read an unsigned 3412-endian 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_uint3412_list(reference: int, quantity: int) List[int]

Read a list of unsigned 3412-endian 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_uint78563412(reference: int) int

Read an unsigned 78563412-endian 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_uint78563412_list(reference: int, quantity: int) List[int]

Read a list of unsigned 78563412-endian 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ulint16(reference: int) int

Read an unsigned 16-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ulint16_list(reference: int, quantity: int) List[int]

Read a list of unsigned 16-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ulint32(reference: int) int

Read an unsigned 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ulint32_list(reference: int, quantity: int) List[int]

Read a list of unsigned 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ulint64(reference: int) int

Read an unsigned 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ulint64_list(reference: int, quantity: int) List[int]

Read a list of unsigned 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ulint8(reference: int) int

Read an unsigned 8-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ulint8_list(reference: int, quantity: int) List[int]

Read a list of unsigned 8-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_multiple_coils(reference: int, quantity: int) List[int]

Read multiple coils using Modbus function code 1.

Parameters:
  • reference – the register reference.

  • quantity – the number of coils to be read.

Returns:

a list of coil states where each element is 1 if the corresponding coil is set and 0 else.

read_multiple_discrete_inputs(reference: int, quantity: int) List[int]

Read multiple discrete inputs using Modbus function code 2.

Parameters:
  • reference – the register reference.

  • quantity – the number of discrete inputs to be read.

Returns:

a list of discrete inputs where each element is 1 if the corresponding discrete input is set and 0 else.

read_multiple_holding_registers(reference: int, quantity: int) List[int]

Read multiple holding registers using Modbus function code 3.

Parameters:
  • reference – the register reference.

  • quantity – the number of registers to be read.

Returns:

the holding register values

read_multiple_input_registers(reference: int, quantity: int) List[int]

Read multiple input registers using Modbus function code 4.

Parameters:
  • reference – the register reference.

  • quantity – the number of registers to be read.

Returns:

the input register values

read_write_multiple_holding_registers(read_reference: int, read_quantity: int, write_reference: int, write_values: List[int]) List[int]

Read/Write multiple holding registers using Modbus function code 23.

Parameters:
  • read_reference – the register reference to read from.

  • read_quantity – the number of registers to read.

  • write_reference – the register reference to to write to.

  • write_values – the values to be written.

Returns:

the read registers

reconnect() None

Reconnect socket.

write(adu: SerialRTUModbusRequest | SerialASCIIModbusRequest | TCPModbusRequest, auto_length: bool = True) None

Write adu encoded using the interface. The transaction identifier is set automatically. The unit identifier is put into the adu automatically, too.

Parameters:
  • adu – a serializable adu

  • auto_length=True – if set to True the length is calculated automatically

write_coil(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a single coil using Modbus function code 5.

Parameters:
  • reference – the register reference.

  • value – the value to be written.

write_coil_bitfield(reference: int, value: int, length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bitfield to coil memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

  • length – the length of the value

write_coil_bitfield_list(reference: int, values: List[int], length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bitfields to coil memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

  • length – the length of the value

write_coil_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write data to coils using Modbus function code 15.

Parameters:
  • reference – the coil reference.

  • data – the type or instance or the decoder for the data

write_coil_flag(reference: int, value: bool) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bit to coil memory.

Parameters:
  • reference – the reference to write to

  • value – the bool value to be written

write_coil_flag_list(reference: int, values: List[bool]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bits to coil memory.

Parameters:
  • reference – the reference to write to

  • values – a list of bool values to be written

write_coil_nibble(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a nibble to coil memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_coil_nibble_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of nibbles to coil memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_extended_memory(memory_number: int, record_number: int, records: List[int]) None

Write extended memory using Modbus function code 21.

Parameters:
  • memory_number – the memory number (0x0001 to 0xffff)

  • record_number – the record to write to

  • records – the records to be written

write_holding_register(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write single holding register using Modbus function code 6.

Parameters:
  • reference – the register reference.

  • value – the value to be written into the corresponding register.

write_holding_register_bdouble(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a double to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_bdouble_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of doubles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_bfloat(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a float to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_bfloat_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of floats to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_bitfield(reference: int, value: int, length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bitfield to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

  • length – the length of the value

write_holding_register_bitfield_list(reference: int, values: List[int], length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bitfields to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

  • length – the length of the value

write_holding_register_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write data to holding registers using Modbus function code 16.

Parameters:
  • reference – the register reference.

  • data – the type or instance or the decoder for the data

write_holding_register_double21436587(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 21436587-endian double to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_double21436587_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 21436587-endian doubles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_double78563412(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 78563412-endian double to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_double78563412_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 78563412-endian doubles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_flag(reference: int, value: bool) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bit to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the bool value to be written

write_holding_register_flag_list(reference: int, values: List[bool]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bits to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of bool values to be written

write_holding_register_float2143(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 2143-endian float to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_float2143_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 2143-endian floats to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_float3412(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 3412-endian float to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_float3412_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 3412-endian floats to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_ldouble(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a double to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_ldouble_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of doubles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_lfloat(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a float to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_lfloat_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of floats to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_nibble(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a nibble to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_nibble_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of nibbles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sbint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 16-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sbint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 16-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sbint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sbint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sbint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sbint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sbint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 8-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sbint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 8-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sint2143(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 2143-endian 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sint21436587(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 21436587-endian 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sint21436587_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 21436587-endian 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sint2143_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 2143-endian 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sint3412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 3412-endian 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sint3412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 3412-endian 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sint78563412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 78563412-endian 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sint78563412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 78563412-endian 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_slint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 16-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_slint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 16-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_slint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_slint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_slint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_slint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_slint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 8-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_slint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 8-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_string(reference: int, value: bytes, length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a string to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the bytes value to be written

  • length – the length of the value

write_holding_register_string_list(reference: int, values: List[bytes], length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of strings to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of bytes values to be written

  • length – the length of the value

write_holding_register_ubint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 16-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ubint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 16-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ubint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ubint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ubint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ubint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ubint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 8-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ubint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 8-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_uint2143(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 2143-endian 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_uint21436587(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 21436587-endian 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_uint21436587_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 21436587-endian 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_uint2143_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 2143-endian 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_uint3412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 3412-endian 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_uint3412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 3412-endian 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_uint78563412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 78563412-endian 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_uint78563412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 78563412-endian 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ulint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 16-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ulint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 16-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ulint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ulint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ulint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ulint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ulint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 8-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ulint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 8-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_multiple_coils(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write multiple coils using Modbus function code 15.

Parameters:
  • reference – the register reference.

  • values – the values to be written.

write_multiple_holding_registers(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write multiple holding registers using Modbus function code 16.

Parameters:
  • reference – the register reference.

  • values – the values to be written.

Servers

Servers are used to respond to queries initiated by clients. Servers are used by devices. Users can add own servers using own interfaces.

Base Server

class htf.modbus.ModbusBaseServer

Modbus Base Server is an abstract base class.

clear_counters() None

Clear all counters.

clear_diagnostics() None

Clear diagnostics.

close() None

Close interface and stop the server.

handle_request(data: bytes) None

Request handler.

Raises:

Exception – abstract base class has no implementation.

set_listen_only_mode(listen_only_mode_enabled: bool = True) None

Set listen only mode.

Parameters:

listen_only_mode_enabledTrue enables the listen only mode. False disables it.

start() None

Start the server.

Raises:

Exception – abstract base class has no implementation.

stop() None

Stop the server.

Raises:

Exception – abstract base class has no implementation.

Serial RTU Server

class htf.modbus.ModbusSerialRTUServer(com_port: str, baud: int = 9600, bytesize: int = 8, parity: str = 'E', stopbits: int = 1, rtscts: bool = False, device_address: int = 1, timeout: int | float = 1.0, request_parser: ByteStruct | BitStruct | ByteType | BitType = <class 'htf.modbus.protocol.SerialRTUModbusRequest'>, response_parser: ByteStruct | BitStruct | ByteType | BitType = <class 'htf.modbus.protocol.SerialRTUModbusResponse'>, callback: ~typing.Callable | None = None)
Parameters:
  • com_port – the com port to be used

  • baud – the baud rate

  • bytesize – number of bits in a byte

  • parity – serial.PARITY_NONE, serial.PARITY_ODD or serial.PARITY_EVEN

  • stopbits – number of stopbits (1, 1.5 or 2)

  • rtscts – if True use flow control

  • device_address – the device address to be used (Slave ID)

  • timeout – the timeout in seconds

  • request_parser – the request parser

  • response_parser – the response parser

  • callback – a callback used as a request handler

clear_counters() None

Clear all counters.

clear_diagnostics() None

Clear diagnostics.

close() None

Close interface and stop the server.

disable_broken_checksums() None

Disable broken checksums for testing purposes.

enable_broken_checksums() None

Enable broken checksums for testing purposes.

static get_broadcast_enabled_function_codes() List[int]

Return a list of functions codes that are processed for broadcast requests. By default the function codes 5, 6, 15 and 16 are supported. This method can be overwritten easily.

Returns:

a list of int containing the supported function codes

handle_request(data: bytes) None

Request handler. A request is handled by calling the callback.

Parameters:

data – a request to be handled

set_listen_only_mode(listen_only_mode_enabled: bool = True) None

Set listen only mode.

Parameters:

listen_only_mode_enabledTrue enables the listen only mode. False disables it.

set_receive_event_callback(callback: Callable | None) None

Set the callback to emit events.

Parameters:

callback – the callback to be called

start() None

Start the server.

stop() None

Stop the server.

Serial ASCII Server

class htf.modbus.ModbusSerialASCIIServer(com_port: str, baud: int = 9600, bytesize: int = 8, parity: str = 'E', stopbits: int = 1, rtscts: bool = False, device_address: int = 1, timeout: int | float = 1.0, request_parser: ByteStruct | BitStruct | ByteType | BitType = <class 'htf.modbus.protocol.SerialASCIIModbusRequest'>, response_parser: ByteStruct | BitStruct | ByteType | BitType = <class 'htf.modbus.protocol.SerialASCIIModbusResponse'>, callback: ~typing.Callable | None = None)
Parameters:
  • com_port – the com port to be used

  • baud – the baud rate

  • bytesize – number of bits in a byte

  • parity – serial.PARITY_NONE, serial.PARITY_ODD or serial.PARITY_EVEN

  • stopbits – number of stopbits (1, 1.5 or 2)

  • rtscts – if True use flow control

  • device_address – the device address to be used (Slave ID)

  • timeout – the timeout in seconds

  • request_parser – the request parser

  • response_parser – the response parser

  • callback – a callback used as a request handler

change_ascii_delimiter(delimiter: bytes) None

Change ASCII delimiter to ascii_delimiter.

Parameters:

delimiter – bytes of length 1 representing the new lf character

clear_counters() None

Clear all counters.

clear_diagnostics() None

Clear diagnostics.

close() None

Close interface and stop the server.

disable_broken_checksums() None

Disable broken checksums for testing purposes.

enable_broken_checksums() None

Enable broken checksums for testing purposes.

static get_broadcast_enabled_function_codes() List[int]

Return a list of functions codes that are processed for broadcast requests. By default the function codes 5, 6, 15 and 16 are supported. This method can be overwritten easily.

Returns:

a list of int containing the supported function codes

handle_request(data: bytes) None

Request handler. A request is handled by calling the callback.

Parameters:

data – a request to be handled

set_listen_only_mode(listen_only_mode_enabled: bool = True) None

Set listen only mode.

Parameters:

listen_only_mode_enabledTrue enables the listen only mode. False disables it.

set_receive_event_callback(callback: Callable | None) None

Set the callback to emit events.

Parameters:

callback – the callback to be called

start() None

Start the server.

stop() None

Stop the server.

Device Simulators

Devices are used to simulate Modbus devices. Users can add own devices with own commands easily.

Base Device

class htf.modbus.ModbusBaseDevice(server: ModbusBaseServer, memory: ModbusMemory, debuglevel: int | None = None)
Parameters:
  • server – a server instance to be used

  • memory – a memory instance to be used

  • debuglevel – the debuglevel (None disables debug, 1 prints requests and responses and 2 prints introspection)

close() None

Close the device simulator and the server.

create_exception_response(request_pdu: RequestPDU, exception_code: str) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler to response with an exception.

Parameters:
  • request_pdu – the request pdu

  • exception_code – the exception code to be sent

Returns:

the response to be sent to the client

get_extended_memory(memory_number: int) Dict[int, List[int]] | None

Get extended memory.

Parameters:

memory_number – the memory number (0x0001 to 0xFFFF)

Returns:

the extended memory at memory_number as a dict with key record numer and values list of

integers

Return type:

list of int

Raises:

KeyError – if the memory_number was not found in extended memory.

handle_function_code_1(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 1 ``Read Coils.``.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_15(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 15 Write Multiple Coils.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_16(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 16 Write Multiple Registers.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_2(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 2 Read Discrete Inputs.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_20(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 20 Read File Record.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_21(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 21 Write File Record.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_22(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 22 Mask Write Register.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_23(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 23 Read/Write Multiple Registers.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_24(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 24 Read FIFO Queue.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_3(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 3 Read Holding Registers.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_4(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 4 Read Input Registers.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_43(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Encapsulated Interface Transport.

Calls a handler by mei type with the name handle_function_code_43_mei_type_<mei type>. To add more mei types more handlers have to be added.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_43_mei_type_14(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Encapsulated Interface Transport: Read Device Identification. Basic object ids can be read.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_5(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 5 Write Single Coil.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_6(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 6 Write Single Register.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_request(adu: SerialRTUModbusRequest | SerialASCIIModbusRequest | TCPModbusRequest) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for an incoming request.

Parameters:

adu – a request adu

Returns:

the command or exception handler

mask_holding_register(reference: int, and_mask: int, or_mask: int) None

Mask write single holding register from device memory.

Parameters:
  • reference – the register reference

  • and_mask – the and mask

  • or_mask – the or mask

mask_multiple_holding_registers(reference: int, quantity: int, and_mask: int, or_mask: int) None

Mask write multiple holding registers from device memory.

Parameters:
  • reference – the register reference

  • quantity – the number of registers to be masked

  • and_mask – the and mask

  • or_mask – the or mask

read_coil(reference: int) int

Read a single coil from device memory.

Parameters:

reference – the register reference.

Returns:

1 if the coil is set and 0 else.

read_coil_bitfield(reference: int, length: int) int

Read a bitfield from coil memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

int value read from reference

read_coil_bitfield_list(reference: int, quantity: int, length: int) List[int]

Read a list of bitfields from coil memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_coil_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) ByteStruct | ByteType

Read data from coils device memory.

Parameters:
  • reference – the coil reference

  • data – the type or instance or the decoder for the data

Returns:

instance of datatype containing the read data

read_coil_flag(reference: int) bool

Read a bit from coil memory.

Parameters:

reference – the reference to read from

Returns:

bool value read from reference

read_coil_flag_list(reference: int, quantity: int) List[bool]

Read a list of bits from coil memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of bool values read from reference

read_coil_nibble(reference: int) int

Read a nibble from coil memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_coil_nibble_list(reference: int, quantity: int) List[int]

Read a list of nibbles from coil memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_discrete_input(reference: int) int

Read single discrete input from device memory

Parameters:

reference – the register reference.

Returns:

1 if the discrete input is set and 0 else.

read_discrete_input_bitfield(reference: int, length: int) int

Read a bitfield from discrete input memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

int value read from reference

read_discrete_input_bitfield_list(reference: int, quantity: int, length: int) List[int]

Read a list of bitfields from discrete input memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_discrete_input_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) ByteStruct | ByteType

Read data from discrete inputs device memory.

Parameters:
  • reference – the discrete input reference

  • data – the type or instance or the decoder for the data

Returns:

instance of datatype containing the read data

read_discrete_input_flag(reference: int) bool

Read a bit from discrete input memory.

Parameters:

reference – the reference to read from

Returns:

bool value read from reference

read_discrete_input_flag_list(reference: int, quantity: int) List[bool]

Read a list of bits from discrete input memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of bool values read from reference

read_discrete_input_nibble(reference: int) int

Read a nibble from discrete input memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_discrete_input_nibble_list(reference: int, quantity: int) List[int]

Read a list of nibbles from discrete input memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register(reference: int) int

Read a single holding register from device memory.

Parameters:

reference – the register reference.

Returns:

the holding register value

read_holding_register_bdouble(reference: int) float

Read a double from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_bdouble_list(reference: int, quantity: int) List[float]

Read a list of doubles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_bfloat(reference: int) float

Read a float from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_bfloat_list(reference: int, quantity: int) List[float]

Read a list of floats from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_bitfield(reference: int, length: int) int

Read a bitfield from holding register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

int value read from reference

read_holding_register_bitfield_list(reference: int, quantity: int, length: int) List[int]

Read a list of bitfields from holding register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) ByteStruct | ByteType

Read data from holding registers device memory.

Parameters:
  • reference – the register reference

  • data – the type or instance or the decoder for the data

Returns:

instance of datatype containing the read data

read_holding_register_double21436587(reference: int) float

Read a 21436587-endian double from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_double21436587_list(reference: int, quantity: int) List[float]

Read a list of 21436587-endian doubles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_double78563412(reference: int) float

Read a 78563412-endian double from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_double78563412_list(reference: int, quantity: int) List[float]

Read a list of 78563412-endian doubles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_flag(reference: int) bool

Read a bit from holding register memory.

Parameters:

reference – the reference to read from

Returns:

bool value read from reference

read_holding_register_flag_list(reference: int, quantity: int) List[bool]

Read a list of bits from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of bool values read from reference

read_holding_register_float2143(reference: int) float

Read a 2143-endian float from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_float2143_list(reference: int, quantity: int) List[float]

Read a list of 2143-endian floats from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_float3412(reference: int) float

Read a 3412-endian float from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_float3412_list(reference: int, quantity: int) List[float]

Read a list of 3412-endian floats from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_ldouble(reference: int) float

Read a double from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_ldouble_list(reference: int, quantity: int) List[float]

Read a list of doubles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_lfloat(reference: int) float

Read a float from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_lfloat_list(reference: int, quantity: int) List[float]

Read a list of floats from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_nibble(reference: int) int

Read a nibble from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_nibble_list(reference: int, quantity: int) List[int]

Read a list of nibbles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sbint16(reference: int) int

Read a signed 16-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sbint16_list(reference: int, quantity: int) List[int]

Read a list of signed 16-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sbint32(reference: int) int

Read a signed 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sbint32_list(reference: int, quantity: int) List[int]

Read a list of signed 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sbint64(reference: int) int

Read a signed 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sbint64_list(reference: int, quantity: int) List[int]

Read a list of signed 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sbint8(reference: int) int

Read a signed 8-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sbint8_list(reference: int, quantity: int) List[int]

Read a list of signed 8-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sint2143(reference: int) int

Read a signed 2143-endian 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sint21436587(reference: int) int

Read a signed 21436587-endian 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sint21436587_list(reference: int, quantity: int) List[int]

Read a list of signed 21436587-endian 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sint2143_list(reference: int, quantity: int) List[int]

Read a list of signed 2143-endian 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sint3412(reference: int) int

Read a signed 3412-endian 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sint3412_list(reference: int, quantity: int) List[int]

Read a list of signed 3412-endian 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sint78563412(reference: int) int

Read a signed 78563412-endian 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sint78563412_list(reference: int, quantity: int) List[int]

Read a list of signed 78563412-endian 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_slint16(reference: int) int

Read a signed 16-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_slint16_list(reference: int, quantity: int) List[int]

Read a list of signed 16-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_slint32(reference: int) int

Read a signed 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_slint32_list(reference: int, quantity: int) List[int]

Read a list of signed 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_slint64(reference: int) int

Read a signed 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_slint64_list(reference: int, quantity: int) List[int]

Read a list of signed 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_slint8(reference: int) int

Read a signed 8-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_slint8_list(reference: int, quantity: int) List[int]

Read a list of signed 8-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_string(reference: int, length: int) bytes

Read a string from holding register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

bytes value read from reference

read_holding_register_string_list(reference: int, quantity: int, length: int) List[bytes]

Read a list of strings from holding register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of bytes values read from reference

read_holding_register_ubint16(reference: int) int

Read an unsigned 16-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ubint16_list(reference: int, quantity: int) List[int]

Read a list of unsigned 16-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ubint32(reference: int) int

Read an unsigned 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ubint32_list(reference: int, quantity: int) List[int]

Read a list of unsigned 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ubint64(reference: int) int

Read an unsigned 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ubint64_list(reference: int, quantity: int) List[int]

Read a list of unsigned 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ubint8(reference: int) int

Read an unsigned 8-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ubint8_list(reference: int, quantity: int) List[int]

Read a list of unsigned 8-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_uint2143(reference: int) int

Read an unsigned 2143-endian 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_uint21436587(reference: int) int

Read an unsigned 21436587-endian 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_uint21436587_list(reference: int, quantity: int) List[int]

Read a list of unsigned 21436587-endian 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_uint2143_list(reference: int, quantity: int) List[int]

Read a list of unsigned 2143-endian 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_uint3412(reference: int) int

Read an unsigned 3412-endian 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_uint3412_list(reference: int, quantity: int) List[int]

Read a list of unsigned 3412-endian 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_uint78563412(reference: int) int

Read an unsigned 78563412-endian 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_uint78563412_list(reference: int, quantity: int) List[int]

Read a list of unsigned 78563412-endian 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ulint16(reference: int) int

Read an unsigned 16-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ulint16_list(reference: int, quantity: int) List[int]

Read a list of unsigned 16-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ulint32(reference: int) int

Read an unsigned 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ulint32_list(reference: int, quantity: int) List[int]

Read a list of unsigned 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ulint64(reference: int) int

Read an unsigned 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ulint64_list(reference: int, quantity: int) List[int]

Read a list of unsigned 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ulint8(reference: int) int

Read an unsigned 8-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ulint8_list(reference: int, quantity: int) List[int]

Read a list of unsigned 8-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register(reference: int) int

Read a single input register from device memory.

Parameters:

reference – the register reference.

Returns:

the input register value

read_input_register_bdouble(reference: int) float

Read a double from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_bdouble_list(reference: int, quantity: int) List[float]

Read a list of doubles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_bfloat(reference: int) float

Read a float from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_bfloat_list(reference: int, quantity: int) List[float]

Read a list of floats from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_bitfield(reference: int, length: int) int

Read a bitfield from input register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

int value read from reference

read_input_register_bitfield_list(reference: int, quantity: int, length: int) List[int]

Read a list of bitfields from input register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) ByteStruct | ByteType

Read data from input registers from device memory.

Parameters:
  • reference – the register reference

  • data – the type or instance or the decoder for the data

Returns:

instance of datatype containing the read data

read_input_register_double21436587(reference: int) float

Read a 21436587-endian double from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_double21436587_list(reference: int, quantity: int) List[float]

Read a list of 21436587-endian doubles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_double78563412(reference: int) float

Read a 78563412-endian double from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_double78563412_list(reference: int, quantity: int) List[float]

Read a list of 78563412-endian doubles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_flag(reference: int) bool

Read a bit from input register memory.

Parameters:

reference – the reference to read from

Returns:

bool value read from reference

read_input_register_flag_list(reference: int, quantity: int) List[bool]

Read a list of bits from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of bool values read from reference

read_input_register_float2143(reference: int) float

Read a 2143-endian float from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_float2143_list(reference: int, quantity: int) List[float]

Read a list of 2143-endian floats from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_float3412(reference: int) float

Read a 3412-endian float from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_float3412_list(reference: int, quantity: int) List[float]

Read a list of 3412-endian floats from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_ldouble(reference: int) float

Read a double from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_ldouble_list(reference: int, quantity: int) List[float]

Read a list of doubles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_lfloat(reference: int) float

Read a float from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_lfloat_list(reference: int, quantity: int) List[float]

Read a list of floats from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_nibble(reference: int) int

Read a nibble from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_nibble_list(reference: int, quantity: int) List[int]

Read a list of nibbles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sbint16(reference: int) int

Read a signed 16-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sbint16_list(reference: int, quantity: int) List[int]

Read a list of signed 16-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sbint32(reference: int) int

Read a signed 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sbint32_list(reference: int, quantity: int) List[int]

Read a list of signed 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sbint64(reference: int) int

Read a signed 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sbint64_list(reference: int, quantity: int) List[int]

Read a list of signed 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sbint8(reference: int) int

Read a signed 8-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sbint8_list(reference: int, quantity: int) List[int]

Read a list of signed 8-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sint2143(reference: int) int

Read a signed 2143-endian 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sint21436587(reference: int) int

Read a signed 21436587-endian 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sint21436587_list(reference: int, quantity: int) List[int]

Read a list of signed 21436587-endian 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sint2143_list(reference: int, quantity: int) List[int]

Read a list of signed 2143-endian 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sint3412(reference: int) int

Read a signed 3412-endian 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sint3412_list(reference: int, quantity: int) List[int]

Read a list of signed 3412-endian 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sint78563412(reference: int) int

Read a signed 78563412-endian 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sint78563412_list(reference: int, quantity: int) List[int]

Read a list of signed 78563412-endian 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_slint16(reference: int) int

Read a signed 16-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_slint16_list(reference: int, quantity: int) List[int]

Read a list of signed 16-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_slint32(reference: int) int

Read a signed 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_slint32_list(reference: int, quantity: int) List[int]

Read a list of signed 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_slint64(reference: int) int

Read a signed 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_slint64_list(reference: int, quantity: int) List[int]

Read a list of signed 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_slint8(reference: int) int

Read a signed 8-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_slint8_list(reference: int, quantity: int) List[int]

Read a list of signed 8-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_string(reference: int, length: int) bytes

Read a string from input register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

bytes value read from reference

read_input_register_string_list(reference: int, quantity: int, length: int) List[bytes]

Read a list of strings from input register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of bytes values read from reference

read_input_register_ubint16(reference: int) int

Read an unsigned 16-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ubint16_list(reference: int, quantity: int) List[int]

Read a list of unsigned 16-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ubint32(reference: int) int

Read an unsigned 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ubint32_list(reference: int, quantity: int) List[int]

Read a list of unsigned 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ubint64(reference: int) int

Read an unsigned 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ubint64_list(reference: int, quantity: int) List[int]

Read a list of unsigned 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ubint8(reference: int) int

Read an unsigned 8-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ubint8_list(reference: int, quantity: int) List[int]

Read a list of unsigned 8-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_uint2143(reference: int) int

Read an unsigned 2143-endian 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_uint21436587(reference: int) int

Read an unsigned 21436587-endian 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_uint21436587_list(reference: int, quantity: int) List[int]

Read a list of unsigned 21436587-endian 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_uint2143_list(reference: int, quantity: int) List[int]

Read a list of unsigned 2143-endian 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_uint3412(reference: int) int

Read an unsigned 3412-endian 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_uint3412_list(reference: int, quantity: int) List[int]

Read a list of unsigned 3412-endian 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_uint78563412(reference: int) int

Read an unsigned 78563412-endian 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_uint78563412_list(reference: int, quantity: int) List[int]

Read a list of unsigned 78563412-endian 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ulint16(reference: int) int

Read an unsigned 16-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ulint16_list(reference: int, quantity: int) List[int]

Read a list of unsigned 16-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ulint32(reference: int) int

Read an unsigned 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ulint32_list(reference: int, quantity: int) List[int]

Read a list of unsigned 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ulint64(reference: int) int

Read an unsigned 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ulint64_list(reference: int, quantity: int) List[int]

Read a list of unsigned 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ulint8(reference: int) int

Read an unsigned 8-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ulint8_list(reference: int, quantity: int) List[int]

Read a list of unsigned 8-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_multiple_coils(reference: int, quantity: int) List[int]

Read multiple coils from device memory.

Parameters:
  • reference – the register reference.

  • quantity – the number of coils to be read.

Returns:

a list of coil states where each element is 1 if the corresponding coil is set and 0 else.

read_multiple_discrete_inputs(reference: int, quantity: int) List[int]

Read multiple discrete inputs from device memory.

Parameters:
  • reference – the register reference.

  • quantity – the number of discrete inputs to be read.

Returns:

a list of discrete inputs where each element is 1 if the corresponding discrete input is set and 0 else.

read_multiple_holding_registers(reference: int, quantity: int) List[int]

Read multiple holding registers from device memory.

Parameters:
  • reference – the register reference.

  • quantity – the number of registers to be read.

Returns:

the holding register values

read_multiple_input_registers(reference: int, quantity: int) List[int]

Read multiple input registers from device memory.

Parameters:
  • reference – the register reference.

  • quantity – the number of registers to be read.

Returns:

the input register values

set_device_identifier(object_id: int | None, value: str | bytes | None) None

Set a device identifier. The objects "vendor_name", "product_code", "major_minor_version", "vendor_url", "product_name", "model_name" and "user_application_name" are predefined.

Set value to None to remove an entry.

Entries can be read using Modbus function code 43.14.

Parameters:
  • object_id – the object identifier

  • value – the value to be used

set_extended_memory(memory_number: int, records: Dict[int, List[int]] | None) None

Set extended memory that can be read with Modbus function code 20 and written with Modbus function code 21.

If records is None the memory is removed.

Parameters:
  • memory_number – the memory number (0x0001 to 0xFFFF)

  • records – the records to be stored as a dict with key record numer and values list of integers

set_fifo_queue_content(address: int, content: List[int] | None) None

Set the FIFO queue content.

Parameters:
  • address – the address

  • content – a list of integers or None to delete the queue contents

write_coil(reference: int, value: int) None

Write a single coil to device memory.

Parameters:
  • reference – the register reference.

  • value – the value to be written.

write_coil_bitfield(reference: int, value: int, length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bitfield to coil memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

  • length – the length of the value

write_coil_bitfield_list(reference: int, values: List[int], length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bitfields to coil memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

  • length – the length of the value

write_coil_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) None

Write data to coils device memory.

Parameters:
  • reference – the coil reference.

  • data – the type or instance or the decoder for the data

write_coil_flag(reference: int, value: bool) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bit to coil memory.

Parameters:
  • reference – the reference to write to

  • value – the bool value to be written

write_coil_flag_list(reference: int, values: List[bool]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bits to coil memory.

Parameters:
  • reference – the reference to write to

  • values – a list of bool values to be written

write_coil_nibble(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a nibble to coil memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_coil_nibble_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of nibbles to coil memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_discrete_input(reference: int, value: int) None

Read multiple discrete inputs from device memory

Parameters:
  • reference – the register reference.

  • value – the value to be written

Returns:

a list of discrete inputs where each element is 1 if the corresponding discrete input is set and 0 else.

write_discrete_input_bitfield(reference: int, value: int, length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bitfield to discrete input memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

  • length – the length of the value

write_discrete_input_bitfield_list(reference: int, values: List[int], length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bitfields to discrete input memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

  • length – the length of the value

write_discrete_input_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) None

Write data to discrete input device memory.

Parameters:
  • reference – the discrete input reference.

  • data – the type or instance or the decoder for the data

write_discrete_input_flag(reference: int, value: bool) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bit to discrete input memory.

Parameters:
  • reference – the reference to write to

  • value – the bool value to be written

write_discrete_input_flag_list(reference: int, values: List[bool]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bits to discrete input memory.

Parameters:
  • reference – the reference to write to

  • values – a list of bool values to be written

write_discrete_input_nibble(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a nibble to discrete input memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_discrete_input_nibble_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of nibbles to discrete input memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register(reference: int, value: int) None

Write single holding register to device memory.

Parameters:
  • reference – the register reference.

  • value – the value to be written into the corresponding register.

write_holding_register_bdouble(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a double to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_bdouble_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of doubles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_bfloat(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a float to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_bfloat_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of floats to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_bitfield(reference: int, value: int, length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bitfield to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

  • length – the length of the value

write_holding_register_bitfield_list(reference: int, values: List[int], length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bitfields to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

  • length – the length of the value

write_holding_register_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) None

Write data to holding registers device memory.

Parameters:
  • reference – the register reference.

  • data – the type or instance or the decoder for the data

write_holding_register_double21436587(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 21436587-endian double to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_double21436587_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 21436587-endian doubles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_double78563412(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 78563412-endian double to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_double78563412_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 78563412-endian doubles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_flag(reference: int, value: bool) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bit to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the bool value to be written

write_holding_register_flag_list(reference: int, values: List[bool]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bits to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of bool values to be written

write_holding_register_float2143(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 2143-endian float to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_float2143_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 2143-endian floats to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_float3412(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 3412-endian float to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_float3412_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 3412-endian floats to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_ldouble(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a double to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_ldouble_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of doubles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_lfloat(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a float to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_lfloat_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of floats to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_nibble(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a nibble to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_nibble_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of nibbles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sbint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 16-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sbint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 16-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sbint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sbint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sbint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sbint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sbint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 8-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sbint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 8-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sint2143(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 2143-endian 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sint21436587(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 21436587-endian 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sint21436587_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 21436587-endian 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sint2143_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 2143-endian 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sint3412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 3412-endian 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sint3412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 3412-endian 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sint78563412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 78563412-endian 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sint78563412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 78563412-endian 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_slint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 16-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_slint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 16-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_slint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_slint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_slint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_slint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_slint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 8-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_slint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 8-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_string(reference: int, value: bytes, length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a string to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the bytes value to be written

  • length – the length of the value

write_holding_register_string_list(reference: int, values: List[bytes], length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of strings to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of bytes values to be written

  • length – the length of the value

write_holding_register_ubint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 16-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ubint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 16-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ubint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ubint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ubint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ubint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ubint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 8-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ubint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 8-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_uint2143(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 2143-endian 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_uint21436587(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 21436587-endian 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_uint21436587_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 21436587-endian 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_uint2143_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 2143-endian 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_uint3412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 3412-endian 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_uint3412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 3412-endian 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_uint78563412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 78563412-endian 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_uint78563412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 78563412-endian 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ulint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 16-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ulint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 16-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ulint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ulint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ulint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ulint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ulint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 8-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ulint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 8-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register(reference: int, value: int) None

Write single input register to device memory.

Parameters:
  • reference – the register reference.

  • value – the value to be written into the corresponding register.

write_input_register_bdouble(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a double to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_input_register_bdouble_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of doubles to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_input_register_bfloat(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a float to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_input_register_bfloat_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of floats to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_input_register_bitfield(reference: int, value: int, length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bitfield to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

  • length – the length of the value

write_input_register_bitfield_list(reference: int, values: List[int], length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bitfields to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

  • length – the length of the value

write_input_register_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) None

Write data to input registers device memory.

Parameters:
  • reference – the register reference.

  • data – the type or instance or the decoder for the data

write_input_register_double21436587(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 21436587-endian double to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_input_register_double21436587_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 21436587-endian doubles to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_input_register_double78563412(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 78563412-endian double to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_input_register_double78563412_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 78563412-endian doubles to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_input_register_flag(reference: int, value: bool) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bit to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the bool value to be written

write_input_register_flag_list(reference: int, values: List[bool]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bits to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of bool values to be written

write_input_register_float2143(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 2143-endian float to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_input_register_float2143_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 2143-endian floats to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_input_register_float3412(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 3412-endian float to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_input_register_float3412_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 3412-endian floats to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_input_register_ldouble(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a double to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_input_register_ldouble_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of doubles to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_input_register_lfloat(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a float to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_input_register_lfloat_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of floats to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_input_register_nibble(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a nibble to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_nibble_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of nibbles to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_sbint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 16-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_sbint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 16-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_sbint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 32-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_sbint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 32-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_sbint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 64-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_sbint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 64-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_sbint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 8-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_sbint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 8-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_sint2143(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 2143-endian 32-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_sint21436587(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 21436587-endian 64-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_sint21436587_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 21436587-endian 64-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_sint2143_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 2143-endian 32-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_sint3412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 3412-endian 32-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_sint3412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 3412-endian 32-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_sint78563412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 78563412-endian 64-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_sint78563412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 78563412-endian 64-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_slint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 16-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_slint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 16-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_slint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 32-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_slint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 32-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_slint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 64-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_slint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 64-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_slint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 8-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_slint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 8-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_string(reference: int, value: bytes, length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a string to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the bytes value to be written

  • length – the length of the value

write_input_register_string_list(reference: int, values: List[bytes], length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of strings to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of bytes values to be written

  • length – the length of the value

write_input_register_ubint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 16-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_ubint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 16-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_ubint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 32-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_ubint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 32-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_ubint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 64-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_ubint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 64-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_ubint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 8-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_ubint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 8-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_uint2143(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 2143-endian 32-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_uint21436587(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 21436587-endian 64-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_uint21436587_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 21436587-endian 64-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_uint2143_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 2143-endian 32-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_uint3412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 3412-endian 32-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_uint3412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 3412-endian 32-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_uint78563412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 78563412-endian 64-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_uint78563412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 78563412-endian 64-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_ulint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 16-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_ulint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 16-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_ulint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 32-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_ulint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 32-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_ulint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 64-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_ulint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 64-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_ulint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 8-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_ulint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 8-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_multiple_coils(reference: int, values: List[int]) None

Write multiple coils to device memory.

Parameters:
  • reference – the register reference.

  • values – the values to be written.

write_multiple_discrete_inputs(reference: int, values: List[int]) None

Write multiple discrete inputs to device memory.

Parameters:
  • reference – the register reference.

  • values – the values to be written.

write_multiple_holding_registers(reference: int, values: List[int]) None

Write multiple holding registers to device memory.

Parameters:
  • reference – the register reference.

  • values – the values to be written.

write_multiple_input_registers(reference: int, values: List[int]) None

Write multiple input registers to device memory.

Parameters:
  • reference – the register reference.

  • values – the values to be written.

Serial RTU Device

class htf.modbus.ModbusSerialRTUDevice(com_port: str, baud: int = 9600, bytesize: int = 8, parity: str = 'E', stopbits: int = 1, rtscts: bool = False, device_address: int = 1, shared_memory: bool = False, request_parser: ~typing.Type[~htf.modbus.protocol.SerialRTUModbusRequest] | ~typing.Type[~htf.modbus.protocol.SerialASCIIModbusRequest] | ~typing.Type[~htf.modbus.protocol.TCPModbusRequest] = <class 'htf.modbus.protocol.SerialRTUModbusRequest'>, response_parser: ~typing.Type[~htf.modbus.protocol.SerialRTUModbusResponse] | ~typing.Type[~htf.modbus.protocol.SerialASCIIModbusResponse] | ~typing.Type[~htf.modbus.protocol.TCPModbusResponse] = <class 'htf.modbus.protocol.SerialRTUModbusResponse'>, debuglevel: int | None = None)
Parameters:
  • com_port – the com port to be used

  • baud – the baud rate

  • bytesize – number of bits in a byte

  • parity – serial.PARITY_NONE, serial.PARITY_ODD or serial.PARITY_EVEN

  • stopbits – number of stopbits (1, 1.5 or 2)

  • rtscts – if True use flow control

  • device_address – the device address to be used (Slave ID)

  • shared_memory – if set to True a single shared memory is used

  • request_parser – the request parser

  • response_parser – the response parser

  • debuglevel – the debuglevel (None disables debug, 1 prints requests and responses and 2 prints introspection)

add_communication_restart_event() None

Add a communication restart event.

add_event(event: int) None

Add an event to event log.

Parameters:

event – the event to be added.

add_receive_event(is_communication_error: bool = False, is_character_overrun: bool = False, is_broadcast: bool = False, is_listen_only_mode: bool = False) None

Add a receive event.

Parameters:
  • is_communication_error – set to True if a communication error occurred

  • is_character_overrun – set to True if a character overrun occurred

  • is_broadcast – set to True if a broadcast message was received

  • is_listen_only_mode – set to True if the server is currently in listen only mode

add_send_event(read_exception_sent: bool = False, slave_abort_exeception_sent: bool = False, slave_busy_exception_sent: bool = False, slave_program_nak_exception_sent: bool = False, write_timeout_occurred: bool = False) None

Add a send event. The current listen only mode is determined automatically.

Parameters:
  • read_exception_sent – set to True if a read exception sent occurred (exception codes 1-3)

  • slave_abort_exeception_sent – set to True if a slave abort exception sent occurred (execption code 4)

  • slave_busy_exception_sent – set to True if a slave busy exception sent occurred (exception codes 5-6)

  • slave_program_nak_exception_sent – set to True if a slave program NAK exception sent occurred (exception code 7)

  • write_timeout_occurred – set to True if a write timeout occurred

add_set_listen_only_mode_event() None

Add a listen only mode event.

clear_counters_and_diagnostic_register() None

Clear counters and diagnostic register

clear_events() None

Clear event log.

clear_overrun_counter_and_flag() None

Clear overrun counter and reset the error flag.

close() None

Close the device simulator and the server.

create_exception_response(request_pdu: RequestPDU, exception_code: str) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler to response with an exception.

Parameters:
  • request_pdu – the request pdu

  • exception_code – the exception code to be sent

Returns:

the response to be sent to the client

disable_broken_checksums() None

Disable broken checksums for testing purposes.

enable_broken_checksums() None

Enable broken checksums for testing purposes.

get_bus_character_overrun_count() int

Get the bus character overrun count.

Returns:

the bus character overrun count

get_busy_count() int

Return the current busy count.

Returns:

the busy count

get_busy_status() bool

Return the current busy status.

Returns:

True if the device is busy else False

get_diagnostic_register() bytes

Return the diagnostic register

Returns:

the content of the diagnostic register

get_exception_status() int

Return the current exception status.

Returns:

the current exception status

get_extended_memory(memory_number: int) Dict[int, List[int]] | None

Get extended memory.

Parameters:

memory_number – the memory number (0x0001 to 0xFFFF)

Returns:

the extended memory at memory_number as a dict with key record numer and values list of

integers

Return type:

list of int

Raises:

KeyError – if the memory_number was not found in extended memory.

handle_function_code_1(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 1 ``Read Coils.``.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_11(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 11 Get Comm Event Counter (Serial Line only).

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_12(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 12 Get Comm Event Log (Serial Line only).

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_15(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 15 Write Multiple Coils.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_16(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 16 Write Multiple Registers.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_17(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 17 Report Slave ID (Serial Line only).

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_2(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 2 Read Discrete Inputs.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_20(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 20 Read File Record.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_21(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 21 Write File Record.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_22(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 22 Mask Write Register.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_23(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 23 Read/Write Multiple Registers.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_24(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 24 Read FIFO Queue.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_3(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 3 Read Holding Registers.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_4(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 4 Read Input Registers.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_43(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Encapsulated Interface Transport.

Calls a handler by mei type with the name handle_function_code_43_mei_type_<mei type>. To add more mei types more handlers have to be added.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_43_mei_type_14(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Encapsulated Interface Transport: Read Device Identification. Basic object ids can be read.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_5(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 5 Write Single Coil.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_6(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 6 Write Single Register.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_7(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 7 Read Exception Status.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_8(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 8.x Diagnostics (Serial Line only).

Calls a handler by sub function code like handle_function_code_8_sub_function_<sub function code>. To add more sub functions more handlers have to be added.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_8_sub_function_0(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 8.0 Diagnostics Send Echo Response.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_8_sub_function_1(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 8.1 Diagnostics Restart Communications Option.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_8_sub_function_10(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 8.10 Diagnostics Clear counters and diagnostic register.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_8_sub_function_11(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 8.11 Diagnostics Bus message count.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_8_sub_function_12(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 8.12 Diagnostics Bus communication error count.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_8_sub_function_13(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 8.13 Diagnostics Bus exception error count.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_8_sub_function_14(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 8.14 Diagnostics Return slave message count.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_8_sub_function_15(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 8.15 Diagnostics Slave No Response Count.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_8_sub_function_16(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 8.16 Diagnostics Slave NAK Count.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_8_sub_function_17(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 8.17 Diagnostics Slave Busy Count.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_8_sub_function_18(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 8.18 Diagnostics Slave Character Overrun Count.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_8_sub_function_2(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 8.2 Diagnostics Return diagnostic register.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_8_sub_function_20(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 8.20 Diagnostics.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_8_sub_function_3(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 8.3 Diagnostics Change ASCII Input Delimiter.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_function_code_8_sub_function_4(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for function code 8.4 Diagnostics Force Listen Only Mode.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

handle_request(adu: SerialRTUModbusRequest | SerialASCIIModbusRequest | TCPModbusRequest) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Request handler for an incoming request.

Parameters:

adu – a request adu

Returns:

the command or exception handler

mask_holding_register(reference: int, and_mask: int, or_mask: int) None

Mask write single holding register from device memory.

Parameters:
  • reference – the register reference

  • and_mask – the and mask

  • or_mask – the or mask

mask_multiple_holding_registers(reference: int, quantity: int, and_mask: int, or_mask: int) None

Mask write multiple holding registers from device memory.

Parameters:
  • reference – the register reference

  • quantity – the number of registers to be masked

  • and_mask – the and mask

  • or_mask – the or mask

read_coil(reference: int) int

Read a single coil from device memory.

Parameters:

reference – the register reference.

Returns:

1 if the coil is set and 0 else.

read_coil_bitfield(reference: int, length: int) int

Read a bitfield from coil memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

int value read from reference

read_coil_bitfield_list(reference: int, quantity: int, length: int) List[int]

Read a list of bitfields from coil memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_coil_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) ByteStruct | ByteType

Read data from coils device memory.

Parameters:
  • reference – the coil reference

  • data – the type or instance or the decoder for the data

Returns:

instance of datatype containing the read data

read_coil_flag(reference: int) bool

Read a bit from coil memory.

Parameters:

reference – the reference to read from

Returns:

bool value read from reference

read_coil_flag_list(reference: int, quantity: int) List[bool]

Read a list of bits from coil memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of bool values read from reference

read_coil_nibble(reference: int) int

Read a nibble from coil memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_coil_nibble_list(reference: int, quantity: int) List[int]

Read a list of nibbles from coil memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_discrete_input(reference: int) int

Read single discrete input from device memory

Parameters:

reference – the register reference.

Returns:

1 if the discrete input is set and 0 else.

read_discrete_input_bitfield(reference: int, length: int) int

Read a bitfield from discrete input memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

int value read from reference

read_discrete_input_bitfield_list(reference: int, quantity: int, length: int) List[int]

Read a list of bitfields from discrete input memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_discrete_input_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) ByteStruct | ByteType

Read data from discrete inputs device memory.

Parameters:
  • reference – the discrete input reference

  • data – the type or instance or the decoder for the data

Returns:

instance of datatype containing the read data

read_discrete_input_flag(reference: int) bool

Read a bit from discrete input memory.

Parameters:

reference – the reference to read from

Returns:

bool value read from reference

read_discrete_input_flag_list(reference: int, quantity: int) List[bool]

Read a list of bits from discrete input memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of bool values read from reference

read_discrete_input_nibble(reference: int) int

Read a nibble from discrete input memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_discrete_input_nibble_list(reference: int, quantity: int) List[int]

Read a list of nibbles from discrete input memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register(reference: int) int

Read a single holding register from device memory.

Parameters:

reference – the register reference.

Returns:

the holding register value

read_holding_register_bdouble(reference: int) float

Read a double from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_bdouble_list(reference: int, quantity: int) List[float]

Read a list of doubles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_bfloat(reference: int) float

Read a float from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_bfloat_list(reference: int, quantity: int) List[float]

Read a list of floats from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_bitfield(reference: int, length: int) int

Read a bitfield from holding register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

int value read from reference

read_holding_register_bitfield_list(reference: int, quantity: int, length: int) List[int]

Read a list of bitfields from holding register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) ByteStruct | ByteType

Read data from holding registers device memory.

Parameters:
  • reference – the register reference

  • data – the type or instance or the decoder for the data

Returns:

instance of datatype containing the read data

read_holding_register_double21436587(reference: int) float

Read a 21436587-endian double from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_double21436587_list(reference: int, quantity: int) List[float]

Read a list of 21436587-endian doubles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_double78563412(reference: int) float

Read a 78563412-endian double from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_double78563412_list(reference: int, quantity: int) List[float]

Read a list of 78563412-endian doubles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_flag(reference: int) bool

Read a bit from holding register memory.

Parameters:

reference – the reference to read from

Returns:

bool value read from reference

read_holding_register_flag_list(reference: int, quantity: int) List[bool]

Read a list of bits from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of bool values read from reference

read_holding_register_float2143(reference: int) float

Read a 2143-endian float from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_float2143_list(reference: int, quantity: int) List[float]

Read a list of 2143-endian floats from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_float3412(reference: int) float

Read a 3412-endian float from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_float3412_list(reference: int, quantity: int) List[float]

Read a list of 3412-endian floats from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_ldouble(reference: int) float

Read a double from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_ldouble_list(reference: int, quantity: int) List[float]

Read a list of doubles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_lfloat(reference: int) float

Read a float from holding register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_holding_register_lfloat_list(reference: int, quantity: int) List[float]

Read a list of floats from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_holding_register_nibble(reference: int) int

Read a nibble from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_nibble_list(reference: int, quantity: int) List[int]

Read a list of nibbles from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sbint16(reference: int) int

Read a signed 16-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sbint16_list(reference: int, quantity: int) List[int]

Read a list of signed 16-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sbint32(reference: int) int

Read a signed 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sbint32_list(reference: int, quantity: int) List[int]

Read a list of signed 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sbint64(reference: int) int

Read a signed 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sbint64_list(reference: int, quantity: int) List[int]

Read a list of signed 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sbint8(reference: int) int

Read a signed 8-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sbint8_list(reference: int, quantity: int) List[int]

Read a list of signed 8-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sint2143(reference: int) int

Read a signed 2143-endian 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sint21436587(reference: int) int

Read a signed 21436587-endian 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sint21436587_list(reference: int, quantity: int) List[int]

Read a list of signed 21436587-endian 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sint2143_list(reference: int, quantity: int) List[int]

Read a list of signed 2143-endian 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sint3412(reference: int) int

Read a signed 3412-endian 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sint3412_list(reference: int, quantity: int) List[int]

Read a list of signed 3412-endian 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_sint78563412(reference: int) int

Read a signed 78563412-endian 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_sint78563412_list(reference: int, quantity: int) List[int]

Read a list of signed 78563412-endian 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_slint16(reference: int) int

Read a signed 16-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_slint16_list(reference: int, quantity: int) List[int]

Read a list of signed 16-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_slint32(reference: int) int

Read a signed 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_slint32_list(reference: int, quantity: int) List[int]

Read a list of signed 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_slint64(reference: int) int

Read a signed 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_slint64_list(reference: int, quantity: int) List[int]

Read a list of signed 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_slint8(reference: int) int

Read a signed 8-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_slint8_list(reference: int, quantity: int) List[int]

Read a list of signed 8-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_string(reference: int, length: int) bytes

Read a string from holding register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

bytes value read from reference

read_holding_register_string_list(reference: int, quantity: int, length: int) List[bytes]

Read a list of strings from holding register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of bytes values read from reference

read_holding_register_ubint16(reference: int) int

Read an unsigned 16-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ubint16_list(reference: int, quantity: int) List[int]

Read a list of unsigned 16-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ubint32(reference: int) int

Read an unsigned 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ubint32_list(reference: int, quantity: int) List[int]

Read a list of unsigned 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ubint64(reference: int) int

Read an unsigned 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ubint64_list(reference: int, quantity: int) List[int]

Read a list of unsigned 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ubint8(reference: int) int

Read an unsigned 8-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ubint8_list(reference: int, quantity: int) List[int]

Read a list of unsigned 8-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_uint2143(reference: int) int

Read an unsigned 2143-endian 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_uint21436587(reference: int) int

Read an unsigned 21436587-endian 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_uint21436587_list(reference: int, quantity: int) List[int]

Read a list of unsigned 21436587-endian 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_uint2143_list(reference: int, quantity: int) List[int]

Read a list of unsigned 2143-endian 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_uint3412(reference: int) int

Read an unsigned 3412-endian 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_uint3412_list(reference: int, quantity: int) List[int]

Read a list of unsigned 3412-endian 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_uint78563412(reference: int) int

Read an unsigned 78563412-endian 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_uint78563412_list(reference: int, quantity: int) List[int]

Read a list of unsigned 78563412-endian 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ulint16(reference: int) int

Read an unsigned 16-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ulint16_list(reference: int, quantity: int) List[int]

Read a list of unsigned 16-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ulint32(reference: int) int

Read an unsigned 32-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ulint32_list(reference: int, quantity: int) List[int]

Read a list of unsigned 32-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ulint64(reference: int) int

Read an unsigned 64-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ulint64_list(reference: int, quantity: int) List[int]

Read a list of unsigned 64-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_holding_register_ulint8(reference: int) int

Read an unsigned 8-bit integer from holding register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_holding_register_ulint8_list(reference: int, quantity: int) List[int]

Read a list of unsigned 8-bit integers from holding register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register(reference: int) int

Read a single input register from device memory.

Parameters:

reference – the register reference.

Returns:

the input register value

read_input_register_bdouble(reference: int) float

Read a double from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_bdouble_list(reference: int, quantity: int) List[float]

Read a list of doubles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_bfloat(reference: int) float

Read a float from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_bfloat_list(reference: int, quantity: int) List[float]

Read a list of floats from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_bitfield(reference: int, length: int) int

Read a bitfield from input register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

int value read from reference

read_input_register_bitfield_list(reference: int, quantity: int, length: int) List[int]

Read a list of bitfields from input register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) ByteStruct | ByteType

Read data from input registers from device memory.

Parameters:
  • reference – the register reference

  • data – the type or instance or the decoder for the data

Returns:

instance of datatype containing the read data

read_input_register_double21436587(reference: int) float

Read a 21436587-endian double from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_double21436587_list(reference: int, quantity: int) List[float]

Read a list of 21436587-endian doubles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_double78563412(reference: int) float

Read a 78563412-endian double from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_double78563412_list(reference: int, quantity: int) List[float]

Read a list of 78563412-endian doubles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_flag(reference: int) bool

Read a bit from input register memory.

Parameters:

reference – the reference to read from

Returns:

bool value read from reference

read_input_register_flag_list(reference: int, quantity: int) List[bool]

Read a list of bits from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of bool values read from reference

read_input_register_float2143(reference: int) float

Read a 2143-endian float from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_float2143_list(reference: int, quantity: int) List[float]

Read a list of 2143-endian floats from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_float3412(reference: int) float

Read a 3412-endian float from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_float3412_list(reference: int, quantity: int) List[float]

Read a list of 3412-endian floats from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_ldouble(reference: int) float

Read a double from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_ldouble_list(reference: int, quantity: int) List[float]

Read a list of doubles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_lfloat(reference: int) float

Read a float from input register memory.

Parameters:

reference – the reference to read from

Returns:

float value read from reference

read_input_register_lfloat_list(reference: int, quantity: int) List[float]

Read a list of floats from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of float values read from reference

read_input_register_nibble(reference: int) int

Read a nibble from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_nibble_list(reference: int, quantity: int) List[int]

Read a list of nibbles from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sbint16(reference: int) int

Read a signed 16-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sbint16_list(reference: int, quantity: int) List[int]

Read a list of signed 16-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sbint32(reference: int) int

Read a signed 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sbint32_list(reference: int, quantity: int) List[int]

Read a list of signed 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sbint64(reference: int) int

Read a signed 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sbint64_list(reference: int, quantity: int) List[int]

Read a list of signed 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sbint8(reference: int) int

Read a signed 8-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sbint8_list(reference: int, quantity: int) List[int]

Read a list of signed 8-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sint2143(reference: int) int

Read a signed 2143-endian 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sint21436587(reference: int) int

Read a signed 21436587-endian 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sint21436587_list(reference: int, quantity: int) List[int]

Read a list of signed 21436587-endian 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sint2143_list(reference: int, quantity: int) List[int]

Read a list of signed 2143-endian 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sint3412(reference: int) int

Read a signed 3412-endian 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sint3412_list(reference: int, quantity: int) List[int]

Read a list of signed 3412-endian 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_sint78563412(reference: int) int

Read a signed 78563412-endian 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_sint78563412_list(reference: int, quantity: int) List[int]

Read a list of signed 78563412-endian 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_slint16(reference: int) int

Read a signed 16-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_slint16_list(reference: int, quantity: int) List[int]

Read a list of signed 16-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_slint32(reference: int) int

Read a signed 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_slint32_list(reference: int, quantity: int) List[int]

Read a list of signed 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_slint64(reference: int) int

Read a signed 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_slint64_list(reference: int, quantity: int) List[int]

Read a list of signed 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_slint8(reference: int) int

Read a signed 8-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_slint8_list(reference: int, quantity: int) List[int]

Read a list of signed 8-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_string(reference: int, length: int) bytes

Read a string from input register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

Returns:

bytes value read from reference

read_input_register_string_list(reference: int, quantity: int, length: int) List[bytes]

Read a list of strings from input register memory.

Parameters:
  • reference – the reference to read from

  • length – the length of the value

  • quantity – the number of elements to read

Returns:

list of bytes values read from reference

read_input_register_ubint16(reference: int) int

Read an unsigned 16-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ubint16_list(reference: int, quantity: int) List[int]

Read a list of unsigned 16-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ubint32(reference: int) int

Read an unsigned 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ubint32_list(reference: int, quantity: int) List[int]

Read a list of unsigned 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ubint64(reference: int) int

Read an unsigned 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ubint64_list(reference: int, quantity: int) List[int]

Read a list of unsigned 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ubint8(reference: int) int

Read an unsigned 8-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ubint8_list(reference: int, quantity: int) List[int]

Read a list of unsigned 8-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_uint2143(reference: int) int

Read an unsigned 2143-endian 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_uint21436587(reference: int) int

Read an unsigned 21436587-endian 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_uint21436587_list(reference: int, quantity: int) List[int]

Read a list of unsigned 21436587-endian 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_uint2143_list(reference: int, quantity: int) List[int]

Read a list of unsigned 2143-endian 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_uint3412(reference: int) int

Read an unsigned 3412-endian 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_uint3412_list(reference: int, quantity: int) List[int]

Read a list of unsigned 3412-endian 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_uint78563412(reference: int) int

Read an unsigned 78563412-endian 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_uint78563412_list(reference: int, quantity: int) List[int]

Read a list of unsigned 78563412-endian 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ulint16(reference: int) int

Read an unsigned 16-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ulint16_list(reference: int, quantity: int) List[int]

Read a list of unsigned 16-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ulint32(reference: int) int

Read an unsigned 32-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ulint32_list(reference: int, quantity: int) List[int]

Read a list of unsigned 32-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ulint64(reference: int) int

Read an unsigned 64-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ulint64_list(reference: int, quantity: int) List[int]

Read a list of unsigned 64-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_input_register_ulint8(reference: int) int

Read an unsigned 8-bit integer from input register memory.

Parameters:

reference – the reference to read from

Returns:

int value read from reference

read_input_register_ulint8_list(reference: int, quantity: int) List[int]

Read a list of unsigned 8-bit integers from input register memory.

Parameters:
  • reference – the reference to read from

  • quantity – the number of elements to read

Returns:

list of int values read from reference

read_multiple_coils(reference: int, quantity: int) List[int]

Read multiple coils from device memory.

Parameters:
  • reference – the register reference.

  • quantity – the number of coils to be read.

Returns:

a list of coil states where each element is 1 if the corresponding coil is set and 0 else.

read_multiple_discrete_inputs(reference: int, quantity: int) List[int]

Read multiple discrete inputs from device memory.

Parameters:
  • reference – the register reference.

  • quantity – the number of discrete inputs to be read.

Returns:

a list of discrete inputs where each element is 1 if the corresponding discrete input is set and 0 else.

read_multiple_holding_registers(reference: int, quantity: int) List[int]

Read multiple holding registers from device memory.

Parameters:
  • reference – the register reference.

  • quantity – the number of registers to be read.

Returns:

the holding register values

read_multiple_input_registers(reference: int, quantity: int) List[int]

Read multiple input registers from device memory.

Parameters:
  • reference – the register reference.

  • quantity – the number of registers to be read.

Returns:

the input register values

send_function_code_8_echo_response(pdu: RequestPDU) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Generate an echo response using the request pdu.

Parameters:

pdu – the request pdu

Returns:

the response to be sent to the client

set_bus_character_overrun_count(count: int) None

Set the bus character overrun count to count.

Parameters:

count – the bus character overrun count

set_bus_communication_error_count(count: int) None

Set the bus communication error count to count.

Parameters:

count – the bus communication error count

set_bus_exception_error_count(count: int) None

Set the bus exception error count to count.

Parameters:

count – the bus exception error count

set_bus_message_count(count: int) None

Set the bus message count to count.

Parameters:

count – the bus message count

set_busy_count(count: int) None

Set the slave busy count to count.

Parameters:

count – the slave busy count

set_busy_status(busy: bool = True) None

Set busy flag which will be reported in Modbus function 11.

Parameters:

busy – if set to True the busy state is set to busy else not busy.

set_device_identifier(object_id: int | None, value: str | bytes | None) None

Set a device identifier. The objects "vendor_name", "product_code", "major_minor_version", "vendor_url", "product_name", "model_name" and "user_application_name" are predefined.

Set value to None to remove an entry.

Entries can be read using Modbus function code 43.14.

Parameters:
  • object_id – the object identifier

  • value – the value to be used

set_diagnostic_register(content: bytes) None

Set the diagnostic register to content

Parameters:

content – the new content for the diagnostic register

set_exception_status(status: int) None

Set exception status to status.

Parameters:

status – the new exception status

set_extended_memory(memory_number: int, records: Dict[int, List[int]] | None) None

Set extended memory that can be read with Modbus function code 20 and written with Modbus function code 21.

If records is None the memory is removed.

Parameters:
  • memory_number – the memory number (0x0001 to 0xFFFF)

  • records – the records to be stored as a dict with key record numer and values list of integers

set_fifo_queue_content(address: int, content: List[int] | None) None

Set the FIFO queue content.

Parameters:
  • address – the address

  • content – a list of integers or None to delete the queue contents

set_listen_only_mode(listen_only_mode_enabled: bool = True) None

Set listen only mode.

Parameters:

listen_only_enabledTrue enables the listen only mode. False disables it.

set_slave_message_count(count: int) None

Set the slave message count to count.

Parameters:

count – the slave message count

set_slave_nak_count(count: int) None

Set the slave nak count to count.

Parameters:

count – the slave nak count

set_slave_no_response_count(count: int) None

Set the slave no response count to count.

Parameters:

count – the slave no response count

write_coil(reference: int, value: int) None

Write a single coil to device memory.

Parameters:
  • reference – the register reference.

  • value – the value to be written.

write_coil_bitfield(reference: int, value: int, length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bitfield to coil memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

  • length – the length of the value

write_coil_bitfield_list(reference: int, values: List[int], length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bitfields to coil memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

  • length – the length of the value

write_coil_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) None

Write data to coils device memory.

Parameters:
  • reference – the coil reference.

  • data – the type or instance or the decoder for the data

write_coil_flag(reference: int, value: bool) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bit to coil memory.

Parameters:
  • reference – the reference to write to

  • value – the bool value to be written

write_coil_flag_list(reference: int, values: List[bool]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bits to coil memory.

Parameters:
  • reference – the reference to write to

  • values – a list of bool values to be written

write_coil_nibble(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a nibble to coil memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_coil_nibble_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of nibbles to coil memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_discrete_input(reference: int, value: int) None

Read multiple discrete inputs from device memory

Parameters:
  • reference – the register reference.

  • value – the value to be written

Returns:

a list of discrete inputs where each element is 1 if the corresponding discrete input is set and 0 else.

write_discrete_input_bitfield(reference: int, value: int, length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bitfield to discrete input memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

  • length – the length of the value

write_discrete_input_bitfield_list(reference: int, values: List[int], length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bitfields to discrete input memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

  • length – the length of the value

write_discrete_input_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) None

Write data to discrete input device memory.

Parameters:
  • reference – the discrete input reference.

  • data – the type or instance or the decoder for the data

write_discrete_input_flag(reference: int, value: bool) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bit to discrete input memory.

Parameters:
  • reference – the reference to write to

  • value – the bool value to be written

write_discrete_input_flag_list(reference: int, values: List[bool]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bits to discrete input memory.

Parameters:
  • reference – the reference to write to

  • values – a list of bool values to be written

write_discrete_input_nibble(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a nibble to discrete input memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_discrete_input_nibble_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of nibbles to discrete input memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register(reference: int, value: int) None

Write single holding register to device memory.

Parameters:
  • reference – the register reference.

  • value – the value to be written into the corresponding register.

write_holding_register_bdouble(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a double to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_bdouble_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of doubles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_bfloat(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a float to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_bfloat_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of floats to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_bitfield(reference: int, value: int, length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bitfield to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

  • length – the length of the value

write_holding_register_bitfield_list(reference: int, values: List[int], length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bitfields to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

  • length – the length of the value

write_holding_register_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) None

Write data to holding registers device memory.

Parameters:
  • reference – the register reference.

  • data – the type or instance or the decoder for the data

write_holding_register_double21436587(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 21436587-endian double to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_double21436587_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 21436587-endian doubles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_double78563412(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 78563412-endian double to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_double78563412_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 78563412-endian doubles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_flag(reference: int, value: bool) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bit to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the bool value to be written

write_holding_register_flag_list(reference: int, values: List[bool]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bits to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of bool values to be written

write_holding_register_float2143(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 2143-endian float to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_float2143_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 2143-endian floats to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_float3412(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 3412-endian float to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_float3412_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 3412-endian floats to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_ldouble(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a double to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_ldouble_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of doubles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_lfloat(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a float to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_holding_register_lfloat_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of floats to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_holding_register_nibble(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a nibble to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_nibble_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of nibbles to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sbint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 16-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sbint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 16-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sbint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sbint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sbint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sbint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sbint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 8-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sbint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 8-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sint2143(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 2143-endian 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sint21436587(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 21436587-endian 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sint21436587_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 21436587-endian 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sint2143_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 2143-endian 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sint3412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 3412-endian 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sint3412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 3412-endian 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_sint78563412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 78563412-endian 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_sint78563412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 78563412-endian 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_slint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 16-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_slint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 16-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_slint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_slint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_slint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_slint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_slint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 8-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_slint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 8-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_string(reference: int, value: bytes, length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a string to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the bytes value to be written

  • length – the length of the value

write_holding_register_string_list(reference: int, values: List[bytes], length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of strings to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of bytes values to be written

  • length – the length of the value

write_holding_register_ubint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 16-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ubint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 16-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ubint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ubint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ubint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ubint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ubint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 8-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ubint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 8-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_uint2143(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 2143-endian 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_uint21436587(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 21436587-endian 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_uint21436587_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 21436587-endian 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_uint2143_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 2143-endian 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_uint3412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 3412-endian 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_uint3412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 3412-endian 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_uint78563412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 78563412-endian 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_uint78563412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 78563412-endian 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ulint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 16-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ulint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 16-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ulint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 32-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ulint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 32-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ulint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 64-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ulint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 64-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_holding_register_ulint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 8-bit integer to holding register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_holding_register_ulint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 8-bit integers to holding register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register(reference: int, value: int) None

Write single input register to device memory.

Parameters:
  • reference – the register reference.

  • value – the value to be written into the corresponding register.

write_input_register_bdouble(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a double to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_input_register_bdouble_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of doubles to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_input_register_bfloat(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a float to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_input_register_bfloat_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of floats to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_input_register_bitfield(reference: int, value: int, length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bitfield to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

  • length – the length of the value

write_input_register_bitfield_list(reference: int, values: List[int], length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bitfields to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

  • length – the length of the value

write_input_register_data(reference: int, data: ByteStruct | ByteType | Type[ByteStruct] | Type[ByteType]) None

Write data to input registers device memory.

Parameters:
  • reference – the register reference.

  • data – the type or instance or the decoder for the data

write_input_register_double21436587(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 21436587-endian double to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_input_register_double21436587_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 21436587-endian doubles to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_input_register_double78563412(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 78563412-endian double to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_input_register_double78563412_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 78563412-endian doubles to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_input_register_flag(reference: int, value: bool) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a bit to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the bool value to be written

write_input_register_flag_list(reference: int, values: List[bool]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of bits to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of bool values to be written

write_input_register_float2143(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 2143-endian float to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_input_register_float2143_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 2143-endian floats to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_input_register_float3412(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a 3412-endian float to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_input_register_float3412_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of 3412-endian floats to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_input_register_ldouble(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a double to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_input_register_ldouble_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of doubles to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_input_register_lfloat(reference: int, value: float) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a float to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the float value to be written

write_input_register_lfloat_list(reference: int, values: List[float]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of floats to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of float values to be written

write_input_register_nibble(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a nibble to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_nibble_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of nibbles to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_sbint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 16-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_sbint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 16-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_sbint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 32-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_sbint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 32-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_sbint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 64-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_sbint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 64-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_sbint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 8-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_sbint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 8-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_sint2143(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 2143-endian 32-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_sint21436587(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 21436587-endian 64-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_sint21436587_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 21436587-endian 64-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_sint2143_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 2143-endian 32-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_sint3412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 3412-endian 32-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_sint3412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 3412-endian 32-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_sint78563412(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 78563412-endian 64-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_sint78563412_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 78563412-endian 64-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_slint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 16-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_slint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 16-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_slint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 32-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_slint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 32-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_slint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 64-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_slint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 64-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_slint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a signed 8-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_slint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of signed 8-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_string(reference: int, value: bytes, length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a string to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the bytes value to be written

  • length – the length of the value

write_input_register_string_list(reference: int, values: List[bytes], length: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of strings to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of bytes values to be written

  • length – the length of the value

write_input_register_ubint16(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 16-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_ubint16_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 16-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_ubint32(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 32-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_ubint32_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 32-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_ubint64(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 64-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_ubint64_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 64-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_ubint8(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 8-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_ubint8_list(reference: int, values: List[int]) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write a list of unsigned 8-bit integers to input register memory.

Parameters:
  • reference – the reference to write to

  • values – a list of int values to be written

write_input_register_uint2143(reference: int, value: int) SerialRTUModbusResponse | SerialASCIIModbusResponse | TCPModbusResponse

Write an unsigned 2143-endian 32-bit integer to input register memory.

Parameters:
  • reference – the reference to write to

  • value – the int value to be written

write_input_register_uint21436587(reference: int,