1- The pinout of I/O connector
2- Setting and Reading Input Pin
3- Setting Digital Output as High and Low
In this blog post, we will test the IIO (Industrial Input-Output) interface of DSBOARD-AGX.
First, let's look over the IO connector. On the connector, there are 4 serial communication, 3 ground, 2 CANBus, 2 digital input and 3 digital output pins.
Digital input side accepts signals between 12-24V (rated for 2.25mA). In our application, we used Heschen M12 Inductive Proximity Sensor (PNP & Normally Open(NO)) with 24V voltage source.
Find sysfs equivalent of the connected output pin from the table below. For this setup, it is DIGITAL_IN0. After proper hardware connection with industrial LED, we can continue with the software side.
Set DIGITAL_IN0 as input and read sensor value. To do this, you should use the commands below.
sudo echo 308 > /sys/class/gpio/export
sudo echo in > /sys/class/gpio/gpio308/direction
sudo cat /sys/class/gpio/gpio308/value
Digital output side can drive loads up to 24V and has a current limit of 1A. They work as low side switches, open-close between them and GND. So, you should have a circuitry as in the schematic below. In our application, we used GASHER 24V Indicator Light with 24V voltage source.
Find sysfs equivalent of the connected output pin from the table below. For this setup, it is DIGITAL_OUT0. After proper hardware connection with industrial LED, we can continue with the software side.
Then, set DIGITAL_OUT0 as output and control light state. To do this, you should use the commands below.
sudo echo 312 > /sys/class/gpio/export
sudo echo out > /sys/class/gpio/gpio312/direction
To short output:
sudo echo 1 > /sys/class/gpio/gpio312/value
To open output:
sudo echo 0 > /sys/class/gpio/gpio312/value
Thank you for reading our blog post.