micropython-modbus API

umodbus.common module

exception umodbus.common.ModbusException(function_code, exception_code)[source]

Bases: Exception

umodbus.const module

umodbus.functions module

umodbus.functions.bin_to_float(binary: str) float[source]

Convert binary string to floating point value

Parameters

binary (str) – The binary string

Returns

Converted floating point value

Return type

float

umodbus.functions.bytes_to_bool(byte_list: bytes, bit_qty: None = 1) None[source]

Convert bytes to list of boolean values

Parameters
  • byte_list (bytes) – The byte list

  • bit_qty (Optional[int]) – Amount of bits received

Returns

Boolean representation

Return type

List[bool]

umodbus.functions.exception_response(function_code: int, exception_code: int) bytes[source]

Create Modbus exception response

Parameters
  • function_code (int) – The function code

  • exception_code (int) – The exception code

Returns

Packed Modbus message

Return type

bytes

umodbus.functions.float_to_bin(num: float) bin[source]

Convert floating point value to binary

See IEEE 754

Parameters

num (float) – The number

Returns

Binary representation

Return type

bin

umodbus.functions.int_to_bin(num: int) str[source]

Convert integer to binary

Parameters

num (int) – The number

Returns

Binary representation of given input

Return type

str

umodbus.functions.read_coils(starting_address: int, quantity: int) bytes[source]

Create Modbus Protocol Data Unit for reading coils.

Parameters
  • starting_address (int) – The starting address

  • quantity (int) – Quantity of coils

Returns

Packed Modbus message

Return type

bytes

umodbus.functions.read_discrete_inputs(starting_address: int, quantity: int) bytes[source]

Create Modbus Protocol Data Unit for reading discrete inputs.

Parameters
  • starting_address (int) – The starting address

  • quantity (int) – Quantity of coils

Returns

Packed Modbus message

Return type

bytes

umodbus.functions.read_holding_registers(starting_address: int, quantity: int) bytes[source]

Create Modbus Protocol Data Unit for reading holding registers.

Parameters
  • starting_address (int) – The starting address

  • quantity (int) – Quantity of coils

Returns

Packed Modbus message

Return type

bytes

umodbus.functions.read_input_registers(starting_address: int, quantity: int) bytes[source]

Create Modbus Protocol Data Unit for reading input registers.

Parameters
  • starting_address (int) – The starting address

  • quantity (int) – Quantity of coils

Returns

Packed Modbus message

Return type

bytes

umodbus.functions.to_short(byte_array: bytes, signed: bool = True) bytes[source]

Convert bytes to tuple of integer values

Parameters
  • byte_array (bytes) – The byte array

  • signed (bool) – Indicates if signed

Returns

Integer representation

Return type

bytes

umodbus.functions.validate_resp_data(data: bytes, function_code: int, address: int, value: Optional[int] = None, quantity: Optional[int] = None, signed: bool = True) bool[source]

Validate the response data.

Parameters
  • data (bytes) – The data

  • function_code (int) – The function code

  • address (int) – The address

  • value (int) – The value

  • quantity (int) – The quantity

  • signed (bool) – Indicates if signed

Returns

True if valid, False otherwise

Return type

bool

umodbus.functions.write_multiple_coils(starting_address: int, value_list: None) bytes[source]

Create Modbus message to update multiple coils

Parameters
  • starting_address (int) – The starting address

  • value_list (List[int, bool]) – The list of output values

Returns

Packed Modbus message

Return type

bytes

umodbus.functions.write_multiple_registers(starting_address: int, register_values: None, signed: bool = True) bytes[source]

Create Modbus message to update multiple coils

Parameters
  • starting_address (int) – The starting address

  • register_values (List[int, bool]) – The list of output value

  • signed (bool) – Flag whether data is signed or not

Returns

Packed Modbus message

Return type

bytes

umodbus.functions.write_single_coil(output_address: int, output_value: None) bytes[source]

Create Modbus message to update single coil

Parameters
  • output_address (int) – The output address

  • output_value (Union[int, bool]) – The output value

Returns

Packed Modbus message

Return type

bytes

umodbus.functions.write_single_register(register_address: int, register_value: int, signed: bool = True) bytes[source]

Create Modbus message to writes a single register

Parameters
  • register_address (int) – The register address

  • register_value (int) – The register value

  • signed (bool) – Flag whether data is signed or not

Returns

Packed Modbus message

Return type

bytes

umodbus.modbus module

modbus script

umodbus.serial module

umodbus.tcp module