Use Arduino based PLC by Industrial ShieldsFollow article
In this article, we will introduce the Arduino based PLC (programable logic controller), (ARDBOX IS.AB20AN.base). If you would like to know more about this company or products, please read here and here.
About ARDBOX IS.AB20AN.base
General view of ARDBOX IS.AB20AN.base
This is Arduino Leonardo based PLC and need a supply voltage of 24Vdc. It has 20 ports, half of them are for inputs and the other half are for outputs.
Surface A of ARDBOX IS.AB20AN.base
(a) Use micro USB and arduino IDE to load programs onto Arduino.
(b) POWER LED turns on when PLC is connected to the computer or power supply.
(c) When a port is turned on, corresponding LED is also turned on.
Surface B of ARDBOX IS.AB20AN.base
(d) You can input the signal from both sensor and communication port. Communication function is enabled by switching "communication switch" to OFF depending on the ports and methods of communication.
(e) You can use SPI,、RS485、RS232、ISC communication.
(f) Port I0.0 only supports digital input (in the picture, we think that the port printed as I0.1(-) is a misprint and actually I0.0(-) ) . Ports I0.1-I0.9 support both analog input (0-10Vdc) and PNP digital input (24Vdc).
Surface C of ARDBOX IS.AB20AN.base
(g) Ports Q0.7-Q0.9 only support PNP digital output, and port Q0.6 supports analog and PWM output. Other ports like Q0.0-Q0.5 support analog output(0-10Vdc), digital output(24Vdc) and PWM(24Vdc).
(h) For ports Q0.0-Q0.5, you can switch the voltage and waveform of output signal. When you use analog output(0-10Vdc), switch voltage and waveform to ON, and when you use digital output(24Vdc) and PWM(24Vdc), switch both to OFF.
※ There are 2 types of digital signals, PNP(OFF when No-load) and NPN(ON when No-load). You should be careful which signal your sensor's output is.
We assembled the demo that stops and restarts the motor by detecting the approaching object. It represents the transportation system and by applying this program, we think that we will be able to control multiple belt conveyers by detecting the place of object (controls the timing of the start of the next conveyer and stopping the previous).
We use photo interrupter to detect the object and ARDBOX IS.AB20AN.base to change the motor driving mode. We use attachInterrupt() of port I0.0 (port2 of Arduino Leonardo) to create the program that would change the mode by the sensor voltage decreasing. By taking into account that it needs higher voltage to start the motor, we prepared 3 motor driving mode "Start", "Continuous", "Stop" and change the output voltage.
Watch the following video to learn more.
The program is as follows.