The PLC is a [[microprocessor]] based device with either modular or integral [[input/output]] circuitry that monitors the status of the field connected "[[sensor]]" inputs and controls the attached output "actuators" (motor starters, solenoids, pilot lights/displays, speed drives, valves, etc.) according to a user-created, logic program stored in the microprocessor's battery-backed [[RAM]] memory. The functionality of the PLC has evolved over the years to include capabilities beyond typical relay control; sophisticated motion control, process control, [[DCS]] and complex networking have now been added to the PLC's list of functions.
A simple program could maintain the level of water
in a tank between two float switches by opening and closing an electric valve. A slightly more complex arrangement could involve a scale under the tank (as an input) and a flow controller (as an output) allowing water to flow at a controlled rate. A typical industrial application might control several tanks in a process such as sewage treatment. Each tank might be watched for a variety of conditions such as being too full or too empty or having the wrong pH.
== Analog vs Digital Inputs and Outputs ==
Digital signals behave as switches, yielding simply an On or Off signal. Pushbuttons, limit-switches, and photo-eyes are examples of devices providing a digital signal. Analog signals behave as volume controls, yielding a range of values between On and Off. Pressure transducers, scales and gas leak detectors can provide analog signals.
In the simple example above, the PLC is accepting two digital inputs from float switches. The PLC is controlling a single digital output to actuate the inlet valve into the tank. If both float switches are off (down) the PLC will open the valve to let more water in. It will continue to fill until both floats lift making their switches turn on.
The slightly more complex example (scale and flow controller) uses analog inputs and outputs. The scale is connected to one of the PLC's analog inputs and the flow controller is connected to one of the PLC's analog outputs. In this system, we can fill at different rates based on how much water in left. If the water level drops rapidly, the flow controller can be opened wide. If water is dripping out, the flow controller can be set to allow only a small amount of water back into the tank.
PLCs have a limited number of connections built in for signals such as digital inputs, digital outputs, analog inputs and analog outputs. Typically expansions are available if the base model does not have sufficient I/O.
PLCs programs are generally written in a special application on a personal computer then downloaded over a custom cable to the PLC. The program is stored in the PLC either in battery-backed-up [[RAM]] or some other non-volatile memory.
Early PLCs were designed to be used by electricians who train on the job. These PLC's were programmed in "[[ladder logic]]", which strongly resembles a schematic of relay logic. Modern PLCs can be programmed in ladder logic or in more traditional programming languages such as C.ie;list
In ladder logic, a [[relay]] coil, or just 'coil', can open or close any number of contacts (the switches which a relay controls). This can make ladder logic on a PLC easier than using real relays, which seldom have more then four contacts. A PLC programmer lays out these virtual contacts and coils on their PC to control a process or machine in the real world.
In addition to normal relays, ladder logic allows for math functions through [[black box]] pieces that are integrated into the ladder. A simple addition function may count the number of times a button is pushed.
== PID loops ==
PLCs may include logic for single-variable generic industrial feedback loop, a "proportional, integral, derivative" loop, or "[[PID controller]]."
A PID loop is the standard solution to many industrial control processes that require proportional control. Proportional control dictates that large deviations should be corrected by large amounts and small deviations should be corrected by small amounts. A PID loop could be used to control the pH level of water in a swimming pool.
== User interface ==
PLCs may need to interact with people for the purpose of configuration, alarm reporting or everyday control. A variety of methods are employed.
A simple system may use buttons and lights to interact with the user. Text displays are available as well as graphical touch screens. Some PLCs may only communicate over a network to some other system, such as a computer running a web browser.
|