PLC - Programmable Logic Controllers

A Programmable logic controller, is basically a digital computer, which controls machinery and automates industrial processes.
In general, PLCs take a multiple number of inputs and outputs and are resistant to high temperature, vibration, noise, and physical impact. These characteristics differentiate them from a normal general-purpose computer. Another advantage of PLCs is that the executable programs to control the operation of machines are saved in batteries or non-volatile memories. They can be considered to be a very good example of a real time system, since the output of the system controlled by a PLC depends on the input conditions and also, the intended output is expected to be obtained within the specified time, the failure of which produces unexpected and harmful results.
Specialties
The most special characteristic of the Programmable Logic Controllers is its resistance to extreme conditions of dust, moisture, heat, electrical noise, etc. Unlike general-purpose computers, the programming logic computers can be used to connect with actuators and sensors which can monitor and operate certain physical machines like electric motors, hydraulic cylinders, etc.
In recent years, these computers have grown to accommodate sequential relay control, motion control, distributed control systems, process control, and networking. Modern PLCs have developed in such a way that its storage facilities and data handling techniques, along with their processing speed and power are being compared with common desktop computers.
PLC vs Other Real Time Systems
PLCs suit well to a wide range of automation tasks. Considering processes where the cost of automation of the product can be lesser compared to the development and maintenance of the product. Also, the changes made to the product in the near future would greatly affect the performance and operation of the products.
They contain extensible input and output devices and functionalities, which can be useful in assisting and controlling the embedded machinery. Most of the representations of the Programming Logic Controllers are preferably expressed in the Ladder logic or the Function chart notations.
Compared to various real time systems, like a custom-built controller design, which perform the same operations like a PLC, the cost is indefinitely low.
User Interface
Programming Logic Controllers, in general, are intended to interact and communicate with the people for the purpose of configuration or simple examples like alarm reporting. A Human-Machine Interface or more simply, Graphical User Interface has been in the use, for this purpose. A simple Graphic User Interface, which is more user-friendly simply uses buttons and lights.
Evolution in Programming
Initially, PLC programs were learned by electricians while they were on their job. Such programs were written in the ladder logic. These programs diagrammatically represent the functionality of relay logic. On the passage of time, these programs slowly got introduced to certain programming languages. Some of the modern PLCs use BASIC and C.
More recently, different manufacturers rely on certain programming methods on their own and this has some side effects too. Though the principal concepts are the same in all methods of programming, there might be slight differences in addressing, memory allocation and retrieval, data handling, etc. This leads to the fact that programs cannot be interchanged between different manufacturers.
Thus, the evolution of PLCs in the place of large cluster of relays in the field of automotive machinery has led to a large amount of cost benefits.