A programmable logic array (PLA) is a device that provides a logical output level or levels based on a set of inputs. Being a combinational logic circuit, the programmable logic array may be implemented using programmable memory devices. The programmable logic array is a simple alternative to using gates and tedious simplifications of logic equations.
Programmable logic design is a better alternative to logic gate-implemented solutions because a drawback of traditional logic design is the difficulty in making changes to existing design. Later, it became obvious that software tools were more practical given the challenges in updating features and optimizing performance of new digital products. The programmable logic array is similar to a memory chip with an address bus and a data bus. For every combination of inputs, there is a logic level output for as many outputs as needed. The programmable logic array, being a programmable logic device, brings many practical solutions to automation challenges.
The common application of a PLA is to implement a truth table that provides conditions based on combinations of inputs and outputs based on these inputs. For instance, in controlling a water pump, there may be several sensors that detect the pumping conditions. One input is an indicator that the water tank is full, another input is an indicator if there is incoming water available, another input is a logic level that indicates if the motor of the pump is too hot, and still another input is an indicator if the motor is energized. These indicators are generated by separate sensor circuits.
Typical sensor circuits make use of analog comparators to generate active high or active low logic levels for the programmable logic array. A “water tank full” logic level may be produced by a simple float switch. A float switch may open when the tank is full. In case the water tank full circuit is defective, it will tend to report that the tank is full even if otherwise.
Whether logic levels are active high or active low usually involves several factors. In using pull-up resistors, the normal level tends to be assigned the active high state, which means the resistor connected to the positive supply line is not drawing any current most of the time. These considerations are very important for devices that may run on limited power such as logic devices that extract energy from external systems. For instance, solar photovoltaic controllers need to consume minimal current for prolonged operation when battery voltages are running low.
A programmable logic controller (PLC) is able to handle automation requirements based on sensed inputs and programmed instructions. It makes use of logic based on a limited instruction set. Microcontrollers are microprocessors that have a defined instruction set to handle data acquisition and supervisory control.