The RevPi Compact has eight digital inputs and eight digital outputs.
You can access them either with piControl or without piControl:
With piControl they are synchronized cyclically with the process image every 250 µs.
Digital Inputs
The digital 24 V inputs are supposed to forward signals to the controller that are e. g. determined by a sensor.
The inputs can withstand a voltage of up to 36 V.
The guaranteed switching threshold for “low” is 7 V, for “high” it is 10.2 V.
The inputs are not isolated galvanically.
A separate terminal is available for connecting the ground.
The LEDs above each digital input light up if the input is “high”.
Debouncing can be carried out in four stages: 25 µs, 750 µs, 3000 µs or no debouncing.
The debouncing can only be set jointly for all eight inputs.
The inputs are able to detect an excess temperature (135°C): a warning is then issued in the kernel log and a status bit is set in the piControl process image.
Digital Outputs
Unlike the inputs, the eight digital 24 V outputs are isolated galvanically .
This allows to operate them via an independent power supply.
Always use the same ground potential that supplies the connected sensors or actuators.
However, the same power supply of the RevPi Compact can be used.
The voltage supply of the digital outputs must be at least 12 V and must not exceed 36 V.
The digital outputs are protected by an automatic switch-off in case of excess temperature.
This switch-off applies separately to each individual output.
The LEDs above each digital input light up if the output value is “high”.
Attention: the outputs are monitored by a watchdog and set to “low” if they are not rewritten every 9 ms.
This ensures that the outputs are brought into a safe state, for example in the event of a system crash.
In this case the LEDs do not light up any longer.
Attention-2: This monitoring only works if the outputs are not set with piTest or piControl, but the GPIOs are written directly.
The background is that the output in piControl is held at 1 by a loop until the output is actively set to 0.