pyhoff.DigitalOutputTerminal#

class pyhoff.DigitalOutputTerminal(bus_coupler, output_bit_addresses, input_bit_addresses, output_word_addresses, input_word_addresses, mixed_mapping)#

Bases: BusTerminal

Base class for digital output terminals.

Instantiate a new BusTerminal base class.

Parameters:
  • bus_coupler (BusCoupler) – The bus coupler to which this terminal is connected.

  • output_bit_addresses (list[int]) – List of addresses of the output bits.

  • input_bit_addresses (list[int]) – List of addresses of input bits.

  • output_word_addresses (list[int]) – List of addresses of output words.

  • input_word_addresses (list[int]) – List of addresses of input words.

read_coil(channel)#

Read the coil value back from a specific channel.

Parameters:

channel (int) – The channel number (start counting from 1) to read from.

Return type:

bool | None

Returns:

The coil value of the specified channel or None if the read operation failed.

Raises:

Exception – If the channel number is out of range.

classmethod select(bus_coupler, terminal_number=0)#

Returns the n-th bus terminal instance of the parent class specified by terminal_number.

Parameters:
  • bus_coupler (BusCoupler) – The bus coupler to which the terminal is connected.

  • terminal_number (int) – The index of the bus terminal to return. Counted for all bus terminals of the same type, not all bus terminals. Started for the first terminal with 0

Return type:

TypeVar(_BT, bound= BusTerminal)

Returns:

The selected bus terminal instance.

write_coil(channel, value)#

Write a value to a specific channel.

Parameters:
  • channel (int) – The channel number (start counting from 1) to write to.

  • value (bool) – The value to write.

Return type:

bool

Returns:

True if the write operation succeeded, otherwise False.

Raises:

Exception – If the channel number is out of range.