API Reference ============= This section provides detailed API documentation for all ModbusLink classes and functions. Client Module ------------- ModbusClient ~~~~~~~~~~~~ .. autoclass:: modbuslink.client.sync_client.ModbusClient :members: :undoc-members: :show-inheritance: AsyncModbusClient ~~~~~~~~~~~~~~~~~ .. autoclass:: modbuslink.client.async_client.AsyncModbusClient :members: :undoc-members: :show-inheritance: Transport Module ---------------- BaseTransport ~~~~~~~~~~~~~ .. autoclass:: modbuslink.transport.base.BaseTransport :members: :undoc-members: :show-inheritance: TcpTransport ~~~~~~~~~~~~ .. autoclass:: modbuslink.transport.tcp.TcpTransport :members: :undoc-members: :show-inheritance: RtuTransport ~~~~~~~~~~~~ .. autoclass:: modbuslink.transport.rtu.RtuTransport :members: :undoc-members: :show-inheritance: AsyncBaseTransport ~~~~~~~~~~~~~~~~~~ .. autoclass:: modbuslink.transport.async_base.AsyncBaseTransport :members: :undoc-members: :show-inheritance: AsyncTcpTransport ~~~~~~~~~~~~~~~~~ .. autoclass:: modbuslink.transport.async_tcp.AsyncTcpTransport :members: :undoc-members: :show-inheritance: AsciiTransport ~~~~~~~~~~~~~~ .. autoclass:: modbuslink.transport.ascii.AsciiTransport :members: :undoc-members: :show-inheritance: AsyncRtuTransport ~~~~~~~~~~~~~~~~~ .. autoclass:: modbuslink.transport.async_rtu.AsyncRtuTransport :members: :undoc-members: :show-inheritance: AsyncAsciiTransport ~~~~~~~~~~~~~~~~~~~ .. autoclass:: modbuslink.transport.async_ascii.AsyncAsciiTransport :members: :undoc-members: :show-inheritance: Server Module ------------- ModbusDataStore ~~~~~~~~~~~~~~~ .. autoclass:: modbuslink.server.data_store.ModbusDataStore :members: :undoc-members: :show-inheritance: AsyncBaseModbusServer ~~~~~~~~~~~~~~~~~~~~~ .. autoclass:: modbuslink.server.async_base_server.AsyncBaseModbusServer :members: :undoc-members: :show-inheritance: AsyncTcpModbusServer ~~~~~~~~~~~~~~~~~~~~ .. autoclass:: modbuslink.server.async_tcp_server.AsyncTcpModbusServer :members: :undoc-members: :show-inheritance: AsyncRtuModbusServer ~~~~~~~~~~~~~~~~~~~~ .. autoclass:: modbuslink.server.async_rtu_server.AsyncRtuModbusServer :members: :undoc-members: :show-inheritance: AsyncAsciiModbusServer ~~~~~~~~~~~~~~~~~~~~~~ .. autoclass:: modbuslink.server.async_ascii_server.AsyncAsciiModbusServer :members: :undoc-members: :show-inheritance: Utility Module -------------- CRC16Modbus ~~~~~~~~~~~ .. autoclass:: modbuslink.utils.crc.CRC16Modbus :members: :undoc-members: :show-inheritance: PayloadCoder ~~~~~~~~~~~~ .. autoclass:: modbuslink.utils.payload_coder.PayloadCoder :members: :undoc-members: :show-inheritance: Logger Functions ~~~~~~~~~~~~~~~~ .. automodule:: modbuslink.utils.logger :members: :undoc-members: Exception Module ---------------- ModbusLinkError ~~~~~~~~~~~~~~~ .. autoexception:: modbuslink.common.exceptions.ModbusLinkError :members: :undoc-members: :show-inheritance: ConnectionError ~~~~~~~~~~~~~~~ .. autoexception:: modbuslink.common.exceptions.ConnectionError :members: :undoc-members: :show-inheritance: TimeoutError ~~~~~~~~~~~~ .. autoexception:: modbuslink.common.exceptions.TimeoutError :members: :undoc-members: :show-inheritance: CRCError ~~~~~~~~ .. autoexception:: modbuslink.common.exceptions.CRCError :members: :undoc-members: :show-inheritance: InvalidResponseError ~~~~~~~~~~~~~~~~~~~~ .. autoexception:: modbuslink.common.exceptions.InvalidResponseError :members: :undoc-members: :show-inheritance: ModbusException ~~~~~~~~~~~~~~~ .. autoexception:: modbuslink.common.exceptions.ModbusException :members: :undoc-members: :show-inheritance: Function Code Constants ----------------------- Read Function Codes ~~~~~~~~~~~~~~~~~~~ * ``READ_COILS = 0x01`` * ``READ_DISCRETE_INPUTS = 0x02`` * ``READ_HOLDING_REGISTERS = 0x03`` * ``READ_INPUT_REGISTERS = 0x04`` Write Function Codes ~~~~~~~~~~~~~~~~~~~~ * ``WRITE_SINGLE_COIL = 0x05`` * ``WRITE_SINGLE_REGISTER = 0x06`` * ``WRITE_MULTIPLE_COILS = 0x0F`` * ``WRITE_MULTIPLE_REGISTERS = 0x10`` Exception Codes ~~~~~~~~~~~~~~~ * ``ILLEGAL_FUNCTION = 0x01`` * ``ILLEGAL_DATA_ADDRESS = 0x02`` * ``ILLEGAL_DATA_VALUE = 0x03`` * ``SLAVE_DEVICE_FAILURE = 0x04`` * ``ACKNOWLEDGE = 0x05`` * ``SLAVE_DEVICE_BUSY = 0x06`` * ``MEMORY_PARITY_ERROR = 0x08`` * ``GATEWAY_PATH_UNAVAILABLE = 0x0A`` * ``GATEWAY_TARGET_DEVICE_FAILED_TO_RESPOND = 0x0B`` Data Type Formats ----------------- Byte Order ~~~~~~~~~~ * ``'big'``: Big-endian (most significant byte first) * ``'little'``: Little-endian (least significant byte first) Word Order ~~~~~~~~~~ * ``'big'``: High word first * ``'little'``: Low word first Combined Format Codes ~~~~~~~~~~~~~~~~~~~~~ * ``'>AB'``: Big-endian bytes, high word first * ``'>BA'``: Big-endian bytes, low word first * ``'