IO — HILSTER’s proprietary IO-hardware¶
Introduction¶
HILSTER offers prorietary IO-hardware that is DIN rail mountable. Currently there are four different types and sizes available.
You need the io
feature in your license to unlock the IO hardware features.
For every device an abstraction is available. To read inputs or write outputs
you simply have to assign a value to an output or read an input.
The abstractors offer members with the name of the inputs and outputs, e.g.
io.R6
for relay 6, io.DO0
for digital output 0 or io.AI3
for
analog input 3.
For example to switch on a relay io.R6
you have to assign True
to it.
io.R6 = True
To reset the reley you have to assign False
.
io.R6 = False
To set the digital output pin io.D3
you have to assign True
to it.
io.D3 = True
To reset the digital output pin assign False
to it.
io.R6 = False
To set an analog (pwm) level to 50 % you have to assign an integer value knowing the underlying pwm type. In the following example an 8-bit-pwm is assumed.
io.AO0 = 0xf7 # 50 % pwm level
Finally to read an analog level you have to read you simply have to read an analog input
analog_value = io.AI3
IO Mini¶

Features:
- 6 relays (230 V/6 A)
- 8 analog/digital inputs
- 4 digital outputs (2 A)
- 1 UART
- 1 SPI
- 1 I2C
- RTC
-
class
htf.io.
IOMini
(port, timeout=1.0)¶ Initialize an IOMini.
Parameters: -
A0
= None¶ Analog input A0
-
A1
= None¶ Analog input A1
-
A2
= None¶ Analog input A2
-
A3
= None¶ Analog input A3
-
A4
= None¶ Analog input A4
-
A5
= None¶ Analog input A5
-
D0
= None¶ Digital output D0
-
D1
= None¶ Digital output D1
-
D2
= None¶ Digital output D2
-
D3
= None¶ Digital output D3
-
D4
= None¶ Digital output D4
-
D5
= None¶ Digital output D5
-
D6
= None¶ Digital output D6
-
D7
= None¶ Digital output D7
-
IN0
= None¶ Digital input IN0
-
IN1
= None¶ Digital input IN1
-
__del__
()¶ Automatically close serial connection on deletion.
-
close
()¶ Close the serial connection.
-
get_board_name
()¶ Return the board name read from the device.
-
get_version
()¶ Return the version read from the device.
-
Usage:
>>> from htf.io import IOMini as IO
>>> io = IO("/dev/ttyACM0")
>>> # set D1
>>> io.D1 = True
>>> # reset D1
>>> io.D1 = False
>>> #read A0
>>> analog_value = io.A0
>>> #read D0
>>> digital_value = io.D0
>>> # etc.
IO Maxi¶

Features:
- 10 relays (230V/6A)
- 2 analog outputs (0 to 10 V)
- 12 analog inputs (24 V)
- 12 digital inputs (24 V)
- 8 digital outputs (24 V)
- 2 UART
- 1 SPI
- 1 I2C
- RTC
- Ethernet
-
class
htf.io.
IOMaxi
(port, timeout=1.0)¶ Initialize an IOMaxi.
Parameters: -
A0
= None¶ Analog input A0
-
A1
= None¶ Analog input A1
-
A2
= None¶ Analog input A2
-
A3
= None¶ Analog input A3
-
A4
= None¶ Analog input A4
-
A5
= None¶ Analog input A5
-
A6
= None¶ Analog input A6
-
A7
= None¶ Analog input A7
-
A8
= None¶ Analog input A8
-
A9
= None¶ Analog input A9
-
D0
= None¶ Digital output D0
-
D1
= None¶ Digital output D1
-
D10
= None¶ Digital output D10
-
D11
= None¶ Digital output D11
-
D2
= None¶ Digital output D2
-
D3
= None¶ Digital output D3
-
D4
= None¶ Digital output D4
-
D5
= None¶ Digital output D5
-
D6
= None¶ Digital output D6
-
D7
= None¶ Digital output D7
-
D8
= None¶ Digital output D8
-
D9
= None¶ Digital output D9
-
IN0
= None¶ Digital input IN0
-
IN1
= None¶ Digital input IN1
-
R0
= None¶ Relay R0
-
R1
= None¶ Relay R1
-
R2
= None¶ Relay R2
-
R3
= None¶ Relay R3
-
R4
= None¶ Relay R4
-
R5
= None¶ Relay R5
-
R6
= None¶ Relay R6
-
R7
= None¶ Relay R7
-
R8
= None¶ Relay R8
-
R9
= None¶ Relay R9
-
__del__
()¶ Automatically close serial connection on deletion.
-
close
()¶ Close the serial connection.
-
get_board_name
()¶ Return the board name read from the device.
-
get_version
()¶ Return the version read from the device.
-
Usage:
>>> from htf.io import IOMaxi as IO
>>> io = IO("/dev/ttyACM0")
>>> # set R6
>>> io.R6 = True
>>> # reset R6
>>> io.R6 = False
>>> #read AI0
>>> analog_value = io.AI0
>>> #read DI0
>>> digital_value = io.DI0
>>> # etc.
IO Maxi Automation¶

Features:
- 10 relays (230 V/6 A)
- 2 analog outputs (0 to 24 V)
- 2 analog inputs (10 V)
- 12 analog/digital inputs (24 V)
- 4 digital inputs (24 V)
- 8 digital outputs (24 V)
- 2 UART
- 1 SPI
- 1 I2C
- RTC
- Ethernet
-
class
htf.io.
IOMaxiAutomation
(port, timeout=1.0)¶ Initialize an IOMaxiAutomation.
Parameters: -
AI0
= None¶ Analog input AI0
-
AI1
= None¶ Analog input AI1
-
AI10
= None¶ Analog input AI10
-
AI11
= None¶ Analog input AI11
-
AI12
= None¶ Analog input AI12
-
AI13
= None¶ Analog input AI13
-
AI2
= None¶ Analog input AI2
-
AI3
= None¶ Analog input AI3
-
AI4
= None¶ Analog input AI4
-
AI5
= None¶ Analog input AI5
-
AI6
= None¶ Analog input AI6
-
AI7
= None¶ Analog input AI7
-
AI8
= None¶ Analog input AI8
-
AI9
= None¶ Analog input AI9
-
AO0
= None¶ Analog output AO0
-
AO1
= None¶ Analog output AO1
-
DI0
= None¶ Digital input DI0
-
DI1
= None¶ Digital input DI1
-
DI2
= None¶ Digital input DI2
-
DI3
= None¶ Digital input DI3
-
DO0
= None¶ Digital output DO0
-
DO1
= None¶ Digital output DO1
-
DO2
= None¶ Digital output DO2
-
DO3
= None¶ Digital output DO3
-
DO4
= None¶ Digital output DO4
-
DO5
= None¶ Digital output DO5
-
DO6
= None¶ Digital output DO6
-
DO7
= None¶ Digital output DO7
-
IN1
= None¶ Digital input IN1
-
IN2
= None¶ Digital input IN2
-
R0
= None¶ Relay R0
-
R1
= None¶ Relay R1
-
R2
= None¶ Relay R2
-
R3
= None¶ Relay R3
-
R4
= None¶ Relay R4
-
R5
= None¶ Relay R5
-
R6
= None¶ Relay R6
-
R7
= None¶ Relay R7
-
R8
= None¶ Relay R8
-
R9
= None¶ Relay R9
-
__del__
()¶ Automatically close serial connection on deletion.
-
close
()¶ Close the serial connection.
-
get_board_name
()¶ Return the board name read from the device.
-
get_version
()¶ Return the version read from the device.
-
Usage:
>>> from htf.io import IOMaxiAutomation as IO
>>> io = IO("/dev/ttyACM0")
>>> # set R6
>>> io.R6 = True
>>> # reset R6
>>> io.R6 = False
>>> #read AI0
>>> analog_value = io.AI0
>>> #read DI0
>>> digital_value = io.DI0
>>> # etc.
IO Mega¶

Features:
- 16 relays (230 V/6 A)
- 2 analog outputs (0 to 10 V)
- 21 analog inputs (24 V)
- 12 digital outputs (24 V)
- 2 UART
- 1 RS485
- 1 SPI
- 1 I2C
- RTC
- Ethernet
-
class
htf.io.
IOMega
(port, timeout=1.0)¶ Initialize an IOMega.
Parameters: -
A0
= None¶ Analog input A0
-
A1
= None¶ Analog input A1
-
A10
= None¶ Analog input A10
-
A11
= None¶ Analog input A11
-
A12
= None¶ Analog input A12
-
A13
= None¶ Analog input A13
-
A14
= None¶ Analog input A14
-
A15
= None¶ Analog input A15
-
A2
= None¶ Analog input A2
-
A3
= None¶ Analog input A3
-
A4
= None¶ Analog input A4
-
A5
= None¶ Analog input A5
-
A6
= None¶ Analog input A6
-
A7
= None¶ Analog input A7
-
A8
= None¶ Analog input A8
-
A9
= None¶ Analog input A9
-
D0
= None¶ Digital output D0
-
D1
= None¶ Digital output D1
-
D10
= None¶ Digital output D10
-
D11
= None¶ Digital output D11
-
D12
= None¶ Digital output D12
-
D13
= None¶ Digital output D13
-
D14
= None¶ Digital output D14
-
D15
= None¶ Digital output D15
-
D16
= None¶ Digital output D16
-
D17
= None¶ Digital output D17
-
D18
= None¶ Digital output D18
-
D19
= None¶ Digital output D19
-
D2
= None¶ Digital output D2
-
D3
= None¶ Digital output D3
-
D4
= None¶ Digital output D4
-
D5
= None¶ Digital output D5
-
D6
= None¶ Digital output D6
-
D7
= None¶ Digital output D7
-
D8
= None¶ Digital output D8
-
D9
= None¶ Digital output D9
-
I16
= None¶ Digital input I16
-
I17
= None¶ Digital input I17
-
I18
= None¶ Digital input I18
-
IN0
= None¶ Digital input IN0
-
IN1
= None¶ Digital input IN1
-
R0
= None¶ Relay R0
-
R1
= None¶ Relay R1
-
R10
= None¶ Relay R10
-
R11
= None¶ Relay R11
-
R12
= None¶ Relay R12
-
R13
= None¶ Relay R13
-
R14
= None¶ Relay R14
-
R15
= None¶ Relay R15
-
R2
= None¶ Relay R2
-
R3
= None¶ Relay R3
-
R4
= None¶ Relay R4
-
R5
= None¶ Relay R5
-
R6
= None¶ Relay R6
-
R7
= None¶ Relay R7
-
R8
= None¶ Relay R8
-
R9
= None¶ Relay R9
-
__del__
()¶ Automatically close serial connection on deletion.
-
close
()¶ Close the serial connection.
-
get_board_name
()¶ Return the board name read from the device.
-
get_version
()¶ Return the version read from the device.
-
Usage:
>>> from htf.io import IOMega as IO
>>> io = IO("/dev/ttyACM0")
>>> # set R6
>>> io.R6 = True
>>> # reset R6
>>> io.R6 = False
>>> #read AI0
>>> analog_value = io.AI0
>>> #read DI0
>>> digital_value = io.DI0
>>> # etc.